libs/gst/base/gstbasetransform.c: Fix confusing documentation.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-03-23  Rene Stadler  <mail@renestadler.de>
2
3         * libs/gst/base/gstbasetransform.c:
4         (gst_base_transform_set_gap_aware): Fix confusing documentation.
5
6 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
7
8         * gst/gstregistrybinary.c: (gst_registry_binary_write):
9         Rename constant everywhere and don't forget one occurence.
10
11 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
12
13         * gst/gstregistrybinary.c: (gst_registry_binary_write):
14         Align memory to the pointer size even if the architecture allows
15         unaligned memory access. Unaligned memory access usually comes with
16         performance penality.
17
18 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
19
20         * gst/gstregistrybinary.c: (gst_registry_binary_write),
21         (gst_registry_binary_check_magic),
22         (gst_registry_binary_load_pad_template),
23         (gst_registry_binary_load_feature),
24         (gst_registry_binary_load_plugin):
25         Align memory to the pointer size instead of always 32 bit. Fixes
26         unaligned memory accesses on ia64 and friends.
27
28         * gst/gstregistrybinary.h:
29         Bump binary registry format version for this as it changes the
30         format on those architectures that don't have unaligned access
31         and 64 bit pointers.
32
33 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
34
35         * docs/pwg/advanced-dparams.xml:
36         * docs/pwg/building-props.xml:
37         * docs/pwg/other-source.xml:
38         * gst/glib-compat.h:
39         * gst/gstbin.c: (gst_bin_class_init):
40         * gst/gstclock.c: (gst_clock_class_init):
41         * gst/gstindex.c: (gst_index_class_init):
42         * gst/gstobject.c: (gst_object_class_init):
43         * gst/gstpad.c: (gst_pad_class_init):
44         * gst/gstpipeline.c: (gst_pipeline_class_init):
45         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
46         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
47         * libs/gst/base/gstbasetransform.c:
48         (gst_base_transform_class_init):
49         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
50         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
51         (_gst_check_fault_handler_sighandler),
52         (_gst_check_fault_handler_setup), (gst_check_init):
53         * libs/gst/controller/gstcontroller.c:
54         (_gst_controller_class_init):
55         * libs/gst/controller/gstlfocontrolsource.c:
56         (gst_lfo_control_source_class_init):
57         * libs/gst/net/gstnetclientclock.c:
58         (gst_net_client_clock_class_init):
59         * libs/gst/net/gstnettimeprovider.c:
60         (gst_net_time_provider_class_init):
61         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
62         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
63         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
64         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
65         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
66         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
67         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
68         * plugins/elements/gstidentity.c: (gst_identity_class_init):
69         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
70         * plugins/elements/gstqueue.c: (gst_queue_class_init):
71         * plugins/elements/gsttee.c: (gst_tee_class_init):
72         * plugins/elements/gsttypefindelement.c:
73         (gst_type_find_element_class_init):
74         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
75         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
76         use it everywhere for GParamSpecs that use static strings (i.e. all).
77         This gives us less memory usage, fewer allocations and thus less
78         memory defragmentation. Fixes bug #523806.
79
80 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
81
82         * gst/gstminiobject.c: (gst_value_dup_mini_object),
83         (gst_param_spec_mini_object):
84         * gst/gstminiobject.h:
85         * win32/common/libgstreamer.def:
86         * docs/gst/gstreamer-sections.txt:
87         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
88         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
89         GstParamSpecMiniObject into a public header for this.
90
91         This make GstMiniObject a bit more consistent with GObject and makes
92         it possible to extend the param specs.
93
94         gst_value_dup_mini_object is mainly useful for set_property methods.
95
96         Fixes bug #523798.
97
98         * tools/gst-inspect.c: (print_element_properties_info):
99         Print something useful for GstMiniObject properties and not just
100         "unknown type".
101
102 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
103
104         * docs/gst/gstreamer-sections.txt:
105         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
106         (gst_registry_binary_check_magic):
107         * gst/gstregistrybinary.h:
108         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
109         and add it to the (private part) of the docs to fix the build.
110
111 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
112
113         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
114         (gst_registry_binary_check_magic),
115         (gst_registry_binary_read_cache):
116         * gst/gstregistrybinary.h:
117         Don't use GST_MAJORMINOR for the binary registry version. Instead
118         hardcode a value that must be changed whenever the format changes
119         in an incompatible way.
120         Also don't GST_ERROR when there is a version mismatch, just
121         regenerate the registry silently.
122
123 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
124
125         * configure.ac:
126         Back to development - 0.10.18.1
127
128 === release 0.10.18 ===
129
130 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
131
132         * configure.ac:
133           releasing 0.10.18, "So far away"
134
135 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
136
137         * configure.ac:
138         * win32/common/config.h:
139         0.10.17.4 pre-release
140
141 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
142
143         Patch by: Ole André Vadla Ravnås
144             <ole dot andre dot ravnas at tandberg dot com>
145
146         * docs/gst/gstreamer-sections.txt:
147         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
148         (gst_poll_update_winsock_event_mask),
149         (gst_poll_prepare_winsock_active_sets),
150         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
151         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
152         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
153         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
154         (gst_poll_check_ctrl_commands), (gst_poll_wait):
155         * gst/gstpoll.h:
156         * win32/common/libgstreamer.def:
157         Add new function gst_poll_fd_ignored() for improved Windows
158         compatibility.
159         Various minor fixes and cleanups. See #520808.
160
161 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
162
163         * gst/gstindex.c: (gst_index_entry_free):
164         * gst/gstindex.h:
165           Don't free key strings which we don't own. Fixes crash in
166           gst_index_entry_free() (#522741).
167
168         * tests/check/Makefile.am:
169         * tests/check/gst/.cvsignore:
170         * tests/check/gst/gstindex.c: (test_index_entries),
171           (gst_index_suite), (gst_index):
172           Add unit test for the above.
173
174 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
175
176         * win32/common/libgstreamer.def:
177         Remove symbols that were removed recently. Fixes bug #521740.
178
179 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
180
181         * configure.ac:
182         * win32/common/config.h:
183         0.10.17.3 pre-release
184
185 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
186
187         Patch by: Ole André Vadla Ravnås
188             <ole dot andre dot ravnas at tandberg dot com>
189
190         * docs/gst/gstreamer-sections.txt:
191         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
192         (gst_poll_update_winsock_event_mask), (gst_poll_new),
193         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
194         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
195         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
196         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
197         (gst_poll_fd_can_write), (gst_poll_wait),
198         (gst_poll_set_controllable), (gst_poll_restart),
199         (gst_poll_set_flushing):
200         * gst/gstpoll.h:
201         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
202         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
203         (gst_net_time_provider_new):
204         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
205         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
206         * tests/benchmarks/gstpollstress.c: (main):
207         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
208         Remove GstPollMode from the API, it does not make sense to let the
209         application control this.
210         Add support for Win32.
211         Fix the testsuite. Fixes #520671.
212
213 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
214
215         Patch by: Ole André Vadla Ravnås
216             <ole dot andre dot ravnas at tandberg dot com>
217
218         * gst/gstregistrybinary.c:
219         Include io.h for write() and close() when building with MSVC. Fixes
220         bug #520877.
221
222 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
223
224         * configure.ac:
225         * gst/gst_private.h:
226         * gst/gstconfig.h.in:
227         * gst/gstregistry.h:
228         * gst/gstregistrybinary.c:
229         * win32/common/gstconfig.h:
230           Move registry backend API to private headers where we can. Add
231           fixme-0.11 comments for the others. Add stubs for the xml backend when
232           using the binary to ensure they functions exists (they should not be
233           used though). Fixes #520756.
234
235 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
236
237         * configure.ac:
238         * win32/common/config.h:
239         0.10.17.2 prelease
240
241 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
242
243         * gst/gstregistrybinary.c: (gst_registry_binary_write),
244         (gst_registry_binary_read_cache):
245         * gst/gstregistryxml.c: (gst_registry_save):
246         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
247         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
248         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
249         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
250         Switch to using portabl gsize/gssize instead of size_t/ssize_t
251         Fixes #520152
252
253 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
254
255         * gst/gstminiobject.c:
256         Import gst_private.h before any other header that might include other
257         glib headers. This fixes the build on windows using native compilers.
258
259 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
260
261         * win32/common/gstconfig.h:
262           Add here too, just for completeness.
263
264 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
265
266         * configure.ac:
267         * gst/gstconfig.h.in:
268         * gst/gstregistry.h:
269           Fix broken use of config.h-defined preprocessor directive in a public
270           header file. Add a corresponding define to gstconfig.h, since we can't
271           really remove those function declarations from the header file now
272           (or can we? and why are they there in the first place?).
273
274 2008-03-03  Andy Wingo  <wingo@pobox.com>
275
276         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
277         the new warning.
278
279         * gst/gststructure.c (gst_structure_from_string): Warn if
280         structure_from_string didn't consume the whole string, but the
281         caller did not provide an end pointer.
282
283 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
284
285         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
286
287         * gst/gstregistryxml.c: (read_string), (load_feature):
288           Strings allocated by libxml2 should be freed with xmlFree(), not
289           with g_free(). Fixes issues on windows in certain contexts (#519698).
290
291 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
292
293         * gst/gstinterface.c: (gst_element_implements_interface):
294           Don't crash if the element supports the interface queried, but does
295           not implement GstImplementsInterface. Fixes #519584.
296
297         * tests/check/Makefile.am:
298         * tests/check/gst/.cvsignore:
299         * tests/check/gst/gstinterface.c:
300           Add unit test for the above.
301
302 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
303
304         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
305         Small doc update.
306
307 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
308
309         * gst/gstsegment.c: (gst_segment_set_seek),
310         (gst_segment_to_stream_time):
311         Improve some comment.
312         Update variables where it makes more sense.
313
314 2008-02-29  Rene Stadler  <mail@renestadler.de>
315
316         * gst/gsturi.c: (gst_uri_handler_get_protocols):
317         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
318         URIHandlers implemented using language bindings.
319
320 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
321
322         * gst/gstelementfactory.h:
323         * tests/check/elements/fakesink.c:
324         * tests/check/elements/fakesrc.c: (setup_fakesrc):
325         * tests/check/elements/fdsrc.c: (setup_fdsrc):
326         * tests/check/elements/filesink.c: (setup_filesink):
327         * tests/check/elements/filesrc.c: (setup_filesrc):
328         * tests/check/elements/identity.c: (setup_identity):
329         * tests/check/elements/tee.c:
330         * tests/check/generic/sinks.c:
331         * tests/check/generic/states.c: (setup), (teardown):
332         * tests/check/gst/gst.c:
333         * tests/check/gst/gstabi.c:
334         * tests/check/gst/gstbin.c:
335         * tests/check/gst/gstbus.c: (pull_messages):
336         * tests/check/gst/gstcaps.c:
337         * tests/check/gst/gstelement.c:
338         * tests/check/gst/gstevent.c:
339         * tests/check/gst/gstghostpad.c:
340         * tests/check/gst/gstiterator.c:
341         * tests/check/gst/gstmessage.c:
342         * tests/check/gst/gstminiobject.c: (my_foo_init):
343         * tests/check/gst/gstobject.c: (thread_name_object),
344         (gst_object_suite):
345         * tests/check/gst/gstpad.c:
346         * tests/check/gst/gstplugin.c:
347         * tests/check/gst/gstpoll.c:
348         * tests/check/gst/gstquery.c:
349         * tests/check/gst/gstsegment.c:
350         * tests/check/gst/gststructure.c:
351         * tests/check/gst/gstsystemclock.c:
352         * tests/check/gst/gsttask.c:
353         * tests/check/gst/gstutils.c:
354         * tests/check/gst/gstvalue.c:
355         * tests/check/gst/struct_hppa.h:
356         * tests/check/gst/struct_i386.h:
357         * tests/check/gst/struct_ppc32.h:
358         * tests/check/gst/struct_ppc64.h:
359         * tests/check/gst/struct_x86_64.h:
360         * tests/check/libs/adapter.c: (create_and_fill_adapter):
361         * tests/check/libs/basesrc.c:
362         * tests/check/libs/controller.c: (GST_START_TEST):
363         * tests/check/libs/gdp.c:
364         * tests/check/libs/gstnetclientclock.c:
365         * tests/check/libs/gstnettimeprovider.c:
366         * tests/check/libs/libsabi.c:
367         * tests/check/libs/struct_hppa.h:
368         * tests/check/libs/struct_i386.h:
369         * tests/check/libs/struct_ppc32.h:
370         * tests/check/libs/struct_ppc64.h:
371         * tests/check/libs/struct_x86_64.h:
372         * tests/check/pipelines/cleanup.c:
373         * tests/check/pipelines/simple-launch-lines.c:
374         * tests/check/pipelines/stress.c:
375         And correct even more valid sparse warnings.
376
377         * win32/common/libgstreamer.def:
378         Add gst_poll_fd_init to the list of symbols.
379
380 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
381
382         * gst/gstconfig.h.in:
383         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
384         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
385         (gst_check_log_critical_func), (gst_check_drop_buffers),
386         (gst_check_element_push_buffer_list):
387         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
388         (gst_controller_get_type):
389         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
390         (gst_object_get_controller), (gst_object_get_control_source):
391         * libs/gst/controller/gstinterpolationcontrolsource.c:
392         (gst_interpolation_control_source_new):
393         * libs/gst/controller/gstlfocontrolsource.c:
394         (gst_lfo_control_source_new):
395         * libs/gst/dataprotocol/dataprotocol.c:
396         (gst_dp_event_from_packet_0_2):
397         * plugins/elements/gstfdsrc.c:
398         * plugins/elements/gstmultiqueue.c:
399         * plugins/elements/gsttee.c:
400         * plugins/elements/gsttypefindelement.c:
401         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
402         (gst_file_index_add_association):
403         * plugins/indexers/gstmemindex.c:
404         * tests/benchmarks/gstpollstress.c: (mess_some_more):
405         * tests/check/elements/queue.c: (setup_queue):
406         * tests/check/gst/gstpipeline.c:
407         * tests/check/libs/collectpads.c: (setup), (teardown),
408         (gst_collect_pads_suite):
409         * tests/examples/adapter/adapter_test.c:
410         * tests/examples/metadata/read-metadata.c: (make_pipeline):
411         * tests/examples/xml/createxml.c:
412         * tests/examples/xml/runxml.c:
413         * tools/gst-inspect.c:
414         * tools/gst-run.c:
415         Correct all relevant warnings found by the sparse semantic code
416         analyzer. This include marking several symbols static, using
417         NULL instead of 0 for pointers, not using variable sized arrays
418         on the stack, moving variable declarations to the beginning of
419         a block and using "foo (void)" instead of "foo ()" for declarations.
420
421 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
422
423         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
424         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
425         Don't reset GstPollFDs, this is not necessary at all.
426
427         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
428         (delayed_restart), (delayed_control):
429         Use GST_POLL_FD_INIT.
430
431 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
432
433         * gst/gstpoll.c: (gst_poll_fd_init):
434         * gst/gstpoll.h:
435         Added Since tags.
436
437         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
438         Use some more init macros.
439
440 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
441
442         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
443         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
444         Use init macros and functions.
445
446 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
447
448         * docs/gst/gstreamer-sections.txt:
449         * gst/gstpoll.c: (gst_poll_fd_init):
450         * gst/gstpoll.h:
451         Add INIT macro and _init method for initializing the GstPollFD.
452
453 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
454
455         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
456         (gst_fd_sink_update_fd):
457         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
458         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
459         (delayed_restart), (delayed_control):
460         Initialize some uninitialized variables as spotted by valgrind.
461
462 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
463
464         * tests/benchmarks/Makefile.am:
465         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
466         (main):
467         Add poll stress test.
468
469 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
470
471         Patch by: Peter Kjellerstedt <pkj at axis dot com>
472
473         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
474         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
475         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
476         * plugins/elements/gstfdsink.h:
477         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
478         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
479         (gst_fd_src_unlock_stop), (gst_fd_src_create),
480         (gst_fd_src_uri_set_uri):
481         * plugins/elements/gstfdsrc.h:
482         Port to GstPoll. See #505417.
483
484 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
485
486         * win32/common/libgstreamer.def:
487         Add new gst_poll_ symbols to win32 defs.
488
489 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
490
491         * docs/libs/gstreamer-libs-sections.txt:
492         * libs/gst/net/gstnetclientclock.c:
493         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
494         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
495         (gst_net_client_clock_thread), (gst_net_client_clock_start),
496         (gst_net_client_clock_stop), (gst_net_client_clock_new):
497         * libs/gst/net/gstnetclientclock.h:
498         * libs/gst/net/gstnettimeprovider.c:
499         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
500         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
501         (gst_net_time_provider_start), (gst_net_time_provider_stop),
502         (gst_net_time_provider_new):
503         * libs/gst/net/gstnettimeprovider.h:
504         Use a private stuct to not break ABI.
505
506 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
507
508         Patch by: Peter Kjellerstedt <pkj at axis dot com>
509
510         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
511         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
512         (gst_net_client_clock_thread), (gst_net_client_clock_start),
513         (gst_net_client_clock_stop), (gst_net_client_clock_new):
514         * libs/gst/net/gstnetclientclock.h:
515         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
516         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
517         (gst_net_time_provider_start), (gst_net_time_provider_stop),
518         (gst_net_time_provider_new):
519         * libs/gst/net/gstnettimeprovider.h:
520         Massive code removal and cleanups because of GstPoll.
521         Fixes #505417.
522
523 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
524
525         * configure.ac:
526         Add checks for poll, ppoll and pselect.
527
528         * docs/gst/gstreamer-docs.sgml:
529         * docs/gst/gstreamer-sections.txt:
530         Add docs for GstPoll.
531
532         * gst/Makefile.am:
533         * gst/gst.h:
534         * gst/gstpoll.c: (find_index), (selectable_fds),
535         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
536         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
537         (gst_poll_set_mode), (gst_poll_get_mode),
538         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
539         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
540         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
541         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
542         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
543         (gst_poll_fd_can_write), (gst_poll_wait),
544         (gst_poll_set_controllable), (gst_poll_restart),
545         (gst_poll_set_flushing):
546         * gst/gstpoll.h:
547         Add generic poll abstraction. We ideally don't want to have this in core
548         here but in glib intead...
549         This code will be used in various network elements and ultimately for
550         the nanosecond precision monotonic clock (that's why it's here in core).
551         It'll allow us to implement cancelable socket operations for windows too.
552
553         * tests/check/Makefile.am:
554         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
555         (delayed_stop), (delayed_restart), (delayed_flush),
556         (delayed_control), (gst_poll_suite):
557         Add GstPoll unit test.
558
559 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
560
561         * gst/gstfilter.c:
562           Improve documentation of gst_filter_run(). Fixes #518627.
563
564 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
565
566         * docs/README:
567           Add a few lines about the new 'check-inspected-versions' target.
568
569 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
570
571         * tests/check/gst/gstevent.c:
572           Add qos to the event test. Rename tcase/tsuite; is not only about
573           custom events.
574
575 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
576
577         * plugins/elements/gstqueue.c:
578           Ensure that buffer metadata is writeable, before modifying. Spotted by
579           Mike.
580
581 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
582
583         * plugins/elements/gstqueue.c:
584         * plugins/elements/gstqueue.h:
585           When dropping buffers in leaky modes, mark next buffers we sent as
586           DISCONT.
587
588 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
589
590         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
591           Also, if mmap() fails that would be a READ error, not OPEN_READ.
592
593 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
594
595         * plugins/elements/Makefile.am:
596         * plugins/elements/gstbufferstore.c:
597         * plugins/elements/gstbufferstore.h:
598         * plugins/elements/gsttypefindelement.h:
599           Remove GstBufferStore, no idea why we were still building it.
600           It's not used anywhere and superseded by GstAdapter.
601
602         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
603           (gst_file_src_create_mmap):
604         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
605           Printf format fixes for 64-bit integers.
606
607 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
608
609         * configure.ac:
610         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
611         We're not in 0.8 times anymore.
612
613 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
614
615         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
616         (gst_check_element_push_buffer_list):
617         * libs/gst/check/gstcheck.h:
618         Make the declaration in the header for
619         gst_check_element_push_buffer_list match the implementation.
620
621         Fix up spelling, grammar and wording of the documentation in a few
622         places, and add the Since keyword to new API functions.
623         Use g_list_delete_link instead of g_list_remove in
624         gst_check_drop_buffers, since it's immeasurably more efficient.
625
626         * tests/check/elements/fakesrc.c: (GST_START_TEST):
627         Use new gst_check_drop_buffers function where appropriate.
628
629         * win32/common/libgstbase.def:
630         * win32/common/libgstreamer.def:
631         Add new symbols gst_collect_pads_take_buffer, 
632         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
633         exports
634
635         Changelog surgery to add API keyword to new gst_check API.
636
637 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
638
639         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
640         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
641         Update pre-generated flex files with flex 2.3.34.
642
643 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
644
645         * gst/gstminiobject.c:
646           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
647           friendly to subclasses and not require them to know all internals
648           of their parent class.
649
650 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
651
652         * docs/libs/gstreamer-libs-sections.txt:
653         * libs/gst/base/gstcollectpads.c:
654         * libs/gst/base/gstcollectpads.h:
655           Add sub-buffer functions to collectpads. Fixes #516187.
656           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
657
658 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
659
660         * gst/gstbuffer.c:
661           Copy selected buffer-flags when creating subbuffers.
662           Fixes #516395.
663
664 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
665
666         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
667         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
668         * gst/gstmessage.c: (gst_message_class_init),
669         (gst_message_finalize):
670         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
671         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
672         (gst_mmap_buffer_finalize):
673         Properly chain up finalize functions to the parent class.
674
675 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
676
677         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
678
679         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
680         (gst_index_set_resolver_full):
681         * gst/gstindex.h:
682         Add new function with option to dispose of user_data in resolver.
683         Actually call the dispose function when finalizing the object and not
684         just when changing the resolver/filter.
685         API: GstIndex::gst_index_set_resolver_full()
686
687         * docs/gst/gstreamer-sections.txt:
688         Add new function to docs. Fixes #515469.
689
690 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
691
692         * gst/gstindex.c: (gst_index_finalize):
693         Chain up finalize to the parent class. Fixes leaking the GstObject
694         name and other things.
695
696 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
697
698         * configure.ac:
699         Make DISABLE_DEPRECATED defined *only* during CVS, not during
700         pre-releases or releases.
701
702         * docs/faq/gst-uninstalled:
703         Add gst-plugins-gl
704
705         * docs/random/release:
706         Change one of the steps - we only upload core & base to Gnome FTP
707
708 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
709
710         * gst/gstconfig.h.in:
711           Add 'id' for example.
712
713         * gst/gstpad.c:
714         * gst/gstutils.c:
715         * plugins/elements/gstfdsink.c:
716           Link to signals. Doc and comment fixes.
717
718 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
719
720         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
721         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
722           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
723           unused and unimplemented; finally, it is plugin features, not
724           plugins, that have ranks.
725           
726 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
727
728         * gst/gstpluginfeature.h:
729           Clarify GstRank range docs.
730
731 2008-02-05  David Schleef  <ds@schleef.org>
732
733         * gst/gst.c: Add a separate gst_deinitialized that prevents
734           gst_init() from being called after gst_deinit().  Fixes #509559
735
736 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
737
738         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
739         (gst_bin_class_init):
740         * gst/gstelement.c: (gst_element_base_class_init),
741         (gst_element_class_add_pad_template):
742         * gst/gstpadtemplate.c: (gst_pad_template_init):
743         * gst/gstpipeline.c: (gst_pipeline_get_type),
744         (gst_pipeline_base_init), (gst_pipeline_class_init):
745         * libs/gst/base/gstbasesink.c:
746         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
747         (gst_base_src_base_init), (gst_base_src_class_init):
748         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
749         (gst_capsfilter_class_init):
750         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
751         (gst_fake_sink_class_init):
752         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
753         (gst_fake_src_class_init):
754         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
755         (gst_fd_sink_class_init):
756         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
757         (gst_fd_src_class_init):
758         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
759         (gst_file_sink_class_init):
760         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
761         (gst_file_src_class_init):
762         * plugins/elements/gstidentity.c: (gst_identity_base_init),
763         (gst_identity_class_init):
764         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
765         (gst_multi_queue_class_init):
766         * plugins/elements/gstqueue.c: (gst_queue_base_init),
767         (gst_queue_class_init):
768         * plugins/elements/gsttee.c: (gst_tee_base_init),
769         (gst_tee_class_init):
770         * plugins/elements/gsttypefindelement.c:
771         (gst_type_find_element_base_init),
772         (gst_type_find_element_class_init):
773         * tests/check/gst/gstelement.c: (gst_element_suite):
774         Revert previous changes to the behaviour of GstPadTemplates, etc
775         and the possiblity to call them in class_init as it breaks too
776         many elements. Reopens bug #491501.
777
778         Should be applied again for 0.11, thus added a few FIXME 0.11 at
779         several places.
780
781 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
782
783         * tools/gst-launch.c:
784         Dump one graph per pipeline state-change and state change name
785         (if GST_DEBUG_DUMP_DOT_DIR is set).
786
787 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
788
789         * gst/gstpad.c:
790         * tests/check/gst/gstpad.c:
791         Be sure that we have a new copy of the caps and not
792         reffed caps from a template
793
794 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
795
796         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
797         * gst/gstpipeline.c: (gst_pipeline_get_type),
798         (gst_pipeline_class_init):
799         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
800         (gst_base_sink_class_init):
801         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
802         (gst_base_src_class_init):
803         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
804         (gst_base_transform_class_init):
805         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
806         (gst_collect_pads_class_init):
807         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
808         * libs/gst/net/gstnettimeprovider.c:
809         (gst_net_time_provider_base_init),
810         (gst_net_time_provider_class_init):
811         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
812         (gst_capsfilter_class_init):
813         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
814         (gst_fake_sink_class_init):
815         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
816         (gst_fake_src_class_init):
817         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
818         (gst_fd_sink_class_init):
819         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
820         (gst_fd_src_class_init):
821         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
822         (gst_file_sink_class_init):
823         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
824         (gst_file_src_class_init):
825         * plugins/elements/gstidentity.c: (gst_identity_base_init),
826         (gst_identity_class_init):
827         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
828         (gst_multi_queue_class_init):
829         * plugins/elements/gstqueue.c: (gst_queue_base_init),
830         (gst_queue_class_init):
831         * plugins/elements/gsttee.c: (gst_tee_base_init),
832         (gst_tee_class_init):
833         * plugins/elements/gsttypefindelement.c:
834         (gst_type_find_element_base_init),
835         (gst_type_find_element_class_init):
836         Don't use base_init where not absolutely necessary. For example it's
837         not necessary anymore for adding pad templates or setting element
838         details.
839
840         Leave empty base_init functions in several places as GST_BOILERPLATE
841         still defines and uses them.
842
843 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
844
845         * gst/gstelement.c: (gst_element_base_class_init),
846         (gst_element_class_add_pad_template):
847         * gst/gstpadtemplate.c:
848         Make it possible (and recommended) to set element details and add
849         pad templates in the class_init functions by copying the details/pad
850         templates in GstElement's base_init.
851
852         Also make it possible to replace existing pad templates by adding
853         a new one with the same name. This was done in a hackish fashion
854         in same elements before already.
855
856         Don't reference pad templates that are added a second time. A
857         new pad template has a refcount of one and is not floating anymore
858         and to be owned by the element's class. Make this more explicit by
859         mentioning it in the docs of gst_element_class_add_pad_template().
860
861         These changes are backwards compatible. Fixes bug #491501.
862
863         * tests/check/gst/gstelement.c:
864         Add unit test for setting element details, adding pad templates and
865         replacing them in a subclass.
866
867 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
868
869         * tools/gst-inspect.c: (print_interfaces),
870         (print_element_properties_info), (print_pad_info),
871         (print_signal_info), (print_element_info):
872         Fix a few memory leaks.
873
874 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
875
876         * docs/libs/gstreamer-libs-sections.txt:
877         * libs/gst/check/gstcheck.c:
878         * libs/gst/check/gstcheck.h:
879         Add more functions for unit testing: gst_check_drop_buffers,
880         gst_check_caps_equal, gst_check_element_push_buffer_list,
881         gst_check_element_push_buffer
882         API: gst_check_drop_buffers
883         API: gst_check_caps_equal
884         API: gst_check_element_push_buffer_list
885         API: gst_check_element_push_buffer
886
887 2008-02-01  Julien Moutte  <julien@fluendo.com>
888
889         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
890         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
891         (gst_index_finalize), (gst_index_entry_free),
892         (gst_index_add_association): Fix memory leaks.
893         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
894         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
895         (gst_mem_index_free_format), (gst_mem_index_free_id),
896         (gst_mem_index_finalize): Fix memory leaks.
897         * win32/common/config.h: Updated to CVS HEAD.
898
899 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
900
901         * docs/README:
902           Some more details about how the plugin docs works.
903
904         * docs/plugins/gstreamer-plugins-sections.txt:
905           Whitespace cleanup.
906
907 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
908
909         * gst/parse/grammar.tab.pre.c:
910         * gst/parse/grammar.tab.pre.h:
911         * gst/parse/grammar.y:
912         * gst/parse/lex._gst_parse_yy.pre.c:
913           Add delayed set-property. This allows to set properties on dynamicaly
914           created objects (pads in videomxer).
915
916 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
917
918         * gst/gstutils.c:
919         Check if caps are not NULL (fix bug #510194)
920
921 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
922
923         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
924         (gst_base_sink_get_position_paused):
925         Add fixme regarding EOS in pull mode.
926         Fix position reporting in PAUSED for negative rates.
927
928 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
929
930         * gst/gstminiobject.c: (gst_mini_object_replace):
931         When replacing a miniobject, do a quick equality check first so that we
932         can avoid a ref/unref pair.
933
934 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
935
936         * docs/design/part-synchronisation.txt:
937         Update some docs.
938
939         * docs/plugins/Makefile.am:
940         * docs/plugins/gstreamer-plugins-docs.sgml:
941         * docs/plugins/gstreamer-plugins-sections.txt:
942         * plugins/elements/gstmultiqueue.c:
943         Add multiqueue to the docs.
944
945 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
946
947         * configure.ac:
948           Back to CVS
949
950 === release 0.10.17 ===
951
952 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
953
954         * configure.ac:
955           releasing 0.10.17, "Due Negligence"
956
957 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
958
959         * gst/gstutils.c:
960         Revert caps != NULL check temporarily for 0.10.17 release.
961
962 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
963
964         * gst/gstutils.c:
965         Check if caps are not NULL (fix bug #510194)
966
967 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
968
969         * gst/gstutils.c:
970         Fix compilation on systems that have posix timers but no
971         monotonic clock.
972         Fixes: #512715
973         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
974         dot net>
975
976 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
977
978         * tools/gst-inspect.c:
979         Revert previous commit in preparation for an impromptu 0.10.17 release
980
981 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
982
983         * tools/gst-inspect.c: (print_interfaces),
984         (print_element_properties_info), (print_pad_info),
985         (print_signal_info), (print_element_info):
986         Fix a few memory leaks.
987
988 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
989
990         * configure.ac:
991         Back to CVS
992
993 === release 0.10.16 ===
994
995 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
996
997         * configure.ac:
998           releasing 0.10.16, "Special Dispensation"
999
1000 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
1001
1002         * configure.ac:
1003           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
1004           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
1005           not fail when trying to crosscompile on OpenEmbedded (#511750).
1006
1007 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
1008
1009         * docs/manuals.mak:
1010         Use $(MAKE) instead of make to fix the build if GNU make is
1011         called different. Fixes bug #510747.
1012
1013 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1014
1015         * gst/gstplugin.c: (_gst_plugin_initialize):
1016           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
1017           again, which I broke two commits ago when changing the API
1018           of gst_plugin_register_static(): the g_list_foreach() in
1019           _gst_plugin_register_static still assumed the old function
1020           signature and would therefore fail (re-fixes #510187).
1021
1022         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
1023           (_gst_plugin_register_static), (gst_plugin_register_static):
1024           Revert the (technically correct) change to call g_thread_init() from
1025           the pre-main() constructor. This will break programs which call
1026           g_thread_init() without an if (!g_thread_supported()) guard in their
1027           main function. We could just blame it on GLib or the application, but
1028           it's probably best to just avoid this altogether and simply not use
1029           any GLib functions here and use plain old malloc() with a simple
1030           array to store the plugins to register later when gst_init() is
1031           finally called (re-fixes #510187).
1032
1033         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
1034           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
1035           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
1036           (GST_START_TEST), (gst_plugin_suite):
1037           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
1038           works.
1039
1040 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1041
1042         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1043           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
1044           This makes gtk-doc complain, but results in slightly better
1045           compiler errors. The old _gst_plugin_register_static() is
1046           still guarded, so there'll be a compiler warning about that
1047           instead. Fixes #510187 too.
1048
1049 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1050
1051         * gst/gst.c: (init_post):
1052         * gst/gstplugin.c: (_gst_plugin_register_static),
1053           (gst_plugin_register_static), (_gst_plugin_initialize):
1054         * gst/gstplugin.h: (GstPluginFilter):
1055           Change API of gst_plugin_register_static() to not take
1056           a GstPluginDesc, but rather just take all the arguments
1057           in a GstPluginDesc directly. This is more intuitive and
1058           avoids certain mistakes when porting code from
1059           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
1060           Fixes #510187.
1061
1062         * tests/check/gst/gstplugin.c:
1063           Fix up for changed API.
1064
1065 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1066
1067         * docs/faq/legal.xml:
1068           Update FAQ, Totem actually has an exception these days.
1069
1070 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
1071
1072         * win32/common/libgstreamer.def:
1073         Add new API declarations
1074
1075 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1076
1077         * gst/gstminiobject.c:
1078           Spelling fixes for the API docs.
1079
1080 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1081
1082         * libs/gst/base/gstbasetransform.c:
1083           Fix long property description for QoS.
1084
1085 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
1086
1087         * gst/gst.c:
1088         _gst_trace_on is already provided by gsttrace.h, no need to declare
1089         it ourselves.
1090
1091         * docs/libs/gstreamer-libs-sections.txt:
1092         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
1093         and remove strange tcase_add_test which is outputting a warning.
1094
1095         * libs/gst/check/gstcheck.c:
1096         * libs/gst/check/gstcheck.h:
1097         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
1098         and define them in gstcheck.c instead of having every .c file whcih
1099         includes gstcheck.h be defining its own copy and relying on symbol
1100         interposing to marry them all, which doesn't work on Solaris.
1101
1102         * tests/check/elements/identity.c: (GST_START_TEST):
1103         Don't define 'buffers' locally, it comes from libgstcheck.
1104
1105         * tests/check/generic/sinks.c: (send_buffer):
1106         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
1107
1108         * tests/check/gst/gststructure.c: (GST_START_TEST):
1109         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
1110         * tests/check/gst/gstutils.c: (GST_START_TEST):
1111         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1112         Add a bunch of casts to make various constants fit the types
1113         they're being assigned to.
1114
1115 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
1116
1117         * gst/gstchildproxy.c:
1118           Improve docs and add some ideas for making this more general-purpose.
1119
1120 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1121
1122         * gst/gst_private.h: (GST_CAT_TYPES):
1123           Add GST_CAT_TYPES, for consistency, and so that the other
1124           debug categories don't make fun of it. Spotted by Saur on IRC.
1125
1126 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1127
1128         * gst/parse/Makefile.am:
1129           Move types.h from EXTRA_DIST to noinst_HEADERS.
1130
1131 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1132
1133         * autogen.sh:
1134           Add -Wno-portability to the automake parameters to stop warnings
1135           about GNU make extensions being used. We require GNU make in almost
1136           every Makefile anyway.
1137
1138         * configure.ac:
1139           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
1140           at the same time is required for per target flags.
1141
1142 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1143
1144         * gst/gstmacros.h:
1145           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
1146           __GNUC__ is defined before using it.
1147
1148 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1149
1150         * docs/gst/gstreamer-sections.txt:
1151         * gst/gst.c: (init_post):
1152         * gst/gstplugin.c: (_gst_plugin_register_static),
1153           (gst_plugin_register_static), (_gst_plugin_initialize),
1154           (gst_plugin_register_func):
1155         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1156           API: add gst_plugin_register_static() and deprecate
1157           GST_PLUGIN_DEFINE_STATIC, since it's not portable
1158           (#498924).
1159           Also, in _gst_plugin_register_static(), make sure to call
1160           g_thread_init() before calling GLib functions such as
1161           g_list_append() if we're not initialised yet, since that
1162           may lead to random crashes with older GSlice/GLib versions.
1163
1164         * tests/check/gst/gstplugin.c:
1165           Adapt unit test to above changes.
1166
1167 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1168
1169         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
1170         * gst/gstcaps.c: (gst_caps_to_string):
1171         * gst/gststructure.c: (GST_ASCII_IS_STRING),
1172           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
1173           Yet another gratuitous GString micro-optimisation: add a (private)
1174           function that serialises a structure appending to an existing
1175           GString, so that when we serialise caps we don't need to alloc+free
1176           a throwaway GString for each structure (each of which also entailing
1177           multiple reallocs on the way); also use g_string_sized_new() in
1178           various places with an approximate string length to avoid reallocs
1179           within GString. See #500143.
1180
1181 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1182
1183         * gst/gststructure.c: (gst_structure_id_set_value):
1184           Always check UTF-8 conformance of structure strings and not only
1185           if the debugging system is enabled; reasoning: the behaviour of
1186           the actual code shouldn't really change depending on whether the
1187           debugging system is enabled or not (#508291).
1188
1189 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
1190
1191         * Makefile.am:
1192           Remove old coverage target in favour of "make lcov".
1193
1194 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1195
1196         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1197         (gst_base_src_loop):
1198         The start segment for reverse playback goes from start to last_stop.
1199
1200 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1201
1202         Patch by: Peter Kjellerstedt <pkj axis com>
1203
1204         * gst/gstclock.h:
1205         Cast the results from the timeval/spec_to_time macros to what the
1206         docs say it casts to, a GstClockTime. fixes #508175.
1207
1208 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1209
1210         * gst/gstbuffer.c:
1211         Update some comments.
1212
1213         * tools/gst-inspect.c: (print_element_properties_info):
1214         Improve printing of flags.
1215
1216 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1217
1218         * libs/gst/base/gstbasetransform.c:
1219           (gst_base_transform_transform_size):
1220           Print element name with g_warning() if there's a problem
1221           with the unit size.
1222
1223 2008-01-07  David Schleef  <ds@schleef.org>
1224
1225         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
1226
1227         * libs/gst/controller/gstcontroller.h:
1228         * libs/gst/controller/gstcontrolsource.h:
1229         * libs/gst/controller/gstinterpolationcontrolsource.h:
1230         * libs/gst/controller/gstlfocontrolsource.h:
1231         * libs/gst/dataprotocol/dataprotocol.h:
1232           Fix empty prototypes.  Fixes bug #507957.
1233
1234 2008-01-07  David Schleef  <ds@schleef.org>
1235
1236         * docs/faq/dependencies.xml: Fix typo.
1237
1238 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1239
1240         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
1241         (gst_base_src_loop):
1242         Don't update the last_stop position in do_seek, that's the position we
1243         did a seek to.
1244         Read backwards when we have a negative rate.
1245
1246         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
1247         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
1248         (filesrc_suite):
1249         Add check for reverse reading.
1250
1251 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
1252
1253         Patch by: Alexis Ballier <aballier at gentoo org>
1254
1255         * tests/check/gst/gstabi.c:
1256         * tests/check/gst/struct_ppc64.h:
1257         * tests/check/libs/libsabi.c:
1258         * tests/check/libs/struct_ppc64.h:
1259           Decide which header to include based on the userland ABI target
1260           and not the kernel/cpu. Fix up structure sizes of ppc64 header
1261           for 64-bit userland (#503590).  Might need something similar for
1262           x86 too.
1263
1264 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1265
1266         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
1267           Log the reason why fopen fails in addition to the fact that it failed.
1268           
1269 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
1270
1271         * gst/parse/parse.l:
1272         Use "%option never-interactive" to prevent useless calls to isatty()
1273         on every input when parsing. Also use "%option noinput" to not define
1274         the static input/yyinput functions which we don't use anyway. This
1275         removes a compiler warning with gcc 4.3 and saves some bytes in the
1276         library.
1277         
1278         * gst/parse/lex._gst_parse_yy.pre.c:
1279         Regenerated for the above change.
1280
1281 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1282
1283         * gst/gstpad.c: (fixate_value):
1284         Don't crash when trying to fixate and empty list.
1285         Fixes #506643.
1286
1287 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
1288
1289         * docs/faq/gst-uninstalled:
1290         Clarify the comments to make the usage of this script and what it
1291         does easier to understand.
1292
1293 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1294
1295         * tools/gst-plot-timeline.py:
1296         Add more options to gst-plot-timeline
1297
1298 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1299
1300         * docs/design/part-synchronisation.txt:
1301         Some more info on how the stream_time in GstBaseSink is done.
1302
1303 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
1304
1305         * tests/check/generic/sinks.c: (gst_sinks_suite):
1306           Put back the tcase_set_timeout(), apparently it's needed after
1307           all; fix it up in a way that makes things work with valgrind too.
1308
1309 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1310
1311         * gst/gstdebugutils.c:
1312           Add warning when failed to open file for writing.
1313
1314 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1315
1316         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
1317
1318         * gst/gstvalue.c: (gst_value_is_fixed):
1319           Optimisation: bail out of the loop as early as possible (#500143).
1320
1321 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1322
1323         * gst/gstcaps.c: (gst_caps_to_string):
1324         * gst/gstinfo.c: (gst_debug_construct_term_color):
1325         * gst/gstparse.c: (gst_parse_launchv):
1326         * gst/gstutils.c: (gst_util_dump_mem):
1327         * gst/gstvalue.c: (gst_value_serialize_any_list),
1328           (gst_value_transform_any_list_string):
1329           Bunch of gratuitous nano-optimisations.
1330
1331 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1332
1333         * tests/check/generic/sinks.c: (async_done_func),
1334           (async_done_eos_func):
1335           Fix leak in unit test (bus sync handler must unref the message
1336           if it returns GST_BUS_DROP). Don't fiddle with the default test
1337           timeout, this is smaller than the current preconfigured value
1338           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
1339           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
1340
1341 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1342
1343         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1344
1345         * configure.ac:
1346         Check for stdio_ext.h for the filesink changes.
1347
1348         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
1349         (gst_file_sink_class_init), (gst_file_sink_init),
1350         (gst_file_sink_dispose), (gst_file_sink_set_property),
1351         (gst_file_sink_get_property), (gst_file_sink_open_file),
1352         (gst_file_sink_close_file):
1353         * plugins/elements/gstfilesink.h:
1354         Add two properties to control the buffering mode and size.
1355         API: GstFileSink::buffer-mode
1356         API: GstFileSink::buffer-size
1357         Fixes #500150.
1358
1359 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1360
1361         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
1362         Add some more docs to explain why a FIXME was wrongly added. 
1363
1364 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
1365
1366         * gst/gstobject.c:
1367           Fix typo in the gst_object_{ref,unref} documentation.
1368
1369 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1370
1371         * tests/check/libs/controller.c:
1372         * tests/check/libs/typefindhelper.c:
1373         * tests/check/pipelines/parse-launch.c:
1374           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
1375           going to be deprecated (see #498924).
1376
1377 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1378
1379         * gst/gsttypefind.c: (gst_type_find_register):
1380           Make gst_type_find_register work for static typefind functions,
1381           ie. allow passing plugin == NULL (prerequisite for #498924).
1382
1383         * gst/gstelementfactory.c: (gst_element_register):
1384           Small docs addition.
1385
1386 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1387
1388         * gst/gstpad.c: (gst_pad_dispose):
1389         Really unlink the peer pad instead of setting the peer pointer to NULL
1390         when we dispose the pad.
1391         This correctly calls the unlink functions and makes sure that the peer
1392         does not have a handle to invalid memory. See #504671.
1393
1394         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1395         Add testsuite for above case.
1396
1397 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1398
1399         Patch by: Peter Kjellerstedt <pkj axis com>
1400
1401         * libs/gst/check/gstcheck.h:
1402           Fix detection of the check version we're compiling against (would
1403           otherwise break if check goes v0.10.0); correctly report the
1404           name of the failed test again in case of failure, instead of
1405           just 'tf' (fixes #504499).
1406
1407 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1408
1409         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1410         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1411         (gst_base_src_loop), (gst_base_src_set_flushing),
1412         (gst_base_src_change_state):
1413         Allow sending EOS to the source to make it send out an EOS event from
1414         the streaming thread.
1415         Update docs and deprecate the old NULL/READY shutdown method.
1416
1417         * tests/check/libs/basesrc.c: (GST_START_TEST),
1418         (gst_basesrc_suite):
1419         Add unit test for controlled shutdown.
1420
1421 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1422
1423         * docs/design/part-synchronisation.txt:
1424         Small updates.
1425
1426         * gst/gstsegment.c: (gst_segment_set_seek),
1427         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1428         (gst_segment_to_running_time):
1429         The seek format can be different from the segment format when the start
1430         and stop values are not to be updated, when we only do a rate change for
1431         example.
1432
1433         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1434         (gst_segment_suite):
1435         Add a testcase for the rate-only seeks, checking that the format is
1436         correctly ignored when start and stop are not updated.
1437
1438 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
1439
1440         Patch by: Matthias Bolte <photon at mail dot upb dot de>
1441
1442         * win32/vs8/grammar.vcproj:
1443         * win32/vs8/libgstcontroller.vcproj:
1444         * win32/vs8/libgstreamer.vcproj:
1445         Fix compilation with VS8 and include some missing files.
1446
1447 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1448
1449         * gst/gsttaglist.c:
1450           Small docs addition: mention that the strings returned by
1451           gst_tag_list_get_string*() are in UTF-8 encoding.
1452
1453 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1454
1455         * Makefile.am:
1456           The check-exports stuff moved to common/win32.mak, so include that.
1457
1458 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1459
1460         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1461         (gst_base_src_perform_seek), (gst_base_src_get_range),
1462         (gst_base_src_set_playing), (gst_base_src_change_state):
1463         Make _wait_playing() not check any variables so that we can call this
1464         function from subclasses. Move the checks elsewhere similar to
1465         _wait_preroll() in basesink.
1466         Add some debugging.
1467         Only signal the LIVE cond when we are going back to PLAYING.
1468
1469 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1470
1471         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1472           Use g_remove() and g_rename(). Check result of g_rename(), and
1473           don't leak the open file descriptor if we error out when writing.
1474
1475         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1476           Must check the return value of close() after writing out the new
1477           registry file.  Sometimes write problems such as out-of-diskspace
1478           are only reported when the file is closed and not already during
1479           the write.  This may have caused partial/broken registry files in
1480           some rare circumstances. Should fix #503675.
1481
1482 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
1483
1484         * docs/gst/.cvsignore:
1485         * docs/libs/.cvsignore:
1486         * docs/plugins/.cvsignore:
1487         Ignore files generated by new common/* modifications
1488
1489 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1490
1491         * win32/common/libgstbase.def:
1492           Yes, you can also have a <TAB> if you want.
1493
1494 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1495
1496         * win32/common/libgstbase.def:
1497           Add new basetransform API to win export file.
1498
1499 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1500
1501         * tests/check/gst/gstbin.c:
1502           Adjust the test to the refcount change two days ago.
1503
1504 2007-12-14  David Schleef  <ds@schleef.org>
1505
1506         * docs/faq/getting.xml: Fix typo.
1507
1508 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
1509
1510         * docs/libs/gstreamer-libs-sections.txt:
1511         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1512           (gst_base_transform_prepare_output_buffer),
1513           (gst_base_transform_set_gap_aware):
1514         * libs/gst/base/gstbasetransform.h:
1515           API: Add gst_base_transform_set_gap_aware() to control whether
1516           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1517           get buffers with this flag at all. Fixes #503231.
1518
1519 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
1520
1521         * libs/gst/base/gstbasesink.c:
1522         * libs/gst/base/gstbasesrc.c:
1523         * libs/gst/base/gstbasetransform.c:
1524           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1525           thread. Correct log message in gstbasesrc.c.
1526
1527 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1528
1529         * gst/gstutils.c: (element_find_unconnected_pad):
1530           Fix possible compiler warning (#503417).
1531
1532 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1533
1534         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1535           Don't use GST_CAT_EVENT here for logging, it makes no sense.
1536
1537 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
1538
1539         * tools/gst-inspect.c: (print_element_properties_info):
1540           Add support for GstFraction properties.
1541
1542 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1543
1544         * Makefile.am:
1545           Add check-exports target and run it as part of 'make check'
1546           (see #499140 and #493983).
1547
1548         * gst/gst_private.h:
1549         * gst/gstelementfactory.h:
1550         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1551         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1552           (_priv_gst_in_valgrind):
1553         * gst/gstinfo.h: (GstLogFunction):
1554         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1555           (gst_type_find_register):
1556         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1557           (gst_type_find_factory_get_type):
1558         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1559           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1560           (gst_controller_new_valist), (gst_controller_new_list),
1561           (_gst_controller_dispose), (_gst_controller_class_init):
1562         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1563         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1564           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1565           (gst_object_get_controller), (gst_object_set_controller),
1566           (gst_object_suggest_next_sync), (gst_object_sync_values),
1567           (gst_object_set_control_source), (gst_object_get_control_source),
1568           (gst_object_get_value_arrays), (gst_object_get_value_array),
1569           (gst_object_get_control_rate), (gst_object_set_control_rate):
1570         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1571         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1572           Make some functions that should be static static; rename some
1573           private symbols so that they don't get exported; add some FIXME
1574           comments so we can move accidentally exported functions into
1575           our private section in 0.11.
1576
1577         * win32/common/libgstreamer.def:
1578           Add gst_utils_get_timestamp().
1579
1580 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1581
1582         * gst/gstvalue.c:
1583         * gst/gstvalue.h:
1584           Add more missing "Since:" tags to docs.
1585
1586 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1587
1588         * gst/gstutils.c:
1589           Add mising "Since:" to docs.
1590
1591 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1592
1593         * gst/gstplugin.c:
1594           Include "glib-compat-private.h" to fix the build on system with
1595           glib < 2.10. Fixes #503131.
1596
1597 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1598
1599         * gst/gstutils.c:
1600         * gst/gstutils.h:
1601           Actually its not PURE as it gets the time from elsewhere.
1602
1603 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1604
1605         * docs/gst/gstreamer-sections.txt:
1606         * gst/gstclock.h:
1607         * gst/gstdebugutils.c:
1608         * gst/gstinfo.c:
1609         * gst/gstutils.c:
1610         * gst/gstutils.h:
1611         * libs/gst/base/gstbasesink.c:
1612         * tools/gst-launch.c:
1613           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1614           uses as we don't have HAVE_POSIX_TIMERS in public headers.
1615           Thanks Tim for spotting.
1616           API: gst_util_get_timestamp
1617
1618 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
1619
1620         * configure.ac:
1621           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1622
1623 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
1624
1625         * gst/gststructure.c: (gst_structure_validate_name),
1626           (gst_structure_new_valist), (gst_structure_parse_value),
1627           (gst_structure_from_string):
1628           Don't crash in _from_string() if the structure name is not valid
1629           (fixes #501560).  Allow structure names to start with a number
1630           again (this apparently broke the ubuntu codec installer).
1631
1632         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1633           (GST_START_TEST):
1634           Add unit test for the crash; update unit tests for new behaviour.
1635
1636 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
1637
1638         * gst/gstutils.c:
1639         Clarify gst_element_get_compatible_pad() documentation.
1640         Fixes #500919.
1641
1642 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
1643
1644         * tests/check/Makefile.am:
1645           Don't forget to dist {gst,libs}/struct_hppa.h.
1646
1647 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1648
1649         * libs/gst/base/gstbasesink.c:
1650           Use new API to get elapsed time.
1651
1652 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1653
1654         * gst/gstdebugutils.c:
1655         * gst/gstinfo.c:
1656           Fix wrong order of args in GST_CLOCK_DIFF() usage.
1657
1658         * tools/gst-launch.c:
1659           Use new API to get elapsed time.
1660
1661 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1662
1663         * docs/gst/gstreamer-sections.txt:
1664         * gst/gstclock.h:
1665         * gst/gstdebugutils.c:
1666         * gst/gstinfo.c:
1667           Rename new API + ChangeLog surgery to remove old name from last entry..
1668
1669 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1670
1671         * docs/gst/gstreamer-sections.txt:
1672         * gst/gstclock.h:
1673         * gst/gstdebugutils.c:
1674         * gst/gstinfo.c:
1675           Now hide the different clock stuff behind a macro.
1676
1677 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1678
1679         * configure.ac:
1680         * gst/gstdebugutils.c:
1681         * gst/gstinfo.c:
1682           Apply the posix-timer check from #361155. Conditionally use the posix
1683           timer for logging. This gives better timestamp precission, less
1684           overhead and no ntp jitter.
1685
1686 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
1687
1688         * gst/gstminiobject.c: (gst_mini_object_get_type),
1689         (gst_mini_object_class_init), (gst_mini_object_copy_default),
1690         (gst_mini_object_finalize), (gst_mini_object_copy),
1691         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
1692         (gst_mini_object_replace), (param_mini_object_validate),
1693         (gst_param_spec_mini_object_get_type):
1694         Some cleanup and checking against invalid function parameters.
1695
1696 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
1697
1698         * docs/gst/gstreamer-sections.txt:
1699         * gst/gstclock.h:
1700         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1701         (gst_systemclock_suite):
1702         Start merging in the easy bits of #361155, the monotonic clock patch.
1703         This one adds a few handy macros with docs and a testsuite.
1704
1705 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
1706
1707         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
1708         Be a bit smarter when seeking, like, don't try to do a seek when it's
1709         not needed. This avoids errors when the file is not seekable.
1710         Fixes #499771.
1711
1712 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
1713
1714         * docs/gst/gstreamer-docs.sgml:
1715         * docs/gst/gstreamer-sections.txt:
1716         * docs/gst/gstreamer.types.in:
1717         * gst/Makefile.am:
1718         * gst/gst.h:
1719         * gst/gstpreset.c:
1720         * gst/gstpreset.h:
1721         * plugins/elements/gstqueue.c:
1722           Due to popular request remove preset interface again. :-(.
1723
1724 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1725
1726         * tools/gst-inspect.c:
1727           Print 'default value' for enums and flags too.
1728
1729 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1730
1731         * docs/random/ensonic/profiling.txt:
1732           More ideas.
1733
1734         * gst/gstbin.c:
1735           Fix typo and give better log output.
1736
1737         * gst/gstdebugutils.c:
1738         * gst/gstdebugutils.h:
1739           More ideas, make graphs a bit smaller and fix param name in macro.
1740
1741 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1742
1743         * gst/gstpreset.c:
1744           Try harder to use the return value from fgets().
1745
1746 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
1747
1748         * gst/gstpreset.c:
1749           For theses two fgets we handle the error below.
1750
1751 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1752
1753         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1754         Only send upstream events upstream. Fixes #498746.
1755
1756 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1757
1758         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1759
1760         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1761         (gst_identity_init), (gst_identity_transform_ip),
1762         (gst_identity_set_property), (gst_identity_get_property):
1763         * plugins/elements/gstidentity.h:
1764         Add property to disable handoff signal emission. Fixes #498694.
1765         API: GstIdentity::signal-handoffs
1766
1767 2007-11-21  Julien Moutte  <julien@fluendo.com>
1768
1769         * docs/faq/gst-uninstalled: Yet another missing library for the
1770         uninstalled script (fft)
1771
1772 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
1773
1774         * docs/faq/developing.xml:
1775         Add a question about how to submit new translations.
1776
1777         * docs/random/release:
1778         Update the contact email address for the Translation Project
1779
1780         * plugins/elements/gstfdsrc.c:
1781         The parent_class for fdsrc is pushsrc, not GstElement.
1782
1783 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1784
1785         * gst/gstpreset.c:
1786           Plug a leak and fix saving.
1787
1788 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
1789
1790         * docs/gst/gstreamer-sections.txt:
1791         Add new gst_preset__get_property_names() function to the docs
1792         to fix the build.
1793
1794 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1795
1796         * gst/gstpreset.c:
1797         * gst/gstpreset.h:
1798           Change _get_preset_names API to return a strv with copies. Add
1799           _get_property_names to allow implementations to filter and provide
1800           good default implementation.
1801
1802 2007-11-20  Julien MOUTTE  <julien@moutte.net>
1803
1804         * docs/faq/gst-uninstalled: Add another library to the uninstalled
1805         script (sdp).
1806
1807 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * gst/gstpreset.c:
1810           More cleanups, docs, and TODOs from comments that now slowly come in.
1811
1812 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1813
1814         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
1815         search path.
1816
1817 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1818
1819         * gst/gstpreset.c:
1820           Fix bogus warning and make the property type specific code more
1821           similar.
1822
1823 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1824
1825         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
1826         it build on OS X.
1827
1828 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
1829
1830         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1831         (gst_bin_add_func), (gst_bin_remove_func),
1832         (gst_bin_change_state_func), (gst_bin_continue_func):
1833         Change email, cleanups add some more debug and comments.
1834         Also set bus and clock on new elements when the pipeline was in error.
1835
1836 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
1837
1838         * gst/gstbin.c:
1839         * gst/gstdebugutils.c:
1840           Fix build with --disable-gst-debug. Fixes #497859.
1841           Spotted by Sameer Naik.
1842
1843 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1844
1845         * gst/gstevent.c:
1846           Little documentation improvment.
1847
1848         * gst/gstpreset.c:
1849           More TODO cleanups. Remove c++ comments.
1850
1851         * libs/gst/controller/gstcontroller.c:
1852           Add TODO and use quark from static string.
1853
1854         * tests/check/gst/gstmessage.c:
1855         * tests/check/gst/gststructure.c:
1856           Use quark from static string.
1857
1858 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1859
1860         * gst/gstpreset.c:
1861           Add some comments and TODOs.
1862
1863         * gst/gstpreset.h:
1864           Add padding for future changes.
1865
1866         * plugins/elements/gstqueue.c:
1867           Implement the iface.    
1868
1869 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1870
1871         * docs/gst/gstreamer-docs.sgml:
1872         * docs/gst/gstreamer-sections.txt:
1873         * docs/gst/gstreamer.types.in:
1874         * gst/Makefile.am:
1875         * gst/gst.h:
1876         * gst/gstpreset.c:
1877         * gst/gstpreset.h:
1878           Add the preset interface (Fixes #396779). Do some doc cleanups along.
1879
1880 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
1881
1882         * configure.ac:
1883
1884         Back to CVS
1885
1886 === release 0.10.15 ===
1887
1888 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
1889
1890         * configure.ac:
1891           releasing 0.10.15, "October"
1892
1893 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
1894
1895         * win32/vs6/libgstreamer.dsp:
1896         Convert line endings back to DOS.
1897
1898 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
1899
1900         * docs/design/draft-tagreading.txt:
1901         * docs/random/ensonic/profiling.txt:
1902         Update fast tagreading draft and performance profiling ideas.
1903
1904 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1905
1906         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
1907         Don't hold the object lock when unreffing a buffer because it could
1908         cause a deadlock when the finalize function wants to grab the object
1909         lock too. Fixes #495133.
1910
1911 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1912
1913         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
1914         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1915         Also accumulate time correctly when doing reverse playback. Fixes
1916         #488201,
1917         When converting to running and stream time, use default values for
1918         start/stop/time/accum when comparing different formats. Fixes #494245.
1919
1920         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1921         Do running/stream time in TIME format.
1922
1923         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1924         (gst_segment_suite):
1925         2 new unit tests for segment accumulation.
1926
1927 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1928
1929         * gst/gst.c: (init_pre):
1930         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
1931           (_gst_debug_bin_to_dot_file):
1932           Move getenv() back into gst_init, so everyone can live happily
1933           ever after. Make sure the symbol isn't exported though.
1934
1935 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1936
1937         Patch by: Sebastien Moutte  <sebastien moutte net>
1938
1939         * win32/common/gstenumtypes.c:
1940         * win32/common/gstenumtypes.h:
1941           Update enum types.
1942
1943         * win32/vs6/libgstreamer.dsp:
1944           Update vs6 project files (#494343).
1945
1946 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1947
1948         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
1949         (gst_base_src_perform_seek), (gst_base_src_default_event),
1950         (gst_base_src_set_flushing), (gst_base_src_activate_push),
1951         (gst_base_src_activate_pull):
1952         Unify flushing code, remove some old unlock code that is no longer used.
1953         Take the streaming lock when seeking to avoid races. Fixes #492729.
1954         Added some more comments.
1955
1956 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1957
1958         * gst/gst.c: (_gst_disable_segtrap):
1959           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
1960           we can use gst_segtrap_is_enabled() there now that we have that API.
1961           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
1962           to do the getenv here (and export the variable).
1963
1964         * gst/gstdebugutils.c: (debug_dump_element),
1965           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
1966           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
1967
1968         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
1969           (gst_debug_log_default):
1970           Rename _gst_info_start_time to priv_gst_info_start_time so it
1971           doesn't get exported (was never in any header).
1972
1973         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
1974           (gst_plugin_loading_mutex):
1975           Make static mutex gst_plugin_loading_mutex really static (was never
1976           in any header), and use gst_segtrap_is_enabled() instead of
1977           _gst_disable_segtrap.
1978
1979         * gst/gsttrace.c: (_gst_trace_default):
1980           Make local _gst_trace_default static (was never in any header).
1981
1982 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1983
1984         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
1985
1986         * win32/common/libgstbase.def:
1987         * win32/common/libgstcontroller.def:
1988         * win32/common/libgstdataprotocol.def:
1989         * win32/common/libgstnet.def:
1990         * win32/common/libgstreamer.def:
1991           Add more missing symbols, remove some duplicates, and sort
1992           as the 'sort' command sorts it (partially fixes #493983).
1993
1994 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1995
1996         * gst/gstelement.c: (gst_element_set_state_func):
1997         Only change the state cookie if a different state was set on the
1998         element. See #492729.
1999
2000 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2001
2002         * gst/gstvalue.c:
2003           Remove unused and uninitialised type variables that were still
2004           exported for some reason (they were never in any header files
2005           though).
2006
2007 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2008
2009         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2010         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
2011         (gst_base_sink_event), (gst_base_sink_get_position_last),
2012         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2013         (gst_base_sink_change_state):
2014         Don't try to report a 0 position when we don't know, return -1 and FALSE
2015         instead. This mostly happens when we are prerolling.
2016         Make sure we can report the right position before we post the ASYNC_DONE
2017         message so that a message handler can query position without races.
2018
2019         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2020         (async_done_handoff), (async_done_func), (send_buffer),
2021         (async_done_eos_func), (gst_sinks_suite):
2022         Add two tests for the above.
2023
2024 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2025
2026         * MAINTAINERS:
2027         Update with new email address.
2028
2029         * docs/design/part-TODO.txt:
2030         Add some more info about future pad-block and negotiation changes.
2031
2032         * docs/design/part-buffering.txt:
2033         Add some ideas about buffering reporting.
2034
2035 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
2036
2037         * tests/check/gst/gstobject.c:
2038         Disable silly racy test that always fails on this combination of CPU
2039         and kernel.
2040
2041 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2042
2043         Patch by: Murray Cumming  <murrayc@murrayc.com>
2044
2045         * gst/gstobject.c:
2046           Corrected the registration of the parent-set and parent-unset
2047           signals: The parameter is a GstObject, not a GObject (#493134).
2048
2049 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2050
2051         * gst/gst_private.h:
2052         * gst/gstbuffer.h:
2053         * gst/gstevent.h:
2054         * gst/gstformat.h:
2055         * gst/gstmessage.h:
2056         * gst/gstplugin.h:
2057         * gst/gstquery.h:
2058         * gst/gsttaglist.h:
2059         * gst/gstvalue.h:
2060           Move declaration of private _gst_foo_initialize() functions into
2061           our private header file where they should have been all along.
2062
2063 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2064
2065         * docs/plugins/gstreamer-plugins-sections.txt:
2066         * gst/gstdebugutils.h:
2067         * gst/gstxml.h:
2068         * plugins/elements/gstqueue.c:
2069           gtk-doc fixes; trailing-comma-in-enum fix.
2070
2071 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2072
2073         * gst/gst.c: (gst_deinit):
2074           Clean up on deinit (not the external ones though, doesn't seem to be
2075           needed for some reason).
2076
2077 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2078
2079         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
2080           Remove __declspec(dllimport) for MSVC that was copied over into core
2081           from a plugin, obviously without ever having been tested (note the
2082           single underscore in _declspec in the initial commit), and that doesn't
2083           really make sense.  See #492077.
2084
2085 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2086
2087         * gst/gst.c: (init_post):
2088         * gst/gstevent.c: (_gst_event_initialize):
2089         * gst/gstquery.c: (_gst_query_initialize):
2090         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
2091           g_type_class_ref() other types as well, see #349410 and #64764.
2092
2093         * gst/gstbuffer.c: (_gst_buffer_initialize):
2094         * gst/gstmessage.c: (_gst_message_initialize):
2095           Simplify existing g_type_class_ref().
2096
2097 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2098
2099         * gst/gstformat.c: (_gst_format_initialize):
2100           g_type_class_ref() our GstFormat type to make sure we avoid the
2101           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
2102           bug #64764. Should fix intermittent tee unit test failures (#474823).
2103
2104 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2105
2106         * tests/check/elements/tee.c: (test_num_buffers):
2107           Simplify, simplify, simplify - or not.  Rewrite unit test
2108           not to use gst_parse_launch(); allow N sub-streams. Increasing
2109           the number of sub-streams seems to reproduce #474823 more easily.
2110
2111 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2112
2113         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2114
2115         * gst/gsttrace.c:
2116         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2117         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2118         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
2119           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
2120           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
2121           so use _pipe() directly (#492077).
2122
2123         * win32/common/dirent.c: (_treaddir):
2124           Add a couple of casts to make it build without warnings with MSVC.
2125
2126         * win32/common/libgstreamer.def:
2127           Add some more symbols that need to be exported.
2128
2129 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2130
2131         * tests/examples/metadata/read-metadata.c: (message_loop):
2132           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
2133           arriving in a second or third tag message are added to
2134           the tag list as well.
2135
2136 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
2137
2138         * libs/gst/base/gstbasesrc.c:
2139           Its "Since:" and not "@Since:". And remove an superflous cast.
2140
2141 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
2142
2143         * docs/libs/gstreamer-libs-sections.txt:
2144         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2145         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
2146         (gst_base_sink_get_property), (gst_base_sink_render_object),
2147         (gst_base_sink_preroll_object),
2148         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2149         (gst_base_sink_change_state):
2150         * libs/gst/base/gstbasesink.h:
2151         Add a new last-buffer property that contains the last buffer used in
2152         basesink for preroll or rendering. useful for making snapshots.
2153         API: gst_base_sink_get_last_buffer()
2154         API: GstBaseSink::last-buffer
2155
2156 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2157
2158         * docs/gst/running.xml:
2159         * gst/gst.c:
2160         * gst/gstdebugutils.c:
2161         * gst/gstdebugutils.h:
2162         * tools/gst-launch.c:
2163           Improve bin graph dumping, by using the envvar to specify a path.
2164           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2165
2166 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
2167
2168         * plugins/elements/gsttypefindelement.c:
2169           (gst_type_find_element_handle_event),
2170           (gst_type_find_element_activate):
2171           Post special error message if we can't determine the type of a stream
2172           because it's empty.
2173
2174 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2175
2176         * docs/gst/running.xml:
2177         * gst/gstdebugutils.c:
2178           Document new env-var. Add one log-line after dumpng a graph.
2179
2180 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2181
2182         * configure.ac:
2183           Ugly hack to put the (recently removed and non-portable, apparently)
2184           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
2185           GNU ld, because without that 'make check' fails miserably on my debian
2186           stable box.  Someone with more knowledge of linker intricacies and
2187           portability issues than me fix this properly please.
2188
2189 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
2190
2191         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2192         Reset last seen position after flushing so that we don't report the old
2193         position anymore.
2194
2195 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2196
2197         * gst/gstelementfactory.c: (gst_element_register):
2198         * gst/gsturi.h:
2199         Patch from Alessandro Decina adding get_type_full and
2200         get_protocols_full private vfuncs to the URIHandler interface
2201         to allow bindings to support creating URI handlers. 
2202         Partially fixes: #339279
2203         API: GstURIHandlerInterface::get_type_full
2204         API: GstURIHandlerInterface::get_protocols_full
2205
2206 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2207
2208         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2209         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
2210         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
2211         Make it so that pads are considered linked until a buffer is pushed
2212         and discovered otherwise. This avoids problems with decodebin2 hanging
2213         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
2214         case.
2215
2216         Make sure we lock the multiqueue when updating the max-size properties.
2217         
2218         Fix a crash on Solaris in a debug statement in get_request_pad that
2219         passes a NULL string to GST_DEBUG. 
2220
2221         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2222         (run_output_order_test):
2223         Fix the test to allow the first buffer on not-linked pads to come out
2224         of sequence while multiqueue discovers that they are not-linked.
2225
2226 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2227
2228         * configure.ac:
2229         * libs/gst/check/Makefile.am:
2230         Use a custom export symbol regex for libgstcheck, as it needs
2231         to export symbols that don't match the standard GStreamer gst_*
2232         pattern, and  --export-dynamic is not portable (only works on 
2233         GNU ld)
2234
2235         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2236         (gst_check_setup_sink_pad):
2237         Make sure to pass a message parameter to the fail_* macros.
2238
2239         * tests/check/gst/gstinfo.c: (GST_START_TEST):
2240         Fix some compiler warnings.
2241
2242 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
2243
2244         * tests/check/gst/gststructure.c: (test_to_string):
2245           Disable test that checks that white spaces are not allowed
2246           in structure names or field names, since we need to
2247           support that for now for backwards compatibility reasons.
2248
2249 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         * docs/gst/gstreamer-sections.txt:
2252         * gst/gsttaglist.c:
2253         * gst/gsttaglist.h:
2254           API: add GST_TAG_ARTIST_SORTNAME
2255           API: add GST_TAG_ALBUM_SORTNAME
2256           API: add GST_TAG_TITLE_SORTNAME
2257           Add tag variants for sorting (#414539).
2258
2259 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2260
2261         * gst/gststructure.c:
2262           Also allow white space for names so we don't break
2263           backwards compatibility.
2264
2265 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
2266
2267         * docs/design/part-TODO.txt:
2268         * docs/design/part-segments.txt:
2269         * docs/design/part-streams.txt:
2270         Small updates.
2271
2272 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2273
2274         * docs/gst/gstreamer-sections.txt:
2275          Fixed documentation from my previous commit (added new API add
2276          gst_value_set_structure(), add gst_value_get_structure() and
2277          GST_VALUE_HOLDS_STRUCTURE).
2278
2279 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
2280
2281         * gst/gstdebugutils.c:
2282           Reflow code to fix uninitialized variable warning.
2283
2284 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2285
2286         * gst/gstcaps.c: (gst_caps_to_string),
2287         (gst_caps_from_string_inplace):
2288         * gst/gststructure.c: (gst_structure_get_abbrs),
2289         (gst_structure_to_string), (gst_structure_from_string):
2290         * gst/gstvalue.c: (gst_value_set_structure),
2291         (gst_value_get_structure), (gst_value_serialize_structure),
2292         (gst_value_deserialize_structure), (_gst_value_initialize):
2293         * gst/gstvalue.h:
2294         * tests/check/gst/gststructure.c: (GST_START_TEST),
2295         (gst_structure_suite):
2296         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2297          Added GstStructure to gst_value_table and its related functions.
2298          Changed gst_structure_to_string to print ';' in the end.
2299          Changed gst_caps_to_string to not print ';' beteween its
2300          fields (structures) anymore and remove the lastes ';' from latest
2301          structure. Now it is possible to have nested structures.
2302          In addition, backward compatibilty is assured by accepting '\0' as
2303          end delimiter. Fixes: #487969.
2304          API: add gst_value_set_structure()
2305          API: add gst_value_get_structure()
2306          API: add GST_VALUE_HOLDS_STRUCTURE
2307
2308 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
2309
2310         * gst/gstbus.c:
2311           When no GSource callback has been set up, tell developer
2312           to use a function that actually exists.
2313
2314 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
2315
2316         * docs/gst/gstreamer-sections.txt:
2317         * gst/Makefile.am:
2318         * gst/gst.c:
2319         * gst/gst.h:
2320         * gst/gstdebugutils.c:
2321         * gst/gstdebugutils.h:
2322         * gst/gstinfo.c:
2323         * gst/gstinfo.h:
2324         * tools/gst-launch.c:
2325           Allow dumping pipelines as dot graphs. Fixes #456573.
2326
2327 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2328
2329         * gst/gststructure.c:
2330           Allow '+' as well, it can be part of media or mime types
2331           such as image/svg+xml.
2332
2333 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2334
2335         * docs/gst/gstreamer-sections.txt:
2336         * gst/gstbus.c:
2337         * gst/gstbus.h:
2338           API: add gst_bus_pop_filtered
2339           API: add gst_bus_timed_pop_filtered
2340           Two new functions for waiting for specific message types on the
2341           bus for a specified amount of time without iterating any main
2342           loops or main contexts.
2343
2344         * tests/check/gst/gstbus.c:
2345           Some tests for the new functions.
2346
2347 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2348
2349         * docs/libs/gstreamer-libs-sections.txt:
2350           Make gtk-doc ignore stuff it should ignore.
2351
2352 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2353
2354         * libs/gst/check/gstcheck.c:
2355         * libs/gst/check/gstcheck.h:
2356           Allow runtime selection of unit tests to run via the GST_CHECKS
2357           environment variable (test case function names, comma-separated).
2358
2359 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2360
2361         * gst/gststructure.c:
2362         * tests/check/gst/gststructure.c:
2363           Revert serialisation change and constrain structure-names after
2364           consensus on irc. Update api documentation to reflect the change.
2365
2366 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2367
2368         * gst/gststructure.c:
2369           Improve serialization and fix tests.
2370
2371         * tests/check/gst/gststructure.c:
2372           Add another test that covers why I actually did the previous structure
2373           change.
2374
2375 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2376
2377         * tools/gst-inspect.c: (print_element_info):
2378         Don't crash when inspecting an element.
2379
2380 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2381
2382         * tests/check/gst/gststructure.c:
2383           Add unit test for escaping of structure name when serialising
2384           and deserialising to/from strings.
2385
2386 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2387
2388         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2389         (gst_single_queue_new):
2390         * plugins/elements/gstqueue.c: (gst_queue_init),
2391         (gst_queue_push_one):
2392         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2393         upstream is tricked into thinking it can suggest a format downstream
2394         while downstream does not support that format. The real problem is that
2395         core calls acceptcaps when pushing a buffer with new caps, for which we
2396         do a little workaround by setting the caps on the srcpad ourselves
2397         before pushing the buffer (until this is figured out). Fixes #486758.
2398
2399 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2400
2401         * gst/gststructure.c:
2402         * gst/gstvalue.c:
2403           Add some more comments and debug output. Quote structure name to fix
2404           deserialisation of some strings.
2405
2406 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2407
2408         * gst/gstbuffer.h:
2409           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2410           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2411
2412 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2413
2414         * tools/gst-inspect.c:
2415           Save approx. 400 1 byte allocs when printing. Use API to acces element
2416           details.
2417
2418         * tools/gst-run.c:
2419           Avoid a strdup.
2420
2421         * tools/gst-xmlinspect.c:
2422           Use API to acces element details.
2423
2424 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2425
2426         * gst/gstinfo.c:
2427           Fix some spelling errors.
2428
2429 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
2430
2431         * gst/gstbin.c: (bin_handle_async_done):
2432         Correctly set the next state if all of our async children commited their
2433         state. This makes sure we can actually cancel the state change in
2434         progress. Fixes a regression in Rhythmbox when seeking.
2435
2436 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2437
2438         * gst/gstbin.c:
2439           Don't shadow local variable.
2440
2441         * gst/gstinfo.c:
2442           Don't shadow global function name.
2443
2444 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2445
2446         * gst/gstelementfactory.c:
2447         * gst/gstpluginfeature.c:
2448         * gst/gstpluginfeature.h:
2449         * gst/gstregistrybinary.c:
2450         * gst/gstregistryxml.c:
2451         * gst/gsttypefind.c:
2452           Use already-interned string for the private GstPluginFeature
2453           plugin_name field.
2454
2455 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2456
2457         * docs/libs/gstreamer-libs-sections.txt:
2458           Add new API to docs; fixes the build.
2459
2460 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
2461         
2462         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2463
2464         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2465         (gst_base_sink_event):
2466         * libs/gst/base/gstbasesink.h:
2467         Add function to wait for EOS, subclasses can use this to correctly wait
2468         for devices to drain before performing the EOS logic. Fixes #485343.
2469         API: gst_base_sink_wait_eos()
2470
2471 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2472
2473         * gst/gstplugin.h:
2474           Cast description string constants in GST_PLUGIN_DEFINE macros
2475           to a (gchar*) to make C++ code using these macros compile
2476           without warning with g++-4.2 (see #462737).  Even if slightly
2477           ugly, this seems preferable to putting the description strings
2478           into the GLib quark table or making the structure member a
2479           const gchar * and doing casts in core code that allocs and
2480           frees these strings, or requiring a cast in the C++ code.
2481
2482 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2483
2484         * gst/gstinfo.h:
2485           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2486           to print the entire class/function signature into the log
2487           file for C++ code.  This only affects C++ code, for C code
2488           everything remains the same.
2489
2490 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
2491
2492         * gst/gstbin.c: (remove_from_queue):
2493         Work around a problem with pipelines containing (semi)loops until a
2494         proper, more complicated solution is ready. See #475455.
2495
2496 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2497
2498         * gst/gstplugin.c:
2499         * gst/gstplugin.h:
2500         * gst/gstregistrybinary.c:
2501         * gst/gstregistryxml.c:
2502           Put more strings into the GLib quark table. No need to keep
2503           a hundred-something copies of identical version strings,
2504           license strings, package name strings and package origin
2505           strings around. 
2506
2507 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2508
2509         * docs/manual/advanced-dataaccess.xml:
2510           Don't imply that it's okay to unconditionally change
2511           buffer data or buffer metadata in a pad probe callback,
2512           and a bunch of other comments. Fixes #430031.
2513
2514 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * win32/common/gstenumtypes.c:
2517         * win32/common/gstenumtypes.h:
2518         * win32/common/gstversion.h:
2519           Update generated files.
2520
2521 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2522
2523         * docs/manual/advanced-autoplugging.xml:
2524           Prefix section with broken code with a warning (see #342432).
2525
2526 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2527
2528         * docs/manual/appendix-integration.xml:
2529         * docs/manual/basics-init.xml:
2530           Call g_thread_init() before g_option_context_new() to
2531           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2532
2533 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2534
2535         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2536         (gst_base_sink_queue_object_unlocked),
2537         (gst_base_sink_queue_object), (gst_base_sink_event),
2538         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2539         When we received EOS and are waiting for when to post the EOS message,
2540         our state is prerolled and we should not return ASYNC.
2541         Reorganize some code paths to implement this behavior.
2542
2543         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2544         (gst_sinks_suite):
2545         Add unit test to verify above EOS fix.
2546
2547 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2548
2549         * plugins/elements/gsttypefindelement.c:
2550         (gst_type_find_element_have_type), (gst_type_find_element_init),
2551         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2552         Move detecting the input caps of the sinkpad to the setcaps function.
2553         This allows us to update the output caps when we receive new input caps
2554         instead of always using the first detected caps.
2555
2556 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2557
2558         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2559         (gst_base_sink_get_position):
2560         Don't try to preroll non-async elements after a flush.
2561         Subtract latency form clock times when reporting position.
2562
2563 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2564
2565         * gst/gstpad.c: (gst_pad_pause_task):
2566         * gst/gstutils.c:
2567         Small comment and documentation update.
2568
2569 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2570
2571         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2572         (gst_base_src_set_live), (gst_base_src_is_live),
2573         (gst_base_src_query_latency), (gst_base_src_perform_seek),
2574         (gst_base_src_default_event), (gst_base_src_wait),
2575         (gst_base_src_do_sync), (gst_base_src_get_range),
2576         (gst_base_src_pad_get_range), (gst_base_src_loop),
2577         (gst_base_src_unlock), (gst_base_src_unlock_stop),
2578         (gst_base_src_set_flushing), (gst_base_src_set_playing),
2579         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2580         (gst_base_src_change_state):
2581         Rework the locking of basesrc in a similar fashion to basesink. We
2582         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2583         us to handle live sources and semi live ones much better.
2584         Simplify flushing.
2585         Fix unlocking when seeking, shutting down and pausing in live sources.
2586
2587 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2588
2589         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2590         Fix compilation again.
2591
2592 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2593
2594         * gst/gstelement.c:
2595           Use meaningful categories for the logs to clean the default one.
2596
2597 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2598
2599         * tests/check/pipelines/cleanup.c:
2600           Print message name and not just number.
2601
2602 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2603
2604         * docs/design/draft-tagreading.txt:
2605           Add some more thoughts.
2606
2607 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2608
2609         * tests/check/pipelines/simple-launch-lines.c:
2610           Print message name and not just number.
2611
2612 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2613
2614         * libs/gst/base/gsttypefindhelper.c:
2615           Speedup typefinding. This is work in progress (see #459862).
2616
2617 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2618
2619         * gst/gstplugin.c:
2620           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2621           Spotted by Josep Torra Valles <josep@fluendo.com>.
2622
2623 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2624
2625         * gst/gstclock.h:
2626           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2627           field has moved to GstObject.
2628
2629 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
2630
2631         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2632         (gst_base_src_get_range), (gst_base_src_change_state):
2633         Call unlock for live sources so that they can't get stuck in _create and
2634         produce a buffer before they are set back to PLAYING.
2635
2636 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
2637
2638         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2639         (gst_queue_locked_dequeue):
2640         Comment the segment-related code... in the PROPER function.
2641         See #482147 and my commit from yesterday.
2642
2643 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
2644
2645         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2646         Also initialize the counter that calculates the first timestamp on a
2647         buffer correctly for non-live sources.
2648
2649 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
2650
2651         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2652         Disable code that's breaking the current-time-level reporting.
2653         See #482147
2654
2655 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
2656
2657         * docs/gst/gstreamer-sections.txt:
2658         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
2659         as they shouldn't show up. Fixes the docs build.
2660
2661 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
2662         
2663         * gst/gstinfo.h:
2664         Add an explicit variable importation needed on VS6 (only for MSC_VER)
2665         Define M_PI which is used in files which are including gstinfo.h. 
2666         VS6 includes doesn't define it.
2667         * win32/common/libgstbase.def:
2668         * win32/common/libgstcontroller.def:
2669         * win32/common/libgstreamer.def:
2670         Add new exported functions and variables.
2671         * win32/vs6/libgstcontroller.dsp:
2672         * win32/vs6/libgstreamer.dsp:
2673         Update the list of files to build.
2674         
2675 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2676
2677         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2678
2679         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
2680         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
2681         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
2682         Improve debugging. Fixes #480858.
2683
2684 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2685
2686         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2687
2688         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2689         First patch of code cleanups, use the macros and right arguments in the
2690         macros to signal and lock the queue. See #480858.
2691
2692 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
2693
2694         * gst/gstbus.c: (poll_func):
2695         Improve debugging when dealing with _poll().
2696
2697 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2698
2699         * gst/gstregistryxml.c:
2700           Fix memory leak I introduced a few days ago.
2701
2702 2007-09-26  Michael Smith <msmith@fluendo.com>
2703
2704         * gst/gstbuffer.c: (gst_buffer_finalize):
2705           Make it once again possible to free GstBuffers in the default
2706           build.
2707           The poisoning scribbles on parts of the miniobject we need in
2708           order to free it.
2709           Fixes #480341
2710
2711 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2712
2713         * docs/gst/gstreamer-sections.txt:
2714         * gst/gsttaglist.c:
2715         * gst/gsttaglist.h:
2716         API: add GST_TAG_COMPOSER, fixes #459809.
2717
2718 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
2719
2720         * gst/gstplugin.c:
2721         * gst/gstplugin.h:
2722         Add the 3-clause BSD license and the MIT/X11 license to the license
2723         list. Fixes #479784.
2724
2725 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2726
2727         * docs/faq/getting.xml:
2728           Add Q+A about different GStreamer versions (#364056).
2729
2730 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2731
2732         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2733         (gst_base_sink_event), (gst_base_sink_change_state):
2734         Return correct gboolean from query function.
2735
2736 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2737
2738         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2739         (gst_base_sink_event), (gst_base_sink_query),
2740         (gst_base_sink_change_state):
2741         Simplify latency query.
2742         When not synchronizing, we can report latency without querying the peer
2743         element.
2744
2745 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2746
2747         * gst/gstobject.h:
2748         * gst/gstvalue.c:
2749         Fix small typos in the docs.
2750
2751 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2752
2753         * docs/design/draft-latency.txt:
2754         * docs/design/draft-push-pull.txt:
2755         * docs/design/draft-tagreading.txt:
2756         * docs/design/part-MT-refcounting.txt:
2757         * docs/design/part-activation.txt:
2758         * docs/design/part-block.txt:
2759         * docs/design/part-element-source.txt:
2760         * docs/design/part-events.txt:
2761         * docs/design/part-gstbin.txt:
2762         * docs/design/part-gstelement.txt:
2763         * docs/design/part-gstobject.txt:
2764         * docs/design/part-gstpipeline.txt:
2765         * docs/design/part-messages.txt:
2766         * docs/design/part-preroll.txt:
2767         * docs/design/part-push-pull.txt:
2768         * docs/design/part-qos.txt:
2769         * docs/design/part-query.txt:
2770         * docs/design/part-scheduling.txt:
2771         * docs/design/part-seeking.txt:
2772         * docs/design/part-segments.txt:
2773         * docs/design/part-states.txt:
2774         Documentation updates and typo fixes.
2775
2776 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2777
2778         * plugins/elements/gstfakesink.c:
2779           Add some debug text to error message to indicate that
2780           we errored out on request.
2781
2782         * tools/gst-launch.c:
2783           When the state change to PLAYING fails, check for an
2784           error message on the bus and print it.
2785
2786 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2787
2788         translated by: Jorge González González <aloriel@gmail.com>
2789
2790         * po/LINGUAS:
2791         * po/es.po:
2792           Added Spanish translation.
2793
2794 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
2795
2796         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2797         Fix printf arguments.
2798
2799 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2800
2801         * tests/check/generic/states.c:
2802           Improved state change unit test.
2803
2804 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2805
2806         * gst/gstbin.h:
2807           Move priv to the right place.
2808
2809         * gst/gstsystemclock.c:
2810           Add FIXME: and improve log.
2811
2812         * tests/check/Makefile.am:
2813         * tests/examples/manual/Makefile.am:
2814           Work with all types of registries.
2815
2816 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
2817
2818         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2819         Don't unref the event after pushing it. Fixes #478401.
2820
2821 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2822
2823         * .cvsignore:
2824         * tests/examples/manual/.cvsignore:
2825           Ignore registries in any format.
2826
2827 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
2828
2829         * gst/glib-compat-private.h:
2830           Add compatibility macro for g_intern_string() for
2831           GLib-2.8 (any reason we can't just bump the
2832           requirement to at least 2.10?)
2833
2834         * gst/gstpadtemplate.h:
2835         * gst/gstelementfactory.c:
2836         * gst/gstregistryxml.c:
2837         * gst/gstregistrybinary.c:
2838           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
2839           up the internal code accordingly.  This shouldn't be a problem, since
2840           there is no reason external code could ever assume the string in such
2841           a structure is dynamically allocated unless it did that itself;  the
2842           use of g_strdup() is private to element factories.  The new code also
2843           saves some memory by putting pad template name strings into the GLib
2844           quark table instead of allocating them dynamically.
2845           Declaring this field constant fixes warnings with g++-4.2 when using
2846           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2847
2848 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2849
2850         * gst/gstelementfactory.c:
2851           Release static caps. Fixes #475723.
2852
2853 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
2854
2855         * gst/gstinfo.c:
2856         * gst/gstinfo.h:
2857           Make some internal API take const gchar * instead of just
2858           gchar * to avoid compiler warnings with g++-4.2.2 when
2859           passing string constants (partially fixes #478092).
2860
2861 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2862
2863         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
2864         A latency query fails when one of the sinks fail.
2865
2866         * gst/gstelement.c: (gst_element_set_base_time):
2867         Improve debugging.
2868
2869 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
2870
2871         * gst/gstbin.c: (gst_bin_continue_func):
2872         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2873         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
2874         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
2875
2876         Fix minor compilation warnings shown with Forte.
2877
2878 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2879
2880         * plugins/elements/gstqueue.c: (apply_buffer),
2881         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
2882         Measure queue level based on the diff between head and tail timestamps
2883         even when pushing the first buffer.
2884
2885 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2886
2887         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2888         (gst_base_sink_event), (gst_base_sink_change_state):
2889         Sinks that don't preroll can always be queried for the latency.
2890         Don't post ASYNC start when we are not async.
2891
2892 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2893
2894         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2895         (gst_queue_handle_sink_event), (gst_queue_chain),
2896         (gst_queue_push_one), (gst_queue_handle_src_query),
2897         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
2898         * plugins/elements/gstqueue.h:
2899         When downstream returns UNEXPECTED from pushing a buffer, don't try to
2900         push more buffers but allow pushing of EOS and NEWSEGMENT.
2901         Add some more debug info here and there. Fixes #476514.
2902
2903 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2904
2905         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2906         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
2907         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
2908         (gst_base_sink_set_flushing), (gst_base_sink_query),
2909         (gst_base_sink_change_state):
2910         Latency query is allowed after we are prerolled. Introduce a new flag
2911         for this and stop abusing other variables.
2912
2913 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2914
2915         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2916         Push OOB events downstream when we get them in send_event. This allows
2917         the application to insert events in the pipeline.
2918         Add some more comments.
2919
2920 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2921
2922         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
2923         (do_bin_latency), (gst_bin_change_state_func):
2924         * gst/gstpipeline.c: (gst_pipeline_change_state):
2925         Move latency query from GstPipeline to GstBin so that we can also
2926         use it when async-handling is enabled on bins.
2927
2928 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2929
2930         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2931         (gst_base_src_do_sync), (gst_base_src_change_state):
2932         Update docs.
2933         Clean up the timestamping and syncing code for pseudo live sources.
2934
2935 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
2936
2937         Patch by: Steve Fink  <sphink gmail com>
2938
2939         * docs/manual/appendix-checklist.xml:
2940           Mention less -R switch in the section about debug output (#474055).
2941
2942 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2943
2944         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2945         Queue can latency to the pipeline up to the configured max size in time.
2946         Report this fact in the latency query.
2947
2948 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2949
2950         Patch by: Sebastien Moutte <sebastien at moutte dot net>
2951
2952         * libs/gst/controller/gstinterpolation.c:
2953         * libs/gst/controller/gstlfocontrolsource.c:
2954         Use gst_guint64_to_gdouble() when converting from a uint64 or
2955         GstClockTime to double to fix the build on win32. Fixes #474371.
2956
2957 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2958
2959         * gst/gstbuffer.c: (gst_buffer_finalize):
2960         Implement poisoning for GstBuffer if --enable-poisoning is specified.
2961         When finalizing a buffer the complete struct is filled with 0xff,
2962         thus making a use of the buffer after the final unref impossible.
2963
2964 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2965
2966         * tests/check/libs/controller.c: (GST_START_TEST):
2967         Use fail_unless_equals_int(a, b) instead of
2968         fail_unless_equals (a == b) to get better output on failures.
2969
2970 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2971
2972         * tests/check/gst/gsturi.c:
2973           Also check for the other file URI variant on win32.
2974
2975 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2976
2977         * gst/gsturi.c: (gst_uri_get_location):
2978           If there's no hostname, we want to return 'c:/foo/bar.txt'
2979           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
2980
2981         * tests/check/gst/gsturi.c:
2982           Unit test for the above and a few more things.
2983
2984 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
2985
2986         * docs/design/part-live-source.txt:
2987         Add docs on how live sources should timestamp.
2988
2989         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2990         Add some more debug info.
2991         For subclasses that are live and like to sync, add aditional startup
2992         latency to sync time and timestamps so that we timstamp according to the
2993         design doc.
2994
2995 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
2996
2997         * gst/gstbuffer.c:
2998           Also do a g_type_class_ref() for the subbuffer type in
2999           the init function.
3000
3001 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3002
3003         * docs/gst/gstreamer-sections.txt:
3004         * gst/gstpad.c: (gst_pad_peer_query):
3005         * gst/gstpad.h:
3006         Add function to perform a query on the peer of a pad.
3007         API: gst_pad_peer_query()
3008
3009 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
3010
3011         * tests/check/gst/gstsystemclock.c:
3012           Cleanup the test a little (use gst-logging and not g_message). Improve
3013           test to check if a wait reached the target.
3014
3015 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3016
3017         * docs/libs/gstreamer-libs-sections.txt:
3018           Add new API to docs and fix the build.
3019
3020 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
3021
3022         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3023         (gst_base_src_init), (gst_base_src_set_do_timestamp),
3024         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
3025         (gst_base_src_get_property), (gst_base_src_do_sync):
3026         * libs/gst/base/gstbasesrc.h:
3027         Add property to make the basesrc timestamp buffers based on the current
3028         running time.
3029         API: GstBaseSrc::do-timestamp
3030         API: gst_base_src_set_do_timestamp()
3031         API: gst_base_src_get_do_timestamp()
3032
3033 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
3034
3035         * docs/random/release:
3036           Really make sure translations are up-to-date before
3037           a release (#465010).
3038
3039 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
3040
3041         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3042         Always destroy the timer, also in error cases.
3043
3044 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3045
3046         * docs/manual/highlevel-xml.xml:
3047         Fix XML example code. Fixes #472714.
3048
3049 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3050
3051         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3052         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3053         (gst_base_sink_query):
3054         Protect eos and have_preroll with the OBJECT lock so we don't need to
3055         take the PREROLL lock when querying the latency. Fixes #473846.
3056
3057 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
3058
3059         * gst/gstelement.c:
3060           Give some log-messages a category.
3061
3062 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
3063
3064         * gst/gststructure.c:
3065         (gst_structure_fixate_field_nearest_fraction):
3066         Fix fraction list fixation code. Take the fraction with the smallest
3067         difference with the target instead of the first one in the list.
3068
3069         * tests/check/gst/gststructure.c: (GST_START_TEST),
3070         (gst_structure_suite):
3071         Added test to verify correct fraction list fixation behaviour.
3072
3073 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
3074
3075         * win32/common/libgstreamer.def:
3076           Export gst_bus_add_signal_watch too.
3077
3078 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
3079
3080         * docs/libs/gstreamer-libs-sections.txt:
3081         Add new methods to docs.
3082
3083         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3084         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
3085         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
3086         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
3087         * libs/gst/base/gstbasesink.h:
3088         Add ts-offset property to fine-tune the synchronisation.
3089         API: GstBaseSink::ts-offset property
3090         API: gst_base_sink_set_ts_offset()
3091         API: gst_base_sink_get_ts_offset()
3092
3093 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
3094
3095         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3096         (gst_base_sink_init), (gst_base_sink_set_sync),
3097         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3098         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
3099         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
3100         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
3101         (gst_base_sink_get_property), (gst_base_sink_change_state):
3102         * libs/gst/base/gstbasesink.h:
3103         Add async property to instruct the sink never to inform the parent about
3104         ASYNC state changes, update docs.
3105         Check argument with g_return_* for the public functions.
3106         API: GstBaseSink::async property
3107         API: gst_base_sink_set_async_enabled()
3108         API: gst_base_sink_is_async_enabled()
3109
3110 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
3111
3112         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
3113         Improve debugging.
3114
3115         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3116         (gst_base_src_default_query), (gst_base_src_wait),
3117         (gst_base_src_do_sync), (gst_base_src_change_state):
3118         Rearrange some code so that we can add support for measuring the 
3119         startup latency.
3120
3121 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
3122
3123         * docs/random/ensonic/dynlink.txt:
3124           More thoughs on this.
3125
3126         * plugins/elements/gstcapsfilter.c:
3127           Add bugzilla ticket number to FIXME comment.
3128
3129 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
3130
3131         * docs/design/part-TODO.txt:
3132         * docs/design/part-block.txt:
3133         Update some docs.
3134
3135 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3136
3137         * gst/Makefile.am:
3138           Revert patch which uses $(gst_headers) instead of $^ because it
3139           breaks make dist.
3140
3141 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3142
3143         * tests/check/gst/gstbin.c: (GST_START_TEST):
3144           Fix leaks in the new unit test.
3145
3146 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
3147
3148         * gst/gst.c:
3149           Don't use GST_INFO before the debug system is actually initialised
3150           (shouldn't do any harm, but won't print anything either, so we can
3151           just as well remove it).
3152
3153         * gst/gstinfo.h:
3154           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
3155           compilers that don't support variadic macros (such as MSVC), should
3156           check for debug_level <= __gst_debug_min as well, since that's the
3157           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
3158           inline helper functions. Should improve performance a bit, but also
3159           makes sure uses of GST_INFO et.al are ignored if the debugging
3160           system isn't initialised yet (instead of printing an assertion
3161           failure).
3162
3163 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
3164
3165         patch by: David Nečas <yeti@physics.muni.cz>
3166
3167         * gst/Makefile.am:
3168           Replace some non portable makefile constructs.
3169
3170 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
3171
3172         * common/gtk-doc-plugins.mak:
3173           Grrrrr. Don't remove the types file on make clean.
3174
3175 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
3176
3177         * tools/gst-launch.1.in:
3178         Add colorspace to example pipeline. Fixes #458274.
3179
3180 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
3181
3182         * docs/random/release:
3183           The release manager should run 'make download-po' before making a
3184           release to make sure translations are up-to-date.
3185
3186         * po/LINGUAS:
3187         * po/be.po:
3188         * po/pl.po:
3189         * po/rw.po:
3190           Add some new translations.
3191
3192 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
3193
3194         * tools/gst-launch.c: (event_loop), (main):
3195         Don´t try to do any state management when a live pipeline posts
3196         buffering messages.
3197         Also make the buffering string translatable.
3198
3199 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3200
3201         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
3202         (bin_handle_async_start), (gst_bin_handle_message_func):
3203         Improve debugging.
3204         When adding elements, insert messages into the bus of the newly added
3205         element and make sure the element is the source of the message. This
3206         allows the parent bin to intercept the message and do the
3207         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
3208         messages to the app (which is not allowed).
3209         Update some docs.
3210
3211         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3212         Fix testsuite so that is does not work around messages that should not
3213         have been posted in the first place.
3214
3215 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3216
3217         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
3218         (update_degree), (gst_bin_sort_iterator_next):
3219         Fix annoying bug in the sorted iterator where a sink that is not really
3220         a sink (when it has downstream links) screwed up the iterator.
3221
3222         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3223         Unit test to verify the fix.
3224
3225 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3226
3227         * gst/gstmessage.h:
3228         Add some more docs for the messages.
3229
3230         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3231         (gst_base_sink_query):
3232         Add some more debugging.
3233
3234         * tools/gst-launch.c: (event_loop):
3235         When interrupting, don't try to set pipeline to PAUSED twice.
3236
3237 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3238
3239         
3240         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
3241         (bin_handle_async_start), (gst_bin_handle_message_func):
3242         Move ASYNC_START message posting to where it belongs, similar to
3243         async_done. 
3244         Don't post ASYNC_START when we are in error. 
3245         Post ASYNC_START when we added an async element to a bin.
3246
3247 2007-08-14  Julien MOUTTE  <julien@moutte.net>
3248
3249         * gst/gstindex.c: (gst_index_add_association): Fix index entry
3250         generation from vargs. Fixes #466595.
3251
3252 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3253
3254         * gst/gstbin.c: (gst_bin_element_set_state):
3255         Always change the state of a NO_PREROLL element even if it has ASYNC
3256         elements inside (in case of a bin).
3257
3258         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
3259         Unit test for this case.
3260
3261 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
3262
3263         * libs/gst/check/gstbufferstraw.c:
3264         * libs/gst/check/gstcheck.h:
3265         * libs/gst/controller/gstcontroller.c:
3266         * libs/gst/controller/gstcontrolsource.h:
3267         * libs/gst/controller/gstlfocontrolsource.h:
3268         * plugins/elements/gstcapsfilter.h:
3269         * plugins/elements/gstfdsink.h:
3270         * plugins/elements/gstfdsrc.h:
3271           Add more missing docs.
3272
3273 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3274
3275         * gst/gststructure.c:
3276         Add Since tag to docs.
3277
3278 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3279
3280         * docs/gst/gstreamer-sections.txt:
3281         * gst/gststructure.c: (gst_structure_get_uint):
3282         * gst/gststructure.h:
3283         Add function to get uint from a structure.
3284         API: gst_structure_get_uint()
3285
3286 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3287
3288         * gst/gstcaps.c: (gst_caps_set_simple_valist),
3289         (gst_caps_intersect):
3290         Fix proper check for simple caps.
3291
3292 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
3293
3294         * docs/gst/Makefile.am:
3295         * docs/libs/Makefile.am:
3296           Remove cruft and do some cleanups.
3297
3298         * docs/gst/gstreamer-docs.sgml:
3299         * docs/libs/gstreamer-libs-docs.sgml:
3300           Prepare for comming gtkdoc features (rebase against online docs).
3301
3302 2007-08-10  Michael Smith <msmith@fluendo.com>
3303
3304         * docs/gst/gstreamer-sections.txt:
3305           Add gst_registry_add_path to docs.
3306
3307 2007-08-10  Michael Smith <msmith@fluendo.com>
3308
3309         * gst/gstregistry.h:
3310           Add gst_registry_add_path, which was missing from this header.
3311
3312 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3313
3314         * libs/gst/controller/gstlfocontrolsource.c:
3315           Printf format fix.
3316
3317 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
3318
3319         * libs/gst/base/gstbasesink.c:
3320           Don't send an async_start message during downwards state change if 
3321           target state is less than READY
3322
3323 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3324
3325         translated by: Gabor Kelemen <kelemeng@gnome.hu>
3326
3327         * po/LINGUAS:
3328         * po/hu.po:
3329           Added Hungarian translation.
3330
3331 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3332
3333         * po/fi.po:
3334         * po/it.po:
3335         * po/nl.po:
3336         * po/sv.po:
3337         * po/uk.po:
3338           Updated translations.
3339
3340 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3341
3342         * libs/gst/controller/Makefile.am:
3343         Dist gstlfocontrolsourceprivate.h
3344
3345 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3346
3347         * docs/libs/gstreamer-libs.types:
3348         Don't register the enum type gst_lfo_waveform_get_type() in the
3349         .types file - only GObject derived types belong.
3350
3351 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3352
3353         Patch by: <arenevier at fdn dot fr>
3354
3355         * gst/gstbuffer.h:
3356         Remove comma from last element in enum to avoid compile errors when
3357         using -pendantic. Fixes #464366.
3358
3359 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3360
3361         * docs/design/part-TODO.txt:
3362         Add some more TODO items
3363
3364         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
3365         Improve debugging.
3366
3367         * gst/gstcaps.c: (gst_caps_intersect):
3368         Optimize trivial intersection case between identical caps pointers.
3369
3370         * gst/gstelement.c: (gst_element_continue_state),
3371         (gst_element_set_state_func):
3372         * gst/gstpad.c:
3373         Fix spelling and grammar mistakes.
3374
3375 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
3376
3377         * po/POTFILES.in:
3378         * po/POTFILES.skip:
3379           Update POTFILES. Fixes #461599.
3380
3381 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3382
3383         * gst/gst.c:
3384         Fix confusing typo in debug output.
3385
3386 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3387
3388         reviewed by: Stefan Kost <ensonic@users.sf.net>
3389
3390         * libs/gst/controller/Makefile.am:
3391         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3392         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3393         (gst_lfo_control_source_new),
3394         (gst_lfo_control_source_set_waveform),
3395         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3396         (gst_lfo_control_source_finalize),
3397         (gst_lfo_control_source_dispose),
3398         (gst_lfo_control_source_set_property),
3399         (gst_lfo_control_source_get_property),
3400         (gst_lfo_control_source_class_init):
3401         * libs/gst/controller/gstlfocontrolsource.h:
3402         * libs/gst/controller/gstlfocontrolsourceprivate.h:
3403         API: Add GstLFOControlSource, a control source that gives values
3404         for specific timestamps based on several periodic waveforms.
3405         Fixes #459717.
3406
3407         * tests/check/libs/controller.c: (GST_START_TEST),
3408         (gst_controller_suite):
3409         * docs/libs/gstreamer-libs-docs.sgml:
3410         * docs/libs/gstreamer-libs-sections.txt:
3411         * docs/libs/gstreamer-libs.types:
3412         Add documentation and unit tests for GstLFOControlSource.
3413
3414 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
3415
3416         * configure.ac:
3417         Back to CVS
3418
3419 === release 0.10.14 ===
3420
3421 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
3422
3423         * configure.ac:
3424           releasing 0.10.14, "Breathing Vacuum"
3425
3426 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
3427
3428         * gst/gstelement.c: (gst_element_class_set_details_simple):
3429         * gst/gstelement.h:
3430           Make strings passed to gst_element_class_set_details_simple()
3431           constant, as they should be (#462752).
3432
3433 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
3434
3435         * gst/gstbin.c: (gst_bin_change_state_func),
3436         (bin_handle_async_done), (gst_bin_handle_message_func):
3437         Don't forget about the fact that some element went ASYNC even after a
3438         resync. This makes us post the ASYNC_DONE message correctly.
3439         Fixes #462558.
3440
3441 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3442
3443         * gst/gstregistry.c: (gst_registry_add_feature):
3444         When replacing an existing feature in the registry, make sure to
3445         continue holding a reference until we've replaced the name string
3446         within our feature hash table. Make sure to use g_hash_table_replace
3447         instead of g_hash_table_insert to ensure the new name string is used
3448         as a key instead of the old one that we're about to free.
3449         Fixes: #462085
3450
3451 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3452
3453         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3454         (gst_plugin_feature_set_name):
3455         Revert patch from #459466 until after the release and we can work
3456         out exactly what the problem is (if any).
3457
3458 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3459
3460         * docs/gst/gstreamer-sections.txt:
3461         * gst/gsttaglist.c:
3462         * gst/gsttaglist.h:
3463           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3464
3465 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3466
3467         * docs/libs/Makefile.am:
3468         Include our build-prefix libs and includes before the generic ones to
3469         avoid linking against the installed libs when we want the build-tree
3470         ones.
3471
3472 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3473
3474         Patch by: Steve Fink  <sphink gmail com>
3475
3476         * docs/pwg/building-testapp.xml:
3477           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3478           if people try to build or install the example from the plugin
3479           template against a GStreamer from package using the configure
3480           defaults.
3481
3482 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
3483
3484         Patch by: Steve Fink  <sphink gmail com>
3485
3486         * tools/gst-inspect.1.in:
3487           Document --print-all and --print-plugin-auto-install-info command
3488           line options in man page.
3489
3490 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3491
3492         * docs/gst/gstreamer-sections.txt:
3493         Add docs for new api function.
3494
3495 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3496
3497         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3498         * gst/gstelementfactory.h:
3499         API: gst_element_factory_has_interface()
3500         Added method to check if an element factory implements a named
3501         interface.
3502
3503 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
3504
3505         * configure.ac:
3506         * docs/gst/gstreamer.types.in:
3507           Another conditional doc check.
3508
3509         * gst/gstmessage.c:
3510         * gst/gstparamspecs.h:
3511         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3512         * gst/gstvalue.c:
3513         * gst/gstxml.h:
3514           API-doc fixes.
3515
3516 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3519         (gst_registry_binary_load_feature),
3520         (gst_registry_binary_load_plugin),
3521         (gst_registry_binary_read_cache):
3522           Print error just once and with additional info.
3523
3524 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3525
3526         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3527         (helper_find_suggest), (helper_find_get_length),
3528         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3529         (gst_type_find_helper_for_buffer):
3530           Cleanup the typefindhelper code and add private doc comments.
3531
3532 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
3533
3534         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3535         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3536         Fix capsfilter for cases where the caps set on capsfilter will provide
3537         additional information.
3538         Fixes #449197
3539
3540 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3541
3542         * gst/gsttypefindfactory.c:
3543           Fix docs that recommened wrong function to use.
3544
3545 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3546
3547         * tools/gst-inspect.c: (print_plugin_features):
3548           Also give media-type for typefinders in element output.
3549
3550 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3551
3552         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3553         (gst_registry_remove_features_for_plugin_unlocked),
3554         (gst_registry_add_feature), (gst_registry_remove_feature),
3555         (gst_registry_lookup_feature_locked):
3556         * gst/gstregistry.h:
3557           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3558           Fixes #459501.
3559
3560 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3561
3562         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3563         (gst_plugin_feature_set_name):
3564           Avoid double memory usage for pluginfeature names. Fixes #459466.
3565
3566 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3567
3568         * gst/gstpad.h:
3569           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3570           driving the pipeline may need to explicitly check for NOT_LINKED as
3571           well, since IS_FATAL doesn't cover that.
3572
3573 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3574
3575         * docs/pwg/advanced-types.xml:
3576           Fix typo and duplicate entry in video formats list.
3577
3578 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
3579
3580         * libs/gst/controller/gstinterpolation.c:
3581         Also round to the nearest int when using cubic interpolation.
3582
3583 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
3584
3585         * libs/gst/controller/gstinterpolation.c:
3586         When linearly interpolating integer types, round to the nearest int
3587         by adding 0.5. Don't do it for float/double types.
3588         Fixes the failing controller test on my machine, which is somehow
3589         rounding differently than on the buildbots.
3590
3591 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3592
3593         * tools/gst-plot-timeline.py:
3594           Better log parsing (categories can have -). Adjust text vs. lines, so
3595           that they span the same y-range.        
3596
3597 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3598
3599         * docs/random/ensonic/audiobaseclasses.txt:
3600         * docs/random/ensonic/dynlink.txt:
3601         * docs/random/ensonic/profiling.txt:
3602           Save my thoughts.
3603
3604         * docs/random/moving-plugins:
3605           Add note to use g_assert type macros.
3606
3607 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3608
3609         * configure.ac:
3610         * libs/gst/check/Makefile.am:
3611           Add libm check as we use in for plugins.
3612
3613 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
3614
3615         * gst/gstbin.c: (gst_bin_continue_func):
3616         Check that the state_cookie hasn't changed since the continue_func
3617         was scheduled. Avoids problems where the state changes back to
3618         something it shouldn't be because it was changed in the meantime.
3619
3620 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
3621
3622         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3623         (gst_registry_binary_save_string),
3624         (gst_registry_binary_save_pad_template),
3625         (gst_registry_binary_save_feature),
3626         (gst_registry_binary_save_plugin),
3627         (gst_registry_binary_load_feature),
3628         (gst_registry_binary_load_plugin),
3629         (gst_registry_binary_read_cache):
3630           Fix memory leak. Be less verbose in the log.
3631
3632 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3633
3634         * tests/check/elements/.cvsignore:
3635         Add file to cvsignore as commanded.
3636
3637 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3638
3639         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3640         (mq_dummypad_event), (run_output_order_test):
3641         Use a GStaticMutex to protect all cases where libcheck
3642         fail_if/fail_unless macros might be called from multiple threads
3643         simultaneously to avoid errors like:
3644           "check_pack.c:107: :-1081725400:Bad message type arg"
3645
3646 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3647
3648         * tests/check/pipelines/stress.c: (GST_START_TEST):
3649         Make sure we set the pipeline back to the NULL state before
3650         dropping our final reference.
3651
3652 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3653
3654         * tests/check/elements/tee.c: (GST_START_TEST):
3655         Make the tee stress-test a little less stressful so it doesn't just
3656         time out on slow-machines, and remove a small race when it's starting 
3657         up by adding a get_state() call.
3658
3659 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
3660
3661         * gst/gst.c:
3662           Avoid reading registry twice on startup. Fixes #457322.
3663
3664 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3665
3666         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3667         * pkgconfig/gstreamer-check.pc.in:
3668         Substitute the CFLAGS for libcheck into our .pc file too so that
3669         dependent modules will pick it up properly if libcheck is installed
3670         into some other prefix.
3671
3672 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3673
3674         * configure.ac:
3675         Revert the pkg-config check for libcheck, since it pulls in the
3676         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
3677         a proper solution, either from the check project, or something else.
3678
3679 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
3680
3681         * configure.ac:
3682           Use pkg-config to locate check.
3683
3684 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
3685
3686         * gst/gsttaglist.c:
3687           Fix doc syntax.
3688
3689         * gst/gstutils.c:
3690         * gst/gstutils.h:
3691           Add deprecation guards.
3692
3693         * libs/gst/base/gstcollectpads.h:
3694           Don't document object (this is implicitly private).
3695
3696 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
3697
3698         * gst/gststructure.c: (gst_structure_parse_value):
3699           When deserialising foo=bar without a type cast, check if it's a
3700           boolean before falling back to a string type, otherwise things like
3701           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
3702           because the filtercaps end up having a signed=(string)true field,
3703           which causes problems later when intersection caps.
3704
3705         * tests/check/gst/gststructure.c: (GST_START_TEST):
3706           Add a unit test for this.
3707
3708 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
3709
3710         Reviewed by: Stefan Kost <ensonic@users.sf.net>
3711
3712         * libs/gst/controller/Makefile.am:
3713         * libs/gst/controller/gstcontroller.c:
3714         (gst_controlled_property_add_interpolation_control_source),
3715         (gst_controlled_property_new), (gst_controlled_property_free),
3716         (gst_controller_find_controlled_property),
3717         (gst_controller_new_valist), (gst_controller_new_list),
3718         (gst_controller_new), (gst_controller_remove_properties_valist),
3719         (gst_controller_remove_properties_list),
3720         (gst_controller_remove_properties),
3721         (gst_controller_set_property_disabled),
3722         (gst_controller_set_disabled), (gst_controller_set_control_source),
3723         (gst_controller_get_control_source), (gst_controller_get),
3724         (gst_controller_sync_values), (gst_controller_get_value_array),
3725         (_gst_controller_dispose), (gst_controller_get_type),
3726         (gst_controlled_property_set_interpolation_mode),
3727         (gst_controller_set), (gst_controller_set_from_list),
3728         (gst_controller_unset), (gst_controller_unset_all),
3729         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
3730         * libs/gst/controller/gstcontroller.h:
3731         * libs/gst/controller/gstcontrollerprivate.h:
3732         * libs/gst/controller/gstcontrolsource.c:
3733         (gst_control_source_class_init), (gst_control_source_init),
3734         (gst_control_source_get_value),
3735         (gst_control_source_get_value_array), (gst_control_source_bind):
3736         * libs/gst/controller/gstcontrolsource.h:
3737         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
3738         (gst_object_get_control_source):
3739         * libs/gst/controller/gstinterpolation.c:
3740         (gst_interpolation_control_source_find_control_point_node),
3741         (gst_interpolation_control_source_get_first_value),
3742         (_interpolate_none_get), (interpolate_none_get),
3743         (interpolate_none_get_boolean_value_array),
3744         (interpolate_none_get_enum_value_array),
3745         (interpolate_none_get_string_value_array),
3746         (_interpolate_trigger_get), (interpolate_trigger_get),
3747         (interpolate_trigger_get_boolean_value_array),
3748         (interpolate_trigger_get_enum_value_array),
3749         (interpolate_trigger_get_string_value_array):
3750         * libs/gst/controller/gstinterpolationcontrolsource.c:
3751         (gst_control_point_free), (gst_interpolation_control_source_reset),
3752         (gst_interpolation_control_source_new),
3753         (gst_interpolation_control_source_set_interpolation_mode),
3754         (gst_interpolation_control_source_bind),
3755         (gst_control_point_compare), (gst_control_point_find),
3756         (gst_interpolation_control_source_set_internal),
3757         (gst_interpolation_control_source_set),
3758         (gst_interpolation_control_source_set_from_list),
3759         (gst_interpolation_control_source_unset),
3760         (gst_interpolation_control_source_unset_all),
3761         (gst_interpolation_control_source_get_all),
3762         (gst_interpolation_control_source_get_count),
3763         (gst_interpolation_control_source_init),
3764         (gst_interpolation_control_source_finalize),
3765         (gst_interpolation_control_source_dispose),
3766         (gst_interpolation_control_source_class_init):
3767         * libs/gst/controller/gstinterpolationcontrolsource.h:
3768         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3769         API: Refactor GstController into the core controller which can take
3770         a GstControlSource for providing actual values for timestamps.
3771         Implement a interpolation control source and use this for backward
3772         compatibility, deprecate a bunch of functions that are now handled
3773         by GstControlSource or GstInterpolationControlSource.
3774         Make it possible to disable the controller completely or only for
3775         specific properties. Fixes #450711.
3776         * docs/libs/gstreamer-libs-docs.sgml:
3777         * docs/libs/gstreamer-libs-sections.txt:
3778         * docs/libs/gstreamer-libs.types:
3779         Add new functions and classes to the docs.
3780         * tests/check/libs/controller.c: (GST_START_TEST),
3781         (gst_controller_suite):
3782         * tests/examples/controller/audio-example.c: (main):
3783         Port unit test and example to the new API and add some new
3784         unit tests.
3785
3786 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
3787
3788         Patch by: Mark Nauwelaerts <manauw at skynet be>
3789
3790         * plugins/elements/gstmultiqueue.c:
3791         (gst_multi_queue_get_internal_links), (apply_buffer),
3792         (single_queue_overrun_cb), (gst_single_queue_new):
3793         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
3794         the pipeline layout can be tracked correctly. Fixes #453732.
3795
3796 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
3797
3798         * docs/gst/Makefile.am:
3799         * docs/libs/Makefile.am:
3800         * docs/plugins/Makefile.am:
3801           Simplify --extra-dir as gtkdoc scans recursively.
3802
3803 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3804
3805         * tools/gst-launch.c: (main):
3806         When we got an error, there is no point in waiting for preroll when
3807         shutting down.
3808
3809 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3810
3811         * plugins/elements/gsttee.c: (gst_tee_base_init),
3812         (gst_tee_request_new_pad), (gst_tee_release_pad),
3813         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
3814         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
3815         (gst_tee_chain):
3816         Be a lot smarter when deciding what srcpad to use for proxying
3817         the buffer_alloc. Also handle pad added/removed when doing so.
3818         Fixes #357959.
3819         Keep track of what pads we already pushed on in case we have pads
3820         added/removed while pushing. Fixes #374639 
3821
3822         * tests/check/Makefile.am:
3823         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
3824         (tee_suite):
3825         Added unit test for pad resync.
3826
3827 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3828
3829         * po/nl.po:
3830         * po/sv.po:
3831           Updated translations.
3832
3833 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3834
3835         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
3836
3837         * po/LINGUAS:
3838         * po/fi.po:
3839           Added new Finnish translation.
3840
3841 2007-06-28  Wim Taymans  <wim@fluendo.com>
3842
3843         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3844         (single_queue_overrun_cb):
3845         When figuring out when a queue is filled, use our internal time estimate
3846         based on segments, just like check_full does.
3847
3848 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3849
3850         * gst/gstminiobject.c: (gst_mini_object_get_type):
3851           Remove 3 do-nothing methods.
3852
3853 2007-06-27  Wim Taymans  <wim@fluendo.com>
3854
3855         Patch by: Tim Angus <tim at ngus dot net>
3856
3857         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3858         (gst_capsfilter_set_property):
3859         Take a reference instead of a copy when setting "caps".
3860         Fix documentation to clarify this behaviour. Fixes #449414.
3861
3862 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3863
3864         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3865         * gst/gstplugin.c: (gst_plugin_init):
3866         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
3867         * gst/gstquery.c: (gst_query_get_type):
3868         * gst/gstregistry.c: (gst_registry_init):
3869         * gst/gsturi.c: (gst_uri_handler_base_init):
3870           Remove empty instance_init() functions to save relocs and lessen the
3871           noise. Remove some of the function prototypes that are doubled by
3872           G_DEFINE_TYPE.
3873           
3874 2007-06-27  Wim Taymans  <wim@fluendo.com>
3875
3876         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
3877
3878         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
3879         Add peer and direction in the XML serialisation of ghostpads.
3880         Fixes #449226.
3881
3882 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3883
3884         * configure.ac:
3885           Preserve useful information, thanks Tim.
3886
3887 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
3888
3889         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3890         (gst_single_queue_flush), (apply_segment), (apply_buffer),
3891         (gst_single_queue_push_one), (gst_multi_queue_loop),
3892         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3893         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
3894         (compute_high_id), (gst_single_queue_new):
3895         * plugins/elements/gstmultiqueue.h:
3896         Take the multiqueue lock when updating the fill level so we don't get
3897         confused. 
3898
3899         After applying a buffer or event on the src pad segment, make sure to
3900         call gst_data_queue_limits_changed() to get the data queue to unblock
3901         and check the filled state again.
3902         
3903         Rework the not-linked pad handling so the logic is that not-linked 
3904         pads can push as fast as they like, but only so they never get 
3905         ahead of any linked pads.
3906
3907         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
3908         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
3909         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
3910
3911         Add a test to check that not-linked pads always stay behind
3912         linked pads.
3913
3914         Fixes: #430682
3915
3916 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
3917
3918         * docs/random/release:
3919           Some updates to the release procedure.
3920
3921 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3922
3923         * gst/gstelementfactory.c: (__gst_element_details_clear):
3924           Microoptimization that saves stunning 80 bytes.
3925
3926 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
3927
3928         * docs/plugins/gstreamer-plugins.args:
3929         * docs/plugins/inspect/plugin-coreelements.xml:
3930         * docs/plugins/inspect/plugin-coreindexers.xml:
3931           Update docs with caps info.
3932
3933 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3934
3935         * po/it.po:
3936           Updated Italian translation.
3937
3938 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3939
3940         * ChangeLog:
3941         * po/vi.po:
3942           Update Vietnamese translations.
3943
3944 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3945
3946         * libs/gst/base/gstbasesink.c:
3947           Remove unused signal enum.
3948
3949 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3950
3951         * docs/gst/gstreamer-sections.txt:
3952         * gst/gstelement.c:
3953         * gst/gstutils.c: (gst_type_register_static_full):
3954         Beef up and include the docs for gst_type_register_static_full and
3955         gst_element_class_set_details_simple and add the API keyword
3956         in the ChangeLog.
3957
3958 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3959
3960         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3961         (update_time_level), (gst_single_queue_push_one),
3962         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
3963         (single_queue_overrun_cb), (single_queue_underrun_cb),
3964         (single_queue_check_full):
3965         Fix setting max-* properties after adding queues.
3966         Use IS_FILLED for checking visible items.
3967         Signal overrun if multiple queues overrun.
3968         Add extra debug output.
3969         Patch by: Wim Taymans <wim@fluendo.com>
3970
3971 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
3972
3973         * gst/gstelement.c: (gst_element_class_set_details_simple):
3974         * gst/gstelement.h:
3975         * gst/gstutils.c: (gst_type_register_static_full):
3976         * gst/gstutils.h:
3977         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
3978         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
3979         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
3980         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
3981         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
3982         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
3983         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
3984         * plugins/elements/gstidentity.c: (gst_identity_base_init):
3985         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
3986         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3987         (apply_buffer), (gst_queue_chain):
3988         * plugins/elements/gsttee.c: (gst_tee_base_init):
3989         * plugins/elements/gsttypefindelement.c:
3990         (gst_type_find_element_base_init),
3991         (gst_type_find_element_class_init):
3992           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
3993           API: add gst_type_register_static_full
3994           API: add gst_element_class_set_details_simple
3995
3996 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3997
3998         * docs/pwg/advanced-types.xml:
3999           Fix typo in iana.org URI.
4000
4001 2007-06-19  Andy Wingo  <wingo@pobox.com>
4002
4003         * tests/check/pipelines/simple-launch-lines.c
4004         (test_state_change_returns): Enable pull-mode tests now that
4005         basesink has been fixed.
4006
4007         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
4008         Changed from gst_base_sink_is_prerolled, reversing the sense of
4009         the return value. Returns FALSE also if the sink is in pull mode,
4010         in which case it needs no preroll.
4011         (gst_base_sink_query, gst_base_sink_change_state): Update for
4012         needs_preroll change.
4013         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
4014         chaining up, in which we return SUCCESS directly if we activated
4015         in pull mode instead of ASYNC. Involves countering an async_start
4016         message sent before chaining up; not sure if this is correct, in
4017         an ideal world we only send async-start when activating in push
4018         mode.
4019
4020         * tests/check/pipelines/simple-launch-lines.c
4021         (test_state_change_returns): New test, partially disabled until
4022         basesink is fixed.
4023
4024 2007-06-19  Wim Taymans  <wim@fluendo.com>
4025
4026         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4027         (gst_multi_queue_sink_event):
4028         Fix event leak.
4029
4030 2007-06-19  Wim Taymans  <wim@fluendo.com>
4031
4032         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4033         (gst_bin_change_state_func), (bin_push_state_continue),
4034         (bin_handle_async_start), (bin_handle_async_done),
4035         (gst_bin_handle_message_func):
4036         Move the common code for posting state-change messages into
4037         one function.
4038         Broadcast the state signal after we posted the messages.
4039         Mark the bin as busy when it's doing a state-change.
4040         Make sure async-start/done messages don't interfere with the bin's
4041         state when it's busy.
4042         After the state change, let the bin check which elements completed the
4043         state change while it was busy so that it can update its state.
4044
4045 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
4046
4047         * docs/random/release:
4048         Add a note about updating the doap file to the release checklist
4049
4050 2007-06-18  Wim Taymans  <wim@fluendo.com>
4051
4052         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4053         (gst_single_queue_push_one), (gst_multi_queue_chain),
4054         (gst_multi_queue_sink_event):
4055         Make sure we don't reference the buffer/event after we have given away
4056         ownership in the queue.
4057
4058 2007-06-18  Wim Taymans  <wim@fluendo.com>
4059
4060         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4061         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
4062         Update queue state _after_ adding the item in the queue because else we
4063         could end up being full without the element added yet.
4064
4065 2007-06-18  Wim Taymans  <wim@fluendo.com>
4066
4067         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4068         (gst_bin_remove_func), (gst_bin_get_state_func),
4069         (gst_bin_element_set_state), (gst_bin_continue_func),
4070         (bin_push_state_continue), (bin_handle_async_start),
4071         (bin_handle_async_done), (gst_bin_handle_message_func):
4072         * gst/gstbin.h:
4073         Immediatly commit the toplevel bin state when receiving an async-done
4074         message. This enables us to avoid spawning a thread to commit the state
4075         in some common cases and it also avoids some races.
4076         Avoid spawning a state thread when adding/removing async elements to a
4077         toplevel bin. Instead we immediatly update the bin state.
4078         Get rid of iterating all the children when getting the state in the bin
4079         because it is now always up-to-date.
4080         Fix bug where locked elements would always return _SUCCESS even it they
4081         returned NO_PREROLL before being locked.
4082         Fix the order of the state_change, async-start/done messages that was
4083         sometimes incorrect.
4084         Mark the state_dirty field as deprecated, we don't need it anymore as we
4085         are always up-to-date.
4086
4087         * gst/gstelement.c: (gst_element_get_state_func),
4088         (gst_element_continue_state):
4089         Small debug inprovements.
4090         Return the previous element state return when nothing is pending instead
4091         of blindly returning SUCCESS.
4092
4093         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
4094         (gst_sinks_suite):
4095         Add a whole bunch of new testcases.
4096
4097 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4098
4099         * po/uk.po:
4100         * po/vi.po:
4101           Update translations.
4102
4103 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
4104
4105         * gst/gstpad.c:
4106         Fix typo in the docs.
4107
4108 2007-06-15  Wim Taymans  <wim@fluendo.com>
4109
4110         * docs/libs/gstreamer-libs-sections.txt:
4111         Add docs for new methods.
4112
4113 2007-06-15  Wim Taymans  <wim@fluendo.com>
4114
4115         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
4116         (gst_multi_queue_item_new):
4117         Don't use GSlice because we don't depend on >= 2.10 yet.
4118
4119 2007-06-15  Wim Taymans  <wim@fluendo.com>
4120
4121         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4122         (update_time_level), (apply_segment), (apply_buffer),
4123         (gst_single_queue_push_one), (gst_multi_queue_item_new),
4124         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
4125         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
4126         (single_queue_underrun_cb), (single_queue_check_full):
4127         Remove debug printf.
4128
4129 2007-06-15  Wim Taymans  <wim@fluendo.com>
4130
4131         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
4132         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
4133         (gst_data_queue_set_flushing), (gst_data_queue_push),
4134         (gst_data_queue_pop), (gst_data_queue_drop_head),
4135         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
4136         * libs/gst/base/gstdataqueue.h:
4137         Various cleanups.
4138         Added methods to get the current levels and to inform the queue that the
4139         'full' limits changed.
4140
4141         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4142         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4143         (gst_single_queue_flush), (update_time_level), (apply_segment),
4144         (apply_buffer), (gst_single_queue_push_one),
4145         (gst_multi_queue_item_steal_object),
4146         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4147         (gst_multi_queue_loop), (gst_multi_queue_chain),
4148         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4149         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
4150         (gst_multi_queue_src_query), (single_queue_overrun_cb),
4151         (single_queue_underrun_cb), (single_queue_check_full),
4152         (gst_single_queue_new):
4153         Keep track of time in the queue by measuring the difference between
4154         running_time on input and output. This gives more accurate results and
4155         can compensate for segments correctly.
4156         Make a queue by default only 5 buffers deep. We will now increase the
4157         buffer size depending on the filledness of the other queues.
4158         Factor out commong flush code.
4159         Make sure we don't add additional refcounts to buffers when we can avoid
4160         it.
4161         Propagate GstFlowReturn differently.
4162         Use GSlice for intermediate GstMultiQueueItems.
4163         Keep track of EOS.
4164         Resize queues on over and underruns based on filled level of other
4165         queues.
4166         When checking if the queue is filled, prefer to measure in time if we
4167         can and fall back to bytes when no time is known.
4168
4169         * plugins/elements/gstqueue.c:
4170         Fix return value.
4171
4172 2007-06-15  Wim Taymans  <wim@fluendo.com>
4173
4174         * libs/gst/base/gstbasetransform.c:
4175         (gst_base_transform_sink_event):
4176         Work around the brokenness of the event vmethod in basetransform. Prefer
4177         to return TRUE when the subclass returned FALSE (meaning don't forward
4178         the event). 
4179
4180         * libs/gst/base/gstbasetransform.h:
4181         Clarify the docs.
4182
4183 2007-06-15  Wim Taymans  <wim@fluendo.com>
4184
4185         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4186         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4187         (gst_base_src_default_query), (gst_base_src_get_range),
4188         (gst_base_src_start):
4189         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
4190         Improve debugging.
4191
4192 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4193
4194         * docs/pwg/advanced-types.xml:
4195           Added more formats to caps table.
4196
4197 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4198
4199         * tools/gst-launch.c: (main):
4200           Remove crufy code. GOption does not need this workaround.
4201
4202 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4203
4204         * libs/gst/controller/gstcontroller.c:
4205         (gst_controlled_property_set_interpolation_mode):
4206           Fix wrong getter for enums in controller.
4207
4208 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4209
4210         * libs/gst/check/gstcheck.c: (gst_check_init):
4211           Intercept criticals and warnings in the Gst-Phonon log domain, so
4212           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
4213           well.
4214         
4215 2007-06-14  Edward Hervey  <edward@fluendo.com>
4216
4217         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
4218         Since this file doesn't include "gst.h" it will not go through the
4219         macros that disable GST_LOG if debugging was disabled.
4220
4221 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4222
4223         * libs/gst/check/Makefile.am:
4224         * libs/gst/check/gstcheck.h:
4225         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4226         * pkgconfig/gstreamer-check.pc.in:
4227           Ugly 'fix' for the controller unit test on the p5 bot: in
4228           fail_unless_equals_float() check whether the values are 'almost
4229           equal' by allowing a small absolute error, which should be good
4230           enough for our use cases (normal numbers and values close to 0).
4231           Proper fixage left to floating point arithmetic aficionados.
4232
4233 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4234
4235         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4236         (gst_base_sink_render_object), (gst_base_sink_get_position):
4237           Add two breaks thats where missing.
4238
4239 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4240
4241         * docs/libs/gstreamer-libs-sections.txt:
4242         * libs/gst/check/gstcheck.h:
4243           API: add fail_unless_equals_float() and assert_equals_float().
4244           Add documentation for some of the macros.
4245
4246         * tests/check/libs/controller.c: (GST_START_TEST):
4247           Use newly-added asserts.
4248
4249 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4250
4251         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
4252           Show the caps change in the log to help spotting the case of not
4253           exactly matching caps.
4254
4255 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4256
4257         * docs/pwg/building-boiler.xml:
4258           Fix typos, spotted by Thijs Vermeir (#447190).
4259
4260 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4261
4262         * docs/plugins/tmpl/.cvsignore:
4263         Ignore file to keep the buildbots happy
4264
4265 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4266
4267         * docs/plugins/Makefile.am:
4268         * docs/plugins/gstreamer-plugins-docs.sgml:
4269         * docs/plugins/gstreamer-plugins-sections.txt:
4270         Pull fdsink into the docs too.
4271
4272 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
4273
4274         * libs/gst/controller/gstinterpolation.c:
4275         Actually use the new functions with min/max checks for the trigger and
4276         none interpolation modes for get() and get_value_array() instead of
4277         just the latter.
4278
4279 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
4280
4281         * libs/gst/controller/gstcontroller.c:
4282         (gst_controlled_property_free):
4283         Unset the minimum and maximum GValues when freeing the corresponding
4284         GstControllerProperty struct.
4285
4286 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
4287
4288         * libs/gst/controller/gstcontroller.c:
4289         (gst_controlled_property_new):
4290         * libs/gst/controller/gstcontrollerprivate.h:
4291         * libs/gst/controller/gstinterpolation.c:
4292         (gst_controlled_property_find_control_point_node),
4293         (interpolate_none_get), (interpolate_none_get_enum_value_array),
4294         (interpolate_none_get_string_value_array),
4295         (interpolate_trigger_get),
4296         (interpolate_trigger_get_enum_value_array),
4297         (interpolate_trigger_get_string_value_array):
4298         Protect against values larger or smaller than the minimum or maximum
4299         allowed value for the property when using values that can be compared.
4300
4301         Optimize trigger interpolator a bit by taking the last requested value
4302         into account instead of always looping through the complete list.
4303
4304         Fix coding style a bit, everywhere else we use "return foo" instead
4305         of "return (foo)".
4306         
4307         * tests/check/libs/controller.c: (GST_START_TEST),
4308         (gst_controller_suite):
4309         Add unit test for the protection against too large or too small
4310         values.
4311
4312 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
4313
4314         * docs/random/slomo/controller.txt:
4315         Add some thoughts about the future of the controller.
4316
4317 2007-06-08  Wim Taymans  <wim@fluendo.com>
4318
4319         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4320         Don't overflow in retimestamping code.
4321
4322 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
4323
4324         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
4325         Use gst_util_guint64_to_gdouble for conversions.
4326         * win32/common/libgstreamer.def:
4327         Add new exported functions.
4328
4329 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
4330
4331         * gst/gstutils.c:
4332           Small docs addition.
4333
4334 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4335
4336         * README:
4337           Remove that test line again.
4338
4339 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4340
4341         * README:
4342           Test commit mail sending.
4343
4344 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4345
4346         * configure.ac:
4347           Fix typo and test commit mail sending.
4348
4349 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4350
4351         * tests/examples/controller/audio-example.c:
4352           Improve comment and test commit mail sending.
4353
4354 2007-06-07  Wim Taymans  <wim@fluendo.com>
4355
4356         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
4357         (gst_bin_remove_func), (gst_bin_element_set_state),
4358         (bin_handle_async_start), (bin_handle_async_done),
4359         (gst_bin_handle_message_func):
4360         Add helper function to find messages.
4361         Generate the async-done messages together with the state change
4362         messages.
4363         Small cleanups in handling toplevel bins.
4364
4365 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4366
4367         * libs/gst/base/gstdataqueue.c:
4368         * libs/gst/base/gstdataqueue.h:
4369         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4370         (gst_multi_queue_item_new), (gst_multi_queue_chain),
4371         (gst_multi_queue_sink_event):
4372         * tests/check/elements/multiqueue.c: (multiqueue_suite):
4373           Fix multiqueue leaking buffers and events when downstream or the
4374           queue are flushing. Make refcounting assumptions explicit and
4375           document them (shouldn't break existing code that uses it other than
4376           maybe leak miniobjects, but that already happens anyway). Add unit
4377           test for the most common flushing case. Fixes #423700.
4378           
4379 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4380
4381         * libs/gst/controller/gstcontroller.c:
4382         Clarify docs: The get_all, get_value_array(s) functions
4383         don't modify the GObject properties.
4384
4385 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4386
4387         * libs/gst/controller/gstcontroller.c:
4388         (gst_controlled_property_set_interpolation_mode),
4389         (gst_controlled_property_prepend_default),
4390         (gst_controlled_property_new), (gst_controller_set_unlocked),
4391         (gst_controller_set), (gst_controller_set_from_list),
4392         (gst_controller_unset), (gst_controller_unset_all):
4393         * libs/gst/controller/gstcontrollerprivate.h:
4394         * libs/gst/controller/gstinterpolation.c:
4395         Factor out the 'set' logic into gst_controller_set_unlocked for the
4396         gst_controller_set and gst_controller_set_from_list functions.
4397
4398         To make life of the interpolators easier always add a control point
4399         at timestamp zero with the default value.
4400
4401         In the linear interpolator make things more obvious by better variable
4402         naming (slope).
4403
4404         Implement cubic interpolation mode (by using a natural cubic spline)
4405         and map the quadratic interpolation mode to this too (as quadratic
4406         doesn't make much sense, see discussion on the list).
4407
4408         * tests/check/libs/controller.c: (GST_START_TEST),
4409         (gst_controller_suite):
4410         Add unit test for the cubic interpolation mode and check everywhere
4411         if the interpolation mode could be set as expected.
4412
4413 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4414
4415         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4416           Don't use GLib-2.10 functions, we still depend on
4417           GLib-how-old-is-it-again-2.8.
4418
4419 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4420
4421         * docs/gst/gstreamer-sections.txt:
4422         * gst/Makefile.am:
4423         * gst/gst.c:
4424         * gst/gst.h:
4425         * gst/gstparamspecs.c: (_gst_param_fraction_init),
4426         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4427         (_gst_param_fraction_values_cmp),
4428         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4429         * gst/gstparamspecs.h:
4430         * gst/gstvalue.c:
4431         * tests/check/Makefile.am:
4432         * tests/check/gst/.cvsignore:
4433         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4434         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4435         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4436         (GST_START_TEST), (gst_param_spec_suite):
4437           API: add GstParamSpecFraction, so elements can have fraction
4438           properties without lots of painful string parsing (#444648).
4439
4440 2007-06-05  Wim Taymans  <wim@fluendo.com>
4441
4442         * gst/gstobject.c: (gst_object_class_init):
4443         Fix signal signature.
4444
4445         * gst/gstsegment.c:
4446         Add small clarification in the api docs.
4447
4448         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4449         States are protected with object lock.
4450
4451 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4452
4453         * AUTHORS:
4454         I should probably be listed as an author by now.
4455
4456         * docs/random/release:
4457         Update the release doc
4458
4459 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
4460
4461         * gst/gstvalue.c:
4462           Make docs for gst_value_compare() mention return enums that
4463           actually exist.
4464
4465 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4466
4467         * configure.ac:
4468           Back to CVS
4469
4470 === release 0.10.13 ===
4471
4472 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
4473
4474         * configure.ac:
4475           releasing 0.10.13, "With or without you"
4476
4477 2007-05-25  Wim Taymans  <wim@fluendo.com>
4478
4479         * gst/gstbin.c: (bin_handle_async_done):
4480         Make sure that the child bin stops after completing the async state
4481         change so that the parent can continue the state change to PLAYING.
4482         Fixes #441159.
4483
4484 2007-05-25  Wim Taymans  <wim@fluendo.com>
4485
4486         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4487         (unref_data), (gst_collect_pads_remove_pad),
4488         (gst_collect_pads_check_pads):
4489         Use additional refcounting to avoid crashes when dynamically adding and
4490         removing pads. Fixes #420206.
4491
4492 2007-05-24  Wim Taymans  <wim@fluendo.com>
4493
4494         * tools/gst-launch.c: (event_loop):
4495         When buffering goes from a two digit to a single digit number, make sure
4496         to remove the old second digit by writing a blank over it.
4497
4498 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4499
4500         * libs/gst/base/gstdataqueue.c:
4501           Eliminate tabs and trailing comma in enum list; fix some typos.
4502
4503 2007-05-24  Wim Taymans  <wim@fluendo.com>
4504
4505         * tests/check/gst/gstbin.c: (GST_START_TEST):
4506         Allow refcount of 3 and 4 because some state thread might still be busy
4507         with it.
4508
4509 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         * plugins/elements/Makefile.am:
4512         * plugins/elements/gstmultiqueue.h:
4513         * plugins/elements/gstqueue.h:
4514           These are not installed headers, no need for padding.
4515
4516 2007-05-24  Wim Taymans  <wim@fluendo.com>
4517
4518         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4519         (gst_bin_continue_func):
4520         Enable latency for next release.
4521         Restore STATE_LOCK around recalc_state that was left out during the
4522         rewrite and could result in racy behaviour when _get_state and
4523         recalc_state are run concurrently. See #440463.
4524
4525 2007-05-23  Wim Taymans  <wim@fluendo.com>
4526
4527         * tests/check/gst/gstsystemclock.c: (store_callback),
4528         (GST_START_TEST):
4529         Improve test_async_order to also work when both timers are already
4530         expired when we get scheduled to check it.
4531
4532 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4533
4534         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4535         (gst_bin_set_property), (gst_bin_get_property),
4536         (gst_bin_remove_func), (gst_bin_handle_message_func):
4537         * gst/gstbin.h:
4538           'private' is a c++ keyword, let's not use that in header files,
4539           otherwise c++ compilers will throw a tantrum.
4540
4541 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4542
4543         * plugins/elements/gstelements.c:
4544         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4545         (gst_file_sink_get_current_offset):
4546         * plugins/indexers/gstindexers.c: (plugin_init):
4547           Use #ifdef for HAVE_XYZ for consistency.
4548
4549         * tests/check/Makefile.am:
4550         * tests/check/elements/.cvsignore:
4551         * tests/check/elements/filesink.c: (setup_filesink),
4552         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4553           Add some unit tests for filesink.
4554
4555 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4556
4557         Patch by: Mark Nauwelaerts <manauw at skynet be>
4558
4559         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4560         (gst_file_sink_query), (gst_file_sink_do_seek),
4561         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4562         * plugins/elements/gstfilesink.h:
4563           Fix position reporting; rename data_written member to current_pos to
4564           reflect its real meaning (fixes #412648).
4565
4566 2007-05-22  Edward Hervey  <edward@fluendo.com>
4567
4568         * docs/gst/gstreamer-sections.txt:
4569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4570         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4571         (gst_bin_remove_func), (gst_bin_handle_message_func):
4572         * gst/gstbin.h:
4573         Add a property for bins that handle the state change of their childs.
4574         Fixes #435880
4575
4576 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
4577
4578         * libs/gst/controller/gstinterpolation.c:
4579         Use an array of the correct type when using _get_value_array with
4580         linear interpolation.
4581
4582 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
4583
4584         * gst/gstelement.c (gst_element_requires_clock,
4585           gst_element_provides_clock, gst_element_request_pad,
4586           gst_element_class_set_details, gst_element_class_set_details_simple,
4587           gst_element_default_send_event, gst_element_abort_state,
4588           gst_element_continue_state, gst_element_set_state,
4589           gst_element_set_state_func, iterator_activate_fold_with_resync):
4590         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4591           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4592           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4593           gst_pad_get_range, gst_pad_pull_range):
4594         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4595           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4596           GstPadActivateModeFunction, GstPadChainFunction,
4597           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4598           GstPadFixateCapsFunction, GstPadTemplate):
4599         * gst/gstpipeline.c (gst_pipeline_change_state,
4600           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4601           gst_pipeline_set_clock, gst_pipeline_auto_clock,
4602           gst_pipeline_get_delay):
4603           Whitespace and docs fixes.
4604
4605 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4606
4607         * libs/gst/controller/gstinterpolation.c:
4608         (interpolate_trigger_get_enum_value_array),
4609         (interpolate_trigger_get_string_value_array):
4610         Add support for retrieving value arrays when using the trigger
4611         interpolation mode. 
4612
4613 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4614
4615         * libs/gst/controller/gstcontroller.c:
4616         (gst_controller_get_value_array):
4617         * libs/gst/controller/gstcontroller.h:
4618         Clarify the docs of gst_controller_get_value_array(): The array where
4619         the values should be written to must be allocated as there seems to be
4620         no way to get the size of a random GType. This doesn't change any
4621         behaviour. Also fix some typos all over the place and remove an unused,
4622         commented function that is not necessary as g_object_set() could be
4623         used instead.
4624         * tests/check/libs/controller.c: (GST_START_TEST),
4625         (gst_controller_suite):
4626         Add unit test for gst_controller_get_value_array().
4627
4628 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
4629
4630         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4631
4632         Disable part of the gst_buffer_try_new_and_alloc test, because
4633         it can happily succeed on 64-bit systems where there's more address
4634         space available.
4635
4636 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4637
4638         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4639         Add unit test for the improved caps checking from bug #421543.
4640
4641 2007-05-21  Wim Taymans  <wim@fluendo.com>
4642
4643         * docs/design/part-synchronisation.txt:
4644         Small addition.
4645
4646         * gst/gstbin.c: (gst_bin_query):
4647         * plugins/elements/gstqueue.c: (apply_segment):
4648         Improve debugging.
4649
4650         * gst/gstmessage.h:
4651         Improve docs.
4652
4653 2007-05-21  Wim Taymans  <wim@fluendo.com>
4654
4655         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4656         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4657         (gst_pad_configure_src):
4658         Added simple version of improved caps checking. It was previously
4659         assumed that a setcaps function would check the validity of the caps but
4660         people prefer us to check caps against the template automatically. 
4661         Fixes #421543.
4662
4663 2007-05-21  Wim Taymans  <wim@fluendo.com>
4664
4665         * libs/gst/base/gstbasetransform.h:
4666         Fix macro for locking/unlocking the transform lock.
4667
4668 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4669
4670         * docs/plugins/tmpl/.cvsignore:
4671           Ignore more.
4672
4673 2007-05-18  Edward Hervey  <edward@fluendo.com>
4674
4675         * plugins/elements/gstqueue.c: (gst_queue_loop):
4676         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
4677         for the subtle art of warning a potentially blocking thread that it
4678         should check the source pad return value, and relay the information
4679         upstream.
4680
4681 2007-05-18  Edward Hervey  <edward@fluendo.com>
4682
4683         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4684         Release the queue lock !
4685
4686 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4687
4688         * docs/libs/gstreamer-libs-sections.txt:
4689         Add the two new controller functions to the appropiate places.
4690
4691 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4692
4693         reviewed by: Stefan Kost <ensonic@users.sf.net>
4694
4695         * libs/gst/controller/gstcontroller.c:
4696         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
4697         (_gst_controller_get_property), (_gst_controller_set_property),
4698         (_gst_controller_init), (_gst_controller_class_init):
4699         * libs/gst/controller/gstcontroller.h:
4700         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
4701         (gst_object_get_control_rate), (gst_object_set_control_rate):
4702         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
4703         Add API that provides sync suggestion timestamps for elements that
4704         call gst_object_sync_values() from which those elements can subdivide
4705         their processing loop to get the best results for the controlled
4706         properties. For now it just suggests last_sync + control_rate as
4707         new timestamp but this will be improved in the future.
4708
4709         While doing that change the control-rate property to a GstClockTime
4710         from guint and change it's meaning from samples to nanoseconds as
4711         the GstController doesn't know anything about sampling rate. Strictly
4712         speaking this breaks ABI but as the control-rate property didn't do
4713         anything in the past and as such couldn't be used this should be no
4714         problem.        
4715
4716 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4717
4718         reviewed by: Stefan Kost <ensonic@users.sf.net>
4719
4720         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4721         (gst_controller_unset_all):
4722         * libs/gst/controller/gstcontrollerprivate.h:
4723         * libs/gst/controller/gstinterpolation.c:
4724         (gst_controlled_property_find_control_point_node):
4725         Save last synced value from the list to continue searching from there
4726         in future syncs. This speeds everything up a bit.
4727         
4728 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4729
4730         reviewed by: Stefan Kost <ensonic@users.sf.net>
4731
4732         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
4733         (gst_control_point_find), (gst_controlled_property_new),
4734         (gst_control_point_free), (gst_controlled_property_free),
4735         (gst_controller_set), (gst_controller_set_from_list),
4736         (gst_controller_unset), (gst_controller_unset_all),
4737         (gst_controller_sync_values):
4738         * libs/gst/controller/gstcontroller.h:
4739         * libs/gst/controller/gstcontrollerprivate.h:
4740         * libs/gst/controller/gstinterpolation.c:
4741         (gst_controlled_property_find_control_point_node),
4742         (interpolate_none_get), (interpolate_trigger_get):
4743         Add a new private GstControlPoint struct which "inherits" from
4744         GstTimedValue to allow different interpolators to store internal
4745         values next to each control point. From the outside everything is
4746         still a GstControlPoint so we don't loose binary compatibility.
4747         Also fixup all the GValue handling to not leak GValues or list nodes.
4748         * tests/check/libs/controller.c: (GST_START_TEST):
4749         Free the list nodes and GValues in the controller_misc test.
4750
4751 2007-05-17  Edward Hervey  <edward@fluendo.com>
4752
4753         * gst/gstsegment.c:
4754         Small doc fix.
4755
4756 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
4757
4758         * gst/gstplugin.c: (gst_plugin_load_file):
4759           If we fail to load a plugin because of unresolved symbols or missing
4760           libraries and spew a warning to stderr, we may just as well mention
4761           which plugin it was that failed to load.
4762
4763 2007-05-13  David Schleef  <ds@schleef.org>
4764
4765         * docs/Makefile.am: the gtk-doc makefile snippet correctly
4766           handles the case when ENABLE_GTK_DOC is false, and installs
4767           the prebuilt documentation.  So gtk-doc subdirs are 
4768           unconditionally enabled.  Fixes: #349099.
4769
4770 2007-05-13  David Schleef  <ds@schleef.org>
4771
4772         * gst/gstutils.h: Reword some documentation.
4773
4774 2007-05-12  David Schleef  <ds@schleef.org>
4775
4776         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
4777           do anything with the passed "module" parameter, so remove it.
4778           Allows removal of additional vestigal code.
4779
4780 2007-05-12  David Schleef  <ds@schleef.org>
4781
4782         * gst/gstplugin.c:
4783           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
4784           Switch to using g_stat() because it's more portable.
4785
4786 2007-05-12  David Schleef  <ds@schleef.org>
4787
4788         * gst/gst.c:
4789           Add GST_DISABLE_OPTION_PARSING, in order to disable option
4790           parsing for embedded systems.
4791         * gst/gstelementfactory.c:
4792           Allow gst_element_register() to be called with plugin==NULL.
4793           Did nobody notice that static elements were broken?
4794
4795 2007-05-12  Wim Taymans  <wim@fluendo.com>
4796
4797         * tools/gst-launch.c: (event_loop):
4798         Give more interesting info when buffering starts and stops.
4799         Fix case where buffering starts but we fail to update the buffering flag
4800         because the target state is not PLAYING.
4801
4802 2007-05-12  Wim Taymans  <wim@fluendo.com>
4803
4804         * plugins/elements/gstqueue.c: (gst_queue_init),
4805         (gst_queue_finalize), (update_time_level), (apply_segment),
4806         (apply_buffer), (gst_queue_locked_flush),
4807         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
4808         (gst_queue_handle_sink_event), (gst_queue_chain),
4809         (gst_queue_push_one), (gst_queue_loop):
4810         * plugins/elements/gstqueue.h:
4811         Refactor an cleanup queue a bit.
4812         Do better time level calculations that also work when the srcpad is not
4813         yet running.
4814         Remove some unneeded debug lines.
4815
4816         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
4817         Added testcase for time level measurement.
4818         Try to make some stuff more racefree.
4819
4820 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4821
4822         * gst/gsturi.c: (gst_element_make_from_uri):
4823           Don't leak plugin feature.
4824
4825         * tests/check/Makefile.am:
4826         * tests/check/gst/.cvsignore:
4827         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
4828           Add brain-dead unit test.
4829
4830 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         Patch by: Jeroen Wouters <woutersj at gmail com>
4833
4834         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
4835           Treat protocol strings in a case-insensitive way (#437563).
4836
4837 2007-05-11  Michael Smith <msmith@fluendo.com>
4838
4839         * gst/gstplugin.c: (gst_plugin_load_file):
4840         * gst/gstregistry.c: (gst_registry_scan_path_level):
4841           Don't print a g_warning for any failure to load a shared object.
4842           Instead, push this down into gstplugin.c, and warn _only_ if we
4843           failed to open the module (i.e. failure to link).
4844           Avoids warnings on normal, working, non-plugin .so files.
4845
4846 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
4847
4848         * gst/gstplugin.c (gst_plugin_load_file):
4849         * gst/gstregistry.c (GST_CAT_DEFAULT,
4850           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
4851           Print a g_warning if there was an error when loading a plugins during
4852           registry scan. The shuld help beginners starting with gst-plugin
4853           template.
4854
4855 2007-05-10  Wim Taymans  <wim@fluendo.com>
4856
4857         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4858         (update_time_level), (gst_queue_locked_flush),
4859         (gst_queue_handle_sink_event), (gst_queue_chain),
4860         (gst_queue_push_one), (gst_queue_loop):
4861         * plugins/elements/gstqueue.h:
4862         Be smarter when calculating the current amount of data in the queue by
4863         measuring the difference between start and end timestamps (in running
4864         time) inside the queue. Fixes #432876.
4865         API: GstQueue::pushing to notify elements that we are pushing data again
4866         since the running signal is rather broken for this purpose.
4867
4868 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
4869
4870         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
4871           gst_queue_base_init, gst_queue_init):
4872           use GST_BOILERPLATE
4873
4874 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
4875
4876         * win32/common/libgstreamer.def:
4877         Add new exported functions.
4878         * win32/vs6/grammar.dsp:
4879         Use grammar pre-generated files.
4880
4881 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4882
4883         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
4884
4885         * gst/Makefile.am:
4886         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
4887         * gst/gstparse.h:
4888         * gst/gstutils.c: (gst_parse_bin_from_description):
4889         * gst/gstutils.h:
4890           Maintain API and ABI when --disable-parse is used. Now that
4891           we have an appropriate error code, we can just return NULL and the
4892           appropriate error when gst_parse_launch() is used despite it having
4893           been disabled (#342564).
4894
4895         * tests/check/Makefile.am:
4896         * tests/check/pipelines/.cvsignore:
4897         * tests/check/pipelines/parse-disabled.c:
4898           Make sure these functions exist and return NULL plus a GError when
4899           --disable-parse is used.
4900
4901 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4902
4903         * tests/benchmarks/complexity.c: (main):
4904         * tests/benchmarks/mass-elements.c: (main):
4905           Set a good example and don't leak messages.
4906
4907 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
4908
4909         * docs/gst/Makefile.am:
4910         * docs/libs/Makefile.am:
4911           Correct fixxrefs options.
4912
4913         * docs/plugins/Makefile.am:
4914         * docs/plugins/gstreamer-plugins-docs.sgml:
4915         * docs/plugins/gstreamer-plugins-sections.txt:
4916         * plugins/elements/Makefile.am:
4917         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
4918         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
4919           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
4920           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
4921           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
4922           _GstCapsFilterClass, trans_class):
4923         * plugins/elements/gstelements.c (name, rank, type, _elements):
4924         * plugins/elements/gstidentity.c
4925           (gst_identity_check_imperfect_timestamp,
4926           gst_identity_check_imperfect_offset):
4927           Document capsfilter and add doc-blurb to identity.
4928
4929 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
4930
4931         * libs/gst/controller/gstcontroller.c:
4932         (gst_controlled_property_set_interpolation_mode):
4933         * libs/gst/controller/gstinterpolation.c:
4934           Don't crash if someone tries to set an interpolation mode that
4935           is invalid or that isn't supported yet. Fixes #422295.
4936
4937         * tests/check/libs/controller.c: (GST_START_TEST),
4938         (gst_controller_suite):
4939           Add a test case for the above.
4940
4941 2007-05-03  Edward Hervey  <edward@fluendo.com>
4942
4943         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4944         Properly set the last_stop position on GstSegment. This will only happen
4945         if there is a buffer to push out.
4946
4947 2007-05-03  Wim Taymans  <wim@fluendo.com>
4948
4949         * libs/gst/base/gstbasetransform.c:
4950         (gst_base_transform_buffer_alloc):
4951         always_in_place does not mean that the sink and source caps are the
4952         same! Make sure we don't blindly proxy the buffer_alloc in this case.
4953
4954 2007-05-03  Wim Taymans  <wim@fluendo.com>
4955
4956         * docs/libs/gstreamer-libs-sections.txt:
4957         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4958         (gst_base_src_default_query), (gst_base_src_get_range):
4959         * libs/gst/base/gstbasesrc.h:
4960         API: gst_base_src_query_latency(). Added method so that subclasses can
4961         easily get the latency values of the base source class.
4962
4963 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
4964
4965         * tools/gst-inspect.c (print_implementation_info):
4966         Remove 0.8 cruft.
4967
4968 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
4969
4970         * tools/Makefile.am:
4971         * tools/gst-launch.1.in:
4972           Don't create a customised man page based on the host architecture,
4973           describe the default registry path generically. That way the man
4974           page is the same for all architectures and packagers have one
4975           multilib issue less to deal with. Fixes #434926.
4976
4977 2007-05-02  Wim Taymans  <wim@fluendo.com>
4978
4979         * gst/gstpad.c:
4980         Fix documentation as spotted by rg on IRC. 
4981
4982 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
4983
4984         * gst/gstutils.c:
4985           Improve docs for gst_element_{link,unlink}.
4986
4987 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
4988
4989         * docs/design/part-events.txt:
4990         * docs/design/part-overview.txt:
4991         * gst/gstevent.c:
4992         * gst/gsturi.c:
4993         * gst/gsturi.h:
4994         * libs/gst/base/gstbasesink.c:
4995           Typo fixes; minor docs addition.
4996
4997 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4998
4999         * docs/gst/gstreamer-sections.txt:
5000         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5001         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
5002         * gst/gsturi.h:
5003         API: Add gst_uri_protocol_is_supported(), which checks if a sink
5004         or src that supports a given URI protocol exists.
5005
5006 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5007
5008         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5009         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5010         Set the location to NULL if "file://" is set as URI. Otherwise
5011         some random previous URI would still be set if "file://" is
5012         set on an already used filesink/filesrc.
5013
5014 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5015
5016         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5017         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5018         Special case the "file://" URI as as this is used by some
5019         applications to test with gst_element_make_from_uri if there's
5020         an element that supports the URI protocol.
5021         Also move the g_path_is_absolute() check for the location part
5022         of the URI to also check this for "file://localhost/bla" URIs.
5023
5024 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
5025
5026         * docs/gst/gstreamer-sections.txt:
5027         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
5028         * gst/gstbuffer.h:
5029         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5030         (gst_buffer_suite):
5031           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
5032
5033 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
5034
5035         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5036         (gst_registry_binary_load_pad_template),
5037         (gst_registry_binary_load_plugin),
5038         (gst_registry_binary_read_cache):
5039         * gst/gstregistrybinary.h:
5040           Implement no-mmap alternative for registry reading. Do code cleanups.
5041           Add more comments about avoiding strdups for all text data. Comments
5042           welcome.
5043
5044 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5045
5046         * gst/gstregistrybinary.h (GstBinaryPluginElement,
5047           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
5048           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
5049           Comment structs and reformat to fix the build (that stuff should go
5050           into a priv. header).
5051
5052 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5053
5054         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
5055         (gst_registry_binary_load_feature):
5056         * gst/gstregistrybinary.h:
5057           Refactor so that we can implement multiple features. Add support for
5058           TypeFindFactory features.
5059
5060 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
5061
5062         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
5063
5064         * configure.ac:
5065           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
5066
5067 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
5068
5069         * gst/gstbin.c: (gst_bin_element_set_state),
5070         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
5071         (bin_handle_async_done), (gst_bin_handle_message_func):
5072           Fix build with --gst-disable-gst-debug
5073
5074 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
5075
5076         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
5077           Make sure streaming has finished before calling the ::stop() vfunc,
5078           since that vfunc might clear state which is being used in the
5079           streaming thread. This fixes a race that caused crashes in
5080           audioresample when shutting down a pipeline (#420106).
5081
5082 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5083
5084         * docs/gst/gstreamer-sections.txt:
5085           That was one byte missing.
5086
5087 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5088
5089         * configure.ac:
5090         * docs/gst/gstreamer-sections.txt:
5091         * gst/Makefile.am:
5092         * gst/gstconfig.h.in:
5093         * gst/gstobject.c: (gst_object_class_init),
5094         (gst_signal_object_class_init):
5095         * gst/gstobject.h:
5096           2nd attempt to have a xml-less build as a joined effort of #413123
5097           and #421480.
5098
5099 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5100
5101         * docs/design/draft-tagreading.txt:
5102           Added open issues/thoughts to draft.
5103
5104 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5105
5106         * gst/parse/grammar.tab.pre.c:
5107         * gst/parse/grammar.tab.pre.h:
5108         * gst/parse/lex._gst_parse_yy.pre.c:
5109         Update the prebuild parser sources.
5110
5111 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5112
5113         * gst/parse/Makefile.am:
5114         And now fix the building of the flex sources. Now everything should
5115         work as expected.
5116
5117 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5118
5119         * gst/parse/Makefile.am:
5120         Now hopefully fix the build failures by setting proper rule
5121         dependencies and moving instead of copying.
5122
5123 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5124
5125         * tests/benchmarks/complexity.gnuplot:
5126         * tests/benchmarks/complexity.scm:
5127         * tests/benchmarks/mass-elements.gnuplot:
5128         * tests/benchmarks/mass-elements.scm:
5129           Total licensification.
5130
5131 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5132
5133         * gst/parse/Makefile.am:
5134           Fix the build by correcting the rule that gave wrong files to flex.
5135
5136 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5137
5138         * tests/benchmarks/complexity.c:
5139         * tests/benchmarks/mass-elements.c:
5140           Change licence to LGPL as granted by Benjamin and Andy.
5141
5142 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5143
5144         * gst/parse/Makefile.am:
5145         Add correct grammar.tab.h dependency if compiling without new enough
5146         flex. Fixes #431150.
5147
5148 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5149
5150         * gst/parse/Makefile.am:
5151         Fix typo and use outdated sources if the flex/bison sources are newer
5152         than the pregenerated ones but flex is too old. Print a warning in
5153         that case. This should fix the build on the build bot.
5154
5155 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5156
5157         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
5158         * gst/parse/Makefile.am:
5159         * gst/parse/grammar.y:
5160         * gst/parse/parse.l:
5161         Make the parser reentrant and recursively callable. This requires flex
5162         >= 2.5.31, for older versions pregenerated sources are used as we
5163         can't bump the build dependency. Finally fixes #349180.
5164
5165         * gst/gstparse.c: (gst_parse_launch):
5166         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
5167         now anyway.
5168
5169         * docs/gst/Makefile.am:
5170         * docs/gst/Makefile.am:
5171         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
5172         (__gst_parse_strfree), (__gst_parse_link_new),
5173         (__gst_parse_link_free), (__gst_parse_chain_new),
5174         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
5175         (gst_parse_element_set), (gst_parse_free_link),
5176         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
5177         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
5178         (_gst_parse_launch):
5179         * gst/parse/grammar.tab.pre.h:
5180         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
5181         (yy_get_previous_state), (yy_try_NUL_trans), (input),
5182         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
5183         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
5184         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
5185         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
5186         (_gst_parse_yypop_buffer_state),
5187         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
5188         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
5189         (yy_fatal_error), (_gst_parse_yyget_extra),
5190         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
5191         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
5192         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
5193         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
5194         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
5195         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
5196         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
5197         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
5198         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
5199         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
5200         (_gst_parse_yyfree):
5201         If the installed flex version is too old use pre-generated parser
5202         sources. These pre-generated parser sources are always updated when
5203         the actual flex/bison sources change but require everybody who wants
5204         to change something in the parser to have flex >= 2.5.31 installed.
5205
5206 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
5207
5208         * common/m4/gst-gettext.m4:
5209         * gst/gst-i18n-lib.h:
5210           Make --disable-nls to work
5211
5212 2007-04-17  Wim Taymans  <wim@fluendo.com>
5213
5214         * gst/gstconfig.h.in:
5215         Revert previous change that broke the build.
5216
5217 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
5218
5219         * configure.ac:
5220         * gst/Makefile.am:
5221         * gst/gstconfig.h.in:
5222           Drop libxml2 dependency when building with 
5223           --enable-binary-registry --disable-loadsave
5224
5225 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
5226
5227         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5228         (gst_registry_binary_read_cache):
5229         * gst/gstregistrybinary.h:
5230           Remove unnecessary <sys/mman.h> include which broke the win32 build
5231           with MingW; move includes from header file to .c file, even if the
5232           header file isn't installed; use g_strerror() where UTF-8 strings
5233           are expected, such as in GST_DEBUG messages.
5234
5235 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5236
5237         * docs/libs/gstreamer-libs-sections.txt:
5238         Remove bogus addition for API I didn't end up keeping.
5239
5240         * libs/gst/base/gstbasesrc.h:
5241         Mention Since: 0.10.13 in the documentation.
5242
5243         Add the API keyword to the previous ChangeLog entry.
5244
5245 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5246
5247         * docs/libs/gstreamer-libs-sections.txt:
5248         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5249         (gst_base_src_default_prepare_seek_segment),
5250         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
5251         * libs/gst/base/gstbasesrc.h:
5252         Allow basesrc derived classes to execute seeks in other formats
5253         by providing a prepare_seek_segment vmethod. Sub-classes can choose
5254         to prepare the GstSegment in any format that their perform_seek method
5255         will be able to understand. The default implementation provides the
5256         old behaviour of attempting to convert the seek offsets to the 
5257         configured native format.
5258
5259         API: basesrc::prepare_seek_segment vmethod.
5260
5261 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5262
5263         * gst/gstelement.c: (gst_element_get_state_func):
5264         Don't output the same debug statement twice.
5265
5266         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
5267         (gst_adapter_peek), (gst_adapter_take_buffer):
5268         Optimise the case where we have buffers at the head of the queue that
5269         can be joined quickly (because they're contiguous sub-buffers) by
5270         merging them together rather than copying data out into new memory.
5271
5272         * gst/parse/grammar.y:
5273         * tests/check/pipelines/parse-launch.c:
5274         Fix a leak in an error path for parse_launch, and add a check 
5275         for it to the testsuite.
5276
5277 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5278
5279         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5280           Don't deadlock when releasing a pad - gst_pad_set_active may try
5281           and take the multiqueue lock too.
5282
5283 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
5284
5285         * gst/gsterror.c: (_gst_core_errors_init):
5286         * gst/gsterror.h:
5287           API: add GST_CORE_ERROR_DISABLED (#392804).
5288
5289 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5290
5291         * docs/faq/gst-uninstalled:
5292           don't get empty paths on the PATH variables
5293         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
5294           Don't format for the uncommon terminal width of 84 characters.
5295
5296 2007-04-06  Wim Taymans  <wim@fluendo.com>
5297
5298         * gst/gstpipeline.c: (reset_stream_time),
5299         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
5300         Only try to select a different pipeline clock when we went back to
5301         PAUSED and not when we merely got flushed.
5302
5303 2007-04-05  Michael Smith  <msmith@fluendo.com>
5304
5305         * tools/gst-launch.1.in:
5306           fractions are better supported in gstreamer than ractions, so
5307           suggest using those.
5308
5309 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5310
5311         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
5312
5313         * po/LINGUAS:
5314         * po/da.po:
5315           Added Danish translation.
5316
5317 2007-04-05  Wim Taymans  <wim@fluendo.com>
5318
5319         * libs/gst/base/gstbasesink.c:
5320         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5321         Fix leak caused when refusing newsegment after EOS.
5322
5323         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5324         (gst_fake_sink_init), (gst_fake_sink_set_property),
5325         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
5326         (gst_fake_sink_render), (gst_fake_sink_change_state):
5327         * plugins/elements/gstfakesink.h:
5328         Add num-buffers property to make the element generate EOS after a
5329         configurable amount of buffers.
5330         API: fakesink::num-buffers property.
5331
5332         * tests/check/elements/fakesink.c: (GST_START_TEST),
5333         (fakesink_suite):
5334         Fix GstBus leak in test.
5335         Test for fakesink num-buffers.
5336
5337 2007-04-05  Wim Taymans  <wim@fluendo.com>
5338
5339         * libs/gst/base/gstbasesink.c:
5340         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5341         (gst_base_sink_change_state):
5342         Don't accept anything after an EOS, return UNEXPECTED instead.
5343
5344         * tests/check/elements/fakesink.c: (GST_START_TEST),
5345         (fakesink_suite):
5346         Unit test for new EOS behaviour.
5347
5348 2007-04-05  Wim Taymans  <wim@fluendo.com>
5349
5350         * gst/gstelement.c: (gst_element_get_request_pad):
5351         Make padtemplates also work when they don't contain %s or %d.
5352
5353 2007-04-05  Wim Taymans  <wim@fluendo.com>
5354
5355         * docs/gst/gstreamer-sections.txt:
5356         * gst/gstclock.c: (gst_clock_adjust_unlocked),
5357         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
5358         * gst/gstclock.h:
5359         Improve _adjust_unlocked() so that it overflows less.
5360         Add gst_clock_unadjust_unlocked to convert from external time to
5361         internal time based on calibration.
5362         Add some more debug.
5363         API: GstClock::gst_clock_unadjust_unlocked()
5364
5365 2007-04-03  Wim Taymans  <wim@fluendo.com>
5366
5367         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5368
5369         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5370         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
5371         when releasing sink pad. Fixes #425400.
5372
5373 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * docs/random/ensonic/dynlink.txt:
5376           More work on proposal for new core api.
5377
5378         * docs/libs/gstreamer-libs-sections.txt:
5379         * libs/gst/base/gstbasetransform.h:
5380           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5381           
5382         * libs/gst/controller/gstcontroller.c:
5383         (on_object_controlled_property_changed),
5384         (gst_controller_sync_values),
5385         (gst_controller_set_interpolation_mode):
5386         * libs/gst/controller/gstcontroller.h:
5387           Less verbose logging add docs for unimplemented parts and correctly
5388           return when using unavailable parts.
5389
5390 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5391
5392         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5393         Move all the debug to the CLOCK category, and associate it with
5394         the clock object.
5395
5396 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5397
5398         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5399         Make take_buffer a bit quicker by removing redundant checks
5400         caused by calling gst_adapter_take.
5401
5402 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5403
5404         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5405           Don't leak GCond.
5406
5407         * tests/check/Makefile.am:
5408         * tests/check/elements/.cvsignore:
5409         * tests/check/elements/multiqueue.c: (setup_multiqueue),
5410         (GST_START_TEST), (multiqueue_suite):
5411           Add some dead simple unit tests for the 'multiqueue' element
5412           (some bits don't work yet and are disabled for now).
5413
5414 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5415
5416         * gst/gstelement.c: (gst_element_get_request_pad),
5417         (gst_element_class_get_request_pad_template):
5418           Make gst_element_get_request_pad() create request pads only for
5419           request pad templates and not for, say, sometimes pad templates.
5420
5421 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
5422
5423         * docs/design/draft-klass.txt:
5424           Add example that needs more thinking.
5425         
5426         * docs/design/draft-missing-plugins.txt:
5427           More thoughts about wrapper plugins.
5428         
5429         * docs/random/ensonic/embedded.txt:
5430         * docs/random/ensonic/profiling.txt:
5431           More design work.
5432
5433 2007-03-25  Wim Taymans  <wim@fluendo.com>
5434
5435         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5436         (gst_base_src_loop):
5437         Only push the segment events in the PLAYING state for live sources.
5438
5439 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
5440
5441         * gst/gstpipeline.c: (gst_pipeline_change_state):
5442         Modify the clock distribution path in PAUSED->PLAYING so that we 
5443         never attempt to choose a new clock unless we're actually leaving
5444         the PAUSED state for the first time. This prevents choosing a
5445         different clock when the state_change gets called for a 2nd time due
5446         to some element doing an async state change.
5447
5448 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5449
5450         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5451         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5452         (gst_pad_chain_unchecked), (gst_pad_push):
5453         Revert last commit. This needs some more thoughts.
5454
5455 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5456
5457         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5458         (gst_pad_chain_unchecked), (gst_pad_push):
5459         Check in set_caps if the caps are compatible with the pad and remove
5460         two functions that are redundant now. Fixes #421543.
5461
5462 2007-03-22  Wim Taymans  <wim@fluendo.com>
5463
5464         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5465         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5466         Unref some more to make valgrind happy.
5467
5468 2007-03-22  Wim Taymans  <wim@fluendo.com>
5469
5470         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5471         (gst_system_clock_id_wait_jitter),
5472         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5473         Fix anoying regression that survived a few releases. When adding an
5474         async entry while blocking on a sync entry, the sync entry will unblock
5475         but still be busy, so it should continue to wait instead of returning
5476         _BUSY to the app.
5477         Add some comments here and there.
5478
5479         * tests/check/gst/gstsystemclock.c: (mixed_thread),
5480         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5481         Add testcase for this.
5482
5483 2007-03-22  Wim Taymans  <wim@fluendo.com>
5484
5485         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5486         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5487         WRONG_STATE and can silently pause the task. All other cases should
5488         error out.
5489
5490 2007-03-22  Wim Taymans  <wim@fluendo.com>
5491
5492         Patch by: Ville Syrjala <syrjala at sci dot fi>
5493
5494         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5495         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
5496         Improve debugging.
5497
5498 2007-03-21  Michael Smith  <msmith@fluendo.com>
5499
5500         * docs/pwg/advanced-types.xml:
5501           Fix some errors in the typefinding docs pointed out on irc.
5502
5503 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
5504
5505         * libs/gst/base/gstbasesrc.c:
5506         Clarify FIXME comment in the face of having added unlock_stop()
5507
5508 2007-03-21  Wim Taymans  <wim@fluendo.com>
5509
5510         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5511         Prepare for release where we warn against possible app breakage in the
5512         case of live pipelines along with an env var to enable/disable live
5513         preroll mode (GST_COMPAT=[no-]live-preroll).
5514
5515 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5516
5517         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5518         So we should use correct constants for checking for None offset.
5519
5520 2007-03-20  Wim Taymans  <wim@fluendo.com>
5521
5522         * docs/design/part-block.txt:
5523         Mention the fact that the newly switched element should be set to at
5524         least PAUSED.
5525
5526 2007-03-20  Wim Taymans  <wim@fluendo.com>
5527
5528         * gst/gst.c:
5529         Fix compilation with registry disabled as spotted by Saur.
5530
5531 2007-03-20  Wim Taymans  <wim@fluendo.com>
5532
5533         Patch by: Olivier Crete <tester at tester dot ca>
5534
5535         * gst/gstelement.c: (gst_element_sync_state_with_parent):
5536         Look at the pending state too when syncing the element state to the
5537         parent. Fixes #420133.
5538
5539 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
5540
5541         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5542         (gst_base_sink_change_state):
5543         * libs/gst/base/gstbasesink.h:
5544         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5545         (gst_base_src_default_event), (gst_base_src_unlock_stop),
5546         (gst_base_src_deactivate):
5547         * libs/gst/base/gstbasesrc.h:
5548         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5549         for sub-classes to correctly clear any state they set trying to
5550         unlock, such as clearing out unlock commands from a command fd.
5551         API: basesrc::unlock_stop
5552         API: basesink::unlock_stop
5553
5554         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5555         (gst_fd_sink_render), (gst_fd_sink_unlock),
5556         (gst_fd_sink_unlock_stop):
5557         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5558         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5559         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5560
5561         Implement unlock_stop in fdsrc and fdsink.
5562         Implement seeking in fdsrc when a seekable fd is passed, as in
5563         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5564
5565 2007-03-19  Wim Taymans  <wim@fluendo.com>
5566
5567         Patch by: Evan Nemerson <evan at coeus dash group dot com>
5568
5569         * gst/gstelement.c: (gst_element_class_init):
5570         Fix pad-added and pad-removed signal signatures so that the pad type is
5571         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5572
5573 2007-03-19  Wim Taymans  <wim@fluendo.com>
5574
5575         * docs/gst/gstreamer-sections.txt:
5576         Add new element field and method.
5577
5578         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5579         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5580         (gst_bin_recalc_state), (gst_bin_get_state_func),
5581         (gst_bin_element_set_state), (gst_bin_change_state_func),
5582         (gst_bin_continue_func), (bin_bus_handler),
5583         (bin_push_state_continue), (bin_handle_async_start),
5584         (bin_handle_async_done), (gst_bin_handle_message_func):
5585         Make async state changes a bit smarter by using new ASYNC_START and
5586         ASYNC_DONE messages. This reduces the number of times we run the state
5587         recalculation thread.
5588         Don't change state of element with a pending ASYNC_START message.
5589         Deprecate STATE_DIRTY messages.
5590         
5591         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5592         (gst_element_get_state_func), (gst_element_continue_state),
5593         (gst_element_lost_state), (gst_element_set_state_func),
5594         (gst_element_change_state):
5595         * gst/gstelement.h:
5596         Keep the state that was last set by the app in a new element field.
5597         Don't allow state changes when handling an element event.
5598         Post ASYNC_START and ASYNC_DONE messages.
5599         Change lost_state so that we go to PAUSED and wait for the parent to set
5600         us to PLAYING again (so latency calculation can be performed)
5601         Export gst_element_change_state() method so that subclasses can use it.
5602         API: gst_element_change_state()
5603         API: GST_STATE_TARGET
5604
5605         * gst/gstpipeline.c: (gst_pipeline_class_init),
5606         (reset_stream_time), (gst_pipeline_change_state),
5607         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5608         Using the new ASYNC_START message we can reset the base_time when
5609         needed. This can then be used to implement base_time redistribution in
5610         flushing seeks so that we can remove the explicit seek handling.
5611         Perform latency query and configuration when going to PLAYING.
5612
5613         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5614         (gst_base_sink_query), (gst_base_sink_change_state):
5615         Post new ASYNC_START/ASYNC_DONE messages.
5616
5617         * tests/check/generic/sinks.c: (GST_START_TEST):
5618         Fix test because the bin will not set the async element to PLAYING right
5619         away.
5620
5621         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5622         Make the message check a little stronger.
5623         Handle ASYNC messages.
5624
5625         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5626         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5627         Expect ASYNC_DONE messages.
5628
5629 2007-03-19  Wim Taymans  <wim@fluendo.com>
5630
5631         * docs/gst/gstreamer-sections.txt:
5632         * gst/gstmessage.c: (gst_message_new_async_start),
5633         (gst_message_new_async_done), (gst_message_parse_info),
5634         (gst_message_parse_async_start):
5635         * gst/gstmessage.h:
5636         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5637         support.
5638
5639 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5640
5641         * tools/gst-inspect.c:
5642         (print_plugin_automatic_install_info_codecs):
5643           Now that we don't check for the 'Codec' keyword any longer in the
5644           klass, we shouldn't spew a warning if the klass isn't a decoder or
5645           encoder (since it might be a Source/Network, for example).
5646
5647 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5648
5649         * tools/gst-inspect.c:
5650         (print_plugin_automatic_install_info_codecs):
5651           Don't require decoder/demuxer/depayloader elements or
5652           encoder/muxer/paylader elements to have 'Codec' as part of their
5653           factory class string when introspecting a plugin's capabilities.
5654           draft-klass.txt mentions that it might be removed in future, and
5655           flump3dec doesn't have it as part of its class string, so chances
5656           are others might also not have it.
5657
5658 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5659
5660         * po/af.po:
5661         * po/az.po:
5662         * po/bg.po:
5663         * po/ca.po:
5664         * po/cs.po:
5665         * po/de.po:
5666         * po/en_GB.po:
5667         * po/fr.po:
5668         * po/it.po:
5669         * po/nb.po:
5670         * po/nl.po:
5671         * po/ru.po:
5672         * po/sq.po:
5673         * po/sr.po:
5674         * po/sv.po:
5675         * po/tr.po:
5676         * po/uk.po:
5677         * po/vi.po:
5678         * po/zh_CN.po:
5679         * po/zh_TW.po:
5680           Update translations from translation project
5681
5682 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
5683
5684         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
5685         (gst_child_proxy_set_property):
5686           Invert precondition check to be alike the ones in the mimiced gobject
5687           api.
5688
5689 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
5690
5691         * docs/design/draft-tagreading.txt:
5692         * docs/random/ensonic/audiobaseclasses.txt:
5693           Do some Architect work.
5694
5695         * gst/gstobject.c: (gst_object_set_name):
5696           Add a WARNING.
5697
5698         * gst/gstpad.c:
5699           Add docs that point from gst_pad_get_range to gst_pad_pull_range
5700
5701 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
5702
5703         * gst/gstsystemclock.c: (gst_system_clock_init),
5704         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
5705         Defer starting the async system clock thread until the first async
5706         wait is scheduled. Fixes #414986.
5707
5708 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
5709
5710         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
5711         (gst_single_queue_free):
5712           Fix small leak (free GstSingleQueue structure too, not only contents).
5713
5714 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
5715
5716         * gst/gstbin.c:(gst_bin_add):
5717         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
5718         * win32/common/libgstbase.def:
5719         * win32/common/libgstreamer.def:
5720         Add new exported functions.
5721
5722 2007-03-09  Wim Taymans  <wim@fluendo.com>
5723
5724         * docs/plugins/gstreamer-plugins-sections.txt:
5725         Fix GstTee docs.
5726
5727 2007-03-09  Wim Taymans  <wim@fluendo.com>
5728
5729         * docs/gst/gstreamer-sections.txt:
5730         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
5731         * gst/gstbuffer.h:
5732         Add metadata copy functions. Fixes #393099.
5733         API: gst_buffer_copy_metadata()
5734
5735         * gst/gstutils.c: (gst_buffer_stamp):
5736         * libs/gst/base/gstbasetransform.c:
5737         (gst_base_transform_prepare_output_buffer):
5738         Use new metadata copy functions.
5739
5740 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5743         (gst_identity_init), (gst_identity_check_perfect),
5744         (gst_identity_check_imperfect_timestamp),
5745         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
5746         (gst_identity_set_property), (gst_identity_get_property):
5747         * plugins/elements/gstidentity.h:
5748         Separate out check-imperfect-timestamp and check-imperfect-offset.
5749         Put back check-perfect as it was to keep compatibility.
5750
5751 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
5752
5753         * gst/gstelement.c: (gst_element_dispose):
5754         There's no need to warn if VOID_PENDING is not NONE here, as
5755         long as the state is NULL it's ok, and that's checked immediately
5756         above.
5757
5758 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5759
5760         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5761         Fix check for perfect stream to ignore buffers with -1 
5762         offsets/offset ends when checking data contiguity.
5763
5764 2007-03-08  Wim Taymans  <wim@fluendo.com>
5765
5766         * tools/gst-launch.c: (event_loop):
5767         Print INFO messages.
5768
5769 2007-03-08  Wim Taymans  <wim@fluendo.com>
5770
5771         * libs/gst/base/gstbasetransform.c:
5772         (gst_base_transform_sink_eventfunc),
5773         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5774         (gst_base_transform_activate):
5775         * libs/gst/base/gstbasetransform.h:
5776         Add support for dropping buffers with custom GstFlowReturn.
5777         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
5778         buffers or dropped buffers.
5779
5780         * docs/libs/gstreamer-libs-sections.txt:
5781         docs for new custom return code.
5782
5783         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5784         Use drop support in base class to implement drop-probability.
5785
5786 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5787
5788         * gst/gst.c: (load_plugin_func):
5789         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
5790         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5791         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
5792           Remove newlines at end of debug log strings.
5793
5794 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5795
5796         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5797         Only post bus message at max, once per buffer received.
5798
5799 2007-03-07  Wim Taymans  <wim@fluendo.com>
5800
5801         * docs/design/Makefile.am:
5802         * docs/design/part-synchronisation.txt:
5803         Add doc about synchronisation
5804
5805         * docs/design/draft-latency.txt:
5806         * docs/design/part-TODO.txt:
5807         * docs/design/part-clocks.txt:
5808         * docs/design/part-events.txt:
5809         * docs/design/part-gstbus.txt:
5810         * docs/design/part-gstpipeline.txt:
5811         * docs/design/part-live-source.txt:
5812         * docs/design/part-messages.txt:
5813         * docs/design/part-overview.txt:
5814         * docs/design/part-streams.txt:
5815         * docs/design/part-trickmodes.txt:
5816         Documentation updates.
5817
5818 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5819
5820         * gstreamer.doap:
5821         Update the doap file.
5822
5823 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5824
5825         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5826         Rename non-perfect to imperfect for Mike and for the sanctity of the
5827         language.
5828         Also make sure bus message gets emitted for data-incontiguities.
5829
5830 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5831
5832         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
5833         (gst_identity_start):
5834         * plugins/elements/gstidentity.h:
5835         Emit bus message if check-perfect is true and we encounter a
5836         non-perfect stream between 2 consecutive buffers.
5837         Fixes #415394.
5838
5839 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5840
5841         * configure.ac:
5842         Back to CVS
5843
5844 === release 0.10.12 ===
5845
5846 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
5847
5848         * configure.ac:
5849           releasing 0.10.12, "Inevitable Demise"
5850
5851 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
5852
5853         * configure.ac:
5854          Version 0.10.11.2 (0.10.12 pre-release)
5855          Bump libtool versioning.
5856
5857 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
5858
5859         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5860           Log flow-names and not numbers.
5861
5862 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5863
5864         * configure.ac:
5865           Convert to new AG_GST style.
5866
5867 2007-02-28  Wim Taymans  <wim@fluendo.com>
5868
5869         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
5870         Don't unref query twice.
5871
5872 2007-02-28  Wim Taymans  <wim@fluendo.com>
5873
5874         * gst/gstvalue.c: (gst_value_transform_object_string),
5875         (_gst_value_initialize):
5876         Implement GstObject -> string transform so we print object names
5877         when serializing GValues containing GstObjects.
5878
5879 2007-02-28  Wim Taymans  <wim@fluendo.com>
5880
5881         * docs/gst/gstreamer-sections.txt:
5882         Add new stuff to docs.
5883
5884 2007-02-28  Wim Taymans  <wim@fluendo.com>
5885
5886         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5887         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
5888         (gst_base_sink_change_state):
5889         Improve latency query code.
5890         Don't leak latency events.
5891
5892         * tests/check/gst/gstbin.c: (GST_START_TEST):
5893         Improve debugging.
5894
5895 2007-02-28  Wim Taymans  <wim@fluendo.com>
5896
5897         * gst/gstelement.c: (gst_element_message_full),
5898         (gst_element_get_state_func):
5899         * gst/gstelement.h:
5900         Improve docs a little. Added Since: for new macro.
5901
5902         * gst/gstobject.c: (gst_object_sink):
5903         * gst/gstpipeline.c: (gst_pipeline_change_state),
5904         (gst_pipeline_set_new_stream_time):
5905         * gst/gstpipeline.h:
5906         Improve debugging and docs.
5907
5908         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5909         Improve debugging.
5910
5911 2007-02-28  Wim Taymans  <wim@fluendo.com>
5912
5913         * gst/gstelement.c: (gst_element_message_full),
5914         (gst_element_set_locked_state), (gst_element_get_state_func),
5915         (gst_element_change_state):
5916         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
5917         Documentation updates.
5918         Small code cleanups.
5919
5920         * gst/gstmessage.c: (gst_message_new_info),
5921         (gst_message_parse_info):
5922         * gst/gstmessage.h:
5923         API: gst_message_new_info()
5924         API: gst_message_parse_info()
5925         Add INFO message create and parse code.
5926
5927 2007-02-28  Wim Taymans  <wim@fluendo.com>
5928
5929         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
5930         (bin_query_latency_done):
5931         Also report the live parameter of a latency query.
5932
5933 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5934
5935         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
5936           Copy the current generic/states example from -base and adapt so
5937           we can use the exact same code everywhere.
5938           Check a STATES_IGNORE_ELEMENTS env var which can be used
5939           to ignore certain element factories for this test, which is
5940           what is being done in -base
5941         * tests/check/Makefile.am:
5942           Mention this environment variable.
5943
5944 2007-02-27  Wim Taymans  <wim@fluendo.com>
5945
5946         * docs/gst/gstreamer-sections.txt:
5947         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
5948         (gst_bus_timed_pop), (gst_bus_pop):
5949         * gst/gstbus.h:
5950         API: gst_bus_timed_pop()
5951         Implement gst_bus_timed_pop() to do a blocking timed wait for a
5952         message to arrive on the bus.
5953
5954         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
5955         (gst_bus_suite):
5956         Two unit tests for new _timed_pop() function.
5957
5958 2007-02-23  Wim Taymans  <wim@fluendo.com>
5959
5960         * gst/gstpipeline.c: (gst_pipeline_change_state),
5961         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
5962         Don't ref a NULL clock in _provide_clock_func().
5963         Don't allow an INVALID delay.
5964         Don't try to calculate base_time with an invalid start_time.
5965         Also distribute and notify a NULL clock when it was selected.
5966
5967         * tools/gst-launch.c: (event_loop):
5968         Don't crash when a NULL clock was selected in the pipeline.
5969
5970 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5971
5972         * docs/design/Makefile.am:
5973         * docs/design/draft-missing-plugins.txt:
5974         * docs/random/draft-missing-plugins.txt:
5975           Some small updates: update plugin system identifier prefix
5976           ('gstreamer.net' to 'gstreamer'), mention our new install
5977           API in libgstbaseutils rather than libgimme-codec, add
5978           reference to the online docs.
5979
5980 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5981
5982         * win32/common/config.h:
5983           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
5984           use moap cl ci to only check in what is mentioned in the ChangeLog.
5985
5986 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * docs/gst/gstreamer-sections.txt:
5989         * gst/gstelement.h:
5990           Fix up documentation to link to the correct GstGError section.
5991           Add GST_ELEMENT_INFO macro since someone else added a Info message.
5992
5993 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5994
5995         * tools/gst-launch.c: (event_loop):
5996           Make sure that we actually show the important message part of a
5997           warning message.
5998           No need to check if the gerror is not NULL to free; first of all
5999           g_free accepts NULL; and second the default error handler would
6000           segfault if gerror was NULL.
6001
6002 2007-02-21  Wim Taymans  <wim@fluendo.com>
6003
6004         * docs/gst/gstreamer-sections.txt:
6005         Removed docs as well.
6006
6007 2007-02-21  Wim Taymans  <wim@fluendo.com>
6008
6009         * gst/gstmessage.c: (gst_message_parse_duration):
6010         * gst/gstmessage.h:
6011         Remove new messages for release.
6012
6013 2007-02-20  Wim Taymans  <wim@fluendo.com>
6014
6015         * docs/design/part-gstghostpad.txt:
6016         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
6017         (gst_ghost_pad_new_full):
6018         Make the ghostpad a parent of the internal pad again for better backward
6019         compatibility. Don't write code that relies on this however.
6020
6021         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6022         (gst_pad_link_check_hierarchy):
6023         Require that parents should be GstElements in the hierarchy check.
6024
6025 2007-02-20  Wim Taymans  <wim@fluendo.com>
6026
6027         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
6028         (gst_bin_change_state_func), (bin_query_min_max_init),
6029         (bin_query_latency_fold), (bin_query_latency_done),
6030         (gst_bin_query):
6031         Improve debug info.
6032         Implement latency query.
6033
6034 2007-02-20  Wim Taymans  <wim@fluendo.com>
6035
6036         * docs/design/part-gstghostpad.txt:
6037         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
6038         (gst_ghost_pad_internal_do_activate_push),
6039         (gst_ghost_pad_internal_do_activate_pull),
6040         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6041         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
6042         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
6043         Do not set the internal pad as a parent anymore so we can avoid
6044         hierarchy linking errors when the ghostpad has no parent yet. This also
6045         fixes failed activation because of unlinked internal pads, which in
6046         turn fixes the impossible case where you have to activate a pad before
6047         you can add it to a running element.
6048         Also fix the docs.
6049
6050         * gst/gstpad.c: (pre_activate), (post_activate),
6051         (gst_pad_set_active), (gst_pad_activate_pull),
6052         (gst_pad_activate_push), (gst_pad_check_pull_range):
6053         Add some more debug info.
6054         Mark activation mode in pre_activate so that we don't try to activate in
6055         endless loops. Fixes #385084.
6056
6057 2007-02-19  Wim Taymans  <wim@fluendo.com>
6058
6059         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
6060         (gst_base_transform_check_get_range):
6061         Implement a checkgetrange function instead of relying on the default
6062         core behaviour that assumes we can operate in pull mode if we have a
6063         getrange function. First step at fixing #385084.
6064
6065 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
6066
6067         * gst/gstchildproxy.h:
6068         * libs/gst/base/gstbasesink.h:
6069         * libs/gst/base/gstbasesrc.h:
6070         * libs/gst/base/gstbasetransform.h:
6071         More docs coverage and some ChangeLog surgery (add missing names)
6072
6073 2007-02-15  Wim Taymans  <wim@fluendo.com>
6074
6075         * docs/design/part-TODO.txt:
6076         * docs/design/part-activation.txt:
6077         * docs/design/part-block.txt:
6078         * docs/design/part-buffering.txt:
6079         * docs/design/part-clocks.txt:
6080         * docs/design/part-element-source.txt:
6081         * docs/design/part-events.txt:
6082         * docs/design/part-gstbin.txt:
6083         * docs/design/part-gstbus.txt:
6084         * docs/design/part-gstpipeline.txt:
6085         * docs/design/part-live-source.txt:
6086         * docs/design/part-messages.txt:
6087         * docs/design/part-overview.txt:
6088         * docs/design/part-qos.txt:
6089         * docs/design/part-query.txt:
6090         * docs/design/part-states.txt:
6091         * docs/design/part-trickmodes.txt:
6092         Some doc updates. Start renaming from stream_time to running_time where
6093         it was used wrongly.
6094
6095 2007-02-15  Wim Taymans  <wim@fluendo.com>
6096
6097         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6098         Answer LATENCY query.
6099
6100 2007-02-15  Wim Taymans  <wim@fluendo.com>
6101
6102         * tests/check/gst/gstevent.c: (event_probe), (test_event),
6103         (GST_START_TEST):
6104         Improve debugging.
6105
6106 2007-02-15  Wim Taymans  <wim@fluendo.com>
6107
6108         * gst/gstpad.c: (gst_pad_get_internal_links_default),
6109         (gst_pad_dispatcher):
6110         Improve debugging of default pad dispatcher and query functions.
6111
6112 2007-02-15  Wim Taymans  <wim@fluendo.com>
6113
6114         * docs/gst/gstreamer-sections.txt:
6115         Remove old unused method.
6116
6117 2007-02-13  Wim Taymans  <wim@fluendo.com>
6118
6119         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6120         Fix check
6121
6122 2007-02-13  Wim Taymans  <wim@fluendo.com>
6123
6124         * docs/design/part-seeking.txt:
6125         Some small update.
6126
6127         * gst/gstsegment.c: (gst_segment_set_seek):
6128         Revert old bogus change that should make seeking work again.
6129
6130 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6131
6132         * docs/random/ensonic/dynlink.txt:
6133         * docs/random/ensonic/interfaces.txt:
6134         * docs/random/ensonic/receipies.txt:
6135           Possible dynamic reconnection api, plus some type fixes the other two
6136           docs.
6137
6138 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
6139
6140         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6141         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6142         Also check for an absolute path following file:// in the filesrc
6143         element. Remove redundant check and call g_path_is_absolute() on the
6144         unescaped location.
6145
6146 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6147
6148         * docs/design/draft-klass.txt:
6149           Add existing category analysis.
6150           
6151         * gst/gstcaps.c:
6152           Fix doc example, framerate is a fraction.
6153
6154 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6155
6156         * configure.ac:
6157         * docs/gst/Makefile.am:
6158         * docs/gst/gstreamer-sections.txt:
6159         * docs/libs/Makefile.am:
6160           Erm, forgot a bunch of --extra-dir.
6161
6162 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6163
6164         * configure.ac:
6165         * docs/gst/Makefile.am:
6166         * docs/libs/Makefile.am:
6167         * docs/plugins/Makefile.am:
6168           Add crossreferences to glib/gobject docs.
6169
6170 2007-02-12  Wim Taymans  <wim@fluendo.com>
6171
6172         * docs/design/draft-latency.txt:
6173         Small update.
6174
6175         * docs/libs/gstreamer-libs-sections.txt:
6176         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6177         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
6178         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
6179         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
6180         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
6181         (gst_base_sink_get_position), (gst_base_sink_query),
6182         (gst_base_sink_change_state):
6183         * libs/gst/base/gstbasesink.h:
6184         API: gst_base_sink_query_latency() to let subclasses query the upstream
6185         latency.
6186         API: gst_base_sink_get_latency() to let subclasses query the configured
6187         latency in the sink.
6188         Implement query and set latency.
6189         Update some docs.
6190         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
6191         don't continue preroll when we are flushing. Fixes #405284.
6192
6193         * tests/check/pipelines/stress.c: (change_state_timeout),
6194         (quit_timeout), (GST_START_TEST), (stress_suite):
6195         Test for #405284.
6196
6197 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
6198
6199         Patch by: René Stadler <mail at renestadler de>
6200
6201         * docs/gst/gstreamer-sections.txt:
6202         * gst/gsttaglist.c: (_gst_tag_initialize):
6203         * gst/gsttaglist.h:
6204           API: add GST_TAG_REFERENCE_LEVEL (#403597).
6205
6206 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
6207
6208         * docs/libs/Makefile.am:
6209           Fix path to core docs.
6210
6211         * gst/gstbin.c: (gst_bin_get_by_interface),
6212         (gst_bin_iterate_all_by_interface):
6213           Refix docs by also renaming 'interface' to 'iface' in implementation.
6214
6215         * docs/gst/gstreamer-sections.txt:
6216         * gst/gstcaps.c:
6217         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
6218         * gst/gstchildproxy.h:
6219         * gst/gstelementfactory.c:
6220         * gst/gstpadtemplate.h:
6221         * libs/gst/controller/gstcontroller.c:
6222         (gst_controlled_property_new):
6223           Document more.
6224
6225 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
6226
6227         * gst/gstbin.h:(gst_bin_get_by_interface),
6228         (gst_bin_iterate_all_by_interface):
6229         Replace interface parameter name by iface as interface is 
6230         a reserved keyword in Visual Studio for C++ projects so it removes
6231         a build error for application developpers using VS.
6232         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
6233         Fix a bug on Windows in uri format check. Now the prefix checked
6234         is file:// and next we check if the path after file:// is absolute.
6235         * win32/common/libgstbase.def:
6236         * win32/common/libgstdataprotocol.def:
6237         * win32/common/libgstgstreamer.def:
6238         Add new exported functions.
6239
6240 2007-02-09  Andy Wingo  <wingo@pobox.com>
6241
6242         * tests/check/pipelines/simple-launch-lines.c
6243         (simple_launch_lines_suite, test_tee): Disable tee test until I
6244         have time to fix it :-(
6245
6246         * tests/check/Makefile.am (noinst_HEADERS): 
6247         * tests/check/libs/libsabi.c: 
6248         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
6249         * tests/check/gst/gstabi.c: 
6250         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
6251
6252         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
6253         tests for push and pull tee behavior.
6254
6255         * plugins/elements/gsttee.h: 
6256         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
6257         mark as deprecated as well as unimplemented. It was a crack idea.
6258         Add support for tee operating in pull mode, off by default.
6259
6260         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
6261         normal-case logs down to LOG, raise errors to WARNING.
6262         (gst_registry_xml_read_cache): Don't log before calling a function
6263         that logs.
6264
6265         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
6266         exit (registry finalize).
6267         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
6268         DEBUG log when we emit signals that people don't even have the
6269         chance to connect to.
6270         (gst_registry_scan_path_level): Less logging in the normal case.
6271
6272 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6273
6274         Patch by: Michal Benes <michal dot benes at itonis dot tv>
6275
6276         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6277         Correctly generate EOS for non-seekable files. We don't have a total
6278         length for them and would get an unexpected end of file if we only
6279         special-cased for regular files. (Fixes: #404569)
6280
6281 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6282
6283         * tests/check/elements/filesrc.c: (GST_START_TEST),
6284         (filesrc_suite):
6285         Add unit test for the GstURIHandler interface in filesrc. This also
6286         tests the newly added file://localhost/foo/bar support.
6287
6288 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
6289
6290         * gst/gstelementfactory.h:
6291           The klass string is not a hierarchy. Add reference to the design doc
6292           for more information and common types.
6293
6294 2007-02-02  Wim Taymans  <wim@fluendo.com>
6295
6296         * gst/gstquery.c: (gst_query_new_latency):
6297         Remove old structure field.
6298
6299 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
6300
6301         * tools/gst-launch.1.in:
6302           Give example for network streaming (#351998)
6303
6304 2007-02-02  Wim Taymans  <wim@fluendo.com>
6305
6306         * docs/gst/gstreamer-sections.txt:
6307         Add docs for new methods.
6308
6309         * gst/gstevent.c: (gst_event_new_latency),
6310         (gst_event_parse_latency):
6311         * gst/gstevent.h:
6312         Add new LATENCY event to configure latency in a pipeline.
6313         API: gst_event_new_latency
6314         API: gst_event_parse_latency
6315
6316         * gst/gstmessage.c: (gst_message_new_buffering),
6317         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
6318         (gst_message_new_latency), (gst_message_parse_buffering),
6319         (gst_message_parse_lost_preroll):
6320         * gst/gstmessage.h:
6321         Added messages used in draft-latency.
6322         API: gst_message_new_lost_preroll
6323         API: gst_message_parse_lost_preroll
6324         API: gst_message_new_prerolled
6325         API: gst_message_new_latency
6326
6327         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
6328         (gst_query_parse_latency):
6329         * gst/gstquery.h:
6330         Implemented new latency query as in design doc.
6331         API: gst_query_new_latency
6332         API: gst_query_set_latency
6333         API: gst_query_parse_latency
6334
6335 2007-02-02  Wim Taymans  <wim@fluendo.com>
6336
6337         * docs/design/draft-latency.txt:
6338         Slight redesign to allow for dynamic latency adjustments.
6339
6340         * docs/design/part-negotiation.txt:
6341         Fix some typos.
6342
6343 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
6344
6345         reviewed by: Wim Taymans <wim@fluendo.com>
6346
6347         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6348         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6349         Allow file://localhost/foo/bar URLs and correctly fail for every other
6350         hostname that one sets. This was gnomevfssrc is linked for those if
6351         installed as it can handle it (#403172)
6352
6353 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6354
6355         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6356
6357         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6358         (unref_data), (gst_collect_pads_add_pad_full):
6359         * libs/gst/base/gstcollectpads.h:
6360         Don't put the previously added destroy notify in the GstCollectData
6361         struct as all it's padding is already used and we don't want to break
6362         ABI. Instead put in the pad's GObject data for now. This should be
6363         cleaned up for 0.11 (#402393).
6364
6365 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6366
6367         reviewed by: Wim Taymans <wim@fluendo.com>
6368
6369         * docs/libs/gstreamer-libs-sections.txt:
6370         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6371         (unref_data), (gst_collect_pads_add_pad),
6372         (gst_collect_pads_add_pad_full):
6373         * libs/gst/base/gstcollectpads.h:
6374         API: Add function to specify a destroy notification for custom
6375         GstCollectData when adding new pads in GstCollectPads (#402393).
6376
6377 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
6378
6379         * po/sv.po:
6380           Update Swedish translation (#378255).
6381
6382 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6383
6384         * docs/design/draft-klass.txt:
6385           Fix the previous change, this is a list of categories and not a hierarchy.
6386
6387 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6388
6389         * docs/design/draft-klass.txt:
6390           Add info about how to get a list of used classes.
6391
6392 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
6393
6394         * plugins/elements/gsttypefindelement.c:
6395         (gst_type_find_element_chain_do_typefinding),
6396         (gst_type_find_element_change_state):
6397           Don't leak found caps in chain function (no idea why that never
6398           showed up as a leak anywhere).
6399
6400 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
6401
6402         * gst/gstplugin.h:
6403           Fix and expand GstPluginDesc API docs.
6404
6405 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6406
6407         * gst/gstcaps.c:
6408         * gst/gstelementfactory.c:
6409         * gst/gstpadtemplate.h:
6410           api doc fixes
6411
6412         * libs/gst/controller/gstcontroller.c:
6413         (gst_controlled_property_new):
6414         * tests/examples/controller/audio-example.c:
6415           comment fixes
6416
6417 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6418
6419         * configure.ac:
6420           comment about refining the xml deps
6421
6422         * docs/manuals.mak:
6423           comments about moving away from jade for docs
6424         
6425         * gst/gst.c:
6426           recommit the ifdefs to use the binary registry
6427         
6428         * gst/gstbin.c: (gst_bin_change_state_func):
6429           this break is obsolete
6430
6431         * gst/gstelementfactory.h:
6432           better GST_ELEMENT_DETAILS docs, add comment about translation
6433
6434         * gst/gstinfo.h:
6435           remove eol slash
6436
6437         * gst/gstobject.c: (gst_signal_object_get_type):
6438           add G_UNLIKELY as usual
6439
6440         * gst/gstpad.c: (gst_pad_event_default):
6441           add fall trhu comment
6442
6443         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6444         (gst_registry_binary_initialize_magic),
6445         (gst_registry_binary_save_string),
6446         (gst_registry_binary_save_pad_template),
6447         (gst_registry_binary_save_feature),
6448         (gst_registry_binary_save_plugin),
6449         (gst_registry_binary_write_cache),
6450         (gst_registry_binary_check_magic),
6451         (gst_registry_binary_load_pad_template),
6452         (gst_registry_binary_load_feature),
6453         (gst_registry_binary_load_plugin),
6454         (gst_registry_binary_read_cache):
6455           comment typo and formatting
6456
6457         * gst/gstutils.c: (gst_element_state_get_name),
6458         (gst_element_state_change_return_get_name):
6459           remove obsolete breaks
6460
6461         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6462           add FIXME 0.11 and remove cpp comment
6463
6464 2007-01-29  Edward Hervey  <edward@fluendo.com>
6465
6466         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6467         Fix print statement in an even more portable way.
6468
6469 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
6470
6471         * docs/gst/gstreamer-sections.txt:
6472         * gst/gstutils.h:
6473           API: add GST_ROUND_DOWN_* macros (#401781).
6474
6475 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
6476
6477         * docs/gst/gstreamer.types.in:
6478         * gst/gstregistry.c: (gst_registry_class_init):
6479           Document registry signals and make gtk-doc pick them up (#401381).
6480
6481 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6482
6483         * docs/pwg/building-testapp.xml:
6484           Add some audioconverts and audioresample to the pipeline, and some
6485           more comments and error handling.
6486
6487 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * docs/manual/manual.xml:
6490         * docs/pwg/pwg.xml:
6491           Fix typo (#400987).
6492
6493 2007-01-26  Wim Taymans  <wim@fluendo.com>
6494
6495         * gst/gstcaps.c: (gst_static_caps_get):
6496         Init caps flags too.
6497
6498 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
6499
6500         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6501
6502         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6503         If not using mmap'ed files try to seek to the end instead of the
6504         start to determine whether we can seek at all. This fixes the case
6505         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6506         seeks for everything afterwards fail. Fixes #400656
6507
6508 2007-01-25  Wim Taymans  <wim@fluendo.com>
6509
6510         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6511         Add some refcount debugging.
6512         Make gst_static_caps_get threadsafe, which is needed when autoplugging
6513         in multiple streaming threads.
6514
6515 2007-01-25  Wim Taymans  <wim@fluendo.com>
6516
6517         Patch by: David Schleef <ds at schleef dot org>
6518
6519         * docs/libs/gstreamer-libs-sections.txt:
6520         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6521         * libs/gst/base/gstadapter.h:
6522         API: gst_adapter_copy() that can reduce the amount of memcpy when
6523         getting data from the adapter. Fixes #388201.
6524
6525 2007-01-25  Edward Hervey  <edward@fluendo.com>
6526
6527         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6528         In print statements, "%x" is for guint. Fixes build on macosx.
6529
6530 2007-01-24  Edward Hervey  <edward@fluendo.com>
6531
6532         * plugins/elements/gstmultiqueue.c:
6533         (gst_multi_queue_loop):
6534         Small fix.
6535         (single_queue_overrun_cb), (single_queue_underrun_cb),
6536         (single_queue_check_full), (gst_single_queue_new):
6537         Implement single queue growth system.
6538         This uses the extra-size properties, and will grow single queues by
6539         that much if one goes full whereas there are others empty. This is
6540         called extra-mode in the code.
6541         When a single queue's levels go back below the initial max-size
6542         limits, it is no longer in extra-mode. This is to ensure we don't
6543         consume too much memory.
6544         Fixes #399875
6545
6546 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
6547
6548         * gst/gst.c: (gst_init_get_option_group):
6549           Make warning about late g_thread_init() calls a bit more explicit,
6550           so that it's more obvious to application developers what they need
6551           to do if a user files a bug against their application.
6552
6553 2007-01-22  Edward Hervey  <edward@fluendo.com>
6554
6555         * plugins/elements/gstmultiqueue.c:
6556         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6557         Remove previous hack of unsetting the flushing flag for the source pad
6558         instead of activating it. Instead, fix the source pad activate function
6559         so that it no longer depends on having a parent set or not.
6560
6561 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
6562
6563         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6564
6565         * docs/manual/basics-bus.xml:
6566           Fix example code, gst_element_unref() doesn't exist any longer.
6567
6568 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
6569
6570         Patch by: Mark Nauwelaerts <manauw at skynet be>
6571
6572         * gst/gstpad.c:
6573           Fix two docs typoes (#399094).
6574
6575 2007-01-19  Edward Hervey  <edward@fluendo.com>
6576
6577         * docs/faq/gst-uninstalled:
6578         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6579         depending on libgstbaseutils can work in uninstalled environment.
6580
6581 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
6582
6583         * gst/gsttaglist.h:
6584         * gst/gsttagsetter.c:
6585         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6586         statement for new tag.
6587
6588 2007-01-17  Edward Hervey  <edward@fluendo.com>
6589
6590         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6591         When dynamically creating single queues, activate sinkpad before adding
6592         it.
6593         We should be doing the same thing for the source pad, but we can't
6594         since it would call a method which needs the parent to be set in order
6595         to work propertly. Instead of activating the source pad, we just unset
6596         the flushing flag, which is the minimal requirement for adding a pad
6597         to an element in a state greater than READY.
6598
6599 2007-01-17  Edward Hervey  <edward@fluendo.com>
6600
6601         * docs/faq/gst-uninstalled:
6602         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6603         Mac OS X.
6604
6605 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
6606
6607         * tests/check/gst/gstabi.c:
6608         * tests/check/gst/struct_hppa.h:
6609         * tests/check/libs/libsabi.c:
6610         * tests/check/libs/struct_hppa.h:
6611           Add ABI structs for HPPA (see #393796).
6612
6613 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
6614
6615         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6616           Actually write ABI structs to the file specified in the GST_ABI
6617           environment variable, as the message we print claims we would.
6618
6619 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6620
6621         * tests/check/gst/gsttask.c:
6622           Fix header comment.
6623
6624 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6625
6626         * gst/gsttaglist.c: (_gst_tag_initialize):
6627           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6628           previous two entries.
6629
6630 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6631
6632         * docs/gst/gstreamer-sections.txt:
6633         * gst/gsttaglist.c: (_gst_tag_initialize):
6634         * gst/gsttaglist.h:
6635           Add tag support for beat-per-minute.
6636
6637 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6640         (gst_registry_binary_initialize_magic),
6641         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6642         (gst_registry_binary_save_pad_template),
6643         (gst_registry_binary_save_feature),
6644         (gst_registry_binary_save_plugin),
6645         (gst_registry_binary_write_cache),
6646         (gst_registry_binary_check_magic),
6647         (gst_registry_binary_load_pad_template),
6648         (gst_registry_binary_load_feature),
6649         (gst_registry_binary_load_plugin),
6650         (gst_registry_binary_read_cache):
6651         * gst/gstregistrybinary.h:
6652           Use glib types, cleanup comments, impement interfaces and uri-types.
6653
6654 2007-01-13  Andy Wingo  <wingo@pobox.com>
6655
6656         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6657         getrange() to return buffers with other caps, while we fix
6658         demuxers and typefind, or otherwise change part-negotiation.txt.
6659
6660 2007-01-12  Andy Wingo  <wingo@pobox.com>
6661
6662         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
6663         Factor start/stop into this private function instead of partially
6664         in activate functions and partially in the change_state function.
6665         Fixes setup before the element has changed from READY->PAUSED, as
6666         is the case in pull-mode pipelines.
6667         (gst_base_transform_sink_activate_push)
6668         (gst_base_transform_src_activate_pull): Refactor to use
6669         gst_base_transform_activate().
6670         (gst_base_transform_change_state): Removed, not needed any more.
6671
6672         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6673         Truncate before fixating.
6674         
6675         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6676         Don't set_caps() if the result of fixating is ANY, as it's not
6677         supported, and not necessary in the case of a link with no
6678         template caps on either side. Fixes tests/check/libs/basesrc in
6679         some pull-mode tests.
6680
6681         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
6682         (gst_base_transform_init, gst_base_transform_sink_activate_push)
6683         (gst_base_transform_src_activate_pull): 
6684         Track the activation mode.
6685         (gst_base_transform_setcaps): In pull mode, when activating the
6686         src pad, after activating the sink pad, activate the sink pad's
6687         peer, as discussed in part-negotiation.txt.
6688
6689         * libs/gst/base/gstbasesrc.h: 
6690         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
6691         vmethod, as in basesink.
6692
6693         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
6694
6695         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
6696         mode, first proxy the setcaps to the peer pad.
6697         (gst_base_sink_pad_fixate): Add a fixate function that calls the
6698         new fixate vmethod.
6699         (gst_base_sink_default_activate_pull): Rename from
6700         gst_base_sink_activate_pull.
6701         (gst_base_sink_negotiate_pull): New function, performs negotiation
6702         in pull mode before calling ::activate_pull().
6703         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
6704         vmethod instead of the default implementation. I have no idea how
6705         this worked before. Negotiate before calling activate_pull.
6706
6707         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
6708         sink pads in pull mode. In addition to being correct, fixes
6709         filesrc ! decodebin ! identity ! fakesink.
6710         (gst_pad_get_range, gst_pad_pull_range): Don't call
6711         gst_pad_set_caps() if the caps changes; instead error out with
6712         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
6713
6714 2007-01-12  Andy Wingo  <wingo@pobox.com>
6715
6716         * docs/design/part-negotiation.txt: Update with more policy.
6717
6718 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6719
6720         * libs/gst/check/gstbufferstraw.h:
6721         * libs/gst/check/gstcheck.h:
6722           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
6723           belongs.
6724
6725 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6726
6727         * tests/check/Makefile.am:
6728         * tests/check/gst/.cvsignore:
6729         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
6730         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
6731         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
6732         (GST_START_TEST), (gst_tag_setter_suite):
6733           Add minimal unit test for beforementioned GstTagSetter bug.
6734
6735 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6736
6737         Patch by: René Stadler <mail at renestadler dot de>
6738
6739         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
6740           gst_tag_list_merge() returns a new list, so it's not the best idea
6741           to ingore its return value. Effectively meant that tags could only
6742           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
6743           Also add function guard to require a non-NULL taglist as input (has
6744           always been so due to gst_tag_list_copy(), just making it explicit).
6745
6746 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6747
6748         * docs/random/draft-missing-plugins.txt:
6749           Some additions: mention new API that is supposed to be used at the
6750           various stages; short blob about new gst-inspect introspection
6751           option; mention potential future problem with plugins that have
6752           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
6753
6754 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6755
6756         * tools/gst-inspect.c:
6757         (print_plugin_automatic_install_info_codecs),
6758         (print_plugin_automatic_install_info_protocols),
6759         (print_plugin_automatic_install_info), (main):
6760         Add --print-plugin-auto-install-info option to gst-inspect, so we can
6761         introspect plugin files and get machine-parsable output that corresponds
6762         to the last bit of the missing-plugin installer string (small gotcha:
6763         doesn't take into account ranks).
6764
6765 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
6766
6767         * configure.ac:
6768         * docs/gst/gstreamer-sections.txt:
6769         * gst/Makefile.am:
6770         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
6771         (gst_registry_lookup_locked):
6772         * gst/gstregistry.h:
6773         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6774         (gst_registry_binary_initialize_magic),
6775         (gst_registry_binary_save_string),
6776         (gst_registry_binary_save_pad_template),
6777         (gst_registry_binary_save_feature),
6778         (gst_registry_binary_save_plugin),
6779         (gst_registry_binary_write_cache),
6780         (gst_registry_binary_check_magic),
6781         (gst_registry_binary_load_pad_template),
6782         (gst_registry_binary_load_feature),
6783         (gst_registry_binary_load_plugin),
6784         (gst_registry_binary_read_cache):
6785         * gst/gstregistrybinary.h:
6786         * gst/gstregistryxml.c: (load_feature),
6787         (gst_registry_xml_read_cache):
6788           commit binary registry (disabled by default, see #359653)
6789
6790 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6791
6792         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
6793           Fix 'make check' too.
6794
6795 2007-01-10  Andy Wingo  <wingo@pobox.com>
6796
6797         * docs/design/part-negotiation.txt: Fix a typo, add a couple
6798         notes.
6799         
6800         * docs/design/part-negotiation.txt: Update with, um, one way that
6801         pull-mode negotiation might work?
6802
6803         * gst/gstpad.h: 
6804         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
6805         that the pad must be a src pad; makes sense to call it the other
6806         way in pull mode, and the logic is symmetric anyway.
6807
6808 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
6809
6810         * plugins/elements/gstfilesink.c:
6811           Include <stdio.h> for fseeko().
6812
6813 2007-01-10  Wim Taymans  <wim@fluendo.com>
6814
6815         * gst/gstevent.c:
6816         * gst/gstevent.h:
6817         Reserve LATENCY event.
6818
6819 2007-01-09  Wim Taymans  <wim@fluendo.com>
6820
6821         * docs/design/draft-latency.txt:
6822         Updates.
6823
6824 2007-01-09  Wim Taymans  <wim@fluendo.com>
6825
6826         * docs/design/draft-latency.txt:
6827         Updates.
6828
6829         * gst/gstelement.h:
6830         * gst/gststructure.c:
6831         * gst/gsttrace.c:
6832         Small typo fixes.
6833
6834 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6835
6836         * tests/check/.cvsignore:
6837           Ignore test-registry.xml as well.
6838
6839 2007-01-09  Wim Taymans  <wim@fluendo.com>
6840
6841         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6842         unref data at the end when we are done with the pad.
6843
6844 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6845
6846         * docs/gst/gstreamer-sections.txt:
6847         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
6848         (init_post), (gst_deinit), (gst_update_registry):
6849         * gst/gst.h:
6850           API: add gst_update_registry() (#391296).
6851
6852         * tests/check/Makefile.am:
6853         * tests/check/gst/gstregistry.c:
6854         * tests/check/gst/.cvsignore:
6855           Simple unit test for the above.
6856
6857 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6858
6859         * gst/gstregistry.c: (gst_registry_scan_path_level):
6860           Plugin extension on HP-UX is .sl, add that to the list of approved
6861           plugin extensions (see #393796).
6862
6863         * tests/check/gst/gstpad.c: (GST_START_TEST):
6864           ulong => gulong. Fixes compilation with HP-UX compiler.
6865
6866         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6867           Fix compilation if valgrind headers are not available.
6868
6869 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
6870
6871         * win32/common/libgstreamer.def: 
6872           Add new exported function.
6873         * win32/vs6/libgstbase.dsp: 
6874           Add gstdataqueue.c to the build.
6875         * win32/vs6/libgstcoreelements.dsp:
6876           Add gstmultiqueue.c to the build.
6877         
6878 2007-01-06  Andy Wingo  <wingo@pobox.com>
6879
6880         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
6881         activate_pull(), providing for a way to specialize the process of
6882         spawning a thread to pull on the sink pad. There is a default
6883         implementation.
6884
6885         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
6886         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
6887         (gst_base_sink_init): Renamed pad activation functions (inserting
6888         "_pad" in their names). Refactor to use the new activate_pull
6889         vmethod, as appropriate.
6890         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
6891         default activate_pull function to start a task pulling from the
6892         sink pad, as before.
6893
6894         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
6895         on the pads if necessary, as in push()/chain(). Update docs.
6896         Shouldn't affect existing pull() usage as it is currently only
6897         being used on buffers without caps.
6898
6899 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6900
6901         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6902         (init_pre):
6903           Call g_thread_init() first thing in gst_init() / gst_check_init().
6904           When initialisation is done via gst_init_get_option_group() and
6905           GOption parsing, issue a warning if the GLib thread system has not
6906           been initialised yet by the time gst_init_get_option_group() is
6907           called, as it's quite likely other GLib functions such as
6908           g_option_context_new() have been called already then, and
6909           g_thread_init() must be called before any other GLib function. The
6910           application in question must be fixed in that case, since memory
6911           corruption might happen otherwise.
6912           We issue the warning because even if the GLib folks decide to work
6913           around the problem on their end in future, this is still an issue
6914           with all GLib versions >= 2.10.0, so we should warn until we depend
6915           on a GLib version we know to be safe.
6916           Update documentation as well.
6917           Closes bug #391278.
6918
6919 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6920
6921         * tools/gst-inspect.c: (main):
6922         * tools/gst-launch.c: (main):
6923         * tools/gst-typefind.c: (main):
6924         * tools/gst-xmlinspect.c: (main):
6925           Call g_thread_init() really really early, before any other GLib
6926           function (see #342564 and recent discussion on gtk-devel-list).
6927
6928 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6929
6930         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
6931
6932         * gst/gst_private.h:
6933         * gst/gstconfig.h.in:
6934         * gst/gstinfo.h:
6935           On win32, all the __declspec stuff for symbol exporting is
6936           apparently only needed with MSVC, but doesn't work with MingW.
6937           Fixes compilation with MingW and #391909.
6938
6939 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6940
6941         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
6942           Change some GST_ERROR_OBJECT that aren't really errors to
6943           GST_WARNING_OBJECT in order to reduce terminal spam.
6944
6945 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6946
6947         * tests/check/Makefile.am:
6948           disable test again, as there seem to be still race problems
6949
6950 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6951
6952         * tests/check/Makefile.am:
6953         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6954         (GST_START_TEST), (queue_suite):
6955           enable queue test again, add tests for the leaky behaviour
6956
6957 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
6958
6959         * configure.ac:
6960         * tests/examples/Makefile.am:
6961           Compile adapter test/example only if the required headers are
6962           available (fixes #391915).
6963
6964 2007-01-01  David Schleef  <ds@schleef.org>
6965
6966         * gst/gstplugin.c:
6967           Restore the previous signal handler for SIGSEGV instead of
6968           setting to default, since we may have stolen it away from
6969           someone.  (i.e., Mono)
6970
6971 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6972
6973         * docs/random/draft-missing-plugins.txt:
6974           Some small additions and clarifications.
6975
6976 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6977
6978         * gst/gstregistryxml.c: (gst_registry_save_escaped):
6979           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
6980           since that can lead to random memory corruptions and crashes
6981           (may or may not be related to #383244, #386711, and #386711).
6982
6983 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6984
6985         * tests/check/.cvsignore:
6986         * tests/check/Makefile.am:
6987           sync .cvsignome and CLEANFILES
6988
6989 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6990
6991         * tests/check/Makefile.am:
6992           fix distcheck
6993
6994 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6995
6996         * docs/design/part-states.txt:
6997           two tiny additional comments
6998         
6999         * gst/gststructure.c:
7000           doc fixing
7001
7002         * tests/check/Makefile.am:
7003         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7004         (GST_START_TEST):
7005           disable test for now, unless it gets fixed
7006
7007 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7008
7009         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7010         (GST_START_TEST):
7011           fix race in underrun test
7012
7013 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7014
7015         * tests/check/elements/.cvsignore:
7016           ignore more
7017
7018         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7019         (GST_START_TEST):
7020           try to narrow test failure
7021
7022 2006-12-21  David Schleef  <ds@schleef.org>
7023
7024         * plugins/elements/gstfakesrc.c:
7025           Use g_random_int_range(), since it produces better random
7026           numbers in a range than almost-correct floating point code.
7027
7028 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7029
7030         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7031         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7032         (gst_check_teardown_sink_pad):
7033           do not automatically (de)activate pads
7034
7035         * tests/check/Makefile.am:
7036         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7037         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
7038           add new, yet simple tests for queue
7039
7040         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
7041         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
7042         * tests/check/elements/filesrc.c: (cleanup_filesrc),
7043         (GST_START_TEST):
7044         * tests/check/elements/identity.c: (cleanup_identity):
7045           consistent pad (de)activation
7046
7047 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
7048
7049         Patch by: Sebastian Dröge  <slomo ubuntu com>
7050
7051         * libs/gst/base/gstcollectpads.c:
7052           Fix two doc typos (#387866).
7053
7054 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7055
7056         * docs/manual/advanced-dparams.xml:
7057           Fix typo (g_object_control_properties() doesn't exist).
7058
7059 2006-12-19  Edward Hervey  <edward@fluendo.com>
7060
7061         * gst/gstsegment.c: (gst_segment_set_seek):
7062         Fine tune the cases where the segment start/stop values are really
7063         updated.
7064         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7065         Add tests for the return values of gst_segment_set_seek().
7066
7067 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7068
7069         * gst/gst.c:
7070           Docs typo fix.
7071
7072         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7073         (gst_queue_init):
7074           Fix incorrect documentation and flesh it out a bit more.
7075           Set default values for the max properties on the GParamSpec as well,
7076           so it shows up correctly in gst-inspect.
7077
7078 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
7079
7080         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7081           Correct docs of queue, add more detail and crosslink it more.
7082
7083 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7084
7085         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7086           Print additional debug info when the stream isn't perfectly
7087           timestamped; don't try to use invalid durations.
7088
7089 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7090
7091         * docs/design/Makefile.am:
7092           Dist new design docs.
7093
7094 2006-12-16  Wim Taymans  <wim@fluendo.com>
7095
7096         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7097
7098         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
7099         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7100         (gst_collect_pads_stop), (gst_collect_pads_event),
7101         (gst_collect_pads_chain):
7102         * libs/gst/base/gstcollectpads.h:
7103         Add refcounting to the collectpads data so we can track when it's safe
7104         to free the data. Fixes #383382.
7105
7106 2006-12-15  Wim Taymans  <wim@fluendo.com>
7107
7108         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7109         (gst_collect_pads_remove_pad):
7110         Automatically activate/deactivate pads when they are added to a
7111         started/stoped collectpads.
7112
7113 2006-12-15  Wim Taymans  <wim@fluendo.com>
7114
7115         * gst/gstelement.c: (gst_element_add_pad):
7116         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7117         * gst/gstpad.c: (gst_pad_init):
7118         Set pads to FLUSHING when they are created. Check, warn and fix when a
7119         demuxer adds an inactive pad to itself when running. Fixes #339326.
7120
7121 2006-12-15  Wim Taymans  <wim@fluendo.com>
7122
7123         * gst/gstelement.c: (gst_element_class_init),
7124         (gst_element_default_send_event), (gst_element_send_event),
7125         (gst_element_default_query), (gst_element_query):
7126         Expose default element send_event and query handling as vmethods that
7127         subclasses can chain up to.
7128
7129 2006-12-15  Wim Taymans  <wim@fluendo.com>
7130
7131         * gst/gstelement.c: (gst_element_set_state_func):
7132         Small documentation fixes.
7133
7134 2006-12-15  Wim Taymans  <wim@fluendo.com>
7135
7136         * docs/design/draft-latency.txt:
7137         Checked in draft for handling latency in pipelines.
7138
7139 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7140
7141         * Makefile.am:
7142         * gstreamer.doap:
7143         * gstreamer.spec.in:
7144           adding .doap file
7145
7146 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
7147
7148         * gst/gst.c: (init_pre), (init_post):
7149           init_pre() and init_post() might be called via our GOptionGroup or
7150           from gst_init(), and we should skip both of them if we've already
7151           been initialised, otherwise we will init some things twice or add
7152           two default log functions.
7153
7154 2006-12-13  Edward Hervey  <edward@fluendo.com>
7155
7156         * docs/manual/basics-bus.xml:
7157         No, gst_main_loop does not exist. Its g_main_loop.
7158         Discovered by somebody who abused the copy-paste technique of coding :)
7159
7160 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
7161
7162         * gst/gstghostpad.c:
7163           Log ghostpad debug stuff to the GST_PADS category as well rather
7164           than just to the default category.
7165
7166 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
7167
7168         * configure.ac:
7169         * gst/gst.c: (init_pre):
7170           Add some basic system details such as OS and architecture
7171           to the debug output if possible, courtesy of uname().
7172
7173 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7174
7175         * docs/gst/running.xml:
7176           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
7177           environment variables.
7178
7179 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7180
7181         * tests/check/gst/gstbin.c: (GST_START_TEST):
7182         It is acceptable to have a refcount of 2 or 3 at this point in the
7183         test, because the pipeline might be just posting its state_change
7184         message. The next line then waits for that message to appear using
7185         bus_poll, so that should be fine too.
7186
7187 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7188
7189         * gst/gst.c: (ensure_current_registry_forking):
7190         Ignore EINTR when reading from the child registry pipe.
7191         Explicitly ignore the return value from close, since it makes no
7192         difference.
7193
7194         * gst/gstminiobject.c: (gst_mini_object_ref),
7195         (gst_mini_object_unref):
7196         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
7197
7198         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
7199         When removing cached plugins, remove their features too, so they're
7200         not visible after they've disappeared.
7201
7202         * gst/gstutils.c: (prepare_link_maybe_ghosting):
7203         In the unlikely case that we are linking pads with no parents, don't
7204         crash trying to get the non-existent parent bin.
7205
7206         * gst/parse/grammar.y:
7207         Output debug in the PIPELINE category
7208
7209 2005-03-08  Wim Taymans  <wim@fluendo.com>
7210
7211         Patch by: René Stadler <mail at renestadler dot de>
7212
7213         * gst/gstclock.c: (gst_clock_new_periodic_id):
7214         Reject invalid clock times for interval of periodic ids.
7215         Fixes ##383506.
7216
7217 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7218
7219         * gst/gstelementfactory.c: (gst_element_factory_create):
7220         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7221         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7222         * tools/gst-inspect.c: (print_element_info):
7223         Fix refcounting of gst_plugin_feature_load to match the docs. 
7224         Fixes: #380129
7225
7226 2006-12-07  Wim Taymans  <wim@fluendo.com>
7227
7228         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
7229         (gst_base_sink_get_position):
7230         Improve debugging of events.
7231
7232 2006-12-07  Wim Taymans  <wim@fluendo.com>
7233
7234         Patch by: René Stadler <mail at renestadler dot de>
7235
7236         * gst/gstclock.c: (gst_clock_id_wait):
7237         Make period ids add the interval to the origial requested time instead
7238         of the possibly updated time which can be wrong when there are multiple
7239         waiters for the same id. Fixes #382592.
7240
7241         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
7242         (gst_system_clock_id_wait_jitter_unlocked),
7243         (gst_system_clock_id_wait_jitter):
7244         Fix restart in the async notify thread when an async entry is added to
7245         the front of the list. Fixes #381492. 
7246
7247         * tests/check/gst/gstsystemclock.c: (store_callback),
7248         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
7249         Added test for multiple async waits.
7250         Added test for async wait order.
7251
7252 2006-12-07  Wim Taymans  <wim@fluendo.com>
7253
7254         * gst/gstbin.c: (gst_bin_query):
7255         Add some more docs about the POSITION query.
7256
7257 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7258
7259         * configure.ac:
7260         Bump version nano - back to CVS.
7261
7262 === release 0.10.11 ===
7263
7264 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
7265
7266         * configure.ac:
7267           releasing 0.10.11, "Love never runs on time"
7268
7269 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
7270
7271         * win32/common/libgstbase.def:
7272         * win32/common/libgstreamer.def:
7273         * win32/vs8/libgstbase.vcproj:
7274         * win32/vs8/libgstcoreelements.vcproj:
7275         * win32/vs8/libgstreamer.vcproj:
7276         Fix compilation on win32 under VS8
7277         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7278         Partially fixes #381175
7279
7280 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7281
7282         * gst/gstvalue.c: (gst_value_compare_fraction):
7283         If someone is foolish enough to compare 2 fractions with denominator =
7284         0, return UNORDERED rather than aborting.
7285
7286 2006-11-28  Edward Hervey  <edward@fluendo.com>
7287
7288         * libs/gst/base/Makefile.am:
7289         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
7290         (gst_data_queue_base_init), (gst_data_queue_class_init),
7291         (gst_data_queue_init), (gst_data_queue_new),
7292         (gst_data_queue_cleanup), (gst_data_queue_finalize),
7293         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
7294         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
7295         (gst_data_queue_is_empty), (gst_data_queue_is_full),
7296         (gst_data_queue_set_flushing), (gst_data_queue_push),
7297         (gst_data_queue_pop), (gst_data_queue_drop_head),
7298         (gst_data_queue_set_property), (gst_data_queue_get_property):
7299         * libs/gst/base/gstdataqueue.h:
7300         New GstDataQueue object for threadsafe queueing. Most useful for
7301         elements that need some queueing functionnality.
7302         * docs/libs/gstreamer-libs-docs.sgml:
7303         * docs/libs/gstreamer-libs-sections.txt:
7304         Insert documentation for GstDataQueue
7305         * plugins/elements/Makefile.am:
7306         * plugins/elements/gstelements.c:
7307         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
7308         (gst_multi_queue_class_init), (gst_multi_queue_init),
7309         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7310         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
7311         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
7312         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7313         (gst_multi_queue_loop), (gst_multi_queue_chain),
7314         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7315         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
7316         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
7317         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
7318         (wake_up_next_non_linked), (compute_next_non_linked),
7319         (single_queue_overrun_cb), (single_queue_underrun_cb),
7320         (single_queue_check_full), (gst_single_queue_new):
7321         * plugins/elements/gstmultiqueue.h:
7322         New multiqueue element, using GstDataQueue. Used for queuing multiple
7323         streams.
7324         Closes #344639 and #347785
7325
7326 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
7327
7328         * docs/pwg/advanced-types.xml:
7329           add more missing type details
7330
7331         * tools/gst-run.c: (main):
7332           remove unused variable
7333
7334 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
7335
7336         * docs/libs/Makefile.am:
7337         * docs/libs/gstreamer-libs.types:
7338           add types of base classes to enable gobject specific stuff in the docs
7339
7340         * docs/random/ensonic/embedded.txt:
7341           more ideas about isolating platform specific things
7342
7343 2006-11-20  Wim Taymans  <wim@fluendo.com>
7344
7345         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
7346
7347         * libs/gst/check/gstcheck.h:
7348         Fix compilation and running against 0.9.4. Fixes #377332.
7349
7350 2006-11-20  Wim Taymans  <wim@fluendo.com>
7351
7352         * gst/gstsegment.c: (gst_segment_set_seek),
7353         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7354         (gst_segment_to_running_time):
7355         Fix boundary checking in to_running_time() and to_stream_time().
7356         Fixes #377183.
7357
7358         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7359         stream and running time can now be calculated for the complete
7360         clipped segment.
7361
7362 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
7363
7364         * gst/gstpad.c: (gst_pad_push_event):
7365           Can't access event structure after giving away ownership of
7366           the event.
7367
7368 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
7369
7370         * docs/random/ensonic/embedded.txt:
7371         * docs/random/ensonic/profiling.txt:
7372         * docs/random/ensonic/receipies.txt:
7373           more thinking
7374
7375 2006-11-13  Wim Taymans  <wim@fluendo.com>
7376
7377         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7378
7379         * gst/gstpad.c:
7380         Fix documentation for gst_pad_dispatcher. Fixes #374475.
7381
7382 2006-11-13  Wim Taymans  <wim@fluendo.com>
7383
7384         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7385
7386         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7387         Store new length in segment duration so we don't keep on calling the
7388         potentially expensize get_size() call. Fixes #370865.
7389
7390 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
7391
7392         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
7393
7394         * win32/common/libgstreamer.def:
7395           Add two missing symbols (#366492).
7396
7397 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
7398
7399         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7400         (gst_adapter_take_buffer):
7401         Fix format string to use all its arguments.
7402         Remove useless >= check on a guint
7403
7404 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7405
7406         * tests/examples/adapter/.cvsignore:
7407         Ignore build file as commanded by the build-bot
7408
7409 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7410
7411         * tests/examples/adapter/Makefile.am:
7412         * tests/examples/adapter/adapter_test.c: (run_test_take),
7413         (run_test_take_buffer), (run_tests), (main):
7414
7415         Add new files from the previous commit
7416
7417 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7418
7419         * Makefile.am:
7420         * configure.ac:
7421         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7422         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7423         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7424         * libs/gst/base/gstadapter.h:
7425         * tests/check/libs/adapter.c: (create_and_fill_adapter),
7426         (GST_START_TEST), (gst_adapter_suite):
7427         * tests/examples/Makefile.am:
7428         Do some optimisation work in GstAdapter to avoid copies in more cases.
7429         It could still do slightly better by merging buffers when
7430         gst_buffer_is_span_fast is true, but is already faster. 
7431
7432         Also, avoid traversing a single-linked list to append each incoming 
7433         buffer inside the adapter.
7434
7435         Add simple test app that times the adapter behaviour in different
7436         situations, and extend the unit test to check that bytes enter and
7437         exit the adapter in their original order.
7438
7439 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7440
7441         * docs/random/draft-missing-plugins.txt:
7442           Update: use element message instead of adding a new message
7443           type to the core; don't provide GStreamer API to initiate the
7444           plugin download, just provide API to compose the strings needed
7445           and let an external libgimmestuff handle the rest.
7446
7447 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
7448
7449         * tools/gst-inspect.c: (print_element_properties_info):
7450         Print a string instead of 'unknown type' for GValueArray properties
7451
7452 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
7453
7454         * docs/random/draft-missing-plugins.txt:
7455         More small fixes.
7456
7457 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7458
7459         * tests/examples/typefind/typefind.c: (type_found), (main):
7460           Make typefind element example work again (#371894); add a
7461           license header.
7462
7463 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7464
7465         * docs/random/draft-missing-plugins.txt:
7466           Commit initial draft about how to deal with missing plugins,
7467           needs work (API too).
7468
7469 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
7470
7471         * docs/pwg/advanced-types.xml:
7472           documents the new caps elements (see #363118)
7473
7474 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7475
7476         * gst/gstplugin.c: (gst_plugin_load_file):
7477         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7478         (gst_file_src_map_region), (gst_file_src_start):
7479         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7480         (gst_file_index_commit):
7481           Use g_strerror() instead of strerror() - we want UTF-8.
7482
7483 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7484
7485         Patch by: Peter Kjellerstedt <pkj at axis com>
7486
7487         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7488           Another printf fix (#371493).
7489
7490 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7491
7492         * tests/check/gst/gsttag.c:
7493           relicence (okay with author=company)
7494
7495 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7496
7497         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7498         (gst_pad_push_event):
7499           Enhance debug and improve docs
7500         
7501         * gst/gsturi.c:
7502           Fix docs
7503
7504 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7505
7506         * docs/random/ensonic/distributed.txt:
7507         * docs/random/ensonic/profiling.txt:
7508           more ideas
7509
7510 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7511
7512         * docs/gst/gstreamer-sections.txt:
7513           add new API and fix the build
7514           
7515         * gst/gstbin.c: (gst_bin_recalc_state):
7516         * gst/gstelement.c: (gst_element_message_full),
7517         (gst_element_get_state_func), (gst_element_set_state_func):
7518           use new API and improve logging
7519         
7520         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7521         * gst/gstutils.h:
7522           API: add function to get StateChangereturn names to improve logs 
7523
7524 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7525
7526         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7527           I'm considering shooting the next person to put strerror stuff
7528           in the translateable part of the message.
7529
7530 2006-11-03  Wim Taymans  <wim@fluendo.com>
7531
7532         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7533         Get the type and printf conversion specifiers right.
7534
7535 2006-11-03  Wim Taymans  <wim@fluendo.com>
7536
7537         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7538
7539         * gst/gstpad.c: (gst_pad_init), (pre_activate),
7540         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7541         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7542         Some small cleanups. Improve debugging.
7543         * gst/gstpad.h:
7544         Signal all waiting threads with a broadcast instead of just one.
7545         Fixes #369942.
7546
7547 2006-11-03  Wim Taymans  <wim@fluendo.com>
7548
7549         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7550         (gst_fd_src_create):
7551         Add some debugging. 
7552         Only update fd when it's different from the old.
7553
7554 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7555
7556         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7557           Printf fixes for PPC/OSX, take two (#369366).
7558
7559 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7560
7561         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
7562
7563         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7564         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7565         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7566           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7567           don't cast to long long for portability reasons, but use
7568           GLib's types instead.
7569
7570 2006-10-30  Michael Smith  <msmith@fluendo.com>
7571
7572         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7573           Get the arguments to lseek() the right way around.
7574           Fixes 367677.
7575
7576 2006-10-30  Wim Taymans  <wim@fluendo.com>
7577
7578         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7579
7580         * gst/gstinfo.h:
7581         _declspec should be __declspec (two underscores, not one). Fixes 366572.
7582
7583 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7584
7585         Patch by: Kjartan Maraas  <kmaraas at gnome org>
7586
7587         * docs/design/part-MT-refcounting.txt:
7588         * docs/random/wtay/capsnego2-docs:
7589         * gst/gstclock.c:
7590         * gst/gstxml.c:
7591           Typo fixes (#366212).
7592
7593 2006-10-28  Wim Taymans  <wim@fluendo.com>
7594
7595         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7596
7597         * gst/gst.c:
7598         * win32/common/libgstbase.def:
7599         * win32/common/libgstreamer.def:
7600         * win32/vs8/libgstbase.vcproj:
7601         * win32/vs8/libgstcontroller.vcproj:
7602         Add needed entries in .def files.
7603         Use HAVE_UNISTD_H.
7604         Rearrange def files in vs8 solutions. Fixes #366286.
7605
7606 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7607
7608         * win32/common/gstconfig.h:
7609           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7610           hand-made win32 gstconfig.h. Fixes #366321.
7611
7612 2006-10-27  Wim Taymans  <wim@fluendo.com>
7613
7614         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7615         (gst_ghost_pad_new_full):
7616         Make acceptcaps return TRUE when we don't have a target, just like
7617         setcaps does.
7618
7619 2006-10-27  Wim Taymans  <wim@fluendo.com>
7620
7621         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7622         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7623
7624 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
7625
7626         * gst/gststructure.c: (gst_structure_id_set_value):
7627           If someone tries to set a non-UTF8 string field on a structure,
7628           don't just print a warning, but also ignore the request and do
7629           not change/add that field to the structure.
7630
7631         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7632           Test for the above.
7633
7634 2006-10-25  David Schleef  <ds@schleef.org>
7635
7636         * gst/gstinfo.c:
7637           g_hash_table_insert() needs a cast to a non-const pointer duh.
7638
7639 2006-10-25  David Schleef  <ds@schleef.org>
7640
7641         * gst/gstinfo.c:
7642         * gst/gstinfo.h:
7643           Change name parameter of _gst_debug_register_funcptr to const
7644           to reflect the constness of its use in the function as well
7645           as to quiet a gcc warning.
7646
7647 2006-10-25  Edward Hervey  <edward@fluendo.com>
7648
7649         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7650         Don't push the buffer if it's empty.
7651         Closes #363095
7652
7653 2006-10-24  Wim Taymans  <wim@fluendo.com>
7654
7655         * gst/gstevent.h:
7656         Add small comment.
7657
7658         * libs/gst/base/gstbasetransform.c:
7659         (gst_base_transform_sink_eventfunc):
7660         Debug segment values *after* updating them as this is more
7661         interesting.
7662
7663 2006-10-23  Wim Taymans  <wim@fluendo.com>
7664
7665         * docs/design/part-events.txt:
7666         Update some docs.
7667
7668         * docs/design/part-block.txt:
7669         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7670         (gst_pad_push_event):
7671         Revert BLOCKING patch, it tries to be smart without really having a
7672         clear idea what or how. So, now we discard all FLUSHING events again on
7673         a blocking pad. Should fix gnonlin again.
7674
7675 2006-10-23  Wim Taymans  <wim@fluendo.com>
7676
7677         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7678
7679         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7680         (gst_base_src_start), (gst_base_src_activate_push):
7681         Make sure size is always initialized. Fixes #364388.
7682
7683 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
7684
7685         * docs/random/ensonic/distributed.txt:
7686           add some ideas about doing distributed processing
7687
7688         * docs/random/ensonic/profiling.txt:
7689           get_rusage look promising
7690
7691 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7692
7693         * docs/manual/basics-helloworld.xml:
7694           Add a cast in example to fix compile warning
7695
7696 2006-10-18  Wim Taymans  <wim@fluendo.com>
7697
7698         * gst/gstsegment.c: (gst_segment_set_last_stop),
7699         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7700         Relax arg checking again, -1 is allowed.
7701
7702 2006-10-18  Wim Taymans  <wim@fluendo.com>
7703
7704         * gst/gstsegment.c: (gst_segment_set_last_stop),
7705         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7706         _set_last_stop() must be with a value != -1
7707         A _TYPE_SET to -1 means seek to 0.
7708         Calc last_stop correctly for negative rates.
7709         Make sure we work with positive durations when updating a segment.
7710
7711 2006-10-18  Wim Taymans  <wim@fluendo.com>
7712
7713         * docs/design/part-live-source.txt:
7714         * gst/gstclock.h:
7715         Small docs fixes.
7716
7717 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
7718
7719         * gst/gstbuffer.h:
7720           Add an explicit cast to GstBuffer** to keep old code that added an
7721           explicit cast to GstMiniObject** for gst_mini_object_replace()
7722           compiling without warning.
7723
7724 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7725
7726         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
7727           check for validity of dates
7728
7729 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7730
7731         * docs/gst/gstreamer-sections.txt:
7732           Forgot this one, makes gtk-doc shut up.
7733
7734 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7735
7736         Patch by: Peter Kjellerstedt <pkj at axis com>
7737
7738         * gst/gstobject.h:
7739           Don't define xmlNodePtr to gpointer if the core was built with
7740           --disable-loadsave and --disable-registry, this will break
7741           applications that want to use libxml2 but are buildling against a
7742           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
7743           instead so we don't have to mess with the libxml2 namespace
7744           (#361675).
7745
7746 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7747
7748         * gst/gstbuffer.h:
7749           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
7750           type-punned pointer warnings.
7751
7752 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
7753
7754         * gst/gstelement.h:
7755           Add casts to the correct return type to state <=> state transition
7756           macros.
7757
7758 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
7759
7760         * docs/design/part-live-source.txt:
7761           describe howto handle latency
7762         
7763         * docs/random/ensonic/profiling.txt:
7764           more ideas
7765
7766         * tools/gst-plot-timeline.py:
7767           fix log parsing for solaris, remove unused function
7768
7769 2006-10-16  Wim Taymans  <wim@fluendo.com>
7770
7771         * docs/design/part-trickmodes.txt:
7772         * gst/gstevent.c:
7773         Update some docs regarding reverse playback.
7774
7775 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7776
7777         Patch by: Marcus Granado  <mrc dot gran at gmail com>
7778
7779         * win32/vs8/grammar.vcproj:
7780           Error out with a warning if glib-genmarshal.exe is not in path,
7781           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
7782
7783 2006-10-13  Wim Taymans  <wim@fluendo.com>
7784
7785         * gst/gstsegment.c: (gst_segment_set_seek):
7786         When seeking to stop -1, set last_stop (current position) to the
7787         duration of the segment.
7788
7789 2006-10-13  Wim Taymans  <wim@fluendo.com>
7790
7791         * gst/gstelement.h:
7792         Clarify _NO_PREROLL a bit more.
7793
7794         * gst/gstevent.c:
7795         Fix docs.
7796
7797         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
7798         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
7799         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
7800         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
7801         due to wrong locking order. Fixes #361769.
7802         Remove some redundant/misplaced checks in pad_block.
7803
7804         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7805         For negative rates, count backwards from the duration.
7806
7807 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7808
7809         * gst/gsterror.c: (_gst_library_errors_init):
7810           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
7811           up with something better).
7812
7813 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7814
7815         * win32/vs6/libgstreamer.dsp:
7816         * win32/vs7/libgstreamer.vcproj:
7817         * win32/vs8/libgstreamer.vcproj:
7818           Don't reference glib-compat.c which is currently not used and not
7819           disted; add gstquark.c which was recently added. Fixes #361730.
7820
7821 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7822
7823         * win32/common/libgstbase.def:
7824         * win32/common/libgstcontroller.def:
7825         * win32/common/libgstreamer.def:
7826           Add gst_caps_merge() and a bunch of other recently-added functions.
7827           Fixes #361732.
7828
7829 2006-10-11  Wim Taymans  <wim@fluendo.com>
7830
7831         * docs/plugins/gstreamer-plugins.args:
7832         * docs/plugins/inspect/plugin-coreelements.xml:
7833         * docs/plugins/inspect/plugin-coreindexers.xml:
7834         Update element args.
7835
7836         * gst/gstsystemclock.c:
7837         Small comment update.
7838
7839         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7840         (gst_tee_request_new_pad), (gst_tee_release_pad),
7841         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
7842         (gst_tee_sink_activate_pull):
7843         * plugins/elements/gsttee.h:
7844         Some tee loving:
7845         Add default property defines.
7846         Implement release pad function.
7847         Give properties better blubs etc.
7848         Activate pads before adding them to a running tee.
7849         Do simple buffer_alloc on the first requested pad.
7850         Post error when activation fails.
7851
7852 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7853
7854         * gst/gst.c: (ensure_current_registry_forking):
7855           Check return value of write() to make compiler happy.
7856
7857 2006-10-11  Wim Taymans  <wim@fluendo.com>
7858
7859         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7860
7861         * plugins/elements/gstqueue.c: (gst_queue_chain):
7862         Recheck queue filledness after signalling the overrun when we're about
7863         to leak downstream because we released the lock when emitting the signal
7864         and the queue could be empty again. Fixes #352345.
7865
7866 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7867
7868         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
7869           Fix refcounting here too, just like we did for _new_valist() a few
7870           days ago (#357180) (thanks to René Stadler). Also remove all those
7871           'Since: 0.9' from the gtk-doc blobs.
7872
7873         * tests/check/libs/controller.c: (controller_refcount_new_list),
7874         (gst_controller_suite):
7875           Unit test for the above.
7876
7877 2006-10-10  Wim Taymans  <wim@fluendo.com>
7878
7879         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
7880
7881         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7882         (gst_pad_save_thyself):
7883         Update some docs.
7884         Write pad direction in XML output. Fixes #345496.
7885
7886 2006-10-10  Wim Taymans  <wim@fluendo.com>
7887
7888         Patch by: René Stadler <mail at renestadler dot de>
7889
7890         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7891         (gst_controller_new_list), (_gst_controller_dispose),
7892         (_gst_controller_finalize), (_gst_controller_class_init):
7893         Take ref to controlled object so that it cannot disappear. 
7894         Fixes #357432.
7895
7896 2006-10-10  Wim Taymans  <wim@fluendo.com>
7897
7898         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7899         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7900         (gst_check_teardown_sink_pad):
7901         Activate/deactivate pads in setup/teardown respectively.
7902
7903 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7904
7905         Patch by: Josep Torra Valles <josep@fluendo.com>
7906
7907         * gst/Makefile.am:
7908         Cast values when making gstenumtypes.h.  This pacifies Forte
7909         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
7910         in the enumeration.
7911
7912 2006-10-09  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
7915         Rename some more @cur to @start to fix docs. 
7916
7917         * gst/gstsegment.c: (gst_segment_set_seek):
7918         Fix typo.
7919         time and start must always stay in sync as defined in design doc.
7920
7921         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7922         Rename param to fix docs.
7923
7924         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7925         Check that start and time are in sync.
7926
7927         * tests/check/pipelines/parse-launch.c:
7928         (gst_parse_test_element_change_state):
7929         Activate pad before adding to the element.
7930
7931 2006-10-09  Wim Taymans  <wim@fluendo.com>
7932
7933         * docs/design/part-qos.txt:
7934         Fix typo.
7935
7936         * gst/gstevent.c:
7937         * gst/gstevent.h:
7938         Update seek event docs regarding negative rates.
7939         Rename @cur to @start. 
7940
7941         * gst/gstsegment.c: (gst_segment_set_seek):
7942         * gst/gstsegment.h:
7943         Update set_seek docs regarding negative rates.
7944         Correctly update last_stop to @stop when dealing with negative
7945         rates.
7946         Rename @cur to @start. 
7947
7948         * tests/check/gst/gstpad.c: (GST_START_TEST):
7949         Activate pads before trying to use them.
7950
7951         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7952         (gst_segment_suite):
7953         Add simple check for segments and negative rates.
7954
7955 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7956
7957         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7958         * gst/gsttaglist.h:
7959         * docs/gst/gstreamer-sections.txt:
7960           API: add gst_tag_list_is_empty() (#360467).
7961
7962         * tests/check/gst/gsttag.c: (GST_START_TEST):
7963           And a test case.
7964
7965 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7966
7967         * gst/gstmessage.h:
7968         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
7969         a value that doesn't fit on enumeration.
7970
7971 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7972
7973         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7974         Remove local debugging system and use Gstreamer's instead.
7975
7976 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7977
7978         Patch by: Josep Torra Valles <josep@fluendo.com>
7979
7980         * common/m4/gst-error.m4:
7981         Disable warning of statement not reached on Forte.
7982         * gst/gstmessage.h:
7983         Fix warning on Forte (value doesn't fit on enumeration).
7984         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
7985         Fix warning on Forte (value doesn't fit on enumeration).
7986         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7987         DEBUG macro says it takes minimum of 2 args and so Forte
7988         complains about the use with just 1 arg.
7989         * plugins/elements/gstfdsink.c:
7990         * plugins/elements/gstfdsrc.c:
7991         * plugins/elements/gstfilesink.c:
7992         * plugins/elements/gstfilesrc.c:
7993         Use correct return type for the uri handler implementations.
7994
7995         All these fix warnings in Forte.  Fixes bug #360860.
7996
7997 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7998
7999         * gst/gstelement.h:
8000           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
8001           format string, so don't use G_GNUC_PRINTF for those versions.
8002
8003 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8004
8005         * gst/gsttaglist.c: (gst_is_tag_list):
8006         * gst/gsttaglist.h:
8007           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
8008
8009         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8010           Small test for the above.
8011
8012 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8013
8014         * gst/gsttaglist.h:
8015           Less tabs, more spaces.
8016
8017 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
8018
8019         * gst/gstinfo.h:
8020           Those two function declarations do actually belong there, revert
8021           commit from yesterday that turned them intro macros.
8022
8023 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8024
8025         Patch by: Josep Torra Valles <josep@fluendo.com>
8026
8027         * gst/gst.c: (gst_init_get_option_group):
8028         Fix empty declaration and type mismatch.
8029         * gst/gstbin.c: (gst_bin_change_state_func):
8030         Fix type mismatch.
8031         * gst/gstelement.c: (gst_element_continue_state),
8032         (gst_element_set_state_func), (gst_element_change_state),
8033         (gst_element_change_state_func):
8034         Fix type mismatches.
8035         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
8036         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
8037         Cast as appropriate.
8038         * gst/gstobject.c: (gst_class_signal_connect):
8039         Cast as appropriate.  The function pointer parameter really
8040         has the wrong type but would break API if we change it.
8041         * gst/gstquery.c:
8042         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
8043         order of including string.h.
8044         * gst/gstutils.c: (gst_element_state_get_name):
8045         Remove unreachable line.
8046         * gst/gstxml.c: (gst_xml_parse_doc):
8047         Fix type mismatch.
8048         All these caught by Forte.
8049
8050 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8051
8052         Patch by: Josep Torra Valles <josep@fluendo.com>
8053
8054         * common/m4/gst-error.m4:
8055         Fixed bug #360151.
8056         We need to disable warnings on Forte for empty declarations
8057         due to gst-indent adding ;s to lines that just use macros
8058         where the macro actually doesn't need a ; at end to end
8059         statement.
8060
8061 2006-10-06  Wim Taymans  <wim@fluendo.com>
8062
8063         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8064         (gst_file_sink_close_file), (gst_file_sink_event),
8065         (gst_file_sink_render):
8066         Add some FIXME for the NEWSEGMENT handling.
8067
8068 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8069
8070         * gst/parse/grammar.y:
8071         Remove static function gst_parse_element_lock as all it does
8072         is return.  Looks like cruft from 0.8.
8073
8074 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8075
8076         Patch by: Josep Torra Valles <josep@fluendo.com>
8077
8078         * common/m4/gst-error.m4:
8079         * configure.ac:
8080         * libs/gst/net/Makefile.am:
8081         Fix a compilation issue with Forte on Solaris.  inet_aton is in
8082         libresolv.
8083
8084 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8085
8086         * gst/gstpad.c: (pre_activate):
8087         * gst/gstregistry.c: (gst_registry_scan_path_level):
8088         * gst/gstregistryxml.c: (load_plugin):
8089         * libs/gst/controller/gstcontroller.c:
8090         (gst_controlled_property_set_interpolation_mode):
8091         * libs/gst/dataprotocol/dataprotocol.c:
8092         (gst_dp_packet_from_event_1_0):
8093         * libs/gst/net/gstnetclientclock.c:
8094         (gst_net_client_clock_observe_times):
8095         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8096           Printf fixes.
8097
8098 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8099
8100         * configure.ac:
8101         * docs/gst/gstreamer-sections.txt:
8102         * gst/gstconfig.h.in:
8103         * gst/gstelement.h:
8104         * gst/gstinfo.h:
8105           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
8106           whether we can use G_GNUC_PRINTF in other header files and at
8107           least check the printf format/arguments of debug messages and
8108           GST_ELEMENT_ERROR messages when the printf extension is not
8109           being used.
8110           Replace more tabs with spaces in gstinfo.h and remove two spurious
8111           function declarations in GST_DISABLE_DEBUG part with macros.
8112
8113 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
8114
8115         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
8116           More docs for the sync-message signal (mention that it is not
8117           emitted by default); log message structures of messages posted on
8118           the bus as well.
8119
8120 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
8121
8122         * gst/gst.c: (ensure_current_registry_forking):
8123         Use a pipe pair to receive status results from the forked child, and
8124         ignore the result from waitpid. Fixes #355499
8125
8126 2006-10-02  Wim Taymans  <wim@fluendo.com>
8127
8128         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8129         (gst_ghost_pad_suite):
8130         Fix leak in check.
8131
8132 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8133
8134         * gst/gstpad.c:
8135           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
8136
8137 2006-10-02  Edward Hervey  <edward@fluendo.com>
8138
8139         * docs/design/part-block.txt:
8140         Further explain the use of flushing on blocked pads.
8141         * docs/gst/gstreamer-sections.txt:
8142         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8143         (gst_pad_push_event):
8144         * gst/gstpad.h:
8145         Added new GstPadFlag : GST_PAD_BLOCKING.
8146         Adds the notion of pads really blocking, which enables to properly
8147         handle FLUSH_START/FLUSH_STOP events on blocked pads.
8148         Fixes #358999
8149         API: gst_pad_is_blocking()
8150         API: GST_PAD_IS_BLOCKING() macro
8151         API: GST_PAD_BLOCKING GstPadFlag
8152         
8153 2006-10-02  Wim Taymans  <wim@fluendo.com>
8154
8155         Patch by: mrcgran <mrc.gran at gmail dot com>
8156
8157         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
8158         Filter the proxied caps against the padtemplate if we have one.
8159
8160         * gst/gstquery.c: (gst_query_new_segment):
8161         Add include for gstinfo.h so that compilation with
8162         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
8163
8164 2006-10-02  Wim Taymans  <wim@fluendo.com>
8165
8166         Patch by: Alessandro Decina  <alessandro at nnva org>
8167
8168         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
8169         (gst_file_sink_set_location), (gst_file_sink_open_file),
8170         (gst_file_sink_close_file), (gst_file_sink_event),
8171         (gst_file_sink_render):
8172         Set file to NULL when closing filesink so that we can set a new filename
8173         in READY. Fixes #358613.
8174
8175 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8176
8177         Patch by: Alessandro Decina  <alessandro at nnva org>
8178
8179         * gst/gstevent.c: (_gst_event_copy):
8180           Fix gst_mini_object_make_writable() and gst_event_copy() for events
8181           with event structures by setting the parent refcount address of the
8182           copied structure to the address of the refcount member of the newly
8183           copied event rather than the address of the refcount member of the
8184           original event. Fixes #358737.
8185
8186         * tests/check/gst/gstevent.c: (GST_START_TEST):
8187           Unit test for the above.
8188
8189 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
8190
8191         * docs/design/Makefile.am:
8192           Dist some more files.
8193
8194 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8195
8196         * tests/check/libs/controller.c: (GST_START_TEST),
8197         (gst_controller_suite):
8198           Add test for the previous fix; add some more tests
8199           for correct refcounting behaviour; fix a few leaks
8200           in test cases; call gst_controller_init() at start
8201           of all tests.
8202
8203 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8204
8205         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8206         (gst_controller_set_from_list):
8207           Don't g_return_val_if_fail() on timed values with invalid timestamps
8208           inside a critical section without unlocking the mutex. Spotted by
8209           René Stadler. (#357617)
8210           Also, fix up refcounting properly: when returning an existing
8211           controller, we should increase the reference only once and not
8212           once per property and when trying to control a property again
8213           we should also increase the refcount.
8214
8215 2006-09-29  Wim Taymans  <wim@fluendo.com>
8216
8217         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8218         * libs/gst/net/gstnettimeprovider.c:
8219         (gst_net_time_provider_thread):
8220         Stop reading commands when EOF as well.
8221
8222         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8223         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8224         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8225         Unify description of the dump property.
8226
8227 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8228
8229         * tests/examples/manual/.cvsignore:
8230         OK, so it's actually cvsignore that needs changing. Stop laughing.
8231
8232 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8233
8234         * tests/examples/manual/Makefile.am:
8235         Gah, declare vars *before* using them
8236
8237 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8238
8239         * gst/gst.c: (init_pre), (scan_and_update_registry),
8240         (ensure_current_registry_nonforking),
8241         (ensure_current_registry_forking), (ensure_current_registry),
8242         (init_post), (gst_debug_help), (gst_deinit):
8243         * gst/gst_private.h:
8244         * gst/gstregistry.c: (gst_registry_finalize),
8245         (gst_registry_remove_features_for_plugin_unlocked),
8246         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8247         (gst_registry_scan_path),
8248         (_priv_gst_registry_remove_cache_plugins),
8249         (_priv_gst_registry_cleanup):
8250         * gst/gstregistry.h:
8251         Re-commit the registry changes, along with an extra fix:
8252           When a cached plugin is encountered at a different file path,
8253           update the stored path in the registry cache so that the parent
8254           process knows where it actually is now when it re-reads the registry
8255           cache. Fixes the thing that broke distcheck with the previous commit.
8256
8257         * tests/check/Makefile.am:
8258         Clean up files named 'core' too when running make clean.
8259
8260         * tests/examples/manual/Makefile.am:
8261         Set up a registry path for running these tests, and clean it properly
8262         for distcheck.
8263
8264 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8265
8266         * configure.ac:
8267         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
8268         want gmodule-no-export-2.0.pc instead so that we don't drag in
8269         --export-dynamic on every project that links to GStreamer.
8270
8271         Also, make our export regex only match the start of symbols, rather 
8272         than any symbol that contains '_gst' somewhere.
8273
8274         * libs/gst/check/Makefile.am:
8275         The libgstcheck we build does however need export-dynamic, as it
8276         produces some symbols that don't match our _gst... style regex.
8277         Fixes: #318031
8278
8279 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8280
8281         * gst/gst.c: (init_pre), (scan_and_update_registry),
8282         (ensure_current_registry_nonforking),
8283         (ensure_current_registry_forking), (ensure_current_registry),
8284         (init_post), (gst_debug_help), (gst_deinit):
8285         * gst/gst_private.h:
8286         * gst/gstregistry.c: (gst_registry_finalize),
8287         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8288         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
8289         (_gst_registry_cleanup):
8290         * gst/gstregistry.h:
8291           Revert previous change until I figure out why it breaks distcheck.
8292
8293 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8294
8295         * gst/gst.c: (init_pre), (scan_and_update_registry),
8296         (ensure_current_registry_nonforking),
8297         (ensure_current_registry_forking), (ensure_current_registry),
8298         (init_post), (gst_debug_help), (gst_deinit):
8299
8300           Make init_pre and init_post take the full complement of GOptionFunc
8301           args so they can return useful GErrors. Make the registry updating
8302           functions do so.
8303
8304           Call _priv_gst_registry_remove_cache_plugins after scanning files to
8305           ensure that the registry we're about to write out doesn't contain
8306           stale information about old-deleted plugin files.
8307
8308           Make _priv_gst_registry_remove_cache_plugins return a boolean so
8309           that deletion of plugin files is considered a registry change.
8310
8311         * gst/gst_private.h:
8312         * gst/gstregistry.c: (gst_registry_finalize),
8313         (gst_registry_remove_features_for_plugin_unlocked),
8314         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8315         (gst_registry_scan_path),
8316         (_priv_gst_registry_remove_cache_plugins),
8317         (_priv_gst_registry_cleanup):
8318         * gst/gstregistry.h:
8319         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
8320         by adding _priv prefix, so that they won't appear in the global
8321         symbol table. They still do atm though because of #318031. Move the
8322         prototypes to gst_private.h
8323
8324         When removing a plugin, remove all features for that plugin too. 
8325         Fixes #340878.
8326
8327 2006-09-27  Wim Taymans  <wim@fluendo.com>
8328
8329         * docs/random/moving-plugins:
8330         Make it clear that the "compiled-in descriptions" really mean
8331         the element details.
8332
8333         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8334         (gst_base_sink_wait_preroll):
8335         Update docs.
8336
8337         * docs/libs/gstreamer-libs-sections.txt:
8338         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8339         (gst_base_src_get_range), (gst_base_src_activate_push):
8340         * libs/gst/base/gstbasesrc.h:
8341         Added function to block while waiting for PLAYING, this function
8342         is used by live sources that block on the clock.
8343         API: gst_base_src_wait_playing()
8344
8345 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8346
8347         Patch by: Peter Kjellerstedt <pkj at axis com>
8348
8349         * Makefile.am:
8350           gst-element-check.m4 is generated and should therefore be
8351           copied from the build dir rather than the source dir (#357593).
8352           'make distcheck' hasn't noticed this because we were disting
8353           the file as well, so stop doing that.
8354
8355 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8356
8357         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8358           Add some tests for gst_caps_intersect().
8359
8360         * tools/gst-launch.c: (event_loop):
8361           Print all buffering percentages we get, even the 100% one.
8362
8363 2006-09-26  Wim Taymans  <wim@fluendo.com>
8364
8365         * tools/gst-inspect.c: (print_element_properties_info),
8366         (print_signal_info):
8367         Fix printing of flags to match the look of enums.
8368
8369 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8370
8371         * gst/gstelementfactory.c:
8372           Fix typo in docs blurb.
8373
8374 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8375
8376         * gst/gsturi.c: (search_by_entry):
8377           Don't assert/crash here if a uri handler doesn't return any
8378           supported protocols. The list of protocols could be generated
8379           dynamically at runtime or at plugin registration, and an error
8380           in the underlying library shouldn't be fatal (#353301).
8381
8382 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8383
8384         * gst/gstinfo.c:
8385           Fix warning if HAVE_PRINTF_EXTENSION is undefined
8386           (spotted by Peter Kjellerstedt).
8387
8388 2006-09-23  Wim Taymans  <wim@fluendo.com>
8389
8390         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8391
8392         * libs/gst/base/gstbasesrc.c:
8393         (gst_base_src_default_check_get_range), (gst_base_src_start),
8394         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8395         (gst_base_src_change_state):
8396         Match _start/_stop calls in the activate functions. Remove redundant
8397         _stop call from the state change function. Fixes #356910.
8398         Turn failure DEBUG into ERROR. 
8399
8400 2006-09-22  Wim Taymans  <wim@fluendo.com>
8401
8402         * docs/design/part-buffering.txt:
8403         * gst/gstmessage.c: (gst_message_new_buffering),
8404         (gst_message_parse_buffering):
8405         Update docs about buffering.
8406
8407         * docs/design/part-trickmodes.txt:
8408         Fix typo.
8409
8410 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
8411
8412         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8413         (gst_controller_new_list):
8414           Ref instances when returning them again (fixes #357180)
8415
8416 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8417
8418         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8419           Don't forget to release proxy lock when there's an error.
8420
8421 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
8422
8423         * gst/gstcaps.h:
8424           Add extra initialisers for Caps things, to fix some plugin warnings
8425           when using -Wextra
8426
8427 2006-09-18  Wim Taymans  <wim@fluendo.com>
8428
8429         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8430           Also set template on the internal pad so that a getcaps from the 
8431           target pad returns the template caps.
8432
8433 2006-09-18  Wim Taymans  <wim@fluendo.com>
8434
8435         * gst/gstelement.c: (gst_element_post_message),
8436         (gst_element_dispose):
8437         Use _DEBUG_OBJECT some more.
8438
8439         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8440         Avoid typechecks.
8441
8442         * tools/gst-launch.c: (main):
8443         If the toplevel element is not a GstPipeline, it must be put in a
8444         pipeline so that a bus and clock is selected.
8445
8446 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8447
8448         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8449           JITTER, RATE, and LATENCY query should be handled by the
8450           default case and not by the CONVERT query code.
8451
8452 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8453
8454         * gst/gstformat.c: (gst_format_register):
8455           Fix locking order (must take lock before using n_values).
8456
8457         * gst/gstvalue.c: (gst_value_serialize_enum),
8458         (gst_value_deserialize_enum_iter_cmp),
8459         (gst_value_deserialize_enum):
8460           Fix serialisation/deserialisation of custom registered GstFormats.
8461
8462         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8463           Unit test for custom format serialisation/deserialisation.
8464
8465 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
8466
8467         * docs/pwg/building-boiler.xml:
8468         * plugins/elements/gstcapsfilter.c:
8469         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8470         section.
8471
8472 2006-09-16  Edward Hervey  <edward@fluendo.com>
8473
8474         * libs/gst/base/gstbasetransform.c:
8475         (gst_base_transform_buffer_alloc):
8476         Check if requested caps are the same as the sinks caps IF
8477         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8478         is FALSE.
8479         This fixes the renegotiation issues stated in #352827.
8480
8481 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * configure.ac:
8484         * docs/manual/advanced-autoplugging.xml:
8485         * tests/examples/Makefile.am:
8486         * tests/examples/manual/.cvsignore:
8487         * tests/examples/manual/Makefile.am:
8488         * tests/examples/manual/extract.pl:
8489           Extract the manual examples again like we used to do.
8490           Fix one of them.
8491
8492 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8493
8494         * win32/common/config.h:
8495           update for version
8496
8497 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
8498
8499         * gst/gsterror.c:
8500           Documents how to receive errors.
8501
8502 2006-09-15  Wim Taymans  <wim@fluendo.com>
8503
8504         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8505         (event_loop), (main):
8506         Added some comments here and there.
8507         Post an application message when an interrupt is caught instead of doing
8508         an uncontrolled state change.
8509         Clean up the event loop.
8510         Handle buffering messages, pause/resume the pipeline.
8511         Make shutdown because of an interrupt more reliable.
8512
8513 2006-09-15  Wim Taymans  <wim@fluendo.com>
8514
8515         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8516         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8517         (gst_base_sink_preroll_object):
8518         Make sure that our internal state is correct when we commit our state
8519         asynchronously. This solves a race where a state change to PLAYING
8520         could cause the sink to remain blocked in preroll in some situations.
8521
8522 2006-09-15  Wim Taymans  <wim@fluendo.com>
8523
8524         * tools/gst-inspect.c: (print_element_properties_info),
8525         (print_signal_info):
8526         List flags as hex so it's easier to deal with.
8527
8528 2006-09-15  Wim Taymans  <wim@fluendo.com>
8529
8530         * docs/libs/gstreamer-libs-sections.txt:
8531         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8532         (gst_base_sink_do_sync):
8533         * libs/gst/base/gstbasesink.h:
8534         Expose logic to wait for preroll so that subclasses such as audiosink
8535         can also use this method.
8536         API: gst_base_sink_wait_preroll()
8537
8538 2006-09-15  Wim Taymans  <wim@fluendo.com>
8539
8540         * gst/gstobject.c: (gst_object_set_parent):
8541         * gst/gstpipeline.c: (do_pipeline_seek):
8542         Small cleanups in docs and code.
8543
8544         * gst/gstsegment.c: (gst_segment_clip):
8545         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8546         if stop == start and start is in the segment, no clipping should be
8547         done. Also add a test for this.
8548
8549 2006-09-15  Wim Taymans  <wim@fluendo.com>
8550
8551         * docs/design/part-buffering.txt:
8552         * docs/gst/gstreamer-sections.txt:
8553         * gst/gstmessage.c: (gst_message_new_buffering),
8554         (gst_message_parse_buffering):
8555         * gst/gstmessage.h:
8556         Added methods to create and parse BUFFERING messages.
8557         Added preliminary docs about buffering.
8558         API: gst_message_new_buffering
8559         API: gst_message_parse_buffering
8560
8561 2006-09-06  Wim Taymans  <wim@fluendo.com>
8562
8563         * gst/gstbin.c:
8564         Update documentation.
8565
8566         * gst/gstelement.c: (gst_element_class_init),
8567         (gst_element_release_request_pad), (gst_element_set_clock),
8568         (gst_element_get_index), (gst_element_add_pad),
8569         (gst_element_remove_pad), (gst_element_get_random_pad),
8570         (gst_element_send_event), (gst_element_get_query_types),
8571         (gst_element_query), (gst_element_post_message),
8572         (gst_element_message_full), (gst_element_continue_state),
8573         (gst_element_lost_state), (gst_element_save_thyself),
8574         (gst_element_restore_thyself):
8575         Documentation updates.
8576         Rename last bit of the new-pad -> pad-added signal rename.
8577         Fix the case where an element query would only work if the source
8578         pad was linked.
8579         Avoid some useless type checking in message handling.
8580
8581         * gst/gstevent.c:
8582         * gst/gstevent.h:
8583         * gst/gstutils.c:
8584         Documentation updates.
8585
8586 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8589           add an INFO line for when we actually update the fd
8590
8591 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * configure.ac:
8594           back to TRUNK
8595
8596 === release 0.10.10 ===
8597
8598 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
8599
8600         * configure.ac:
8601           releasing 0.10.10, "Pais"
8602
8603 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
8604
8605         * docs/manual/advanced-position.xml:
8606           Fix typo in sample code.
8607
8608 2006-09-05  Wim Taymans  <wim@fluendo.com>
8609
8610         * libs/gst/net/gstnetclientclock.c: (inet_aton),
8611         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8612         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8613         * libs/gst/net/gstnetclientclock.h:
8614         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8615         * libs/gst/net/gstnettimepacket.h:
8616         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8617         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8618         (gst_net_time_provider_thread), (gst_net_time_provider_new):
8619         * libs/gst/net/gstnettimeprovider.h:
8620         Make stuff compile on windows. Fixes #345295.
8621
8622 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8623
8624         * gst/gst.c: (ensure_current_registry_forking):
8625           Print better details when child was terminated by signal.
8626
8627 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8628
8629         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8630           Print a warning rather than g_assert() if a plugin feature
8631           is a URI handler but returns no protocols (#353976).
8632
8633 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
8634
8635         * docs/random/moving-plugins:
8636         Fix two typos.         
8637
8638 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8639
8640         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8641           Fix locking order, handle NULL function values properly.
8642
8643         * gst/gstinfo.h:
8644           Fix docs.
8645
8646         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8647           Initialise variable before using it and fix debug statement to
8648           print the address of the function rather than the address of the
8649           variable on the stack holding the address of the function.
8650
8651 2006-09-01  Wim Taymans  <wim@fluendo.com>
8652
8653         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8654         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8655         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8656         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8657         (gst_ghost_pad_parent_unset),
8658         (gst_ghost_pad_internal_do_activate_push),
8659         (gst_ghost_pad_internal_do_activate_pull),
8660         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8661         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8662         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8663         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
8664         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
8665         (gst_ghost_pad_new_no_target_from_template),
8666         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8667         More cleanups.
8668         Avoid needless typechecking in macros.
8669         Since the internal pad is always present and never changes, there is
8670         no need to locking or ref when retrieving it.
8671         Improve debugging a bit.
8672         Handle link errors when setting the target. Fixes #341029.
8673
8674 2006-09-01  Wim Taymans  <wim@fluendo.com>
8675
8676         * docs/libs/gstreamer-libs-sections.txt:
8677         * docs/plugins/gstreamer-plugins-sections.txt:
8678         Fix docs some more.
8679
8680         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8681         (gst_collect_pads_event):
8682         * libs/gst/base/gstcollectpads.h:
8683         Documentation updates.
8684         Free queued buffer when removing a pad.
8685
8686 2006-08-31  Michael Smith  <msmith@fluendo.com>
8687
8688         * gst/gstutils.c: (gst_element_link_pads),
8689         (gst_element_link_pads_filtered):
8690           Ensure that we set a capsfilter to NULL if we failed to link it
8691           when doing filtered linking, to avoid criticals.
8692
8693           No need to check for unreffing srcpad, which is explicly NULLed
8694           above (a trivial code cleanup).
8695
8696 2006-08-31  Wim Taymans  <wim@fluendo.com>
8697
8698         * docs/design/part-gstghostpad.txt:
8699         Update ascii art in documentation.
8700
8701         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
8702         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
8703         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8704         (gst_ghost_pad_internal_do_activate_push),
8705         (gst_ghost_pad_internal_do_activate_pull),
8706         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8707         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8708         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
8709         (gst_ghost_pad_set_target):
8710         Small cleanups and leak fixes.
8711         Remove some checks now that the internal pad is never NULL.
8712         Fix the case where linking pads without a target would create nasty
8713         criticals. Fixes #341029.
8714         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
8715         value of _set_target().
8716
8717         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8718         (gst_ghost_pad_suite):
8719         Some more tests for creating and linking untargeted ghostpads.
8720
8721 2006-08-31  Edward Hervey  <edward@fluendo.com>
8722
8723         * docs/gst/gstreamer-sections.txt:
8724         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
8725         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8726         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
8727         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
8728         (gst_ghost_pad_new_from_template),
8729         (gst_ghost_pad_new_no_target_from_template):
8730         * gst/gstghostpad.h:
8731         Refactored *_new() functions.
8732         Templates are now used as a g_object_new() parameter.
8733         Use template in _do_getcaps() if we don't have a target.
8734         Small documentation cleanups.
8735         Added two new constructors:
8736         gst_ghost_pad_new_from_template()
8737         gst_ghost_pad_new_no_target_from_template()
8738         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8739         (gst_ghost_pad_suite):
8740         Added tests for new ghostpad instanciation functions.
8741
8742         API additions: gst_ghost_pad_new_from_template,
8743         gst_ghost_pad_new_no_target_from_template
8744
8745 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
8746
8747         * docs/random/ensonic/profiling.txt:
8748           Ideas about qos profiling.
8749
8750 2006-08-29  Wim Taymans  <wim@fluendo.com>
8751
8752         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
8753         Code cleanups.
8754         Fix memleak.
8755
8756 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
8757
8758         * gst/gstxml.c:
8759           Improve and detypofy docs.
8760
8761         * tests/check/Makefile.am:
8762         * tests/check/gst/.cvsignore:
8763         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
8764           Add a basic test suite for GstXML.
8765
8766 2006-08-29  Wim Taymans  <wim@fluendo.com>
8767
8768         * gst/gstelement.c: (activate_pads), (clear_caps),
8769         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8770         Clear the pad caps when the element shut down all of the pads and
8771         is not streaming data that could modify the caps. 
8772         Fixes #352958.
8773
8774 2006-08-28  Michael Smith  <msmith@fluendo.com>
8775
8776         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8777           Revert previous change; I misunderstood single-segment mode.
8778
8779 2006-08-28  Michael Smith  <msmith@fluendo.com>
8780
8781         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8782           Unset DISCONT on buffers when using single-segment mode.
8783
8784 2006-08-28  Wim Taymans  <wim@fluendo.com>
8785
8786         * gst/gstcaps.c: (gst_caps_merge_structure):
8787         * gst/gstcaps.h:
8788         Fix docs and indentation again.
8789
8790         * tests/check/gst/gstquery.c: (GST_START_TEST):
8791         Fix leak in tests and add some more tests.
8792
8793 2006-08-28  Edward Hervey  <edward@fluendo.com>
8794
8795         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8796         Inform GstSegment of the last stop position in order for the current
8797         segment to have a proper duration if it doesn't have a specific stop
8798         position from which a duration could be calculated.
8799         This bug was noticeable when a non-flushing, non-update new segment was
8800         followed by another segment (all buffers from the new segment were being
8801         dropped).
8802
8803 2006-08-28  Wim Taymans  <wim@fluendo.com>
8804
8805         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
8806         Small comment update.
8807
8808         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8809         (gst_identity_transform_ip):
8810         Drop-probability is broken, mention this in the code with a 
8811         FIXME and also in the property description.
8812         Make silent also be silent about the drop messages.
8813
8814 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
8815
8816         * docs/manual/appendix-win32.xml:
8817           Remove mention of popt, we don't depend on that any
8818           longer (#353136). Add some comments pointing out that
8819           this section is slightly outdated.
8820
8821 2006-08-28  Wim Taymans  <wim@fluendo.com>
8822
8823         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8824
8825         * gst/gstquery.c: (gst_query_new_segment):
8826         * tests/check/gst/gstquery.c: (GST_START_TEST):
8827         Initialize variables when creating a new segment query.
8828         Fixes #353121.
8829
8830 2006-08-28  Wim Taymans  <wim@fluendo.com>
8831
8832         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8833
8834         * gst/gstelement.c: (gst_element_get_bus):
8835         * tests/check/gst/gstelement.c: (GST_START_TEST):
8836         Check for NULL before _reffing the bus. Fixes #353122.
8837
8838 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
8839
8840         * docs/manual/basics-bus.xml:
8841           Docs update: fix wrong callback return value explanation; add
8842           some lines about the implicit relationship between main loop
8843           and main context; remove duplicate main loop variable declaration.
8844
8845 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
8846
8847         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8848           Don't leak caps in unit test; add a few more simple
8849           checks. 
8850
8851 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
8852
8853         * docs/gst/gstreamer-sections.txt:
8854         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
8855         (gst_caps_structure_is_subset), (gst_caps_merge),
8856         (gst_caps_merge_structure):
8857         * gst/gstcaps.h:
8858         * libs/gst/base/gstbasetransform.c:
8859         (gst_base_transform_transform_caps):
8860         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8861           implement caps merging (fixes #352580)
8862
8863 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
8864
8865         * tools/Makefile.am:
8866         * tools/gst-plot-timeline.py:
8867           add debug-log plotting developer tool (#340674)
8868
8869 2006-08-23  Wim Taymans  <wim@fluendo.com>
8870
8871         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
8872         (gst_pad_stop_task):
8873         Improve debugging for task functions.
8874
8875         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
8876         (gst_task_start), (gst_task_pause), (gst_task_join):
8877         Make sure that the task function started and finished after a 
8878         join(). 
8879         Don't try to push the task function on the threadpool multiple
8880         times.
8881         Improve the g_warning message with some useful suggestions
8882         about how to fix the problem. 
8883
8884 2006-08-23  Wim Taymans  <wim@fluendo.com>
8885
8886         * gst/gstutils.c: (gst_pad_proxy_getcaps):
8887         Handle RESYNC correctly in _proxy_getcaps.
8888
8889 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
8890
8891         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
8892         (gst_xml_parse_memory), (gst_xml_get_element):
8893           Chain up to parent class in dispose function and also
8894           unref the elements in the toplevel_elements GList.
8895           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
8896           Always return a reference in gst_xml_get_element() rather
8897           than only sometimes.
8898
8899         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8900           Don't leak GstXml object.
8901
8902 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
8903
8904         * docs/gst/gstreamer-sections.txt:
8905         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
8906         (gst_caps_merge):
8907         * gst/gstcaps.h:
8908         * libs/gst/base/gstbasetransform.c:
8909         (gst_base_transform_transform_caps):
8910           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
8911           in a better way
8912
8913 2006-08-21  Edward Hervey  <edward@fluendo.com>
8914
8915         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
8916         Implement GObject::dispose virtual method in GstXML so we can free the
8917         top_elements GList.
8918
8919 2006-08-21  Wim Taymans  <wim@fluendo.com>
8920
8921         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
8922         (gst_buffer_create_sub):
8923         Copy duration/offset_end/caps when creating a subbuffer of the
8924         complete parent.
8925         Make the subbuffer read-only when we make the metadata writable for
8926         now. Fixes #351768.
8927
8928         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8929         Added check for metadata copy when creating subbuffers.
8930
8931 2006-08-21  Edward Hervey  <edward@fluendo.com>
8932
8933         * libs/gst/base/gstbasetransform.c:
8934         (gst_base_transform_buffer_alloc):
8935         Only call downstream buffer_alloc if transform element is passthrough
8936         or always_in_place. Closes #350449.
8937
8938 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8939
8940         * ChangeLog:
8941           ChangeLog surgery to add comments to previous changes
8942
8943 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8944
8945         * gst/gst.c:
8946           Add comments
8947
8948         * gst/gstpad.c: (gst_pad_set_active):
8949           Be more verbose in the log
8950
8951         * libs/gst/base/gstbasetransform.c:
8952         (gst_base_transform_transform_caps):
8953           Simplify caps to get rid of duplicates, fixes #345444
8954
8955 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8956
8957         * gst/gstvalue.c:
8958         * gst/gstvalue.h:
8959           Use these optimizations only internally.
8960
8961 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8962
8963         * gst/gstvalue.c: (gst_value_compare_list),
8964         (gst_value_compare_fraction_range),
8965         (gst_value_intersect_fraction_fraction_range),
8966         (gst_value_intersect_fraction_range_fraction_range),
8967         (gst_value_subtract_fraction_fraction_range),
8968         (gst_value_subtract_fraction_range_fraction_range),
8969         (gst_value_get_compare_func), (gst_value_compare),
8970         (gst_value_compare_with_func):
8971         * gst/gstvalue.h:
8972           Saves the expensive lookup of the compare function in many cases
8973          (#345444)
8974
8975 2006-08-18  Edward Hervey  <edward@fluendo.com>
8976
8977         * tests/check/gst/gstinfo.c: (gst_info_suite):
8978         Disable test that require gstdebug if it wasn't built in core.
8979
8980 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8981
8982         * docs/random/ensonic/logging.txt:
8983           update ideas
8984           
8985         * gst/gstinfo.c: (gst_debug_log_default):
8986           reorder fields, save some columns, add optional color codes for log
8987           levels
8988
8989 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8990
8991         * docs/random/ensonic/logging.txt:
8992           add ideas about making the logs a bit more useful
8993
8994 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
8995
8996         * docs/pwg/advanced-events.xml:
8997         * docs/pwg/titlepage.xml:
8998           Update for 0.10 API (#340627). Add myself
8999           to authors list.
9000
9001 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9002
9003         * docs/libs/gstreamer-libs-docs.sgml:
9004         * docs/libs/gstreamer-libs-sections.txt:
9005         * libs/gst/check/gstbufferstraw.c:
9006           Make gstcheck stuff show up in docs (still needs to
9007           be documented properly though).
9008
9009 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
9010
9011         * docs/gst/gstreamer-sections.txt:
9012         * gst/Makefile.am:
9013         * gst/gst.c: (init_post):
9014         * gst/gst_private.h:
9015         * gst/gstquark.c: (_priv_gst_quarks_initialize):
9016         * gst/gstquark.h:
9017         * gst/gstquery.c: (gst_query_new_position),
9018         (gst_query_set_position), (gst_query_parse_position),
9019         (gst_query_new_duration), (gst_query_set_duration),
9020         (gst_query_parse_duration), (gst_query_new_convert),
9021         (gst_query_set_convert), (gst_query_parse_convert),
9022         (gst_query_new_segment), (gst_query_set_segment),
9023         (gst_query_parse_segment), (gst_query_new_seeking),
9024         (gst_query_set_seeking), (gst_query_parse_seeking):
9025         Add internal helpers for pre-registering quarks from static strings
9026         and using the quark values directly instead of looking them up when
9027         creating and parsing queries. Can be used for event construction too.
9028         Closes #350432.
9029
9030 2006-08-16  Wim Taymans  <wim@fluendo.com>
9031
9032         * gst/gstbin.c:
9033         Fix bogus docs.
9034
9035 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9036
9037         * gst/gstutils.c: (gst_util_set_value_from_string):
9038           Fix memleak (#351502).
9039
9040         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9041           Add unit test for most of gst_util_set_value_from_string()
9042           (not that one would want to encourage use of this function).
9043
9044 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9045
9046         * libs/gst/check/gstcheck.h:
9047           Use const gchar * variables in fail_unless_equals_string
9048           macro to avoid compiler warnings (and don't use tabs for
9049           indenting).
9050
9051 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9052
9053         * tools/gst-launch.c: (print_tag):
9054           More space on the left for the tag names, to cater
9055           for the 'extended comment' tag (not touching the
9056           string for the first line since it's translated).
9057
9058 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9059
9060         * libs/gst/check/gstcheck.h:
9061           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
9062           print something when they fail.
9063
9064 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9065
9066         * docs/gst/gstreamer-sections.txt:
9067         * gst/gsttaglist.c: (_gst_tag_initialize):
9068         * gst/gsttaglist.h:
9069           API: add GST_TAG_EXTENDED_COMMENT (#350935).
9070           Also change merge function for GST_TAG_COMMENT to
9071           use_first.
9072
9073 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9074
9075         * gst/gstinfo.c: (gst_debug_print_object):
9076           Make GST_PTR_FORMAT print messages as well.
9077
9078         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
9079         (GST_START_TEST), (gst_info_suite):
9080           More tests.
9081
9082 2006-08-14  Edward Hervey  <edward@fluendo.com>
9083
9084         * gst/gstelementfactory.c: (gst_element_register):
9085         If the GstElementClass doesn't have a GstElementDetails with all fields
9086         filled up correctly (longname, description AND author), then error out
9087         nicely instead of crashing.
9088
9089 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9090
9091         * gst/gststructure.c:
9092           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
9093
9094         * gst/gstvalue.h:
9095           Expand on the difference between arrays and lists as we use them.
9096           
9097 2006-08-14  Wim Taymans  <wim@fluendo.com>
9098
9099         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9100         If the parent state change function failed, don't assume we can safely
9101         stop the source, this will be done when the pads are deactivated.
9102
9103 2006-08-14  Wim Taymans  <wim@fluendo.com>
9104
9105         * gst/gstbuffer.c:
9106         * gst/gsttask.c: (gst_task_join):
9107         Small doc updates.
9108
9109         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9110         (gst_pad_stop_task):
9111         When pad (de)activation failed for some reason, restore the old
9112         activation mode and set the pad to flushing instead of assuming the
9113         pad is deactivated.
9114         If the _task_join() failed, reinstall the task on the pad so that it can
9115         be stopped later and return an error.
9116
9117 2006-08-11  Andy Wingo  <wingo@pobox.com>
9118
9119         * configure.ac:
9120         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9121         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
9122         is only for users of API that don't want to see deprecated
9123         functions in the headers; people that want to compile out
9124         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
9125         CFLAGS. Fixes the build of multifdsink, or will soon..
9126
9127 2006-08-11  Wim Taymans  <wim@fluendo.com>
9128
9129         * docs/gst/gstreamer-sections.txt:
9130         Add GstClockClass vmethod docs.
9131
9132         * gst/gstcaps.h:
9133         Mark #endif with comment for associated #if
9134
9135         * gst/gstclock.c: (gst_clock_id_wait):
9136         * gst/gstclock.h:
9137         Add vmethod wait_jitter to avoid an unneeded _get_time() for
9138         most clock implementations.
9139         Document vmethods.
9140         Flesh out docs about resolution methods.
9141         API: GstClockClass::wait_jitter
9142
9143         * gst/gstsystemclock.c: (gst_system_clock_class_init),
9144         (gst_system_clock_async_thread),
9145         (gst_system_clock_id_wait_jitter_unlocked),
9146         (gst_system_clock_id_wait_jitter):
9147         Use base class wait_jitter variant for improved performance
9148         due to less clock polling.
9149
9150 2006-08-11  Edward Hervey  <edward@fluendo.com>
9151
9152         * gst/gst.c: (gst_init_check), (init_post):
9153         Set gst as being initialized before scanning/updating the registry,
9154         since there might be my python plugin loader that calls gst_init() and
9155         we don't want to loop back in.
9156         Closes #350879
9157
9158 2006-08-11  Wim Taymans  <wim@fluendo.com>
9159
9160         * docs/design/part-qos.txt:
9161         Bring docs in line with the code. Mostly the sign of the jitter was
9162         wrong in the docs. Fixes #349943.
9163
9164         * gst/gstclock.c:
9165         Fix the docs for the jitter.
9166
9167         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
9168         (gst_event_parse_tag), (gst_event_new_buffer_size),
9169         (gst_event_parse_buffer_size), (gst_event_parse_qos),
9170         (gst_event_new_seek), (gst_event_parse_seek),
9171         (gst_event_new_navigation):
9172         Make sure the GstStructure has no parent when creating custom
9173         events.
9174         Add some more argument checking so that we avoid 0.0 rates.
9175         Flesh out the docs for the QoS event some more.
9176
9177 2006-08-11  Wim Taymans  <wim@fluendo.com>
9178
9179         * docs/gst/gstreamer-sections.txt:
9180         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9181         (ensure_current_registry_forking), (ensure_current_registry),
9182         (parse_one_option), (parse_goption_arg), (gst_deinit),
9183         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
9184         * gst/gst.h:
9185         Doc updates.
9186         Added API and command line option to disable registry forking in
9187         addition to the environment variable.
9188         Constify some static arrays.
9189         Added some more debug.
9190         Don't deinit twice.
9191         API: gst_registry_fork_is_enabled()
9192         API: gst_registry_fork_set_enabled()
9193         API: --gst-disable-registry-fork command line option
9194         Fixes #348918.
9195
9196 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
9197
9198         * gst/gst.c: (gst_init):
9199           Fix typo in error message.
9200
9201 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9202
9203         * libs/gst/controller/gstcontroller.h:
9204           fix ABI size-correction
9205
9206         * tests/check/libs/gdp.c: (gst_dp_suite):
9207           make tests that use deprecated API conditional
9208
9209 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9210
9211         * docs/libs/gstreamer-libs-sections.txt:
9212         * libs/gst/controller/gstcontroller.c:
9213         (_gst_controller_get_property), (_gst_controller_set_property),
9214         (_gst_controller_init), (_gst_controller_class_init):
9215         * libs/gst/controller/gstcontroller.h:
9216         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
9217         (gst_object_set_control_rate):
9218           API: add gst_object_{s,g}et_control_rate(), add private data section,
9219           fix docs
9220
9221         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9222         * libs/gst/dataprotocol/dataprotocol.h:
9223           add deprecation guards to make gtk-doc happy and allow disabling cruft
9224
9225 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9226
9227         * tests/check/Makefile.am:
9228         * tests/check/gst/.cvsignore:
9229           Let's enable the new unit test as well.
9230
9231 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9232
9233         * configure.ac:
9234         * docs/gst/gstreamer-sections.txt:
9235         * gst/gstconfig.h.in:
9236         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
9237         (_gst_info_printf_extension_ptr),
9238         (_gst_info_printf_extension_segment):
9239           API: add GST_SEGMENT_FORMAT, which is a printf extension we
9240           register that lets us easily dump GstSegments into debug
9241           logs (#350419).
9242
9243         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
9244         (info_segment_format_printf_extension), (gst_info_suite):
9245           Add simple unit test that logs a bunch of different segments (not
9246           valgrinded at the moment because of leaks in
9247           gst_debug_add_log_function).
9248
9249 2006-08-09  Edward Hervey  <edward@fluendo.com>
9250
9251         * libs/gst/base/gstbasetransform.c:
9252         (gst_base_transform_buffer_alloc):
9253         Even if we can't figure out the proper format to request downstream,
9254         call buffer_alloc() downstream with the input parameters without setting
9255         the caps on the srcpad. This will force negotiation in the chain
9256         function.
9257         Closes #350449
9258
9259 2006-08-08  Edward Hervey  <edward@fluendo.com>
9260
9261         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9262         Unlinking from a pad without a target is now a perfectly valid case
9263         which should NOT raise an assertion.
9264         This case would happen if a linked ghostpad its target set to NULL after
9265         it was previously linked.
9266
9267 2006-08-08  Edward Hervey  <edward@fluendo.com>
9268
9269         * tests/check/libs/gdp.c:
9270         Also comment out the test (see below).
9271
9272 2006-08-08  Edward Hervey  <edward@fluendo.com>
9273
9274         * tests/check/libs/gdp.c: (gst_dp_suite):
9275         Use the architecture information from config.h and not gcc macros
9276         in order to properly disable a test that fails on PPC64.
9277
9278 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
9279
9280         * gst/gstelement.c: (gst_element_remove_pad):
9281           Don't crash printing the warning if the pad has no parent.
9282
9283 2006-08-02  Wim Taymans  <wim@fluendo.com>
9284
9285         * libs/gst/dataprotocol/dataprotocol.c:
9286         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9287         (gst_dp_crc), (gst_dp_header_payload_length),
9288         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
9289         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
9290         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
9291         (gst_dp_event_from_packet), (gst_dp_validate_header),
9292         (gst_dp_validate_payload):
9293         Make debug category static
9294         Constify the crc table.
9295         Do some more arg checking in public functions.
9296         Fix some docs and do some small cleanups.
9297
9298         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
9299         Add some more checks to see if GDP deals with bogus input.
9300
9301 2006-07-31  Wim Taymans  <wim@fluendo.com>
9302
9303         * gst/gstvalue.c: (gst_value_compare_list):
9304         Fix GstValueList comparison code. Fixes #347293.
9305
9306         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9307         Check to test GstValueList comparison.
9308
9309 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9310
9311         * gst/gstelementfactory.c: (gst_element_factory_create):
9312         Remove unnecessary ref/unref pair
9313
9314         * gst/parse/grammar.y:
9315         Make sure to free the parse buffer on all code paths.
9316         Move a g_free up to the error handler where it's easier to see.
9317
9318         * tests/check/gst/gstevent.c: (test_event):
9319         Extending timeout for downstream travelling events to 10 seconds to
9320         hopefully avoid intermittent failure on the buildbots.
9321
9322         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
9323         Don't manually set the state of the src element - it will happen as a
9324         natural consequence of the pipeline changing state, and that way it
9325         will do it in the right order too.
9326
9327 2006-07-31  Wim Taymans  <wim@fluendo.com>
9328
9329         * libs/gst/base/gstbasetransform.c:
9330         (gst_base_transform_buffer_alloc):
9331         Use OBJECT_LOCK and refcounting to get the pad caps in the
9332         buffer_alloc function because the caps could change while we are
9333         busy with them. Fixes #349105
9334
9335 2006-07-31  Wim Taymans  <wim@fluendo.com>
9336
9337         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
9338         Protect _PAD_CAPS with OBJECT_LOCK.
9339
9340 2006-07-31  Wim Taymans  <wim@fluendo.com>
9341
9342         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9343         (gst_pad_get_property), (gst_pad_activate_pull),
9344         (gst_pad_activate_push), (gst_pad_set_blocked_async),
9345         (gst_pad_set_activate_function),
9346         (gst_pad_set_activatepull_function),
9347         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
9348         (gst_pad_set_getrange_function),
9349         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
9350         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9351         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
9352         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
9353         (gst_pad_set_acceptcaps_function),
9354         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9355         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
9356         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
9357         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
9358         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
9359         (gst_pad_configure_sink), (gst_pad_configure_src),
9360         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
9361         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
9362         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
9363         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
9364         (gst_pad_send_event):
9365         Use _DEBUG_OBJECT when it makes sense.
9366         Protect GST_PAD_CAPS with the OBJECT_LOCK.
9367         Small cleanups and code reflows.
9368         Avoid caps refcounting in _accept_caps.
9369         Refactor alloc_buffer so that the code performed on the peer is in a
9370         separate function. Also if the pad does not implement a buffer alloc
9371         function, we should still check if the pad is flushing before falling
9372         back to the default allocator.
9373
9374 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9375
9376         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9377         Make all uses of identity and fakesink have silent=true to avoid
9378         serialising every passing data structure, which is breaking tests
9379         on FC4 for some unknown reason.
9380
9381 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9382
9383         * gst/parse/Makefile.am:
9384         * gst/parse/grammar.y:
9385         * gst/parse/parse.l:
9386           Reverted previous patch as it required to bump the flex dependency to
9387           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9388
9389 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9390
9391         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9392
9393         * gst/parse/Makefile.am:
9394         * gst/parse/grammar.y:
9395         * gst/parse/parse.l:
9396           push & pop the state of the lexer for reentrant use case
9397           Fixes #349180
9398
9399 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
9400
9401         * libs/gst/base/gstbasesrc.h:
9402           Note in the docs that the ::newsegment vfunc is not actually used by
9403           GstBaseSrc.
9404
9405 2006-07-28  Wim Taymans  <wim@fluendo.com>
9406
9407         * libs/gst/base/gstcollectpads.c:
9408         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9409         (gst_collect_pads_clear), (gst_collect_pads_flush),
9410         (gst_collect_pads_event), (gst_collect_pads_chain):
9411         When flushing a pad, also clear the queued buffer so that we don't
9412         accidentally use it when we shouldn't.
9413         Fix leaks by inreffing incomming buffer.
9414         Flush out queued buffers in case of errors.
9415         Fixes #347452.
9416
9417 2006-07-28  Wim Taymans  <wim@fluendo.com>
9418
9419         * docs/random/phonon-gst:
9420         Random notes about a Phonon backend.
9421
9422 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9423
9424         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9425         Extra debug output
9426         * tests/check/libs/gdp.c: (gst_dp_suite):
9427         Take a whack at fixing the ppc compile using a different define to
9428         disable the broken test.
9429
9430         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9431         Remove excess g_print()
9432
9433 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9434
9435         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9436         Oops, meant to uncomment this line too to dampen the noise a bit.
9437
9438 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9439
9440         * gst/parse/grammar.y:
9441         * gst/parse/parse.l:
9442         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9443         (GST_START_TEST), (parse_suite):
9444         Fix some of the leaks exposed by extending the parse-launch testsuite,
9445         and move the 3 I can't figure out into a separate test that won't run
9446         the pipelines unless the appropriate line is uncommented.
9447
9448 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9449
9450         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9451           Requesting 0 bytes before the end of the file should result in
9452           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9453           unit test.
9454
9455 2006-07-27  Wim Taymans  <wim@fluendo.com>
9456
9457         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9458         Fix useless assert, a uint is always positive.
9459
9460         * gst/gststructure.c: (gst_structure_nth_field_name),
9461         (gst_structure_foreach), (gst_structure_map_in_place):
9462         Check input arguments for public functions to avoid obvious crashes.
9463
9464         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9465         * plugins/elements/gstfakesink.h:
9466         Do less useless typechecking.
9467
9468 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9469
9470         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9471           Do not use mmap() by default since there are a number of error
9472           conditions that we would like to handle in a non-fatal way that
9473           will result in a SIGBUS if we use mmap(). Examples: external
9474           devices (USB harddrive, portable music player) being unplugged
9475           while in use; file on mounted CD/DVD that can't be read because
9476           the medium is partly damaged. Fixes #348455 and #348475.
9477
9478 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9479
9480         * gst/gstquery.h:
9481         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9482         rates are a gdouble
9483
9484 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
9485
9486         * gst/gstregistry.c:
9487           Move big documentation comment into class section header, so that it
9488           appears in the API docs.
9489
9490 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9491
9492         * docs/gst/gstreamer-sections.txt:
9493         Oops. Commit the docs additions too for new API.
9494         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9495
9496 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9497
9498         * gst/gststructure.c: (gst_structure_id_set),
9499         (gst_structure_id_set_valist):
9500         * gst/gststructure.h:
9501         Add API for setting values into structures without performing
9502         a quark lookup, if the appropriate quark is already known.
9503
9504         API: gst_structure_id_set
9505         API: gst_structure_id_set_valist
9506
9507         * gst/parse/grammar.y:
9508         * gst/parse/parse.l:
9509         Remove some dead code shown by the coverage information.
9510         Don't throw a critical g_warning when encountering a syntax error,
9511         just warn and let the normal error path handle it.
9512
9513         * plugins/elements/gstelements.c:
9514         Bump the rank of filesink up to PRIMARY so that it is preferred over
9515         gnomevfssink for file:// sink uri's
9516
9517         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9518         (GST_START_TEST), (run_delayed_test),
9519         (gst_parse_test_element_base_init),
9520         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9521         (gst_parse_test_element_change_state),
9522         (gst_register_parse_element), (parse_suite):
9523         Beef up the tests for parse syntax to check that more error cases
9524         fail as they are supposed to. Increases the test coverage a bit.
9525
9526 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
9527
9528         * docs/manual/basics-elements.xml:
9529           Fix gst_element_link() example.
9530
9531         * gst/gstutils.c:
9532           Mention in API docs that one should usually gst_bin_add()
9533           elements to a bin or pipeline before doing the linking.
9534           
9535 2006-07-26  Wim Taymans  <wim@fluendo.com>
9536
9537         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9538         (gst_subbuffer_get_type), (gst_buffer_create_sub):
9539         Avoid function call for known types by keeping the buffer and
9540         subbuffer GType global.
9541
9542         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9543         Random silly optimisations in read() path.
9544
9545 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9546
9547         * tools/gst-launch.c: (main):
9548           If the top-level of the parse is a normal bin, it doesn't do the
9549           right logic to run as a top-level element, so place it inside a
9550           pipeline.
9551
9552 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
9553
9554         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9555           Remove superfluous g_object_notify() calls, GObject does
9556           that for us automatically.
9557
9558 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
9559
9560         * gst/gstinfo.h:
9561           on Win32, use dllspec to export the debug category symbols
9562
9563 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
9564
9565         * gst/gsttaglist.c: (_gst_tag_initialize):
9566           Allow more than one GST_TAG_IMAGE per taglist.
9567
9568 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9569
9570         * gst/gstminiobject.c:
9571           update docs
9572         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9573         (gst_fd_src_create):
9574           log recurring events at LOG level
9575           add more debug for when the fd gets set
9576
9577 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9578
9579         * gst/gstparse.c: (gst_parse_launch):
9580           Also remove reentrance checks if flex is MT safe (#348179)
9581          Fix my empty ChangeLog entry below
9582
9583 2006-07-21  Andy Wingo  <wingo@pobox.com>
9584
9585         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9586
9587         * libs/gst/check/Makefile.am
9588         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9589         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
9590         * libs/gst/check/gstbufferstraw.h:
9591         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9592         functions, thus proving I am still a GStreamer haxor. OK I wrote
9593         them a long time ago, but anyways.
9594
9595 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9596
9597         * configure.ac:
9598         * gst/gstparse.c: (gst_parse_launch):
9599           Check for flex version and omit mutex if we have a MT save flex
9600           (fixes #348179)
9601
9602 2006-07-21  Wim Taymans  <wim@fluendo.com>
9603
9604         * gst/gstparse.c: (gst_parse_launch):
9605         Protect recursive calls to _parse with a recursive mutex
9606         and busy flag.
9607
9608 2006-07-21  Wim Taymans  <wim@fluendo.com>
9609
9610         * tests/check/gst/gstpad.c: (GST_START_TEST):
9611         Fix leak in test.
9612
9613 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
9614
9615         * gst/gstparse.c: (gst_parse_launch):
9616           Do not hang on recursive usage of gst_parse_launch()
9617
9618 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9619
9620         * gst/gsttaglist.c:
9621           Add some more docs, comments and FIXME 0.11s here and there
9622           and also fix some typos.
9623
9624 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9625
9626         * gst/gstsegment.h:
9627           Convert tabs to spaces for better readability. 
9628
9629 2006-07-20  Edward Hervey  <edward@fluendo.com>
9630
9631         * tests/check/libs/gdp.c: (gst_dp_suite):
9632         the test_buffer test fails at line 140 on ppc64 at the following
9633         check:
9634         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9635                 GST_BUFFER_FLAG_IN_CAPS),
9636                 "GST_BUFFER_IN_CAPS flag should have been copied !");
9637         See bug #348114 for more details.
9638
9639 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
9640
9641         * docs/pwg/advanced-scheduling.xml:
9642         * gst/gstpad.c:
9643           Fix typos (#348000).
9644
9645 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
9646
9647         * docs/pwg/intro-basics.xml:
9648           Fix wrong links (#347927).
9649
9650 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
9651
9652         * gst/gstregistry.h:
9653         * gst/gstregistryxml.c: (load_feature),
9654         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9655         * win32/common/config.h:
9656           make --disable-index work (#342564)
9657
9658 2006-07-18  Wim Taymans  <wim@fluendo.com>
9659
9660         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9661
9662         * gst/Makefile.am:
9663         * gst/gsttrace.h:
9664         The attached patch adds two missing defines to gsttrace.h when tracing
9665         is disabled.  It also corrects one existing define.
9666         Fixes #347756.
9667
9668 2006-07-17  Wim Taymans  <wim@fluendo.com>
9669
9670         * docs/gst/gstreamer-sections.txt:
9671         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
9672         * gst/gst.h:
9673         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
9674         Add two functions to check and change the SIGSEGV behaviour
9675         when loading plugins.
9676         Don't mess with the SIGSEGV handler when we were told not to.
9677         Fixes #347794.
9678         API: gst_segtrap_is_enabled
9679         API: gst_segtrap_set_enabled
9680
9681 2006-07-14  Wim Taymans  <wim@fluendo.com>
9682
9683         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9684         * tests/check/elements/filesrc.c: (GST_START_TEST):
9685         Revert fix for regression in #347408 after release.
9686
9687 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
9688
9689         Patch by: Antoine Tremblay <hexa00 at gmail com>
9690
9691         * gst/gstutils.c: (gst_element_unlink):
9692           Free iterator when done (#347311).
9693
9694         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9695           And add a test case for this.
9696
9697 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
9698
9699         * configure.ac:
9700         Bump nano back to CVS
9701
9702 === release 0.10.9 ===
9703
9704 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
9705
9706         * configure.ac:
9707           releasing 0.10.9, "On the road again"
9708
9709 2006-07-13  Wim Taymans  <wim@fluendo.com>
9710
9711         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9712         * tests/check/elements/filesrc.c: (GST_START_TEST):
9713         Revert pull-0 fix for release. Disable check. Fixes #347408.
9714
9715 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9716
9717         * libs/gst/dataprotocol/dataprotocol.c:
9718         (gst_dp_event_from_packet_1_0):
9719           Fixes #347337: failure to deserialize event packets with
9720           empty payload (only event type)
9721
9722 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9723
9724         * gst/Makefile.am:
9725           do not install a .c file in the header directory
9726
9727 2006-07-13  Edward Hervey  <edward@fluendo.com>
9728
9729         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9730         GhostPad no longer implicitely use the padtemplates of the targets.
9731         Fixes #347384
9732
9733 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
9734
9735         * gst/gstvalue.c: (gst_value_compare_list),
9736         (gst_value_compare_array), (_gst_value_initialize):
9737         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9738         Make GstValueArray comparison be order dependent as designed.
9739         Add checks for value lists and value array comparisons.
9740         Fixes #347221
9741
9742 2006-07-11  Edward Hervey  <edward@fluendo.com>
9743
9744         * gst/gstbin.c: (activate_pads),
9745         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
9746         (gst_bin_change_state_func):
9747         (de)activate src pads before calling state_change on the childs.
9748         This is to avoid the case where a src ghostpad is blocked (holding the
9749         stream lock), which would block the deactivation of the ghostpad's
9750         target pad.
9751         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
9752         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
9753         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
9754         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9755         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9756         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9757         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9758         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
9759         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
9760         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9761         (gst_ghost_pad_class_init),
9762         (gst_ghost_pad_internal_do_activate_push),
9763         (gst_ghost_pad_internal_do_activate_pull),
9764         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9765         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9766         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
9767         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
9768         GhostPads now create their internal GstProxyPad at creation (and not
9769         when they're linked, as it was being done previously).
9770         The internal and target pads are linked straight away.
9771         The data will also travel through the other pad in order to make
9772         pad blocking and probes non-hackish (the probe/block now really happens
9773         on the GhostPad and not on the target).
9774         * gst/gstpad.c: (gst_pad_set_blocked_async),
9775         (gst_pad_link_prepare), (gst_pad_push_event):
9776         Remove previous ghostpad cruft.
9777         * gst/gstutils.c: (gst_pad_add_data_probe),
9778         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9779         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9780         (gst_pad_remove_buffer_probe):
9781         Remove previous ghost pad cruft.
9782         Added more detailed debug statements.
9783         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9784         Fix the testsuite for refcounting changes.
9785         The comments about who has references were correct, but the refcount
9786         being checked wasn't the same (!?!).
9787
9788         Fixes #341029
9789
9790 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9791
9792         * docs/gst/gstreamer-sections.txt:
9793         * gst/gstconfig.h.in:
9794         More docs for configuration options, add docs to gtk-doc.
9795
9796 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9797
9798         * gst/Makefile.am:
9799         * gst/gstconfig.h.in:
9800         * win32/common/config.h:
9801         Fix build when disabling tracing (fixes #344016). Also start to document
9802         the defines that disable the sub-systems.
9803
9804 2006-07-10  Edward Hervey  <edward@fluendo.com>
9805
9806         * gst/gst.c: (ensure_current_registry_forking):
9807         let's make valgrind happy...
9808
9809 2006-07-09  Wim Taymans  <wim@fluendo.com>
9810
9811         * gst/gstelement.c: (activate_pads),
9812         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9813         Better pad activation code: Reset the collect value too on resync.
9814         Add some comments.
9815
9816 2006-07-09  Wim Taymans  <wim@fluendo.com>
9817
9818         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
9819         (gst_pad_activate_push):
9820         Use some more macros where it makes sense.
9821         Allow pad mode switching instead of asserting. When a pad
9822         is activated in one mode and we activate it in another, 
9823         deactivate it first before activating it in a different mode.
9824         Fixes #329198.
9825
9826 2006-07-08  Andy Wingo  <wingo@pobox.com>
9827
9828         * tools/gst-launch.c (main): Handle err == NULL.
9829
9830         * gst/gst.c (init_post, ensure_current_registry)
9831         (ensure_current_registry_forking)
9832         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
9833         factoring out the registry scanning into separate functions. Don't
9834         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
9835         Better environment var name/interface suggestions accepted.
9836
9837 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9838
9839         * gst/gstobject.c: (gst_object_set_name_default),
9840         (gst_object_set_name):
9841           Random micro-optimisation: don't use a hash table
9842           with strings as keys and the usual strdup/strcmp
9843           involved, but rather just use the GQuark of the
9844           type name as key, since it needs to be looked up
9845           anyway to get the type name string.
9846
9847         * tests/check/gst/gstobject.c: (GST_START_TEST):
9848           Fix various leaks.
9849
9850 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9851
9852         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
9853         (gst_bin_iterate_all_by_interface):
9854           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
9855           GTypes are gulongs and thus the top 4 bytes might be cut
9856           off on some platforms when doing GPOINTER_TO_INT, leading
9857           to invalid GTypes and bad things happening (see RH bug #179654).
9858           Also add a check to make sure the type passed in is really
9859           an interface type.
9860
9861 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9862
9863         * .cvsignore:
9864           Ignore more.
9865
9866 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9867
9868         * Makefile.am:
9869         * configure.ac:
9870         * gst-element-check.m4:
9871         * gst-element-check.m4.in:
9872           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
9873           instead of the unversioned gst-inspect (#324176, #168659).
9874
9875 2006-07-06  Wim Taymans  <wim@fluendo.com>
9876
9877         * gst/gstmessage.h:
9878         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
9879         warnings.
9880
9881 2006-07-06  Wim Taymans  <wim@fluendo.com>
9882
9883         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9884         (gst_base_src_wait), (gst_base_src_update_length),
9885         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
9886         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
9887         (gst_base_src_loop), (gst_base_src_start),
9888         (gst_base_src_activate_pull):
9889         Update docs.
9890         blocksize == 0 now means the default blocksize when working in push
9891         based mode.
9892         Remove some pointless asserts in _wait function.
9893         Fix offset/length calculations and EOS handling. We can now pull 0
9894         bytes as well, which is allowed.
9895         use _check_get_range() to decide if we can operate in _pull based
9896         mode.
9897         Fix refcounting leak when check_get_range function was not 
9898         implemented.
9899         API GstBaseSrc::blocksize range can be 0 too now (default)
9900
9901         * tests/check/elements/filesrc.c: (GST_START_TEST),
9902         (filesrc_suite):
9903         Added check to test _get_range() behaviour.
9904
9905 2006-07-06  Wim Taymans  <wim@fluendo.com>
9906
9907         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
9908         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
9909         (gst_pad_pull_range):
9910         * gst/gstpad.h:
9911         Lots of comments and docs added to the pad functions.
9912         Flesh out the expected behaviour of the get_range() functions.
9913
9914 2006-07-06  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/gstbus.h:
9917         * gst/gstclock.h:
9918         * gst/gstevent.h:
9919         * gst/gstiterator.h:
9920         * gst/gstpad.h:
9921         * gst/gstplugin.h:
9922         * gst/gsttask.h:
9923         Remove comma at end of enumerator list. 
9924
9925 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
9926
9927         * win32/common/libgstbase.def:
9928         * win32/common/libgstdataprotocol.def:
9929         * win32/common/libsgtreamer.def:
9930         Add new exported functions.
9931
9932 2006-07-05  Wim Taymans  <wim@fluendo.com>
9933
9934         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
9935         Add some more docs here and there.
9936
9937 2006-07-05  Wim Taymans  <wim@fluendo.com>
9938
9939         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
9940         (gst_base_sink_loop), (gst_base_sink_get_position):
9941         When operating in pull mode update the offset so that we
9942         read sequentially.
9943
9944 2006-07-05  Wim Taymans  <wim@fluendo.com>
9945
9946         * gst/gstregistryxml.c: (read_string):
9947         Avoid strdup. (will happen in libxml, but hey!)
9948
9949         * gst/gsturi.c:
9950         Add some more docs.
9951
9952 2006-07-05  Wim Taymans  <wim@fluendo.com>
9953
9954         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
9955         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9956         (gst_buffer_suite):
9957         No point in checking if the size of the subbuffer > 0, the
9958         code handles it correclty as demonstrated by unit test.
9959         Also add a unit test for the zero sized _new_and_alloc and
9960         _copy. Fixes #346663.
9961
9962 2006-07-05  Wim Taymans  <wim@fluendo.com>
9963
9964         * libs/gst/base/gstbasetransform.c:
9965         (gst_base_transform_prepare_output_buffer),
9966         (gst_base_transform_buffer_alloc),
9967         (gst_base_transform_handle_buffer):
9968         Make sure the buffer we pass to transform_ip has a refcount of
9969         1 and thus is writable. Fixes #343196
9970
9971 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
9972
9973         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9974         (gst_file_src_init), (gst_file_src_set_property),
9975         (gst_file_src_get_property), (gst_file_src_map_region):
9976         * plugins/elements/gstfilesrc.h:
9977         Add "sequential" property, off by default, to use madvise and hint
9978         to the kernel that sequential access is desired.
9979         Touch all retrieved pages by default to ensure they are pulled
9980         into memory. (Closes #345720)
9981
9982 2006-07-03  Wim Taymans  <wim@fluendo.com>
9983
9984         * docs/design/part-block.txt:
9985         * docs/design/part-dynamic.txt:
9986         Small docs updates.
9987
9988 2006-07-03  Wim Taymans  <wim@fluendo.com>
9989
9990         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
9991         (gst_caps_unref), (gst_static_caps_get),
9992         (gst_caps_append_structure):
9993         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
9994         Use GSlice when the glib we build against is >= 2.10
9995
9996 2006-07-03  Wim Taymans  <wim@fluendo.com>
9997
9998         * gst/gstelement.c: (gst_element_pads_activate):
9999         Small cleanup in pad activation code.
10000
10001 2006-07-03  Wim Taymans  <wim@fluendo.com>
10002
10003         Patch by: Peter Kjellerstedt <pkj at axis dot com>
10004
10005         * gst/gst-i18n-app.h:
10006         * gst/gst-i18n-lib.h:
10007         * tools/gst-inspect.c: (print_signal_info):
10008         The attached patch will make the inclusion of gettext.h unconditional in
10009         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
10010         libintl.h in tools/gst-inspect.c.
10011         This allows use of --disable-nls again and fixes #344642.
10012
10013 2006-07-03  Edward Hervey  <edward@fluendo.com>
10014
10015         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
10016         Implement pad blocking on events according to part-block.txt.
10017         More comments on behaviour.
10018         * tests/check/gst/gstevent.c: (test_event):
10019         Send event to peer pad of blocked pad (else it will block).
10020
10021 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10022
10023         * libs/gst/check/gstcheck.c: (gst_check_message_error),
10024         (gst_check_run_suite):
10025           if we get the wrong message, give us the types as string
10026         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10027           Fix a translatable
10028         * tests/check/elements/filesrc.c: (GST_START_TEST):
10029           add a test for trying to open a non-existing file
10030
10031 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10032
10033         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10034           add a test for adding self
10035
10036 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10037
10038         * libs/gst/check/gstcheck.h:
10039           add some assert_ as alias for fail_unless_*
10040         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
10041           increase test coverage
10042
10043 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10044
10045         * Makefile.am:
10046           include lcov.mak for lcov coverage generation
10047         * tools/Makefile.am:
10048           add to CLEANFILES
10049
10050 2006-07-02  Edward Hervey  <edward@fluendo.com>
10051
10052         * tests/check/elements/.cvsignore:
10053         moaping
10054
10055 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10056
10057         * configure.ac:
10058           don't set CFLAGS and friends for gcov, done from GST_GCOV now
10059         * tests/check/Makefile.am:
10060           clean up gcov files
10061
10062 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
10065           remove gst_caps_simplify; it was not declared and not used
10066           and deprecated in 0.8
10067
10068 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10069
10070         * docs/faq/gst-uninstalled:
10071           don't put empty paths on PYTHONPATH
10072         * docs/gst/gstreamer-sections.txt:
10073           remove some symbols that are not there
10074
10075 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10076
10077         * gst/gstcaps.c: (gst_caps_compare_structures):
10078           whitespace fixes
10079         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10080         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10081           add more tests
10082
10083 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10084
10085         * libs/gst/dataprotocol/Makefile.am:
10086           build dataprotocol test by linking to the lib, instead of
10087           compiling the source, so we get coverage
10088         * tests/check/Makefile.am:
10089         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
10090         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
10091           add a test for filesrc
10092
10093 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10094
10095         * tests/check/gst/gststructure.c: (GST_START_TEST),
10096         (gst_structure_suite):
10097           Push coverage from 59.04% to 70.00%
10098
10099 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10100
10101         * tests/check/Makefile.am:
10102           gst-inspect every element; this makes sure that we also get
10103           coverage on element's get/set functions
10104
10105 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10106
10107         * configure.ac:
10108           set CFLAGS and friends to -O0 if gcov is being used
10109           add GCOV LIBS
10110         * gst/Makefile.am:
10111         * libs/gst/base/Makefile.am:
10112         * libs/gst/check/Makefile.am:
10113         * libs/gst/controller/Makefile.am:
10114         * libs/gst/dataprotocol/Makefile.am:
10115         * libs/gst/net/Makefile.am:
10116         * plugins/elements/Makefile.am:
10117         * plugins/indexers/Makefile.am:
10118           add makefile rules to generate gcov data and clean up
10119         * tests/check/Makefile.am:
10120           add a coverage target that generates an html overview
10121           of coverage data
10122
10123 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10124
10125         * tests/check/elements/fakesink.c:
10126         * tests/check/elements/fakesrc.c:
10127         * tests/check/elements/fdsrc.c:
10128         * tests/check/elements/identity.c:
10129         * tests/check/generic/sinks.c: (gst_sinks_suite):
10130         * tests/check/generic/states.c:
10131         * tests/check/gst/gst.c:
10132         * tests/check/gst/gstabi.c:
10133         * tests/check/gst/gstbin.c:
10134         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
10135         * tests/check/gst/gstbus.c: (gst_bus_suite):
10136         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10137         * tests/check/gst/gstelement.c:
10138         * tests/check/gst/gstevent.c: (gst_event_suite):
10139         * tests/check/gst/gstghostpad.c:
10140         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
10141         * tests/check/gst/gstmessage.c: (gst_message_suite):
10142         * tests/check/gst/gstminiobject.c:
10143         * tests/check/gst/gstobject.c:
10144         * tests/check/gst/gstpad.c:
10145         * tests/check/gst/gstpipeline.c:
10146         * tests/check/gst/gstplugin.c:
10147         * tests/check/gst/gstquery.c: (gst_query_suite):
10148         * tests/check/gst/gstsegment.c: (gst_segment_suite):
10149         * tests/check/gst/gststructure.c:
10150         * tests/check/gst/gstsystemclock.c:
10151         * tests/check/gst/gsttag.c:
10152         * tests/check/gst/gsttask.c: (gst_task_suite):
10153         * tests/check/gst/gstutils.c:
10154         * tests/check/gst/gstvalue.c:
10155         * tests/check/libs/adapter.c:
10156         * tests/check/libs/basesrc.c:
10157         * tests/check/libs/collectpads.c:
10158         * tests/check/libs/controller.c:
10159         * tests/check/libs/gdp.c: (gst_dp_suite):
10160         * tests/check/libs/gstnetclientclock.c:
10161         * tests/check/libs/gstnettimeprovider.c:
10162         * tests/check/libs/libsabi.c: (libsabi_suite):
10163         * tests/check/libs/typefindhelper.c:
10164         * tests/check/pipelines/cleanup.c:
10165         * tests/check/pipelines/parse-launch.c:
10166         * tests/check/pipelines/simple-launch-lines.c:
10167         * tests/check/pipelines/stress.c: (stress_suite):
10168           use the new macro
10169
10170 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10171
10172         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
10173         * libs/gst/check/gstcheck.h:
10174           create a macro and function so that the simple unit test
10175           case can be just one macro to create main()
10176
10177 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
10178
10179         * gst/gstbin.c: (gst_bin_restore_thyself):
10180         * gst/gstxml.c: (gst_xml_make_element):
10181           Fix deserialisation from XML. Set parent manually
10182           instead of using gst_bin_add(), since gst_bin_add()
10183           will unlink all pads of the element being added.
10184           Fixes #341667.
10185
10186 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
10187
10188         Patch by: Peter Kjellerstedt <pkj at axis com>
10189
10190         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
10191           Fix missing g_strdup() and double free when using the
10192           --gst-plugin-load command line option (#346097).
10193
10194 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10195
10196         * gst/gstinfo.c:
10197           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
10198
10199         * libs/gst/net/gstnetclientclock.c:
10200         * libs/gst/net/gstnettimeprovider.c:
10201           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
10202
10203 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10204
10205         * docs/manual/advanced-dataaccess.xml:
10206           Fix buffer probe example compilation in
10207           ADM (#345708).
10208         
10209 2006-06-22  Edward Hervey  <edward@fluendo.com>
10210
10211         * gst/gstelement.c: (gst_element_pads_activate):
10212         We need to deactivate src pads first and then sink pads.
10213         The reason is the src pads might be blocking while holding the streaming
10214         lock, so we need to deactivate them first so that deactivating the sink
10215         pads doesn't block (since it will require the streaming lock).
10216
10217 2006-06-22  Wim Taymans  <wim@fluendo.com>
10218
10219         * libs/gst/base/gstbasetransform.c:
10220         (gst_base_transform_buffer_alloc):
10221         Forgot to remove two unneeded unrefs.
10222         Simplify a check _is_equal allready checks the obvious case.
10223
10224 2006-06-22  Wim Taymans  <wim@fluendo.com>
10225
10226         * docs/design/part-block.txt:
10227         Some docs about what pad_block should do.
10228
10229 2006-06-22  Wim Taymans  <wim@fluendo.com>
10230
10231         * gst/gstcaps.c: (gst_caps_replace):
10232         Fix crasher when passed NULL. Doc clarification.
10233         Optimize for the trivial case.
10234
10235         * gst/gstpipeline.c: (gst_pipeline_change_state):
10236         Small cleanups.
10237
10238         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10239         Small documentation cleanup.
10240
10241         * libs/gst/base/gstbasetransform.c:
10242         (gst_base_transform_buffer_alloc):
10243         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
10244         is what we need and it avoids a whole lot of redundant 
10245         refcount operations.
10246
10247 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
10248
10249         Patch by: Philip Jägenstedt  <philip at lysator liu se>
10250
10251         * docs/manual/advanced-dataaccess.xml:
10252           Fix 'Embedding static elements' section to use
10253           GST_PLUGIN_DEFINE_STATIC (#345607).
10254
10255 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10256
10257         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
10258           Attempt to 'fix' spuriously failing test case: it seems like the
10259           timeout of half a second is simply too small when the system is under
10260           load otherwise, and the timeout doesn't really seem to serve any
10261           particular purpose here. Give the pipeline a few seconds to preroll
10262           first, and then give it another half a second to go from PAUSED to
10263           PLAYING and marshal the message into the main thread.
10264
10265 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10266
10267         * tools/gst-feedback-m.m:
10268           Don't only use unversioned tools, try versioned tools as well
10269           (#345086).
10270
10271 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10272
10273         * gst/gstbus.c: (gst_bus_class_init):
10274           Fix some typos, make docs more explicit.
10275
10276 2006-06-20  Wim Taymans  <wim@fluendo.com>
10277
10278         * tests/check/gst/gstghostpad.c: (block_callback),
10279         (GST_START_TEST), (gst_ghost_pad_suite):
10280         Added some more ghostpad tests, mainly blocking
10281         and probes.
10282
10283 2006-06-16  Wim Taymans  <wim@fluendo.com>
10284
10285         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10286         (gst_file_sink_close_file), (gst_file_sink_do_seek),
10287         (gst_file_sink_event), (gst_file_sink_render):
10288         * plugins/elements/gstfilesink.h:
10289         Check if we can seek in the file instead of assuming
10290         we always can. Post an error when we are asked to seek in a
10291         non-seekable file (like a fifo). Fixes #343312.
10292         Some cleanups.
10293
10294 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10295
10296         * tools/gst-launch.1.in:
10297           Un-garble (fourcc) bit in filtered caps section.
10298
10299 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10300
10301         * docs/manual/advanced-autoplugging.xml:
10302         * docs/manual/basics-helloworld.xml:
10303         * docs/manual/highlevel-components.xml:
10304           Don't leak bus reference in sample code.
10305
10306 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
10307
10308         * autogen.sh:
10309           Add default for new --enable-plugin-docs switch.
10310
10311         * configure.ac:
10312           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
10313           Fixes #344039.
10314
10315         * docs/Makefile.am:
10316           Use new ENABLE_PLUGIN_DOCS conditional.
10317
10318 2006-06-14  Wim Taymans  <wim@fluendo.com>
10319
10320         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
10321         Make it clear with a FIXME and a real define what the #if 0
10322         previously disabled.
10323
10324 2006-06-14  Wim Taymans  <wim@fluendo.com>
10325
10326         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10327         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10328         * libs/gst/base/gstbasetransform.c:
10329         (gst_base_transform_sink_eventfunc):
10330         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10331         Don't randomly and silently reset a segment when the format 
10332         changes as this is a bug somewhere upstream. Fixes #330379.
10333
10334 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
10335
10336         Patch by: Wouter Paesen  <wouter at kangaroot net>
10337
10338         * libs/gst/controller/gstcontroller.c:
10339         (gst_controlled_property_new):
10340           Fix controlling of float properties (#344849).
10341
10342         * tests/check/libs/controller.c:
10343         (gst_test_mono_source_get_property),
10344         (gst_test_mono_source_set_property),
10345         (gst_test_mono_source_class_init), (GST_START_TEST):
10346           While we're at it, add some float stuff to unit test.
10347
10348 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * docs/README:
10351         * docs/images/gdp-header.svg:
10352           add a gdp image
10353         * docs/libs/Makefile.am:
10354         * docs/libs/gdp-header.png:
10355         * libs/gst/dataprotocol/dataprotocol.c:
10356           add it to the API docs
10357         * docs/manual/intro-motivation.xml:
10358           fix typo
10359
10360 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10361
10362         * gst/gst.c: (scan_and_update_registry), (init_post):
10363           If the fork()'ed child process can't write the updated registry cache
10364           file to disk for some reason, make it exit with a failure exit code,
10365           so that the parent can then re-scan the plugins itself and update the
10366           registry structures in memory and work with that (rather than failing
10367           when creating elements because seemingly no plugins are available).
10368           Refactor registry scanning code into separate function for this and
10369           also separate fork() and non-fork() code paths. Fixes #344748.
10370
10371 2006-06-13  Wim Taymans  <wim@fluendo.com>
10372
10373         * docs/manual/advanced-dataaccess.xml:
10374         Fix wrong PluginDesc. Fixes #344755.
10375
10376 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10377
10378         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10379           Fix silly bug that prevented us from creating
10380           ~/.gstreamer-0.10 and writing the registry in one
10381           go (the first call to g_mkstemp() would overwrite the
10382           placeholder in the template string, so the second call
10383           to g_mkstemp() after creating the missing directory
10384           would then error out with 'invalid argument').
10385
10386 2006-06-13  Edward Hervey  <edward@fluendo.com>
10387
10388         * gst/gst.c: (init_post):
10389         Free string.
10390
10391 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * gst/glib-compat-private.h:
10394         * gst/glib-compat.c:
10395         * gst/glib-compat.h:
10396         * gst/gstvalue.c: (gst_value_serialize_flags):
10397           remove GLib 2.6 compatibility code
10398
10399 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
10400
10401         * gst/parse/Makefile.am:
10402           Fix build with 'make -j N' even more (#340016).
10403
10404 2006-06-12  Wim Taymans  <wim@fluendo.com>
10405
10406         * docs/gst/gstreamer-sections.txt:
10407         Fix docs.
10408
10409 2006-06-12  Wim Taymans  <wim@fluendo.com>
10410
10411         * gst/gstsegment.c: (gst_segment_set_duration),
10412         (gst_segment_set_last_stop), (gst_segment_set_seek),
10413         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10414         (gst_segment_to_running_time), (gst_segment_clip):
10415         Use G_UNLIKELY to help the compiler a bit.
10416
10417 2006-06-12  Wim Taymans  <wim@fluendo.com>
10418
10419         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10420
10421         * gst/gstevent.c: (gst_event_get_type):
10422         * gst/gstmessage.c:
10423         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10424         (gst_pad_push):
10425         constify quark registration strings. Fixes #344115
10426         Avoid unneeded type checking is _pad_push() by internally
10427         calling gst_pad_chain_unchecked().
10428
10429 2006-06-12  Wim Taymans  <wim@fluendo.com>
10430
10431         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10432         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10433         (gst_subbuffer_finalize), (gst_buffer_create_sub),
10434         (gst_buffer_is_span_fast), (gst_buffer_span):
10435         Init _type for consistency.
10436         Use _FLAGS macro to avoid type check.
10437         Avoid unneeded type checks in subbufer code.
10438
10439 2006-06-12  Wim Taymans  <wim@fluendo.com>
10440
10441         * gst/gst.c: (gst_debug_help):
10442         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10443         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10444         (gst_plugin_feature_list_free):
10445         * gst/gstregistry.c: (gst_registry_add_plugin),
10446         (gst_registry_add_feature), (gst_registry_plugin_filter),
10447         (gst_registry_feature_filter), (gst_registry_find_plugin),
10448         (gst_registry_find_feature), (gst_registry_get_plugin_list),
10449         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10450         * gst/gstregistryxml.c: (load_feature),
10451         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10452         * gst/gstminiobject.c: (gst_mini_object_unref),
10453         (gst_mini_object_replace), (gst_value_mini_object_free),
10454         (gst_value_mini_object_copy):
10455         Use _CAST macros to avoid unneeded type checking.
10456         Added some more G_UNLIKELY.
10457
10458 2006-06-12  Wim Taymans  <wim@fluendo.com>
10459
10460         * gst/gstbuffer.h:
10461         Avoid unneeded type checking.
10462         API: GST_BUFFER_IS_DISCONT
10463
10464         * gst/gstminiobject.h:
10465         Avoid type check in flag accessor.
10466
10467         * gst/gstelementfactory.h:
10468         * gst/gstplugin.h:
10469         * gst/gstpluginfeature.h:
10470         Add _CAST macros.
10471         API: GST_ELEMENT_FACTORY_CAST
10472         API: GST_PLUGIN_CAST
10473         API: GST_PLUGIN_FEATURE_CAST
10474
10475 2006-06-12  Wim Taymans  <wim@fluendo.com>
10476
10477         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10478         (gst_object_unref):
10479         Add G_UNLIKELY in type registration.
10480         Avoid type check in _ref/_unref since that is also
10481         done in glib.
10482
10483 2006-06-12  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gsterror.c: (gst_g_error_get_type):
10486         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10487         (gst_static_pad_template_get_type):
10488         * gst/gsttaglist.c: (gst_tag_list_get_type):
10489         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10490         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10491         * gst/gsturi.c: (gst_uri_handler_get_type):
10492         * gst/gstvalue.c: (gst_date_get_type):
10493         * gst/gstxml.c: (gst_xml_get_type):
10494         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10495         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10496         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10497         Add G_UNLIKELY in type registration.
10498
10499 2006-06-12  Wim Taymans  <wim@fluendo.com>
10500
10501         * tools/gst-inspect.c: (print_signal_info):
10502         Properly print enum values.
10503
10504 2006-06-12  Wim Taymans  <wim@fluendo.com>
10505
10506         * gst/gstinfo.c: (gst_debug_set_active),
10507         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10508         * gst/gstinfo.h:
10509         Add some G_[UN]LIKELY.
10510         Maintain __gst_debug_min to avoid formatting the arguments of
10511         debug messages that will be dropped anyway to avoid a lot of 
10512         overhead from the debugging system.
10513
10514 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10515
10516         * po/POTFILES.in:
10517         * po/POTFILES.skip:
10518           add missing files containing translatable strings, tell intltool about
10519           one exception
10520
10521 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10522
10523         * tests/check/libs/.cvsignore:
10524         add test-binary to ignore list
10525
10526 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10527
10528         * docs/libs/gstreamer-libs-docs.sgml:
10529         reorder (put dp into a chapter) and indent
10530
10531 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10532
10533         * configure.ac:
10534           back to HEAD
10535
10536 === release 0.10.8 ===
10537
10538 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
10539
10540         * configure.ac:
10541           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10542
10543 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * gst/gst.c: (init_post):
10546           move pid declaration to declaration block
10547
10548 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10549
10550         * gst/gst.c: (init_post):
10551           use _exit() instead of exit() in our forked child; this ensures
10552           that none of the registered exit handlers from whatever is using
10553           GStreamer get executed.  This fixes gnome-mixer-applet failing
10554           to load, because ORBit would shut down.
10555           Spotted by: Edward Hervey  <edward@fluendo.com>
10556           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
10557           Fixes #344474
10558
10559 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10560
10561         * configure.ac:
10562           back to TRUNK
10563
10564 === release 0.10.7 ===
10565
10566 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
10567
10568         * configure.ac:
10569           releasing 0.10.7, "Soepeke, ik zie ou"
10570
10571 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * configure.ac:
10574         * po/af.po:
10575         * po/az.po:
10576         * po/bg.po:
10577         * po/ca.po:
10578         * po/cs.po:
10579         * po/de.po:
10580         * po/en_GB.po:
10581         * po/fr.po:
10582         * po/it.po:
10583         * po/nb.po:
10584         * po/nl.po:
10585         * po/ru.po:
10586         * po/sq.po:
10587         * po/sr.po:
10588         * po/sv.po:
10589         * po/tr.po:
10590         * po/uk.po:
10591         * po/vi.po:
10592         * po/zh_CN.po:
10593         * po/zh_TW.po:
10594         * win32/common/config.h:
10595           0.10.6.2 prerelease
10596
10597 2006-06-07  Wim Taymans  <wim@fluendo.com>
10598
10599         * gst/gstindex.c: (gst_index_gtype_resolver):
10600         * tools/gst-xmlinspect.c: (print_plugin_info):
10601         Fix leak spotted by coverity checker. Fixes #343827
10602         Fix another other leak found by paolo borelli.
10603
10604 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * libs/gst/dataprotocol/dataprotocol.c:
10607         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10608         (gst_dp_version_get_type), (gst_dp_init),
10609         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10610         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10611         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10612         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10613         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10614         (gst_dp_packetizer_free):
10615         * libs/gst/dataprotocol/dataprotocol.h:
10616           API: add a GstDPPacketizer object, and create/free functions
10617           API: add GstDPVersion enum
10618           Add 1.0 event function that uses the string serialization
10619           Serialize more useful buffer flags
10620           Fixes #343988
10621
10622 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10623
10624         * tests/check/Makefile.am:
10625         * tests/check/gst/gstabi.c:
10626         * tests/check/gst/struct_ppc64.h:
10627         * tests/check/libs/libsabi.c:
10628         * tests/check/libs/struct_ppc64.h:
10629           add ppc64 structure sizes
10630
10631 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10632
10633         * tests/check/Makefile.am:
10634         * tests/check/gst/gstabi.c:
10635         * tests/check/gst/struct_x86_64.h:
10636         * tests/check/libs/libsabi.c:
10637         * tests/check/libs/struct_x86_64.h:
10638           generate and add structure size lists for x86_64
10639
10640 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10641
10642         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10643         * libs/gst/check/gstcheck.h:
10644           factor out the method from tests that checks size of structures,
10645           and add code to generate the header containing these sizes
10646         * tests/check/gst/gstabi.c: (GST_START_TEST):
10647         * tests/check/gst/struct_i386.h:
10648         * tests/check/libs/libsabi.c: (GST_START_TEST):
10649         * tests/check/libs/struct_i386.h:
10650           use it
10651
10652 2006-06-06  Michael Smith  <msmith@fluendo.com>
10653
10654         * gst/gstsegment.h:
10655           Don't use c++-style comments, fixes #343929
10656
10657 2006-06-05  Edward Hervey  <edward@fluendo.com>
10658
10659         * gst/gst.c:
10660         plugin_paths is not used if we build without registry support.
10661
10662         * gst/gstsegment.c: (gst_segment_copy): 
10663         _copy() was always returning NULL...
10664
10665 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10666
10667         * libs/gst/dataprotocol/dataprotocol.c:
10668         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10669         (gst_dp_packet_from_event):
10670           factor out CRC code
10671
10672 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10673
10674         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
10675           make sure we unset caps
10676
10677 2006-06-02  Michael Smith  <msmith@fluendo.com>
10678
10679         * libs/gst/check/gstcheck.c: (gst_check_init),
10680         (gst_check_chain_func):
10681         * libs/gst/check/gstcheck.h:
10682           Add a cond/mutex to the check support lib, signal this whenever we
10683           add to the buffers list. This will allow tests to not busy-wait on
10684           the buffer-list.
10685
10686 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10687
10688         * libs/gst/dataprotocol/dataprotocol.c:
10689         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10690         (gst_dp_packet_from_event):
10691           factor out some common header init code
10692
10693 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10694
10695         * docs/libs/gstreamer-libs-sections.txt:
10696         * docs/libs/tmpl/gstdataprotocol.sgml:
10697         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
10698         * libs/gst/dataprotocol/dataprotocol.h:
10699           API: make gst_dp_crc() public
10700
10701 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10702
10703         * plugins/indexers/gstindexers.c: (plugin_init):
10704         conditionally register fileindexer (fixes #343598)
10705
10706 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10707
10708         * gst/gsttagsetter.h:
10709         Can't cast ifaces to a class
10710
10711         * libs/gst/net/gstnetclientclock.h:
10712         * libs/gst/net/gstnettimeprovider.h:
10713         * plugins/elements/gstfakesink.h:
10714         * plugins/elements/gstfakesrc.h:
10715         * plugins/elements/gstfdsink.h:
10716         * plugins/elements/gstfdsrc.h:
10717         * plugins/elements/gstfilesink.h:
10718         * plugins/elements/gstfilesrc.h:
10719         * plugins/elements/gstidentity.h:
10720         * plugins/elements/gstqueue.h:
10721         * plugins/elements/gsttee.h:
10722         * plugins/indexers/gstfileindex.c:
10723         * plugins/indexers/gstmemindex.c:
10724         * tests/old/examples/plugins/example.h:
10725         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
10726
10727 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * libs/gst/dataprotocol/dataprotocol.c:
10730         (gst_dp_header_from_buffer):
10731           make sure we zero the whole ABI-compatible area
10732
10733 2006-06-01  Wim Taymans  <wim@fluendo.com>
10734
10735         Patch by: Alessandro Decina <alessandro at nnva dot org>
10736
10737         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
10738         Make sure the EOS flag is cleared from pads after a flush
10739         or stop. Fixes #343538.
10740
10741         * tests/check/libs/collectpads.c: (GST_START_TEST),
10742         (gst_collect_pads_suite):
10743         Added test for collectpads reusage after EOS.
10744
10745 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
10746
10747         * gst/gst.c:
10748          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
10749         * win32/common/libgstbase.def:
10750          export gst_collect_pads_set_flushing
10751         * win32/common/libgstreamer.def:
10752          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
10753          gst_value_fraction_multiply
10754         * win32/vs6/gst_inspect.dsp:
10755          add a link to intl.lib
10756
10757 2006-05-30  Wim Taymans  <wim@fluendo.com>
10758
10759         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10760         (gst_collect_pads_chain):
10761         Handle the case where a pad is removed from the collection
10762         that could cause the other pads to become collectable.
10763
10764 2006-05-30  Wim Taymans  <wim@fluendo.com>
10765
10766         * gst/gstelement.c:
10767         Clarify the use of _release_request_pad() and
10768         _get_request_pad() a bit better.
10769
10770         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
10771         (gst_adapter_take_buffer):
10772         Fix some doc and comment typos.
10773
10774 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10775
10776         * docs/gst/gstreamer-sections.txt:
10777         * docs/libs/gstreamer-libs-sections.txt:
10778           add declared symbols
10779
10780 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
10781
10782         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10783         Add debug that can be enabled using a #define at the top of the file,
10784         for dumping stats about how late/early we were when waking up from
10785         waiting on the clock.
10786
10787 2006-05-30  Wim Taymans  <wim@fluendo.com>
10788
10789         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
10790         When rebuilding the pad list, don't leak the previous list.
10791
10792 2006-05-30  Wim Taymans  <wim@fluendo.com>
10793
10794         Patch by: Lutz Mueller <lutz at topfrose dot de>
10795
10796         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10797         (gst_base_src_get_query_types), (gst_base_src_update_length):
10798         Publish supported query types.
10799         Update last_stop field in get_range mode so the position
10800         query works. Fixes #342321.
10801
10802 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
10803
10804         * docs/gst/gstreamer-sections.txt:
10805         * gst/gsttaglist.c: (_gst_tag_initialize):
10806         * gst/gsttaglist.h:
10807           API: add GST_TAG_PREVIEW_IMAGE (#343341).
10808
10809 2006-05-30  Wim Taymans  <wim@fluendo.com>
10810
10811         Patch by: Alessandro Decina <alessandro at nnva dot org>
10812
10813         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10814         Unlock mutex when removing an unknown pad.
10815         Fixes #343334.
10816
10817         * tests/check/Makefile.am:
10818         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
10819         (push_event), (setup), (teardown), (GST_START_TEST),
10820         (gst_collect_pads_suite), (main):
10821         Added collecpads check, disabled for now as check crashes for
10822         some reason.
10823
10824 2006-05-29  Wim Taymans  <wim@fluendo.com>
10825
10826         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
10827         Don't leak pads lists.
10828
10829 2006-05-29  Wim Taymans  <wim@fluendo.com>
10830
10831         * docs/libs/gstreamer-libs-sections.txt:
10832         * libs/gst/base/gstcollectpads.c:
10833         (gst_collect_pads_set_flushing_unlocked),
10834         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10835         (gst_collect_pads_stop):
10836         * libs/gst/base/gstcollectpads.h:
10837         API: gst_collect_pads_set_flushing()
10838         Added api to set the pads to flushing, useful for seeking
10839         code in elements using collectpads.
10840         Clear segment when receiving a flush.
10841
10842 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
10843
10844         * gst/gst.c: (add_path_func), (init_post):
10845           Don't scan registry paths passed via --gst-plugin-path immediately
10846           (will crash, because absolutely nothing is set up and no types are
10847           registered etc.); do this later in init_post(). Fixes #343057.
10848
10849 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10850
10851         * gst/gst.c: (init_post):
10852           if we have fork, fork while reading/rebuilding the registry
10853           so the parent doesn't take the hit of having all plugins loaded
10854           in memory.  Fixes #342777.
10855         * configure.ac:
10856           Check if we have fork()
10857         * win32/common/config.h.in:
10858           no fork() on win32
10859
10860 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10861
10862         * plugins/elements/gstelements.c:
10863         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10864         (gst_file_src_init), (gst_file_src_set_property),
10865         (gst_file_src_get_property), (gst_file_src_start):
10866         * plugins/elements/gstfilesrc.h:
10867           API: GstFileSrc::use-mmap
10868
10869         Add a use-mmap property to enable easier testing of all code paths.
10870         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
10871         in the absence of gnomevfssrc. (Closes #340501)
10872
10873 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10874
10875         * tools/gst-inspect.c:
10876         Add missing include, removes warning of ngettext not being defined on
10877         some arches.
10878
10879 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10880
10881         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10882         Handle NULL input and output pointers silently as a failed conversion,
10883         rather than g_warnings.
10884
10885 2006-05-25  Wim Taymans  <wim@fluendo.com>
10886
10887         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
10888         Initialize variable before using. Fixes #342820.
10889
10890 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
10891
10892         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
10893           Fix off-by-one bug that would only allow peeks of N-1 bytes
10894           from the start even if the buffer to typefind on contains
10895           in fact N bytes of data (makes vorbis typefinding from a
10896           vorbis identification header buffer work).
10897
10898         * tests/check/Makefile.am:
10899         * tests/check/libs/.cvsignore:
10900         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
10901         (gst_typefindhelper_suite), (main), (foobar_typefind),
10902         (plugin_init):
10903           Add very basic unit test for gst_type_find_helper_for_buffer()
10904           that checks for the problem fixed above.
10905
10906 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10907
10908         * tools/gst-inspect.c: (print_interfaces),
10909         (print_element_properties_info), (print_element_list), (main):
10910           add more translatable strings
10911
10912 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
10913
10914         Patch by: Julien Moutte  <julien at moutte net>
10915
10916         * docs/gst/gstreamer-sections.txt:
10917           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
10918           
10919         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
10920         (gst_fake_sink_preroll):
10921         * plugins/elements/gstfakesink.h:
10922           API: Add new GstFakeSink::preroll-handoff signal (#337100).
10923
10924 2006-05-23  Wim Taymans  <wim@fluendo.com>
10925
10926         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
10927         * gst/gstpad.h:
10928         Added _CUSTOM error and success GstFlowReturn that can be
10929         used be elements internally. 
10930         Added macro to check for SUCCESS flowreturns.
10931         API: GST_FLOW_CUSTOM_SUCCESS
10932         API: GST_FLOW_CUSTOM_ERROR
10933         API: GST_FLOW_IS_SUCCESS
10934
10935         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
10936         Added check for GstFlowReturn sanity.
10937
10938 2006-05-23  Wim Taymans  <wim@fluendo.com>
10939
10940         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10941
10942         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10943         (gst_collect_pads_event):
10944         clear/reset segment info in FLUSH_STOP.
10945         Fixes #336929.
10946
10947 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
10948
10949         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
10950         (gst_collect_pads_check_collected):
10951         Flush queued buffer on _stop(), fixes playing again (#342454)
10952
10953 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10954
10955         * tests/check/gst/gststructure.c: (GST_START_TEST),
10956         (gst_structure_suite):
10957           add a test for a complete structure
10958
10959 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10960
10961         * docs/faq/developing.xml:
10962         * docs/faq/faq.xml:
10963         * docs/faq/troubleshooting.xml:
10964         * docs/faq/using.xml:
10965           Some minor FAQ updates that won't change the fact that
10966           our FAQ is badly structured, full of information hardly
10967           anyone new to GStreamer needs to know and lacking lots
10968           of information people constantly ask for.
10969           
10970 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
10971
10972         * gst/gstpad.c: (gst_pad_set_caps):
10973           Short-circuit gst_pad_set_caps if setting the existing
10974           caps pointer again, and avoid printing debug and 
10975           reffing/unreffing the caps.
10976
10977         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10978           There's actually no need to set the caps before pushing -
10979           the acceptcaps method will handle it anyway.
10980
10981 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10982
10983         * docs/gst/gstreamer-sections.txt:
10984         * win32/common/libgstreamer.def:
10985         * gst/gstutils.c: (gst_element_seek_simple):
10986         * gst/gstutils.h:
10987           API: add gst_element_seek_simple() (#342238).
10988
10989 2006-05-18  Edward Hervey  <edward@fluendo.com>
10990
10991         * gst/gsttypefind.c: (gst_type_find_get_type):
10992         * gst/gsttypefind.h:
10993         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
10994         registered for GstTypeFind pointers. This allows wrapping the structure
10995         in bindings (i.e. gst-python).
10996
10997 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
10998
10999         * gst/gsttagsetter.c:
11000           Docs additions and fixes (see #339918).
11001
11002 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11003
11004         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11005         The caps intersection algorithm can produce multiple copies of the
11006         caps. Until that is fixed, we need to simplify the result to be
11007         sure whether the allowed caps are fixed or not.
11008
11009         * plugins/elements/gstqueue.c: (gst_queue_init),
11010         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
11011         (gst_queue_push_one):
11012         Proxied buffer alloc should not set the caps on the source pad.
11013         When pushing buffers, we always accept the caps change that triggers.
11014         This prevents negotiation errors caused by caps changing mid-stream 
11015         and then being refused on our source pad (because upstream is now
11016         refusing those caps).
11017
11018 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11019
11020         * tests/examples/helloworld/helloworld.c: (main):
11021           Must plug audioconvert and audioresample between decoder
11022           and audio sink.
11023
11024 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
11025
11026         * gst/gstregistryxml.c: (read_string), (load_pad_template),
11027         (load_feature), (load_plugin):
11028         Allow empty strings for some of the plugin fields so we don't 
11029         drop valid plugin entries that were written out correctly
11030         (Fixes #341479)
11031
11032 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
11033         
11034         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11035           Use g_remove and g_rename instead of remove and rename that don't 
11036           handle utf8 characters. rename was failing for users who had specific
11037           characters in their name then the registry was built at each 
11038           gstreamer init.
11039         * win32/vs6/gst_inspect.dsp:
11040         * win32/vs6/gst_launch.dsp:
11041         * win32/vs6/libgstbase.dsp:
11042         * win32/vs6/libgstcoreelements.dsp:
11043         * win32/vs6/libgstreamer.dsp:
11044           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
11045           build of libgstreamer and clean unused libraries in projects link 
11046           settings.
11047
11048 2006-05-17  Edward Hervey  <edward@fluendo.com>
11049
11050         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11051         The queue is not responsible for pushing an EOS when receiving a fatal
11052         flow error. It's up to the real element driving the pipeline to do that.
11053
11054 2006-05-16  Edward Hervey  <edward@fluendo.com>
11055
11056         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11057         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
11058         buffer returned a fatal error. It should just send an EOS and stop
11059         its task.
11060         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
11061         when pushing buffers on the queue and will be able to handle the event.
11062
11063 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
11064
11065         * docs/manual/basics-bins.xml:
11066         * docs/manual/basics-init.xml:
11067           Fix typos and minor errors in sample code (#341856).
11068
11069 2006-05-16  Wim Taymans  <wim@fluendo.com>
11070
11071         * docs/design/part-qos.txt:
11072         Fix indexes in formulas to make more sense.
11073
11074 2006-05-15  Wim Taymans  <wim@fluendo.com>
11075
11076         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11077         Don't report POSITION based on clock time if sync is
11078         disabled in a sink.
11079
11080 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
11081
11082         * gst/gstobject.h:
11083           Add cast to make compiler happy - refcount variable was a gint
11084           in GstObject but is a guint in GObject and g_atomic_int_get()
11085           wants a gint *.
11086
11087 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * gst/parse/Makefile.am:
11090           chain commands using &&, which also makes parallel make work
11091
11092 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
11093
11094         * docs/gst/gstreamer-sections.txt:
11095         * gst/gstevent.c:
11096         * gst/gstevent.h:
11097         * gst/gstmessage.h:
11098           Minor docs fixes.
11099
11100 === release 0.10.6 ===
11101
11102 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
11103
11104         * configure.ac:
11105           releasing 0.10.6, "Take the cannoli"
11106
11107 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11108
11109         * tools/gst-launch.c: (print_tag):
11110           Fix use of uninitialized variable in the hypothetical
11111           case that some broken plugin creates a GST_TAG_IMAGE
11112           tag containing a NULL buffer (#341667).
11113
11114 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11115
11116         * tools/gst-launch.c: (print_tag):
11117           Print something more intelligible for image tags when
11118           using the -t switch (#341556).
11119
11120 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11121
11122         * Makefile.am:
11123           updates for win32
11124         * configure.ac:
11125           define GST_MAJORMINOR so we have it available in win32/common/config.h
11126           Possibly remove it from our Makefile.am files later
11127         * win32/common/config.h:
11128         * win32/common/config.h.in:
11129           added GST_MAJORMINOR
11130         * win32/common/gstenumtypes.c: (register_gst_resource_error):
11131         * win32/common/gstversion.h:
11132           updated
11133
11134 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
11135
11136         * win32/MANIFEST:
11137           Update win32 files listing.
11138         * win32/common/gstversion.h:
11139           Add GST_MAJORMINOR definition.
11140         * win32/common/libgstreamer.def:
11141           Add new exported functions.
11142           
11143 2006-05-12  Michael Smith  <msmith@fluendo.com>
11144
11145         * gst/gstplugin.c: (gst_plugin_load_file):
11146           If an so file has no plugin entry point, unload the module.
11147
11148 2006-05-11  Wim Taymans  <wim@fluendo.com>
11149
11150         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
11151         (gst_queue_set_property):
11152         Don't forget to signal the _chain or _loop function 
11153         when the queue size or thresholds change since that might
11154         cause them to make progres again.
11155
11156 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
11157
11158         * gst/gstclock.c: (gst_clock_class_init):
11159         * gst/gstindex.c: (gst_index_class_init):
11160         * gst/gstobject.c: (gst_object_class_init):
11161         * gst/gstpad.c: (gst_pad_class_init):
11162         * gst/gstpipeline.c: (gst_pipeline_class_init):
11163         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11164         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
11165         * libs/gst/base/gstbasetransform.c:
11166         (gst_base_transform_class_init):
11167         * libs/gst/net/gstnetclientclock.c:
11168         (gst_net_client_clock_class_init):
11169         * libs/gst/net/gstnettimeprovider.c:
11170         (gst_net_time_provider_class_init):
11171         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
11172         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11173         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11174         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
11175         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11176         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11177         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11178         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11179         * plugins/elements/gsttee.c: (gst_tee_class_init):
11180         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11181         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11182           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
11183
11184 2006-05-11  Wim Taymans  <wim@fluendo.com>
11185
11186         * gst/gstbuffer.c: (_gst_buffer_initialize):
11187         Register subbufer along with the buffer type so that
11188         it does not accidentally gets registered from N
11189         different streaming threads in a non threadsafe way.
11190
11191 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11192
11193         * gst/gstbuffer.h:
11194         * gst/gstevent.h:
11195         * gst/gstmessage.h:
11196           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
11197           gst_event_ref() and gst_message_ref() functions again
11198           (ugly hack, please do fix if there's a better way besides
11199           overrides.txt, which doesn't seem to work).
11200
11201 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11202
11203         * libs/gst/check/gstcheck.h:
11204           add an assert for setting state to avoid lots of repetitive code
11205           in the future
11206
11207 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11208
11209         * gst/gstvalue.c: (gst_value_serialize_flags):
11210           fix a leak if no flags are set
11211         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11212           fix leak in tests
11213
11214 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11215
11216         * docs/manual/basics-pads.xml:
11217           Expand a bit on caps and filtered links and update
11218           examples that were still using the no longer existing
11219           gst_pad_link_filtered() (#338206).
11220
11221 2006-05-10  Wim Taymans  <wim@fluendo.com>
11222
11223         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11224         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11225         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11226         (gst_collect_pads_stop):
11227         * libs/gst/base/gstcollectpads.h:
11228         No need to call _stop in _finalize.
11229         Iterate the main pad list in _finalize.
11230         Added some more debug.
11231         Free lists and data in the right order.
11232         Also free data whem doing _remove_pad when stopped for
11233         backward compatibility protect ::started with PAD_LOCK as
11234         well.
11235
11236 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
11239         (gst_structure_parse_value):
11240           add some comments
11241           rename a method so that it actually says what it does better
11242
11243 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11244
11245         * gst/gstevent.c: (_gst_event_initialize):
11246         * gst/gstformat.c: (_gst_format_initialize):
11247           make sure some essential types used by events are registered
11248           as part of gst_init()
11249         * gst/gstvalue.c: (gst_value_serialize_flags):
11250           if no flags are set, serialize them to a value that represents NONE
11251           so that deserializing them works
11252         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11253           add tests for serialization and deserialization of flags
11254
11255 2006-05-10  Wim Taymans  <wim@fluendo.com>
11256
11257         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
11258         (gst_collect_pads_collect_range), (gst_collect_pads_available),
11259         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
11260         (gst_collect_pads_event), (gst_collect_pads_chain):
11261         Update docs.
11262         Better debug info.
11263         Catch and return errors from the collect function
11264         Refuse data on eos pads.
11265
11266 2006-05-10  Edward Hervey  <edward@fluendo.com>
11267
11268         * gst/gstinterface.h:
11269         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
11270         GInterface type checking.
11271         They were previously using non-defined macros.
11272
11273 2006-05-09  Wim Taymans  <wim@fluendo.com>
11274
11275         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
11276         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
11277         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
11278         (gst_collect_pads_start), (gst_collect_pads_stop),
11279         (gst_collect_pads_peek), (gst_collect_pads_pop),
11280         (gst_collect_pads_available), (gst_collect_pads_read),
11281         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
11282         (gst_collect_pads_is_collected), (gst_collect_pads_event),
11283         (gst_collect_pads_chain):
11284         * libs/gst/base/gstcollectpads.h:
11285         Clean up the mess that is collectpads, add comments and
11286         FIXMEs where needed.
11287         Maintain a separate pad list so we can add pads while
11288         collecting the other ones. For this we need a new separate 
11289         lock (see comics).
11290         Fix memory leak in finalize.
11291         Refactor some weird code to set/unset pad flushing flags, mark
11292         with comments.
11293         Don't crash in _available, _read, _flush when we're EOS.
11294
11295         * tests/check/libs/.cvsignore:
11296         Ignore adapter check binary.
11297
11298 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11299
11300         * gst/gstindex.c: (gst_index_resolver_get_type):
11301         * plugins/elements/gstfakesink.c:
11302         (gst_fake_sink_state_error_get_type):
11303         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11304         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
11305         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11306           Const-ify GEnumValue arrays.
11307
11308 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11309
11310         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11311           Add test case for flags + gst_buffer_make_metadata_writable().
11312
11313 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11314
11315         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
11316           gst_buffer_make_metadata_writable() should maintain the
11317           buffer flags (those that make sense at least) (see #340859).
11318
11319 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11320
11321         * tools/gst-inspect.c:
11322         * tools/gst-launch.c:
11323         * tools/gst-typefind.c:
11324         * tools/gst-xmlinspect.c:
11325         * tools/tools.h:
11326           Fix up includes: need to include stdlib.h in tools.h for exit().
11327
11328 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11329
11330         * gst/gsttaglist.c: (_gst_tag_initialize):
11331         * gst/gsttaglist.h:
11332           API: add GST_TAG_IMAGE tag (#340721).
11333
11334 2006-05-08  Wim Taymans  <wim@fluendo.com>
11335
11336         * gst/gstquery.c:
11337         Added some docs for the segment query.
11338
11339 2006-05-08  Wim Taymans  <wim@fluendo.com>
11340
11341         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11342         (gst_base_src_loop), (gst_base_src_change_state):
11343         Always push non-flushing serialized events in the streaming 
11344         thread.
11345
11346 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11347
11348         * gst/gsterror.c: (_gst_stream_errors_init):
11349           Add a missing error string.
11350
11351 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
11352
11353         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
11354         Add applied_rate to the debug
11355
11356         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11357         Copy applied_rate into the outgoing NEWSEGMENT event
11358
11359 2006-05-08  Wim Taymans  <wim@fluendo.com>
11360
11361         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
11362
11363         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
11364         (gst_base_sink_change_state):
11365         call ::unlock before taking the PREROLL_LOCK so we can safely
11366         handle elements that lock in ::render.
11367         Fixes #340174.
11368
11369 2006-05-08  Edward Hervey  <edward@fluendo.com>
11370
11371         * autogen.sh: (CONFIGURE_DEF_OPT): 
11372         Darwin's libtoolize is in fact called glibtoolize.
11373         Adding glibtoolize to the list of accepted names for libtoolize.
11374
11375 2006-05-08  Wim Taymans  <wim@fluendo.com>
11376
11377         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11378         Unify error handling, don't post an error message
11379         when a push() returns EOS but perform our normal EOS
11380         handling code. Fixes #340772.
11381
11382 2006-05-08  Wim Taymans  <wim@fluendo.com>
11383
11384         * docs/design/part-overview.txt:
11385         Make upsteam/downstream concepts more clear.
11386         Give an example of serialized/non-serialized events.
11387
11388         * docs/design/part-events.txt:
11389         * docs/design/part-streams.txt:
11390         Mention applied_rate.
11391
11392         * docs/design/part-trickmodes.txt:
11393         Mention applied rate, flesh out some more use cases.
11394
11395         * gst/gstevent.c: (gst_event_new_new_segment),
11396         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11397         (gst_event_parse_new_segment_full), (gst_event_new_tag),
11398         (gst_event_parse_tag), (gst_event_new_buffer_size),
11399         (gst_event_parse_buffer_size), (gst_event_new_qos),
11400         (gst_event_parse_qos), (gst_event_parse_seek),
11401         (gst_event_new_navigation):
11402         * gst/gstevent.h:
11403         Add applied_rate field to NEWSEGMENT event.
11404         API: gst_event_new_new_segment_full()
11405         API: gst_event_parse_new_segment_full()
11406
11407         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11408         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11409         (gst_segment_to_stream_time), (gst_segment_to_running_time):
11410         * gst/gstsegment.h:
11411         Add applied_rate to GstSegment structure.
11412         Make calculation of stream_time and running_time more correct
11413         wrt rate/applied_rate.
11414         Add some more docs.
11415         API: GstSegment::applied_rate field
11416         API: gst_segment_set_newsegment_full();
11417
11418         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11419         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11420         * libs/gst/base/gstbasetransform.c:
11421         (gst_base_transform_sink_eventfunc),
11422         (gst_base_transform_handle_buffer):
11423         Parse and use applied_rate in the GstSegment field.
11424
11425         * tests/check/gst/gstevent.c: (GST_START_TEST):
11426         Add check for applied_rate field.
11427
11428         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11429         (gstsegments_suite):
11430         Add more checks for various GstSegment operations.
11431
11432 2006-05-08  Wim Taymans  <wim@fluendo.com>
11433
11434         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11435         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11436         (gst_base_sink_get_position), (gst_base_sink_change_state):
11437         Store the sync time of the buffer end position separatly in a
11438         new variable eos_rtime so we can properly sync the EOS event.
11439         Fixes #340697.
11440         Fix the docs for gst_base_sink_set_qos_enabled().
11441         Don't set segment start to invalid value when we receive a 
11442         non TIME newsegment.
11443         get closer to handling position reporting for negative rates 
11444         correctly.
11445
11446 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11447
11448         * gst/gstcaps.c:
11449         Docs about how to print caps for debug purposes.
11450
11451         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11452         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11453
11454 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11455
11456         * gst/gstelement.c:
11457           use full enum names and preprend a '%' in docs strings to make recent 
11458           gtk-doc turn that into a link
11459
11460 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11461
11462         * docs/manual/basics-bins.xml:
11463         * docs/manual/basics-bus.xml:
11464         * docs/manual/basics-pads.xml:
11465           Some typo fixes, some additions, some clarifications. 
11466
11467 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11468
11469         * tools/gst-inspect.c: (main):
11470         * tools/gst-launch.c: (main):
11471         * tools/gst-run.c: (main):
11472         * tools/gst-typefind.c: (main):
11473         * tools/gst-xmlinspect.c: (main):
11474           Use the string passed to g_option_context_new() for
11475           what it's intended for - the program name is already
11476           printed elsewhere.
11477
11478 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11479
11480         * tools/Makefile.am:
11481         * tools/gst-inspect.c: (main):
11482         * tools/gst-launch.c: (main):
11483         * tools/gst-xmlinspect.c: (main):
11484         * tools/tools.h:
11485           Add back --version command line option (#340460).
11486
11487         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11488           Add --version option and use GOption for argument parsing; refactor a
11489           bit; accept directories as arguments and recurse into them; lastly,
11490           print a decent error message when things go wrong.
11491
11492 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11493
11494         * docs/manual/basics-bins.xml:
11495         Don't mention GstThread (#340611)
11496         * docs/manual/basics-elements.xml:
11497         Update link to GObject tutorial (#340607)
11498         
11499 2006-05-05  Wim Taymans  <wim@fluendo.com>
11500
11501         * gst/gstbuffer.h:
11502         * gst/gstminiobject.c:
11503         Add note about refcounting and miniobject/buffer writeability
11504         to docs. Fixes #340604
11505
11506         * gst/gstelementfactory.h:
11507         Added some explanation about @klass.
11508
11509 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11510
11511         * docs/manual/intro-motivation.xml:
11512         * docs/manual/manual.xml:
11513         Avoid CORBA & Bonobo references (#340598)
11514
11515 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11516
11517         * docs/manual/basics-bus.xml:
11518         * docs/manual/basics-pads.xml:
11519         Fix up some inaccuracies and omissions (#340609)
11520         
11521 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11522
11523         * gst/gstghostpad.c:
11524           Small typo in docs (#340625)
11525
11526 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11527
11528         * gst/parse/Makefile.am:
11529           Make 'make -j' proof (see #340698).
11530
11531 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11532
11533         * configure.ac:
11534           Require GLib-2.8 here as well.
11535
11536 2006-05-05  Wim Taymans  <wim@fluendo.com>
11537
11538         * gst/glib-compat.c:
11539         * gst/gst.c: (init_pre):
11540         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11541         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11542         (gst_object_dispatch_properties_changed):
11543         * gst/gstobject.h:
11544         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11545         * gst/gststructure.c: (gst_structure_set_valist):
11546         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11547         Remove pre glib2.8 compatibility, fixes #340508
11548
11549 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11550
11551         * gst/gsttaglist.h:
11552           Mention type of tags in doc blurbs.
11553
11554 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
11555
11556         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11557         (gst_pad_configure_src), (gst_pad_push):
11558         Restore acceptcaps checking behaviour now that good plugins have
11559         been released.
11560
11561 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11562
11563         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11564
11565         * gst/gst.c:
11566         * gst/gstbus.c:
11567         * gst/gstclock.c:
11568         * gst/gstevent.c:
11569         * gst/gstformat.c:
11570         * gst/gstmessage.c:
11571         * gst/gstparse.c:
11572         * gst/gstquery.c:
11573         * gst/gstutils.c:
11574         * gst/parse/Makefile.am:
11575         * libs/gst/base/gstadapter.c:
11576         * libs/gst/base/gstbasesrc.c:
11577         * libs/gst/base/gstpushsrc.c:
11578         * libs/gst/base/gsttypefindhelper.c:
11579         * plugins/elements/gstfakesrc.c:
11580         * plugins/elements/gstidentity.c:
11581           Make sure gstprivate.h and/or config.h are
11582           always included first, otherwise some of our
11583           defines (like _FILE_OFFSET_BITS) might be
11584           redefined in the system headers. Fixes build
11585           on opensolaris (#340016).
11586
11587 2006-05-04  Wim Taymans  <wim@fluendo.com>
11588
11589         * docs/libs/gstreamer-libs-sections.txt:
11590         API: addition: gst_adapter_take_buffer()
11591         
11592         * libs/gst/base/gstadapter.c: (gst_adapter_push),
11593         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11594         (gst_adapter_available_fast):
11595         * libs/gst/base/gstadapter.h:
11596         Prepare for optimizing the hell out of this hugely inefficient
11597         piece of code. 
11598         Added gst_adapter_take_buffer() so we can at least start thinking
11599         about subbuffering and merging.
11600         Added some comments.
11601
11602         * tests/check/Makefile.am:
11603         * tests/check/libs/adapter.c: (GST_START_TEST),
11604         (gst_adapter_suite), (main):
11605         Added GstAdapter check.
11606
11607 2006-05-04  Wim Taymans  <wim@fluendo.com>
11608
11609         * docs/design/part-overview.txt:
11610         Fix some typos, add blurb about buffer flags.
11611
11612 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11613
11614         * docs/libs/gstreamer-libs-sections.txt:
11615           make sure GstBaseTransformClass shows up in the docs
11616         * libs/gst/base/gstbasetransform.c:
11617         * libs/gst/base/gstbasetransform.h:
11618           move docs so gtk-doc picks it up now
11619
11620 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11621
11622         * docs/libs/gstreamer-libs-sections.txt:
11623           add missing symbols to docs
11624
11625 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11626
11627         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11628           back out the newsegment handling change, see #340060 for ongoing
11629           discussion
11630
11631 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
11632
11633         * tools/gst-run.c: (get_candidates), (main):
11634           Fix wrong g_file_test() usage (see glib docs for why it doesn't
11635           work); fix typo in error message. Fixes #340079.
11636
11637 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11638
11639         * common/Makefile.am:
11640         * docs/Makefile.am:
11641         * docs/faq/Makefile.am:
11642         * docs/gst/Makefile.am:
11643         * docs/libs/Makefile.am:
11644         * docs/manual/Makefile.am:
11645         * docs/plugins/Makefile.am:
11646         * docs/pwg/Makefile.am:
11647         * docs/slides/Makefile.am:
11648         * docs/upload.mak:
11649         * common/upload.mak:
11650           move upload.mak to common
11651
11652 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11653
11654         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11655           add more asserts on refcounts
11656           do more cleanup at end of tests
11657           fix test leaks showing in FC5
11658
11659 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
11660
11661         * plugins/elements/gsttypefindelement.c:
11662         (gst_type_find_element_handle_event):
11663         reverted wrong change and reflowed code to avoid others falling into
11664         this trap
11665
11666 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11667
11668         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11669           fix changelog entry about last collectpads change,
11670           add notes about proper fix
11671
11672 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11673
11674         * gst/gst.c:
11675         * gst/gstregistry.c: (gst_registry_scan_path_level),
11676         (gst_registry_scan_path):
11677         * gst/gstregistry.h:
11678           only write out registry if it has changed, fixes #338339
11679
11680 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11681
11682         * gst/gstbin.c:
11683         * gst/gstpipeline.c:
11684         * plugins/elements/gstcapsfilter.c:
11685         * plugins/elements/gstfakesink.c:
11686         * plugins/elements/gstfakesrc.c:
11687         * plugins/elements/gstfdsink.c:
11688         * plugins/elements/gstfdsrc.c:
11689         * plugins/elements/gstfilesink.c:
11690         * plugins/elements/gstfilesrc.c:
11691         * plugins/elements/gstidentity.c:
11692         * plugins/elements/gstqueue.c:
11693         * plugins/elements/gsttee.c:
11694         * plugins/elements/gsttypefindelement.c:
11695         (gst_type_find_element_handle_event):
11696           make GstElementDetails const
11697
11698 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11699
11700         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
11701         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11702         (gst_collect_pads_is_collected), (gst_collect_pads_event):
11703           more detailed debug and formatting cleanup,
11704           forward newsegments to src-pad (so that e.g. adder not eats them)
11705
11706 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11707
11708         * gst/gstutils.c: (gst_element_link_pads):
11709           cleanup double code
11710
11711 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11712
11713         * libs/gst/controller/gstcontroller.c:
11714         (gst_controller_sync_values):
11715           some little tuning
11716         * tests/check/libs/controller.c: (GST_START_TEST),
11717         (gst_controller_suite):
11718           a new test for live value handling
11719
11720 2006-04-28  Wim Taymans  <wim@fluendo.com>
11721
11722         * gst/gstutils.c: (push_and_ref):
11723         Added some more docs.
11724         Fix refcount issue whith gst_element_found_tags() helper 
11725         function. Fixes #338335
11726
11727         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11728         Added testsuite for gst_element_found_tags().
11729
11730 2006-04-28  Michael Smith  <msmith@fluendo.com>
11731
11732         * gst/gstvalue.c: (gst_value_serialize_flags):
11733           Avoid NULL dereference when trying to serialize flags containing
11734           invalid values.
11735
11736 2006-04-28  Michael Smith  <msmith@fluendo.com>
11737
11738         * plugins/elements/gsttypefindelement.c:
11739         (gst_type_find_element_handle_event):
11740           If we get EOS before any data is accumulated, don't use
11741           uninitialised local variables.
11742
11743 2006-04-28  Michael Smith  <msmith@fluendo.com>
11744
11745         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11746         (gst_dp_event_from_packet):
11747           Fixes in reading/writing events over GDP (not currently used?) - 
11748           dereferencing NULL events for unknown/invalid event types, memory
11749           leak, and change g_warning to GST_WARNING.
11750
11751 2006-04-28  Wim Taymans  <wim@fluendo.com>
11752
11753         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
11754         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11755         (gst_base_sink_get_position), (gst_base_sink_change_state):
11756         When frame dropping is enabled, we should not ignore frames
11757         without a duration.
11758         Update some documentation.
11759
11760 2006-04-28  Wim Taymans  <wim@fluendo.com>
11761
11762         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11763         (gst_base_src_send_event), (gst_base_src_change_state):
11764         Documentation updates.
11765
11766 2006-04-28  Wim Taymans  <wim@fluendo.com>
11767
11768         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
11769         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
11770         handle EAGAIN, EINTR and short writes correctly. Also clean
11771         up some error cases, avoid a deadlock on bad file descriptors and
11772         use GST_DEBUG_OBJECT.
11773         Fixes #339843
11774
11775 2006-04-28  Wim Taymans  <wim@fluendo.com>
11776
11777         * gst/gstvalue.c: (gst_value_serialize_buffer),
11778         (gst_value_deserialize_buffer):
11779         Don't try to serialize a GValue with a NULL buffer. 
11780         Fixes #339821.
11781
11782         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11783         Added check for serialisation of NULL buffers.
11784
11785 2006-04-28  Wim Taymans  <wim@fluendo.com>
11786
11787         * gst/gstminiobject.c: (gst_value_take_mini_object):
11788         Taking a NULL miniobject is valid, fix the case where
11789         we try to unref the NULL miniobject.
11790
11791 2006-04-28  Wim Taymans  <wim@fluendo.com>
11792
11793         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11794
11795         * gst/gstbin.c: (gst_bin_handle_message_func):
11796         Update docs.
11797         Don't leak bin refcount when a state recalc is
11798         in progress and we delay another one #339808.
11799
11800 2006-04-28  Wim Taymans  <wim@fluendo.com>
11801
11802         * docs/design/part-TODO.txt:
11803         Mention QoS as an ongoing work item.
11804
11805         * docs/design/part-buffering.txt:
11806         New doc about buffering that needs to be fleshed out
11807         at some point.
11808
11809         * docs/design/part-qos.txt:
11810         More QoS policy for decoders/demuxers/transforms
11811
11812         * docs/design/part-trickmodes.txt:
11813         Small update.
11814
11815 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11816
11817         * configure.ac:
11818           back to HEAD
11819
11820 === release 0.10.5 ===
11821
11822 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
11823
11824         * configure.ac:
11825           releasing 0.10.5, "Fogo"
11826
11827 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11828
11829         patch by: Wim Taymans
11830
11831         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11832         (gst_pad_configure_src), (gst_pad_push):
11833         * gst/gstpipeline.c: (gst_pipeline_init):
11834           Fix internal data flow errors.  Fixes #338711.
11835
11836 2006-04-12  Wim Taymans  <wim@fluendo.com>
11837
11838         * tests/check/gst/gstelement.c: (GST_START_TEST):
11839         Don't leak the factory.
11840
11841 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11842
11843         * configure.ac:
11844         * win32/common/config.h:
11845           prerelease
11846
11847 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
11848
11849         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11850         (gst_controller_unset_all):
11851           Free allocated GstTimedValues when freeing list nodes.
11852           Should fix leaks 'make check-valgrind' complains about.
11853
11854         * win32/common/libgstcontroller.def:
11855           Add gst_controller_unset_all.
11856
11857 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
11858
11859         * docs/libs/gstreamer-libs-sections.txt:
11860         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11861         (gst_controller_unset_all):
11862         * libs/gst/controller/gstcontroller.h:
11863         API: Added new method gst_controller_unset_all()
11864         fixed gst_controller_unset()
11865         * tests/check/libs/controller.c: (GST_START_TEST),
11866         (gst_controller_suite):
11867         Added two testcases for new and fixed method
11868
11869 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
11870
11871         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11872           MSG_DONTWAIT is not defined on Cygwin, so work
11873           around that (fixes #317048).
11874           
11875 2006-04-11  Wim Taymans  <wim@fluendo.com>
11876
11877         * gst/gstelementfactory.c: (gst_element_register),
11878         (gst_element_factory_create), (gst_element_factory_make):
11879         Some cleanups.
11880         Fixed a FIXME.
11881         Updated docs (Fixes #131079)
11882
11883         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11884         Small cleanups.
11885
11886         * tests/check/gst/gstelement.c: (GST_START_TEST),
11887         (gst_element_suite):
11888         Added testcase for elementfactory class field.
11889
11890 2006-04-10  Wim Taymans  <wim@fluendo.com>
11891
11892         * gst/gstsegment.c:
11893         Added some more docs.
11894
11895         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
11896         (gst_base_sink_reset_qos):
11897         Calculate more accurate rate values.
11898
11899 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
11900
11901         * gst/gst_private.h:
11902           add a new #ifdef to use __declspec(dllimport) only for
11903           other modules and not for gstreamer core
11904         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
11905           use gst_guint64_to_gdouble for conversion
11906         * win32/common/libgstreamer.def:
11907           add new exported functions
11908         * win32/vs6/gst_inspect.dsp:
11909         * win32/vs6/gst_launch.dsp:
11910         * win32/vs6/libgstbase.dsp:
11911         * win32/vs6/libgstcontroller.dsp:
11912         * win32/vs6/libgstcoreelements.dsp:
11913         * win32/vs6/libgstdataprotocol.dsp:
11914         * win32/vs6/libgstnet.dsp:
11915           update project files
11916
11917 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11918
11919         * gst/gstbuffer.c: (gst_subbuffer_class_init):
11920         * gst/gstclock.c: (gst_clock_class_init):
11921         * gst/gstelement.c: (gst_element_class_init):
11922         * gst/gstindex.c: (gst_index_class_init):
11923         * gst/gstindexfactory.c: (gst_index_factory_class_init):
11924         * gst/gstobject.c: (gst_object_class_init),
11925         (gst_signal_object_class_init):
11926         * gst/gstpad.c: (gst_pad_class_init):
11927         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
11928         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
11929         * gst/gstregistry.c: (gst_registry_class_init):
11930         * gst/gstsystemclock.c: (gst_system_clock_class_init):
11931         * gst/gsttask.c: (gst_task_class_init):
11932         * gst/gstxml.c: (gst_xml_class_init):
11933         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11934         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11935         (gst_base_src_loop):
11936         * libs/gst/controller/gstcontroller.c:/
11937         (_gst_controller_class_init):
11938         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11939         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
11940         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
11941         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11942         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11943         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
11944
11945 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
11946
11947         * gst/gstpad.c: (gst_pad_link):
11948           Must set peer pads before calling the link function, otherwise
11949           a task started from a link function might get a flow-not-linked
11950           result when trying to push because the other thread where the
11951           linking happens hasn't had a chance to set the peers yet. This
11952           might happen for example when a queue gets linked to a downstream
11953           element, as queue starts a streaming task when its source pad
11954           gets linked. Happens in real life when playing back flac/musepack
11955           files in playbin (#332390).
11956           
11957 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11958
11959         * gst/gstindex.h:
11960         * gst/gstxml.h:
11961         * libs/gst/base/gstadapter.h:
11962         * libs/gst/base/gstbasesink.h:
11963         * libs/gst/base/gstbasesrc.h:
11964         * libs/gst/base/gstbasetransform.h:
11965         * libs/gst/base/gstcollectpads.h:
11966         * libs/gst/base/gstpushsrc.h:
11967         Fix broken GObject macros
11968
11969 2006-04-07  Wim Taymans  <wim@fluendo.com>
11970
11971         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11972         Initialize start and stop times, thanks valgrind.
11973
11974 2006-04-07  Wim Taymans  <wim@fluendo.com>
11975
11976         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11977         Be a bit nicer to badly behaving upstream elements that expect
11978         us to deal with non TIME segments and timestamps (such as fakesrc
11979         in the testsuite).
11980
11981 2006-04-07  Wim Taymans  <wim@fluendo.com>
11982
11983         * gst/gstbus.c:
11984         Small documentation clarification about the signal watch.
11985
11986         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11987         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
11988         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11989         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11990         (gst_base_sink_get_position_last),
11991         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
11992         Convert and store timestamps in stream time and running time, the
11993         raw timestamps are not useful, also document this better.
11994         Use different window sizes for good and bad QoS observations so
11995         we react to badness a little quicker.
11996         Keep track of the amount of rendered and dropped buffers.
11997         Send QoS timestamps in running time.
11998
11999         * libs/gst/base/gstbasetransform.c:
12000         (gst_base_transform_sink_eventfunc),
12001         (gst_base_transform_handle_buffer):
12002         Compare QoS timestamps against running time.
12003
12004 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12005
12006         * gst/gstpad.c:
12007           Typo fixes in docs.
12008
12009 2006-04-06  Michael Smith  <msmith@fluendo.com>
12010
12011         * gst/gstpad.c: (gst_pad_set_property):
12012           Use g_value_get_object() instead of g_value_dup_gst_object(),
12013           to avoid double-reffing the pad template (which we then sink,
12014           so this worked previously if (and only if) the pad template
12015           was floating.
12016
12017         * gst/gstpadtemplate.c: (gst_pad_template_init),
12018         (gst_pad_template_pad_created):
12019           Never return floating references to pad templates, create
12020           them as initially-sunken.
12021
12022           Document an extra function (and make this stop sinking our
12023           pad template, since that is now guaranteed to do nothing,
12024           since we created it sunken).
12025
12026         * gst/gstghostpad.c:
12027           Fix docs typo.
12028
12029 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12030
12031         * gst/gstinfo.c: (__gst_in_valgrind):
12032           Add some newlines.
12033
12034         * plugins/elements/gsttypefindelement.c:
12035         (gst_type_find_element_chain):
12036           Don't leak buffer caps.
12037
12038 2006-04-06  Michael Smith  <msmith@fluendo.com>
12039
12040         * gst/parse/grammar.y:
12041           Fix a leak in parse-launch for any source-or-sink named element 
12042           references used.
12043
12044         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12045           Unref the pipeline if it exists after we've failed parsing.
12046
12047 2006-04-05  Michael Smith  <msmith@fluendo.com>
12048
12049         * gst/gstpipeline.c: (gst_pipeline_init):
12050           When we create a pipeline bus, initially create it in flushing mode.
12051           Fixes leaks in at least one test, and makes a new pipeline work the
12052           same as one that has gone to READY and then back to NULL.
12053
12054         * gst/gstelement.c:
12055           Typo fix in docs.
12056
12057 2006-04-05  Michael Smith  <msmith@fluendo.com>
12058
12059         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12060           Unref a pad we reffed.
12061         * tests/check/gst/gstutils.c: (GST_START_TEST):
12062           Unref bins
12063
12064 2006-04-05  Michael Smith  <msmith@fluendo.com>
12065
12066         * gst/gstquery.c: (gst_query_set_formats),
12067         (gst_query_set_formatsv):
12068           Fix leaking GValues in queries, as shown by valgrind/testsuite.
12069
12070 2006-04-05  Michael Smith  <msmith@fluendo.com>
12071
12072         * tests/check/generic/sinks.c: (GST_START_TEST):
12073           Fix a variety of memleaks in sinks check, which are only sometimes 
12074           shown by running the tests under valgrind (weird?).
12075
12076 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
12077
12078         * docs/version.entities.in:
12079           Fix the substituted entity name after thomas' changes on the
12080           weekend.
12081
12082 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12083
12084         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
12085         VALGRIND_PRINTF
12086         
12087 2006-04-05  Andy Wingo  <wingo@pobox.com>
12088
12089         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
12090
12091         * libs/gst/base/gstbasetransform.c
12092         (gst_base_transform_sink_eventfunc): When resetting our segment on
12093         FLUSH_STOP, also update the flag saying we haven't seen a
12094         newsegment.
12095
12096 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12097
12098         Patch by: Paolo Borelli  <pborelli at katamail dot com>
12099
12100         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12101         (gst_plugin_check_license):
12102           minor clean-ups: G_DEFINE_TYPE already takes care of the
12103           parent_class stuff, no need to do it twice. Mark array of
12104           license strings as constant. (#337103)
12105           
12106 2006-04-04  Michael Smith  <msmith@fluendo.com>
12107
12108         * tools/gst-inspect.c: (print_element_list):
12109           Free the right plugin list; fixes a memory leak.
12110
12111 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12112
12113         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
12114
12115         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12116           Don't error out on empty buffers (#336945).
12117           
12118 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
12119
12120         * docs/libs/gstreamer-libs-sections.txt:
12121         * gst/gsttaglist.c:
12122         * libs/gst/base/gstbasesink.c:
12123         * libs/gst/base/gstbasesink.h:
12124         * libs/gst/base/gstbasesrc.c:
12125         * libs/gst/base/gstbasesrc.h:
12126           Documentation updates. Make BaseSink and BaseSrc docs contain the
12127           class structure so that people can actually see the prototypes for
12128           virtual functions they're supposed to be overriding.
12129
12130 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12131
12132         * plugins/elements/gsttypefindelement.c:
12133         (gst_type_find_element_chain):
12134           More debug info; when skipping typefinding, send cached
12135           events in all cases.
12136
12137 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12138
12139         * configure.ac:
12140           use new AS_VERSION and AS_NANO macros
12141         * gst/gst-i18n-lib.h:
12142         * gst/gst.c:
12143         * gst/gsterror.c:
12144         * gst/gstversion.h.in:
12145         * win32/common/config.h:
12146         * win32/common/config.h.in:
12147           update accordingly
12148
12149 2006-03-31  Michael Smith  <msmith@fluendo.com>
12150
12151         * plugins/elements/gsttypefindelement.c:
12152         (gst_type_find_element_chain):
12153           Do not typefind content if the buffers already have caps.
12154           Neccesary for icydemux (#333657), and the right thing to do anyway.
12155
12156 2006-03-30  Wim Taymans  <wim@fluendo.com>
12157
12158         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12159         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
12160         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
12161         (gst_base_sink_record_qos_observation),
12162         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12163         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12164         (gst_base_sink_change_state):
12165         More QoS measurements as described in the design doc.
12166         Get rid of ringbuffer with observations, running average is
12167         more simple and equally good.
12168         Calculates valid proportion now.
12169         Added beginning of flood measurement.
12170
12171 2006-03-29  Wim Taymans  <wim@fluendo.com>
12172
12173         * docs/design/part-qos.txt:
12174         * gst/gstclock.c:
12175         Small documentation updates and additions.
12176
12177 2006-03-29  Wim Taymans  <wim@fluendo.com>
12178
12179         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12180         (gst_base_src_send_event), (gst_base_src_loop),
12181         (gst_base_src_change_state):
12182         Perform the EOS logic when we reach the segment stop position.
12183         Fix compilation on gcc4.1
12184
12185 2006-03-29  Wim Taymans  <wim@fluendo.com>
12186
12187         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
12188
12189         * plugins/elements/gstqueue.c: (gst_queue_init),
12190         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12191         (gst_queue_set_property):
12192         * plugins/elements/gstqueue.h:
12193         In queue, when EOS is received, if minimum threshold > max_size -
12194         current_level, there is chance that queue blocks forever in conditional
12195         item del wait. This is because the queue is not emptied completely due
12196         to minimum threshold.  Here is another approach. Instead of setting
12197         cur_levels to max in EOS, just zero all minimum threshold levels. This
12198         should make sure that queue gives out all data. When going to READY
12199         (stop) state, just reset the original minimum threshold levels.
12200         Fixes #336336.
12201
12202 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
12203
12204         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
12205         (gst_type_find_element_handle_event),
12206         (gst_type_find_element_send_cached_events),
12207         (gst_type_find_element_change_state):
12208         * plugins/elements/gsttypefindelement.h:
12209           When typefinding is done in push mode, we should cache
12210           events we receive during typefinding instead of just
12211           dropping them (e.g. newsegment, custom events from
12212           dvdreadsrc etc.) and then send them out once we've
12213           determined the type of the stream (and decodebin
12214           has had a chance to plug in a decoder/demuxer).
12215           
12216 2006-03-27  Wim Taymans  <wim@fluendo.com>
12217
12218         * docs/design/part-qos.txt:
12219         First QoS ideas.
12220
12221 2006-03-27  Wim Taymans  <wim@fluendo.com>
12222
12223         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
12224
12225         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12226         (gst_base_src_send_event), (gst_base_src_change_state):
12227         Handle element seek correctly when we are streaming.
12228         Fixes #326998.
12229
12230 2006-03-24  Michael Smith  <msmith@fluendo.com>
12231
12232         * docs/faq/gst-uninstalled:
12233           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
12234           allow you to correctly run intalled applications built against old 
12235           core, using plugins that require updated core (e.g. running
12236           installed totem against a full uninstalled gstreamer stack)
12237
12238 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12239
12240         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12241         more debug details
12242
12243 2006-03-24  Wim Taymans  <wim@fluendo.com>
12244
12245         * docs/gst/gstreamer-sections.txt:
12246         Rearrange the order of the methods so that related methods
12247         are grouped together in sections.
12248
12249 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12250
12251         * gst/gstelement.c:
12252           Little clarification in the docs
12253
12254 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12255
12256         * docs/README:
12257         formatting fix
12258         * plugins/elements/gstidentity.c:
12259         * plugins/elements/gstqueue.c:
12260         * plugins/elements/gsttee.c:
12261         * plugins/elements/gsttypefindelement.c:
12262         GST_ELEMENT_DETAILS formatting
12263
12264 2006-03-24  Wim Taymans  <wim@fluendo.com>
12265
12266         * libs/gst/base/gstbasesink.h:
12267         Only add fields, not insert or we break ABI.
12268
12269 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12270
12271         * win32/common/libgstbase.def:
12272         * win32/common/libgstreamer.def:
12273           Update, add recently added functions.
12274
12275 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12276
12277         * docs/gst/gstreamer-sections.txt:
12278         * gst/gstutils.c: (gst_pad_query_peer_position),
12279         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
12280         * gst/gstutils.h:
12281           API: add some new utility functions:
12282            - gst_pad_query_peer_position()
12283            - gst_pad_query_peer_duration()
12284            - gst_pad_query_peer_convert()
12285           
12286 2006-03-23  Wim Taymans  <wim@fluendo.com>
12287
12288         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12289         (gst_base_sink_init), (gst_base_sink_finalize),
12290         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
12291         (gst_base_sink_set_property), (gst_base_sink_get_property),
12292         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
12293         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12294         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
12295         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12296         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12297         (gst_base_sink_preroll_object), (gst_base_sink_event),
12298         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
12299         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
12300         (gst_base_sink_query), (gst_base_sink_change_state):
12301         Decouple max-lateness and the fact that QoS messages are generated
12302         with a new property (qos).
12303         added API: GstBaseSink::async_play()
12304         Add vmethod so subclasses can be notified of ASYNC playing
12305         state changes.
12306         Collect timestamp start and stop to report better current
12307         position in EOS/PLAYING/PAUSED/READY/NULL.
12308         Refactor QoS/frame dropping and other measurements.
12309         API: GstBaseSrc::qos
12310         Fixes #326311
12311
12312         * libs/gst/base/gstbasesink.h:
12313         Added Private struct.
12314         API: gst_base_sink_set_qos_enabled()
12315         API: gst_base_sink_is_qos_enabled()
12316
12317 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12318
12319         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12320           If compiling against GLib-2.8 or newer, try to read the
12321           registry file using GMappedFile first before falling back
12322           to fopen() + fread() (#332151).
12323
12324 2006-03-22  Wim Taymans  <wim@fluendo.com>
12325
12326         * gst/gstinfo.c: (gst_debug_set_active),
12327         (gst_debug_category_set_threshold):
12328         Disable debugging unless explicitly activated.
12329         Fixes #335480.
12330
12331 2006-03-22  Wim Taymans  <wim@fluendo.com>
12332
12333         * gst/gstelement.c: (gst_element_set_locked_state),
12334         (gst_element_dispose):
12335         Cleanup the error case.
12336
12337         * gst/gstobject.c: (gst_object_dispose):
12338         print a critical when some object was disposed with
12339         a parent, also revive the object since it might
12340         crash the parent.
12341
12342 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
12343
12344         * tools/gst-launch.1.in:
12345           Fix another typo.
12346
12347 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12348
12349         * configure.ac:
12350         * tests/check/Makefile.am:
12351           disable some tests when we don't have a registry
12352         * tests/check/gst/gstutils.c: (gst_utils_suite):
12353           don't build the part that needs parsing
12354
12355 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12356
12357         * gst/Makefile.am
12358         * tests/examples/Makefile.am:
12359           fix --disable-parse build
12360
12361 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12362
12363         * tools/gst-feedback.1.in:
12364           Fix typo: s/feeback/feedback/ (#133494).
12365
12366 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12367
12368         * tools/Makefile.am:
12369         * tools/gst-launch.1.in:
12370           Add FILES section and correct entry about GST_REGISTRY_PATH
12371           environment variable (#133495; #133494).
12372
12373 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12374
12375         * tools/Makefile.am:
12376         * tools/gst-md5sum.1.in:
12377         * tools/gst-md5sum.c:
12378           Remove gst-md5sum and man page (the md5sink element
12379           required was removed ages ago)
12380
12381 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12382
12383         * gst/gststructure.c: (gst_structure_id_set_value):
12384           Make sure that string fields in structures/taglists
12385           contain valid UTF-8 - we don't want to pass rubbish to
12386           applications because of a buggy plugin (cp. #334167).
12387
12388 2006-03-21  Edward Hervey  <edward@fluendo.com>
12389
12390         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12391         (gst_bin_handle_message_func):
12392         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12393         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12394         (gst_element_set_bus_func):
12395         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12396         * gst/gstminiobject.c: (gst_value_set_mini_object),
12397         (gst_value_take_mini_object):
12398         * gst/gstpad.c: (gst_pad_set_pad_template):
12399         * gst/gstpipeline.c: (gst_pipeline_dispose),
12400         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12401         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12402         (gst_collect_pads_chain):
12403         * libs/gst/net/gstnettimeprovider.c:
12404         (gst_net_time_provider_set_property):
12405         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12406         It's in fact all issues with gst_*object_replace().
12407
12408 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12409
12410         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
12411         
12412         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12413         * pkgconfig/gstreamer-check.pc.in:
12414           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12415
12416 2006-03-21  Edward Hervey  <edward@fluendo.com>
12417
12418         * gst/gstbuffer.h:
12419         * gst/gstevent.h:
12420         * gst/gstmessage.h:
12421         gst_[buffer|event|message]_ref() macros are replaced by a static
12422         inline functions because gcc-4.1 will about if the return value
12423         isn't used.
12424         * tests/check/gst/gstevent.c: (event_probe):
12425         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12426
12427 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
12428
12429         * gst/gstutils.h:
12430         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12431         the type' case. (Closes: #335195 for now). In the future, when we
12432         depend on GLib 2.10, we could also intern the type name using
12433         g_intern_static_string()
12434
12435 2006-03-20  Wim Taymans  <wim@fluendo.com>
12436
12437         * gst/gstbin.c: (gst_bin_handle_message_func),
12438         (bin_query_max_init), (bin_query_position_fold),
12439         (bin_query_position_done), (gst_bin_query):
12440         Position query should also take max of all streams.
12441
12442 2006-03-20  Wim Taymans  <wim@fluendo.com>
12443
12444         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12445         (gst_fake_src_finalize):
12446         Fix leaks in fakesrc.
12447
12448         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12449         Fix leaks in the testcase.
12450
12451 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
12452
12453         * gst/gst_private.h:
12454           add win32 specific import decoration(__declspec(dllimport)) 
12455           for all extern GstDebugCategory * variables
12456         * win32/common/libgstbase.def:
12457         * win32/common/libgstcontroller.def:
12458         * win32/common/libgstreamer.def:
12459           Add some exports, remove empty lines
12460         * win32/common/libgstdataprotocol.def:
12461         * win32/common/libgstdataprotocol.dsp:
12462         * win32/common/libgstnet.def:
12463         * win32/common/libgstnet.dsp:
12464           new project files and exportation files added
12465         
12466 2006-03-19  Wim Taymans  <wim@fluendo.com>
12467
12468         * tests/check/libs/basesrc.c: (eos_event_counter):
12469         Use proper return value for probe.
12470
12471 2006-03-17  Wim Taymans  <wim@fluendo.com>
12472
12473         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12474         (gst_pad_push):
12475         Don't leak buffers, caps and pads on negotiation errors.
12476
12477 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
12478
12479         * docs/faq/cvs.xml:
12480         * docs/faq/dependencies.xml:
12481         * docs/faq/developing.xml:
12482         * docs/faq/faq.xml:
12483         * docs/faq/general.xml:
12484         * docs/faq/getting.xml:
12485         * docs/faq/legal.xml:
12486         * docs/faq/troubleshooting.xml:
12487         * docs/faq/using.xml:
12488         Faq review and update.
12489
12490 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
12491
12492         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12493         (gst_pad_push):
12494         Don't pound the cpu to pieces by checking get_caps when accept_caps
12495         is called with the same caps as the pad already has.
12496         Use GST_DEBUG_OBJECT when outputting caps change information.
12497
12498 2006-03-15  Wim Taymans  <wim@fluendo.com>
12499
12500         * gst/gstclock.c: (gst_clock_class_init):
12501         Fix docs.
12502
12503 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
12504
12505         * gst/gstbuffer.h:
12506         Documentation fix.
12507
12508         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12509         (gst_pad_accept_caps), (gst_pad_configure_sink),
12510         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12511         Make the default acceptcaps behaviour be to check the requested 
12512         caps against the gst_pad_get_caps output. 
12513
12514         Ensure that gst_pad_accept_caps is used to check caps when a pad
12515         doesn't have a setcaps function, so that pads automatically refuse 
12516         caps that they don't allow in their pad template. (Fixes #332986)
12517
12518         When a buffer with attached caps is pushed, ensure that the source 
12519         pad receives those caps even if the element didn't call
12520         gst_pad_set_caps first.
12521
12522 2006-03-15  Wim Taymans  <wim@fluendo.com>
12523
12524         * libs/gst/base/gstadapter.c:
12525         Add some docs.
12526
12527 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
12528
12529         * win32/common/libgstbase.def:
12530         * win32/common/libgstcontroller.def:
12531         * win32/common/libgstreamer.def:
12532           Add a whole bunch of missing functions (#334434).
12533
12534 2006-03-14  Wim Taymans  <wim@fluendo.com>
12535
12536         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12537         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12538         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12539         Better debug info when we receive a segment event.
12540         Reorganize a bit so we can pass the get_times() results around.
12541         Use the segment format when calculating the running time.
12542         Don't do QoS is sync is disabled or we have no clock or the
12543         element does not want us to sync to the clock.
12544         Don't drop buffers if QoS is disabled for now.
12545
12546 2006-03-14  Wim Taymans  <wim@fluendo.com>
12547
12548         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12549         Marked the stats property as unimplemented so people don't get
12550         wild ideas.
12551         Add debug message when regression goes wrong.
12552         Added some more docs.
12553
12554 2006-03-14  Wim Taymans  <wim@fluendo.com>
12555
12556         * gst/gstsegment.c: (gst_segment_to_stream_time):
12557         Return correct return type in case of errors.
12558
12559 2006-03-14  Wim Taymans  <wim@fluendo.com>
12560
12561         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12562           Don't segfault on invalid formats.
12563
12564 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12565
12566         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12567           Can't use gst_segment_to_running_time() when the segment
12568           is not in GST_TIME_FORMAT (like with filesink, for example).
12569           Stops flac encoding pipelines from spewing critical warnings
12570           at EOS (#331248).
12571           
12572 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12573
12574         * gst/gstpipeline.c: (gst_pipeline_class_init):
12575           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12576
12577         * plugins/elements/gsttypefindelement.c:
12578         (gst_type_find_element_handle_event):
12579           Don't try to typefind empty streams.
12580
12581 2006-03-14  Wim Taymans  <wim@fluendo.com>
12582
12583         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12584         (gst_base_sink_do_qos):
12585         Separate QoS calculation.
12586         Only drop buffers when lateness is bigger than the 
12587         duration of the buffer.
12588
12589 2006-03-13  Wim Taymans  <wim@fluendo.com>
12590
12591         * gst/gstpipeline.c: (gst_pipeline_set_property),
12592         (gst_pipeline_get_property), (do_pipeline_seek),
12593         (gst_pipeline_change_state), (gst_pipeline_set_delay),
12594         (gst_pipeline_get_delay):
12595         Don't deadlock when reading properties.
12596
12597 2006-03-13  Wim Taymans  <wim@fluendo.com>
12598
12599         * libs/gst/base/gstbasetransform.c:
12600         (gst_base_transform_class_init), (gst_base_transform_init),
12601         (gst_base_transform_sink_event),
12602         (gst_base_transform_sink_eventfunc),
12603         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12604         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12605         (gst_base_transform_set_property),
12606         (gst_base_transform_get_property),
12607         (gst_base_transform_change_state), (gst_base_transform_update_qos),
12608         (gst_base_transform_set_qos_enabled),
12609         (gst_base_transform_is_qos_enabled):
12610         * libs/gst/base/gstbasetransform.h:
12611         Make basetransform virtual method for src events too.
12612         Handle QOS in basetransform.
12613         API: gst_base_transform_update_qos()
12614         API: gst_base_transform_set_qos_enabled()
12615         API: gst_base_transform_is_qos_enabled()
12616
12617 2006-03-13  Wim Taymans  <wim@fluendo.com>
12618
12619         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12620         (gst_base_sink_do_sync):
12621         Small cleanups.
12622         Use QOS debug category.
12623
12624 2006-03-13  Wim Taymans  <wim@fluendo.com>
12625
12626         * plugins/elements/gstqueue.c:
12627         Very small doc update.
12628
12629 2006-03-13  Wim Taymans  <wim@fluendo.com>
12630
12631         * gst/gst_private.h:
12632         * gst/gstinfo.c: (_gst_debug_init):
12633         Added QOS debug category
12634
12635 2006-03-13  Wim Taymans  <wim@fluendo.com>
12636
12637         * docs/gst/gstreamer-sections.txt:
12638         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12639         * gst/gstbin.h:
12640         * gst/gstbus.c: (gst_bus_class_init):
12641         * gst/gstbus.h:
12642         * gst/gstclock.c:
12643         * gst/gstelement.c: (gst_element_set_locked_state):
12644         * gst/gstsegment.c:
12645         Documentation updates.
12646
12647         * gst/gstpipeline.c: (gst_pipeline_get_type),
12648         (gst_pipeline_class_init), (gst_pipeline_init),
12649         (gst_pipeline_dispose), (gst_pipeline_set_property),
12650         (gst_pipeline_get_property), (do_pipeline_seek),
12651         (gst_pipeline_send_event), (gst_pipeline_change_state),
12652         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12653         (gst_pipeline_get_delay):
12654         * gst/gstpipeline.h:
12655         Added methods for setting the delay.
12656         API: gst_pipeline_set_delay()
12657         API: gst_pipeline_get_delay()
12658         Add pipeline debug category
12659         Various cleanups.
12660         Updated docs.
12661         Don't reset stream time when seek failed.
12662
12663 2006-03-13  Wim Taymans  <wim@fluendo.com>
12664
12665         * docs/design/draft-klass.txt:
12666         * docs/design/part-clocks.txt:
12667         * docs/design/part-events.txt:
12668         * docs/design/part-gstbin.txt:
12669         * docs/design/part-gstpipeline.txt:
12670         * docs/design/part-messages.txt:
12671         * docs/design/part-negotiation.txt:
12672         * docs/design/part-overview.txt:
12673         * docs/design/part-preroll.txt:
12674         * docs/design/part-seeking.txt:
12675         * docs/design/part-states.txt:
12676         * docs/design/part-streams.txt:
12677         Documentation updates.
12678
12679 2006-03-12  Julien MOUTTE  <julien@moutte.net>
12680
12681         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
12682         us to leak strings...
12683
12684 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * libs/gst/net/gstnettimeprovider.c:
12687           fix docs
12688         * win32/common/config.h:
12689           update
12690
12691 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
12692
12693         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
12694
12695         * configure.ac:
12696           Don't check for libgnomeui (leftover from old examples
12697           that aren't built or disted any longer) (#334303).
12698           
12699 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
12700
12701         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
12702         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12703           Emit RESOURCE_NO_SPACE_LEFT error here as well when
12704           there's no space left on the device.
12705
12706 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
12707
12708         * gst/gstclock.h:
12709           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
12710           to cast the input to GstClockTime before comparing with
12711           another GstClockTime value.
12712
12713 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12714
12715         * configure.ac:
12716           back to trunk
12717
12718 === release 0.10.4 ===
12719
12720 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
12721
12722         * configure.ac:
12723           releasing 0.10.4, "Light"
12724
12725 2006-03-10  Michael Smith  <msmith@fluendo.com>
12726
12727         * libs/gst/dataprotocol/dataprotocol.c:
12728           Fix docs for dataprocotol to not get the return types completely
12729           wrong for a few functions.
12730
12731 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12732
12733         * docs/gst/gstreamer-sections.txt:
12734         * gst/gstpipeline.c: (gst_pipeline_class_init),
12735         (gst_pipeline_init), (gst_pipeline_set_property),
12736         (gst_pipeline_get_property), (gst_pipeline_change_state),
12737         (gst_pipeline_set_auto_flush_bus),
12738         (gst_pipeline_get_auto_flush_bus):
12739         * gst/gstpipeline.h:
12740           Add new API: gst_pipeline_set_auto_flush_bus() and
12741           gst_pipeline_get_auto_flush_bus() to disable automatic
12742           flushing of the pipeline's GstBus when going from READY
12743           to NULL state (#332045).
12744
12745 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12746
12747         * docs/gst/gstreamer-sections.txt:
12748         * gst/gsturi.c: (gst_uri_has_protocol):
12749         * gst/gsturi.h:
12750            Add new API: gst_uri_has_protocol() (#333779).
12751
12752 2006-03-09  Wim Taymans  <wim@fluendo.com>
12753
12754         * gst/gstclock.c: (gst_clock_entry_new),
12755         (gst_clock_id_compare_func), (gst_clock_id_wait),
12756         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
12757         (gst_clock_init), (gst_clock_get_internal_time),
12758         (gst_clock_set_master), (do_linear_regression),
12759         (gst_clock_add_observation), (gst_clock_set_property):
12760         * gst/gstclock.h:
12761         Review docs.
12762         Small cleanups.
12763         Fix a possible segfault when the window-size is made smaller.
12764         Calculate jitter before performing the clock wait. Ideally
12765         the clock implementation should calculate jitter but we need
12766         API breakage for that.
12767
12768         * gst/gstsystemclock.c: (gst_system_clock_init):
12769         Docs review.
12770         
12771         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12772         Remove leftover else
12773
12774         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
12775         (gst_systemclock_suite):
12776         Added check to test GST_CLOCK_DIFF.
12777
12778 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12779
12780         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
12781         (gst_type_find_helper_get_range):
12782           If we are provided with the size, we should implement
12783           GstTypeFind::get_length, so that typefind functions who
12784           want to can actually peek at the middle of a file.
12785
12786 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
12787
12788         * docs/manual/advanced-dataaccess.xml:
12789           Add some very very basic error checking.
12790
12791         * docs/pwg/appendix-checklist.xml:
12792           Some updates to the list of things to check when writing an element.
12793
12794 2006-03-08  Wim Taymans  <wim@fluendo.com>
12795
12796         * docs/design/part-element-transform.txt:
12797         Added some docs about the design of tranform elements.
12798
12799         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12800         (gst_base_src_loop), (gst_base_src_change_state):
12801         Mark buffers with the DISCONT flag.
12802
12803 2006-03-08  Michael Smith  <msmith@fluendo.com>
12804
12805         * gst/gstregistry.h:
12806         * gst/gstregistryxml.c: (gst_registry_save),
12807         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
12808         (gst_registry_xml_save_pad_template),
12809         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
12810         (gst_registry_xml_write_cache):
12811           Rewrite registry-saving to avoid race conditions and check for
12812           failed writes.
12813
12814 2006-03-08  Wim Taymans  <wim@fluendo.com>
12815
12816         * libs/gst/base/gstbasetransform.c:
12817         (gst_base_transform_transform_caps),
12818         (gst_base_transform_transform_size),
12819         (gst_base_transform_prepare_output_buffer),
12820         (gst_base_transform_get_unit_size),
12821         (gst_base_transform_buffer_alloc),
12822         (gst_base_transform_handle_buffer),
12823         (gst_base_transform_change_state):
12824         Cleanups, separate normal flow from errors, add sensible
12825         DEBUG lines.
12826         Don't try to renegotiate when allocating an output buffer.
12827         Also copy DISCONT buffer flag when copying a buffer.
12828         Reset the transform after we finish streaming, not during.
12829
12830 2006-03-08  Wim Taymans  <wim@fluendo.com>
12831
12832         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12833         Use last buffer timestamp in qos message.
12834
12835 2006-03-07  Wim Taymans  <wim@fluendo.com>
12836
12837         Patch by: Christophe Fergeau
12838
12839         * docs/pwg/advanced-tagging.xml:
12840         * docs/pwg/building-pads.xml:
12841           fixes #333416
12842
12843 2006-03-07  Wim Taymans  <wim@fluendo.com>
12844
12845         * docs/libs/gstreamer-libs-sections.txt:
12846         Added basesink new methods.
12847
12848         * gst/gstevent.c:
12849         * gst/gstevent.h:
12850         Docs updates. Flesh out the QoS docs.
12851
12852         * libs/gst/base/gstadapter.c:
12853         Small doc clarification about ownership and flushing.
12854
12855         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
12856         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
12857         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
12858         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12859         * libs/gst/base/gstbasesink.h:
12860         API additions: 
12861         Added new methods to allow subclass to control max-lateness 
12862         and sync.
12863         Generate very basic QoS events based on last sync observation.
12864         Updated docs, fix typo, added some QoS blurb.
12865
12866         * libs/gst/base/gstbasesrc.c:
12867         Remove obsolete _get_state() calls from docs.
12868
12869 2006-03-07  Wim Taymans  <wim@fluendo.com>
12870
12871         * docs/libs/gstreamer-libs-sections.txt:
12872         * libs/gst/base/gstbasetransform.h:
12873         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
12874         Fix docs for GstBaseSrc.
12875
12876 2006-03-07  Wim Taymans  <wim@fluendo.com>
12877
12878         * docs/gst/gstreamer-sections.txt:
12879         * gst/gstbuffer.h:
12880         * gst/gstvalue.c:
12881         * libs/gst/base/gstbasetransform.h:
12882         Small documentation fixes.
12883
12884 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12885
12886         * gst/gstvalue.c:
12887           Document thread-unsafety of gst_value_register_foo_func()
12888           when used at the same time as gst_value_foo() (#322628).
12889
12890 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12891
12892         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
12893         (gst_push_src_check_get_range):
12894           Push sources don't support pull mode by default.
12895
12896 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12897
12898         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12899         (gst_base_src_init), (gst_base_src_pad_check_get_range),
12900         (gst_base_src_default_check_get_range):
12901         * libs/gst/base/gstbasesrc.h:
12902           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
12903           provide default implementation, and rename
12904           gst_base_src_check_get_range() to
12905           gst_base_src_pad_check_get_range() for clarity.
12906
12907 2006-03-06  Wim Taymans  <wim@fluendo.com>
12908
12909         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12910         Make property overridable.
12911
12912 2006-03-06  Wim Taymans  <wim@fluendo.com>
12913
12914         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12915         (gst_base_sink_init), (gst_base_sink_set_property),
12916         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12917         * libs/gst/base/gstbasesink.h:
12918         API addition: Make max-lateness a property.
12919
12920 2006-03-06  Wim Taymans  <wim@fluendo.com>
12921
12922         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
12923         (gst_base_sink_do_sync), (gst_base_sink_render_object):
12924         Don't ever draw a frame that is >10ms late.
12925
12926 2006-03-06  Michael Smith  <msmith@fluendo.com>
12927
12928         * gst/gstmessage.c: (_gst_message_copy):
12929           When copying a message, set the parent_refcount of the enclosed
12930           structure to point at the copy, not the original message.
12931
12932 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12933
12934         Patch by: Christophe Fergeau
12935
12936         * gst/gstutils.h:
12937           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
12938           usable in c++ code (#333417)
12939
12940 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12941
12942         * gst/gstclock.h:
12943           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
12944
12945 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
12946
12947         * libs/gst/base/gstbasetransform.c:
12948         (gst_base_transform_transform_caps):
12949           Make sure caps are writable before passing them to
12950           gst_caps_append().
12951
12952 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12953
12954         * gst/gsterror.h:
12955           Fix some minor docs errors.
12956
12957 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12958
12959           Patch by: Ross Burton <ross at burtonini dot com>
12960
12961         * gst/gsterror.c: (_gst_resource_errors_init):
12962         * gst/gsterror.h:
12963           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
12964
12965 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12966
12967         * gst/gst.c:
12968         Add a check and output a g_warning when GStreamer is built
12969         against GLib 2.6 but running against 2.8 or higher, and vice 
12970         versa. (Closes: #323542)
12971
12972 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12973
12974         * gst/parse/parse.l:
12975           Commit patch for parse_launch syntax from #331255. Removes 
12976           support for quoted strings and mimetypes when writing filtered 
12977           caps. See the bug report for more details - I'm pretty sure this
12978           obscure feature is not in use by _anyone_ anywhere.
12979
12980           With this simple change, the size of the gstreamer.so here 
12981           drops from 2193KB to 1565KB.
12982
12983 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12984
12985         * plugins/elements/gsttypefindelement.h:
12986         * plugins/elements/gsttypefindelement.c:
12987         (gst_type_find_element_src_event), (start_typefinding),
12988         (stop_typefinding), (gst_type_find_element_handle_event),
12989         (gst_type_find_element_chain),
12990         (gst_type_find_element_chain_do_typefinding):
12991           Use gst_type_find_helper_for_buffer() for chain-based
12992           typefinding.
12993
12994 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12995
12996         * plugins/elements/gsttypefindelement.c:
12997         (gst_type_find_element_class_init),
12998         (gst_type_find_element_set_property),
12999         (gst_type_find_element_get_property):
13000           Deprecate "maximum" property (not only was it only taken into
13001           account for typefinding in push-mode anyway, it also was never
13002           actually possible to set it in the first place because the
13003           property was registered with the numeric property ID for the
13004           "minimum" property). Register "maximum" property correctly,
13005           for the sake of future copy'n'pasters. Remove some cruft
13006           from property get/set functions.
13007
13008 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13009
13010         * plugins/elements/gsttypefindelement.c:
13011         (gst_type_find_element_activate):
13012           Use gst_type_find_helper_get_range() here, so we
13013           can honour the "minimum" property and also emit
13014           the signal with the correct probability of the found caps.
13015
13016 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
13017
13018         * docs/libs/gstreamer-libs-sections.txt:
13019         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
13020         (helper_find_suggest), (gst_type_find_helper_get_range),
13021         (gst_type_find_helper):
13022         * libs/gst/base/gsttypefindhelper.h:
13023           New API: gst_type_find_helper_get_range() (#333042).
13024
13025 2006-03-02  Michael Smith  <msmith@fluendo.com>
13026
13027         * gst/gstregistryxml.c: (load_feature):
13028           Asserting on a failure to read part of the registry is Not Cool.
13029           Just log a warning and return NULL (which is already handled)
13030
13031 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
13032
13033         * win32/common/libgstbase.def:
13034           added export of gst_type_find_helper_for_buffer
13035         * win32/common/libgstbase.def:
13036           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
13037           gst_ghost_pad_get_target
13038
13039 2006-02-28  Wim Taymans  <wim@fluendo.com>
13040
13041         * docs/design/draft-klass.txt:
13042         We use Filter now.
13043         Added Connector to mark elements that are only used to
13044         allow pipeline connections.
13045         Moved Debug to extra feature since most of them are 
13046         functionally something else.
13047
13048 2006-02-28  Wim Taymans  <wim@fluendo.com>
13049
13050         * docs/design/draft-klass.txt:
13051         Some updates and clarifications.
13052
13053 2006-02-28  Wim Taymans  <wim@fluendo.com>
13054
13055         * docs/design/draft-klass.txt:
13056         Proposal for klass field values.
13057
13058         * docs/design/part-streams.txt:
13059         Start of a doc describing stream anatomy.
13060
13061 2006-02-28  Wim Taymans  <wim@fluendo.com>
13062
13063         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
13064         Help the compiler a bit with type registration.
13065         Use existing forward cod path instead of duplicating it when 
13066         handling a message.
13067         
13068         * gst/gstbus.c: (gst_bus_get_type):
13069         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
13070         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
13071         * gst/gstclock.c: (gst_clock_get_type):
13072         * gst/gstelement.c: (gst_element_get_type),
13073         * gst/gstelementfactory.c: (gst_element_factory_get_type):
13074         * gst/gstindexfactory.c: (gst_index_factory_get_type):
13075         * gst/gstminiobject.c: (gst_mini_object_get_type):
13076         * gst/gstpad.c: (gst_pad_get_type):
13077         * gst/gstsegment.c: (gst_segment_get_type):
13078         * gst/gststructure.c: (gst_structure_get_type):
13079         * gst/gstsystemclock.c: (gst_system_clock_get_type):
13080         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
13081         * gst/gstvalue.c:
13082         Help compiler with type registration.
13083
13084         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
13085         Small doc update.
13086
13087 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13088
13089         * plugins/elements/gsttypefindelement.c:
13090         (gst_type_find_element_handle_event):
13091           When we get an EOS event and have not found a type yet
13092           (most likely because we had not yet accumulated
13093           TYPE_FIND_MIN_SIZE of data yet), try to determine the
13094           type given the data we have so far. Fixes typefinding
13095           for very short streams again, most notably quicktime
13096           redirections as used on Apple's trailer site (#331701).
13097
13098 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13099
13100         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
13101         (gst_type_find_helper):
13102           Try typefinding factories with the highest rank first.
13103
13104 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13105
13106         * docs/libs/gstreamer-libs-docs.sgml:
13107         * docs/libs/gstreamer-libs-sections.txt:
13108         * libs/gst/base/gsttypefindhelper.c:
13109           Add section for typefind helper and add documentation
13110           for the old and the new function.
13111
13112 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13113
13114         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
13115         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
13116         (gst_type_find_helper_for_buffer):
13117         * libs/gst/base/gsttypefindhelper.h:
13118           New API: gst_type_find_helper_for_buffer() (#332723).
13119           
13120 2006-02-27  Michael Smith  <msmith@fluendo.com>
13121
13122         Patch by: Loïc Minier
13123
13124         * configure.ac:
13125         * docs/Makefile.am:
13126         * docs/slides/Makefile.am:
13127           prevent CVS directories getting disted.
13128
13129 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13130
13131         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
13132           Use the REFCOUNTING category for caps refcounting.
13133           
13134 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13135
13136         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13137           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
13138
13139 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13140
13141         * plugins/elements/gsttypefindelement.c:
13142         (gst_type_find_element_activate):
13143           Use gst_pad_check_pull_range() before _activate_pull()
13144           to avoid unnecessary open/close (see #331690).
13145
13146 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13147
13148         * gst/gstutils.c:
13149           Docs enhancement: make it crystal clear what the
13150           gst_pad_add_*_probe() callbacks should look like.
13151
13152 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13153
13154         * libs/gst/base/gstbasesrc.c:
13155           Document how applications can stop recording from
13156           live sources (see #330996).
13157
13158 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13159
13160         * tests/check/Makefile.am:
13161         * tests/check/libs/basesrc.c: (eos_event_counter),
13162         (basesrc_eos_events_pull), (basesrc_eos_events_push),
13163         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
13164         (gst_basesrc_suite), (main):
13165           ... and add some tests for the base source EOS stuff.
13166
13167 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13168
13169         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
13170           Test case originally showed the problem fixed below,
13171           but was then amended. Add checks back at the place
13172           where they used to be.
13173
13174 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13175
13176         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13177         (gst_base_src_init), (gst_base_src_loop),
13178         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13179         (gst_base_src_change_state):
13180         * libs/gst/base/gstbasesrc.h:
13181           Don't unconditionally send EOS when going from PAUSED to
13182           READY state, esp. make sure we don't send two EOS events
13183           in some cases (e.g. one when reaching EOS and one when
13184           going from PAUSED to READY). Also, we don't want to send
13185           EOS events when operating in pull mode. However, we do
13186           want to send an EOS event when shutting down a live
13187           source explicitly, for example (fixes #330996).
13188           
13189 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13190
13191         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13192           Update src->read_position after a seek when not using mmap.
13193           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
13194
13195 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
13196
13197         * gst/Makefile.am:
13198         * gst/gstparse.h:
13199         * gst/gstutils.c:
13200         * gst/gstutils.h:
13201         Make things work with --disable-parse as they do with 
13202         --disable-load-save - the symbols involved disappear, but the
13203         header is still installed and GST_DISABLE_PARSE is included via
13204         gstconfig.h
13205
13206 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13207
13208         * libs/gst/base/gstbasetransform.c:
13209         (gst_base_transform_change_state): Fix a stupid bug. I was 
13210         sure I compiled that.
13211
13212 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13213
13214         * gst/gstpad.c: (gst_pad_set_blocked_async):
13215         * gst/gstutils.c: (gst_pad_add_data_probe),
13216         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13217         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13218         (gst_pad_remove_buffer_probe): Make those function act on the
13219         ghostpad target when it's a ghostpad. (Closes #331727)
13220
13221 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13222
13223         * libs/gst/base/gstbasetransform.c:
13224         (gst_base_transform_change_state): Make basetransform reusable.
13225         (Closes #331898)
13226
13227 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
13228
13229         * docs/random/release:
13230         Move the current documentation of how to do a release to the top
13231         of the file.
13232
13233         * gst/gstbin.c: (gst_bin_class_init),
13234         (gst_bin_handle_message_func):
13235         Allow multiple state-recalculation threads. (Closes #328873)
13236
13237 2006-02-19  Julien MOUTTE  <julien@moutte.net>
13238
13239         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
13240         * gst/gstpad.c: (gst_pad_set_event_function),
13241         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13242         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
13243         2 strings. You can't use the STR_NULL macro on that.
13244
13245 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
13246
13247         * gst/gstpad.c: (gst_pad_set_event_function),
13248         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13249         (gst_pad_set_getcaps_function)
13250         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
13251           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
13252           So now, we can use --gst-debug-level=5 on Windows
13253         * win32/common/libgstcontroller.def:
13254           Added export of gst_controller_init
13255         * win32/vs6/libgstcontroller.dsp:
13256           Fixed Release post build configuration
13257
13258 2006-02-17  Wim Taymans  <wim@fluendo.com>
13259
13260         * tests/check/gst/gstquery.c: (GST_START_TEST):
13261         Added another check.
13262
13263 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
13264
13265         * plugins/elements/gsttypefindelement.c: (find_peek):
13266           We can do peeks at non-zero offsets, as long as they
13267           fall within the buffer we have.
13268
13269 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
13270
13271         * tests/check/Makefile.am:
13272         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
13273         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
13274         (parse_suite), (main):
13275           Add testsuite for parse launch syntax
13276
13277 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
13278
13279         * plugins/elements/gsttypefindelement.c:
13280         (gst_type_find_element_chain):
13281           When typefinding is unsuccessful in the chain function, don't
13282           error out immediately. Only error out with NO_CAPS_FOUND if
13283           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
13284           otherwise simply wait for more data so we can try typefinding
13285           again with more data later. Also, don't attempt to typefind
13286           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
13287           this should improve typefinding from network sources where the
13288           size of the first buffer can be somewhat random.
13289
13290 2006-02-14  Wim Taymans  <wim@fluendo.com>
13291
13292         * docs/gst/gstreamer-sections.txt:
13293         * gst/gstpadtemplate.c:
13294         * gst/gstpadtemplate.h:
13295         Fix padtemplate docs, fixes #328805.
13296
13297 2006-02-14  Wim Taymans  <wim@fluendo.com>
13298
13299         * tools/gst-launch.c: (main):
13300         NO_PREROLL is not an ERROR so don't send confusing messages
13301         to the user.
13302
13303 2006-02-14  Wim Taymans  <wim@fluendo.com>
13304
13305         Patch by: Torsten Schoenfeld
13306
13307         * gst/gstregistry.c: (gst_registry_get_default),
13308         (_gst_registry_cleanup):
13309         Protect default registry with lock and ref/sink it.
13310         Fixes #324818
13311
13312 2006-02-14  Wim Taymans  <wim@fluendo.com>
13313
13314         * gst/gstbuffer.c:
13315         * gst/gstquery.c: (gst_query_list_add_format),
13316         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13317         (gst_query_parse_formats_nth):
13318         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13319         Docs fixes.
13320
13321 2006-02-14  Wim Taymans  <wim@fluendo.com>
13322
13323         * docs/gst/gstreamer-sections.txt:
13324         Reworked query docs.
13325
13326         * gst/gstquery.c: (gst_query_new_formats),
13327         (gst_query_list_add_format), (gst_query_set_formats),
13328         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13329         (gst_query_parse_formats_nth):
13330         * gst/gstquery.h:
13331         Flesh out formats query, added some new methods.
13332         Fix part of #324398.
13333
13334         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
13335         Added query creation tests.
13336
13337 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
13338
13339         * gst/gstpad.c: (fixate_value):
13340         Add a default fixation for fraction lists.
13341
13342 2006-02-13  Wim Taymans  <wim@fluendo.com>
13343
13344         * gst/gsttask.c: (gst_task_init), (gst_task_func),
13345         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
13346         (gst_task_join):
13347         * gst/gsttask.h:
13348         Detect and warn for obvious deadlocks. fixes #320340
13349         Fix error case where lock was not released.
13350
13351         * tests/check/Makefile.am:
13352         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
13353         (task_func), (gst_element_suite), (main):
13354         Add task check.
13355
13356 2006-02-13  Wim Taymans  <wim@fluendo.com>
13357
13358         * docs/gst/gstreamer-sections.txt:
13359         * gst/gstbus.c:
13360         Add new functions to docs.
13361
13362 2006-02-13  Wim Taymans  <wim@fluendo.com>
13363
13364         * docs/design/part-TODO.txt:
13365         Updated TODO list, basesrc supports seeking to non-bytes
13366         formats.
13367
13368         * docs/design/part-element-sink.txt:
13369         Update docs.
13370
13371         * gst/gstbin.c: (bin_replace_message),
13372         (gst_bin_handle_message_func):
13373         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
13374         * gst/gstevent.c: (gst_event_finalize):
13375         * gst/gstpad.c: (gst_pad_event_default_dispatch),
13376         (gst_pad_send_event):
13377         Use shiny new _TYPE_NAME macros.
13378
13379         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13380         Move debug statement up.
13381
13382         * gst/gstelement.c: (gst_element_set_locked_state):
13383         Add some debugging.
13384
13385 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
13386
13387         * docs/gst/gstreamer-sections.txt:
13388         * gst/gstmessage.h:
13389         * gst/gstquery.h:
13390           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13391           macros (#330906). Also, document the already existing
13392           GST_QUERY_TYPE macro.
13393
13394 2006-02-13  Wim Taymans  <wim@fluendo.com>
13395
13396         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13397         (event_probe), (GST_START_TEST):
13398         Only events up to the pipeline EOS are counted, there are
13399         some more when going to NULL currently which we don't care
13400         about for now.
13401
13402 2006-02-13  Wim Taymans  <wim@fluendo.com>
13403
13404         * gst/gstpad.c: (gst_pad_send_event):
13405         Correctly check flushing and emit probes. fixes #330125
13406
13407 2006-02-10  Andy Wingo  <wingo@pobox.com>
13408
13409         * gst/gstbus.c (gst_bus_class_init): Declare our private data
13410         structure.
13411         (gst_bus_init): Cache the location of the private data in the
13412         instance structure.
13413         (gst_bus_enable_sync_message_emission) 
13414         (gst_bus_disable_sync_message_emission): Implement new public
13415         functions.
13416         (gst_bus_post): Emit the sync-message signal if the user asked for
13417         it. Fixes #330684.
13418
13419         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13420         location of the bus-private structure.
13421         (gst_bus_enable_sync_message_emission)
13422         (gst_bus_disable_sync_message_emission): API addition
13423
13424 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
13425
13426         Patch by: Vincent Torri
13427
13428         * docs/pwg/building-boiler.xml:
13429         PWG patch from #326800
13430
13431 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
13432
13433         * configure.ac:
13434         * docs/Makefile.am:
13435         * docs/design/Makefile.am:
13436           Dist design docs.
13437
13438 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13439
13440         * configure.ac:
13441           back to CVS
13442
13443 === release 0.10.3 ===
13444
13445 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
13446
13447         * configure.ac:
13448           releasing 0.10.3, "Like a virgin"
13449
13450 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13451
13452         * configure.ac:
13453           2nd prerelease of 0.10.3
13454           Bump libtool versioning.
13455
13456 2006-02-07  Andy Wingo  <wingo@pobox.com>
13457
13458         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13459         update last_stop if we're in TIME format and the timestamp is
13460         valid.
13461
13462         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
13463         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
13464         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13465         If we get a new newsegment with a different format, adapt
13466         accordingly.
13467
13468         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13469         of 0. Not a problem, really.
13470
13471         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13472         warn if sync=true.
13473
13474 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
13475
13476         * configure.ac:
13477           Prelease of 0.10.3
13478
13479 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
13480
13481         * win32/vs7:
13482           project files updated to the default vs7 configuration
13483         * win32/common/libgstbase.def:
13484         * win32/common/libgstreamer.def:
13485           added new symbols,
13486           removed empty lines,
13487           sorted all exported symbols alphabetically
13488         * win32/common/dirent.c:
13489         * win32/common/dirent.h:
13490         * win32/common/gchar.h:
13491           use windows line end.
13492           
13493 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13494
13495         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13496           Send EOS event when stopping.
13497
13498 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13499
13500         * docs/README:
13501           Tell folks what to do if the plugin-foobar.xml file
13502           hasn't been generated for a newly-added plugin.
13503
13504 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13505
13506         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13507         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13508         (gst_collect_pads_start), (gst_collect_pads_stop),
13509         (gst_collect_pads_event): Collectpads now holds a reference
13510         to the GstPad that was added. Indeed we don't want to look
13511         at pads that might just go away with no warning...
13512
13513 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13514
13515         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13516         (gst_collect_pads_start), (gst_collect_pads_stop),
13517         (gst_collect_pads_event), (gst_collect_pads_chain):
13518         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13519         Mark Nauwelaerts's patch on bug #328491.
13520
13521 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13522
13523         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13524         (gst_utils_suite):
13525           Add some simple tests for gst_parse_bin_from_description() and
13526           gst_bin_find_unconnected_pad() (#329069).
13527
13528 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13529
13530         * tools/gst-launch.c: (event_loop), (main):
13531           Catch errors during preroll (#320084).
13532
13533 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
13534
13535         * plugins/elements/gsttypefindelement.c:
13536         (gst_type_find_element_activate):
13537           Post TYPE_NOT_FOUND error message when typefinding
13538           is unsuccessful in the activate function as well.
13539
13540 2006-02-02  Wim Taymans  <wim@fluendo.com>
13541
13542         * docs/design/part-element-sink.txt:
13543         Updated doc.
13544
13545 2006-02-02  Wim Taymans  <wim@fluendo.com>
13546
13547         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13548         (gst_base_sink_render_object),
13549         (gst_base_sink_queue_object_unlocked):
13550         Only keep track of prerollable items when we are 
13551         prerolling.
13552         Before rendering after preroll, always check if we
13553         have queued items.
13554         Added some more debugging.
13555
13556 2006-02-02  Wim Taymans  <wim@fluendo.com>
13557
13558         * gst/gstelement.c: (gst_element_continue_state),
13559         (gst_element_set_state_func), (gst_element_change_state):
13560         Fixed #326576, been running this for quite some time with
13561         no regressions at all.
13562
13563 2006-02-02  Wim Taymans  <wim@fluendo.com>
13564
13565         * common/gst.supp:
13566         Added more suppressions
13567
13568 2006-02-02  Wim Taymans  <wim@fluendo.com>
13569
13570         * docs/design/part-element-sink.txt:
13571         Updated document.
13572
13573         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13574         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13575         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13576         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13577         (gst_base_sink_do_sync), (gst_base_sink_render_object),
13578         (gst_base_sink_preroll_object),
13579         (gst_base_sink_queue_object_unlocked),
13580         (gst_base_sink_queue_object), (gst_base_sink_event),
13581         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13582         (gst_base_sink_loop), (gst_base_sink_activate_pull),
13583         (gst_base_sink_get_position), (gst_base_sink_change_state):
13584         * libs/gst/base/gstbasesink.h:
13585         Totally refactored matching the design doc.
13586         Use two segments, one to clip incomming buffers and another to
13587         perform sync.
13588         Handle queueing correctly, bypass the queue when playing.
13589         Make EOS cancelable.
13590         Handle errors correctly when operating in pull based mode.
13591
13592         * tests/check/elements/fakesink.c: (GST_START_TEST),
13593         (fakesink_suite):
13594         Added new check for sinks.
13595
13596 2006-02-02  Wim Taymans  <wim@fluendo.com>
13597
13598         * gst/gstsegment.c: (gst_segment_clip):
13599         No reason to refuse to clip when start == -1
13600
13601 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
13602
13603         * docs/README:
13604         * docs/manual/intro-basics.xml:
13605         * docs/manual/intro-preface.xml:
13606         * docs/manual/manual.xml:
13607         * docs/pwg/advanced-dparams.xml:
13608         * docs/pwg/intro-basics.xml:
13609         * docs/pwg/intro-preface.xml:
13610         * docs/pwg/pwg.xml:
13611           describe dparams (controller) for plugins
13612           unify docs a little more
13613
13614 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
13615
13616         * docs/gst/gstreamer-sections.txt:
13617         * gst/gstutils.c: (element_find_unconnected_pad),
13618         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13619         * gst/gstutils.h:
13620           Add new API: gst_parse_bin_from_description() and
13621           gst_bin_find_unconnected_pad() (#329069).
13622
13623 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
13624
13625         * docs/manual/README:
13626           uncover a nasty detail of the docs build
13627
13628 2006-01-31  Wim Taymans  <wim@fluendo.com>
13629
13630         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13631         Don't cache duration messages if we're not going to use or
13632         free them.
13633
13634 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
13635
13636         * docs/manual/advanced-dparams.xml:
13637         * docs/pwg/advanced-dparams.xml:
13638           more dparam docs
13639         * gst/gstindex.c:
13640           fix docs
13641         * libs/gst/controller/lib.c: (gst_controller_init):
13642           init just once
13643
13644 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13645
13646         * gst/gstelement.c: (gst_element_message_full):
13647           also show file/line/func if no additional debug was given
13648
13649 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
13650         
13651         * win32/vs7/grammar.vcproj:
13652           activate copy of autogenerated files for Release mode
13653
13654 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13655         
13656         * win32/common/libgstreamer.def:
13657           export gst_value_compare
13658
13659 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
13660
13661         * plugins/elements/Makefile.am:
13662         * plugins/elements/gstelements.c:
13663         * plugins/elements/gstfdsink.c: (_do_init),
13664         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
13665         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
13666         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
13667         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
13668         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
13669         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
13670         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
13671         * plugins/elements/gstfdsink.h:
13672         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
13673
13674 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
13675
13676         * docs/manual/advanced-dparams.xml:
13677           describe controller
13678         * docs/manual/advanced-position.xml:
13679         * docs/manual/basics-init.xml:
13680         * docs/manual/manual.xml:
13681         * docs/manual/titlepage.xml:
13682         * docs/pwg/pwg.xml:
13683         * docs/pwg/titlepage.xml:
13684           cleanup xml (more to come)
13685         * libs/gst/controller/gstcontroller.c:
13686           fix typo
13687
13688 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13689         
13690         * win32/vs6/grammar.dsp:
13691           add autogen of gstmarshal.c,h for Release mode
13692                 
13693 2006-01-30  Wim Taymans  <wim@fluendo.com>
13694
13695         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13696         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
13697         (gst_base_sink_handle_object), (gst_base_sink_event),
13698         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
13699         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13700         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
13701         (gst_base_sink_deactivate), (gst_base_sink_activate),
13702         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13703         (gst_base_sink_query), (gst_base_sink_change_state):
13704         Basesink cleanups, remove some old code.
13705         Handle the case where a subclass can preroll in the render
13706         method (mostly audiosinks).
13707         Handle more events.
13708         Remove some locks around variables that are now protected
13709         with the PREROLL_LOCK (clock_id, flushing, ..).
13710         Optimize position query some more, do correct locking.
13711         Remove old code to push queue in state change, this is not
13712         needed anymore since preroll blocks on all prerollable items 
13713         now.
13714         Almost implemented as described in design doc.
13715
13716 2006-01-30  Wim Taymans  <wim@fluendo.com>
13717
13718         * tests/check/gst/gstbin.c: (GST_START_TEST):
13719         Wait for refcount to settle down before checking.
13720
13721 2006-01-30  Wim Taymans  <wim@fluendo.com>
13722
13723         * docs/design/part-element-sink.txt:
13724         Pseudo code overview of desired sink behaviour regarding
13725         preroll.
13726
13727 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13728         * win32/vs6/grammar.dsp:
13729           fix some bugs in Release mode for autogenerated files
13730                 
13731 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13732         * win32/common/libgstbase.def:
13733         * win32/common/libgstreamer.def:
13734           export some new symbols: gst_base_src_set_format,
13735           gst_iterator_next, gst_structure_set_valist
13736
13737 2006-01-29  Julien MOUTTE  <julien@moutte.net>
13738
13739         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13740         Set pad functions unconditionally. Fixes #329105.
13741
13742 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13743         * win32/vs8:
13744           add vs8 project files created by Sergey Scobich
13745
13746 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
13747
13748         * gst/gstutils.c: (gst_element_unlink_pads):
13749         Don't leak pad references.
13750
13751         * tests/check/elements/fakesink.c: (GST_START_TEST):
13752         * tests/check/generic/sinks.c: (GST_START_TEST):
13753         * tests/check/generic/states.c: (GST_START_TEST):
13754         * tests/check/gst/gstbin.c: (GST_START_TEST):
13755         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13756         * tests/check/gst/gstelement.c: (GST_START_TEST):
13757         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13758         * tests/check/gst/gstiterator.c: (GST_START_TEST):
13759         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13760         Fix a bunch of leaks. Make generic/sinks.c
13761         use a bit less cpu by slowing the buffer rate
13762         between fakesrc and fakesink.
13763         
13764 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
13765         * gst/gstcaps.c:
13766         * gst/gstelement.c: (gst_element_send_event):
13767         * gst/gstevent.c:
13768         * gst/gstinfo.c:
13769         * gst/gstiterator.c:
13770         * gst/gstiterator.h:
13771         * gst/gstpad.c: (gst_pad_send_event):
13772         * gst/gststructure.c:
13773         * gst/gsturi.c:
13774         * gst/gstutils.c:
13775         * gst/gstvalue.c:
13776         * libs/gst/base/gstadapter.c:
13777           doc fixes, to link to function, just write gst_cool_function(), don't
13778           prefix with '#'
13779
13780 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13781
13782         * plugins/elements/gsttee.c: (gst_tee_do_push),
13783         (gst_tee_handle_buffer):
13784         Always prefer an actual return value from a src
13785         pad in place of NOT_LINKED. This means we return
13786         WRONG_STATE when all src pads are WRONG_STATE
13787         instead of NOT_LINKED.
13788
13789         Lock when replacing the last message to prevent
13790         racing with the get_property method.
13791
13792         Add debug output
13793
13794 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13795
13796         * tests/check/Makefile.am:
13797         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
13798         (main):
13799         Add a very simple check that should have caught the memleak I fixed
13800         last night (if not for the slice allocator hiding it)
13801
13802 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13803
13804         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13805         (gst_bin_remove_func), (gst_bin_handle_message_func),
13806         (bin_query_duration_fold), (bin_query_generic_fold):
13807         Clean up references to the clock provider when disposed or when
13808         handling a clock-lost message from it.
13809
13810         Unref sinks when performing a query via gst_iterator_fold, as the
13811         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
13812
13813         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
13814         (gst_clock_set_master):
13815         Drop our reference to the master clock, if any, when we are disposed.
13816
13817         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
13818         Chain up in dispose. 
13819
13820 2006-01-26  Wim Taymans  <wim@fluendo.com>
13821
13822         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13823         Add some debugging.
13824
13825 2006-01-26  Julien MOUTTE  <julien@moutte.net>
13826
13827         * plugins/elements/gsttee.c: (gst_tee_do_push),
13828         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
13829         handles pad being NOT_LINKED or in WRONG_STATE.
13830
13831 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13832
13833         * win32/MANIFEST:
13834           more updating
13835
13836 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13837
13838         * win32/MANIFEST:
13839           remove obsolete entry
13840
13841 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13842
13843         * docs/gst/gstreamer-sections.txt:
13844         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
13845         (gst_bin_iterate_sources), (gst_bin_send_event):
13846         * gst/gstbin.h:
13847         * gst/gstelement.c: (gst_element_send_event):
13848         * gst/gstevent.c:
13849         * gst/gstpad.c: (gst_pad_send_event):
13850           added code for downstream events, reviewed docs in gstevent.c
13851
13852 2006-01-25  Julien MOUTTE  <julien@moutte.net>
13853
13854         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13855         We only query position using the clock in the playing state.
13856         Query peer in the other cases.
13857         * win32/common/config.h: Updates.
13858
13859 2006-01-24  Wim Taymans  <wim@fluendo.com>
13860
13861         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13862         A clock entry that is scheduled for the exact time of the
13863         clock is still in time.
13864
13865         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13866         (gst_base_sink_do_sync):
13867         Add some more debug info.
13868
13869 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13870
13871         * win32/vs7:
13872           Add new vs7 project files and solution.
13873
13874 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13875
13876         * win32/vs7:
13877           all files removed as they were out-dated.
13878
13879 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13880
13881         * docs/random/release:
13882           update notes
13883         * gst/gstbin.c: (gst_bin_init):
13884         * gst/gstbus.c: (gst_bus_new):
13885         * gst/gstbus.h:
13886         * gst/gstpipeline.c: (gst_pipeline_init):
13887           use gst_bus_new(), improve logging, fix docs
13888         * win32/common/config.h:
13889           update for cvs build
13890
13891 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13892
13893         * autogen.sh:
13894           up required version of automake to 1.7
13895
13896 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
13897
13898         * win32/common/libgstreamer.def:
13899           export gst_buffer_is_metadata_writable
13900
13901 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
13902
13903         * docs/gst/gstreamer-sections.txt:
13904         * gst/gstevent.h:
13905           Add gst_event_replace() (#327001)
13906
13907 2006-01-20  Wim Taymans  <wim@fluendo.com>
13908
13909         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13910         Make it actually compile too..
13911
13912 2006-01-20  Wim Taymans  <wim@fluendo.com>
13913
13914         * gst/gstcaps.c:
13915         Clarify behaviour of _is_equal() when passing NULL parameters.
13916
13917         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13918         (gst_pad_set_caps):
13919         Cleanups. Don't unref NULL caps.
13920         When setting the same caps, protect caps of the pad with
13921         proper lock.
13922         Use full functionality of _is_equal() when comparing caps.
13923
13924 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13925
13926         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
13927         Don't loop infinitely if there are no buffers to present. Partially
13928         fixes #327197, but collectpads is just broken for reusing elements
13929         to do multiple encodes atm.
13930
13931 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13932
13933         * tools/gst-inspect.c: (print_element_features):
13934         * tools/gst-xmlinspect.c: (main):
13935         URL_HANDLER is not a plugin feature we can search for in
13936         the registry.
13937
13938 2006-01-19  Edward Hervey  <edward@fluendo.com>
13939
13940         * gst/gstelement.c: (gst_element_pads_activate): 
13941         When activating, do src pads first, then sink pads.
13942         When de-activating, do sink pads first, then src pads.
13943
13944 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13945
13946         * docs/gst/gstreamer-sections.txt:
13947         Add gst_index_add_associationv to the docs
13948
13949 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13950
13951         * gst/gstevent.c:
13952           Fix docs typo
13953
13954         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
13955         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
13956           Do some refactoring. Doesn't actually change functionality,
13957           but makes landing the DRAIN event easier later.
13958
13959 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
13960
13961         * docs/pwg/advanced-scheduling.xml:
13962           Update from 0.9.x to 0.10 API and make example a bit
13963           clearer.
13964
13965 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13966
13967         * docs/gst/gstreamer-sections.txt:
13968         Add gst_buffer_(is|make)_metadata_writable methods.
13969
13970 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13971
13972         * docs/design/part-sparsestreams.txt:
13973         Update sparse streams doc, hopefully for greater clarity
13974
13975 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
13976
13977         * docs/design/part-events.txt:
13978         Remove mention of FILLER events.
13979         Add DRAIN event.
13980
13981         * docs/design/part-sparsestreams.txt:
13982         Write some things about using NEWSEGMENT to keep sparse streams
13983         flowing.
13984
13985 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
13986
13987         * gst/gstbin.c: (gst_bin_dispose):
13988           Guard gst_object_unref call against a NULL object (dispose
13989           can theoretically be called multiple times).
13990           
13991 2006-01-18  Wim Taymans  <wim@fluendo.com>
13992
13993         * gst/gstbin.c: (gst_bin_element_set_state):
13994         * gst/gstclock.c: (gst_clock_id_wait):
13995         Added some more debug info.
13996
13997         * libs/gst/base/gstadapter.c:
13998         Added more docs.
13999
14000         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14001         (gst_base_sink_do_sync), (gst_base_sink_chain):
14002         Added some comments.
14003
14004 2006-01-18  Wim Taymans  <wim@fluendo.com>
14005
14006         * tests/check/Makefile.am:
14007         * tests/check/elements/fakesink.c: (chain_async_buffer),
14008         (chain_async), (chain_async_return), (GST_START_TEST),
14009         (fakesink_suite), (main):
14010         Added fakesink test that checks prerolling and clipping
14011         behaviour.
14012
14013         * tests/check/gst/gstutils.c: (GST_START_TEST):
14014         Make check run faster so that buildbots don't timeout.
14015
14016 2006-01-18  Wim Taymans  <wim@fluendo.com>
14017
14018         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14019         (gst_base_sink_do_sync):
14020         Some cleanups.
14021         When the sink finishes blocking on the preroll buffer, it can
14022         immediatly render it instead of rendering when the next buffer
14023         arrives.
14024
14025 2006-01-18  Wim Taymans  <wim@fluendo.com>
14026
14027         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
14028         (gst_base_sink_get_property), (gst_base_sink_do_sync),
14029         (gst_base_sink_chain):
14030         Small cleanups.
14031         GST_ELEMENT_CLOCK and sync are protected with LOCK.
14032         Don't store _last_stop if the buffer is dropped.
14033
14034 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14035
14036         * plugins/elements/gsttypefindelement.c:
14037         (gst_type_find_element_class_init):
14038           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
14039           object method handler that sets the caps on the pad and we want
14040           that to happen before we emit the signal (fixes e.g. feeding a
14041           plain text file to decodebin).
14042
14043 2006-01-18  Christian Schaller  <Christian@fluendo.com>
14044
14045         * gst/gstplugin.c: Add MPL and Proprietary as license options
14046
14047 2006-01-18  Andy Wingo  <wingo@pobox.com>
14048
14049         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
14050         symbol was exported before, it appears this was just an oversight.
14051         Fixes #168703.
14052         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
14053
14054         * gst/gstindex.c (gst_index_add_associationv): Changed int in
14055         prototype to gint. OK since this prototype was not in the header.
14056
14057 2006-01-17  Andy Wingo  <wingo@pobox.com>
14058
14059         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
14060         registry while we remove plugins.
14061
14062         * tools/gst-inspect.c (print_element_info): Don't unref the
14063         factory arg, that should be the responsibility of whatever code
14064         received the ref. Fixes a double-free when called from
14065         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
14066         (main): Unref the factory if we have one.
14067         (print_element_list): No change -- relies on the
14068         plugin_feature_list_free to free the list of features.
14069
14070 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
14071
14072         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14073         (gst_buffer_make_metadata_writable):
14074         * gst/gstbuffer.h:
14075         * libs/gst/base/gstbasetransform.c:
14076         (gst_base_transform_prepare_output_buf):
14077         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14078         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14079           Replace gst_buffer_(make|is)_metadata_writable patch now
14080           that the release is out.
14081
14082 2006-01-17  Andy Wingo  <wingo@pobox.com>
14083
14084         * gst/gstregistry.c: Reflow design comment. Update so as to speak
14085         in the present tense without reference to versions.
14086
14087         * gst/gstregistry.c (gst_registry_add_plugin)
14088         (gst_registry_remove_plugin, gst_registry_remove_feature)
14089         (gst_registry_find_feature, gst_registry_get_feature_list)
14090         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
14091         (gst_registry_lookup, gst_registry_scan_path)
14092         (_gst_registry_remove_cache_plugins)
14093         (gst_registry_get_feature_list_by_plugin): Add argument
14094         validation.
14095
14096 === release 0.10.2 ===
14097
14098 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
14099
14100         * configure.ac:
14101           releasing 0.10.2, "If man is five"
14102
14103 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14104
14105         * gst/gstbuffer.c:
14106         * gst/gstbuffer.h:
14107         * libs/gst/base/gstbasetransform.c:
14108         (gst_base_transform_prepare_output_buf):
14109         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14110         * tests/check/gst/gstbuffer.c: (gst_test_suite):
14111           Back out patch until after the release.
14112
14113 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14114
14115         * gst/gstminiobject.c:
14116           Spelling fix in docs.
14117         * ChangeLog - remove conflict indicator
14118
14119 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14120
14121         Reviewed By: Andy Wingo
14122
14123         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14124         (gst_buffer_make_metadata_writable):
14125         * gst/gstbuffer.h:
14126           Add gst_buffer_(is|make)_metadata_writable as analogues of
14127           gst_buffer_(is|make)_writable.
14128
14129         * libs/gst/base/gstbasetransform.c:
14130         (gst_base_transform_prepare_output_buf):
14131         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14132           Use name gst_buffer_(is|make)_metadata_writable functions.
14133
14134         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14135           Test gst_buffer_(is|make)_metadata_writable
14136         
14137           (Closes: #324162)
14138
14139 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14140
14141         * docs/manual/Makefile.am:
14142           don't do parallel make
14143         * configure.ac:
14144           AC_SUBST HOST_CPU
14145         * win32/common/config.h.in:
14146           add generations for HOST_CPU and GST_MAJORMINOR
14147         * win32/common/config.h:
14148           commit generated result
14149
14150 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
14151
14152         * docs/manual/appendix-integration.xml:
14153           Update GNOME integration section to use gst_init_get_option_group()
14154           instead of the old popt stuff (#322911). Also, GNOME applications
14155           should  now use gconf*sink and gconf*src instead of the old gconf
14156           helper lib we had.
14157
14158 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
14159
14160
14161         * docs/gst/gstreamer-docs.sgml:
14162         * docs/gst/gstreamer-sections.txt:
14163         * docs/libs/gstreamer-libs-sections.txt:
14164           add new API entries to the docs
14165         * libs/gst/controller/Makefile.am:
14166         * libs/gst/controller/gstcontroller.c:
14167         * libs/gst/controller/gstcontroller.h:
14168         * libs/gst/controller/gstcontrollerprivate.h:
14169         * libs/gst/controller/gsthelper.c:
14170         * libs/gst/controller/gstinterpolation.c:
14171           move private structs to private header
14172         * po/README:
14173           gstreamer-0.7 -> gstreamer-0.10
14174         * tests/check/libs/struct_i386.h:
14175           remove private structs
14176
14177 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14178
14179         * plugins/indexers/Makefile.am:
14180           Fixes as part of #317048
14181
14182 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14183
14184         * plugins/indexers/Makefile.am:
14185           fix #316086 - compilation when mmap is missing
14186
14187 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
14188
14189         * libs/gst/base/gstbasesink.c:
14190           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
14191           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
14192         * win32/common/config.h:
14193           added some defines GST_MAJORMINOR and HOST_CPU
14194         * win32/common/libgstbase.def:
14195         * win32/common/libgstreamer.def:
14196           added some exported functions.
14197
14198 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14199
14200         * libs/gst/controller/gstcontroller.c:
14201         (gst_controlled_property_set_interpolation_mode),
14202         (gst_controlled_property_new):
14203         * libs/gst/controller/gstcontroller.h:
14204         * libs/gst/controller/gstinterpolation.c:
14205         (interpolate_none_get_string_value_array):
14206           make G_TYPE_STRING controlable
14207
14208 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14209
14210         * tools/README:
14211         * tools/gst-feedback.1.in:
14212         * tools/gst-inspect.1.in:
14213         * tools/gst-launch.1.in:
14214         * tools/gst-md5sum.1.in:
14215         * tools/gst-typefind.1.in:
14216         * tools/gst-xmlinspect.1.in:
14217         * tools/gst-xmllaunch.1.in:
14218           cleanup man-pages, remove reference to gst-register, document env-vars
14219
14220 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
14221
14222         * gst/gstbuffer.c: (gst_buffer_span):
14223           gst_buffer_span should copy the timestamp of the first buffer
14224           if they were both originally overlapping subbuffers of the 
14225           same parent, using the same logic as the 'slow copy' case.
14226
14227 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
14228
14229         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
14230           Need to awaken ALL the pads when we pop a buffer, otherwise
14231           collectpads only works when there is 2 input streams.
14232
14233 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
14234
14235         * docs/random/ensonic/media-device-daemon.txt:
14236           more ideas (dbus)
14237         * gst/gstbuffer.c:
14238           fix doc example, add clarification
14239         * tools/gst-launch.1.in:
14240           add initial info about GST_PLUGIN_PATH, needs more work
14241
14242 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
14243
14244         * docs/manual/basics-bins.xml:
14245         * docs/manual/basics-elements.xml:
14246         * docs/manual/intro-basics.xml:
14247           Some more minor docs additions and updates.
14248
14249 2006-01-11  Wim Taymans  <wim@fluendo.com>
14250
14251         * docs/manual/basics-bins.xml:
14252         * docs/manual/basics-elements.xml:
14253         Some small fixes as pointed out by Ser-ver on IRC.
14254
14255 2006-01-10  Edward Hervey  <edward@fluendo.com>
14256
14257         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14258         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
14259         the single-segment mode.
14260
14261 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
14262
14263         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14264
14265         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
14266         (gst_base_src_perform_seek), (gst_base_src_send_event),
14267         (gst_base_src_set_property), (gst_base_src_get_property),
14268         (gst_base_src_loop), (gst_base_src_start),
14269         (gst_base_src_activate_push):
14270         * libs/gst/base/gstbasesrc.h:
14271           Name (private) union; makes Sun's Forte compiler happy (#324900).
14272
14273 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
14274
14275         * README:
14276           gst-register is gone.
14277
14278 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14279
14280         * gst/gstvalue.c: (_gst_value_initialize):
14281           make the G_TYPE_DATE instantiation work if debug is disabled
14282
14283 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
14284
14285         * gst/gstmessage.c: (gst_message_parse_tag),
14286         (gst_message_parse_error), (gst_message_parse_warning):
14287           Don't crash when return location for error/warning debug
14288           string is NULL; add fact that return locations can be
14289           NULL to docs where appropriate.
14290
14291 2006-01-05  Wim Taymans  <wim@fluendo.com>
14292
14293         * gst/gstplugin.c: (gst_plugin_load_file):
14294         Replace strdup by g_strdup.
14295
14296 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14297
14298         * docs/pwg/advanced-types.xml:
14299           fix doc borkage
14300
14301 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14302
14303         submitted by: Abel Cheung
14304
14305         * po/LINGUAS:
14306         * po/zh_TW.po:
14307           Added Chinese (traditional) translation
14308
14309 2006-01-04  Wim Taymans  <wim@fluendo.com>
14310
14311         * docs/manual/basics-pads.xml:
14312         * docs/plugins/Makefile.am:
14313         * docs/plugins/gstreamer-plugins-docs.sgml:
14314         * docs/plugins/gstreamer-plugins-sections.txt:
14315         * docs/pwg/advanced-clock.xml:
14316         * docs/pwg/advanced-scheduling.xml:
14317         * docs/pwg/advanced-types.xml:
14318         * plugins/elements/gstfdsink.c:
14319         * plugins/elements/gstfdsrc.c:
14320         * plugins/elements/gstfdsrc.h:
14321         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14322         * plugins/elements/gstidentity.h:
14323         * plugins/elements/gstqueue.h:
14324         * plugins/elements/gsttee.c:
14325         * plugins/elements/gsttee.h:
14326         * plugins/elements/gsttypefindelement.c:
14327         (gst_type_find_element_class_init):
14328         * plugins/elements/gsttypefindelement.h:
14329         Small updates to various docs.
14330         Added core plugins to docs.
14331
14332 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14333
14334         * common/gst.supp:
14335           add a suppression for liboil's uninitialized variable
14336
14337 2006-01-02  James Livingston  <jrl at ids dot org dot au>
14338
14339         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14340
14341         * gst/gstutils.h:
14342           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
14343           macro, so that gcc doesn't complain if the -Wmissing-prototypes
14344           compiler switch is being used (#325429).
14345
14346 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
14347
14348         * gst/gstbin.c: (gst_bin_query):
14349           Disable duration query caching in bins until it gets
14350           fixed (see #324807).
14351
14352 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14353
14354         * tools/gst-inspect.c: (print_element_properties_info):
14355           Handle properties of POINTER and BOXED type.
14356
14357 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14358
14359         * gst/gst.c: (init_post):
14360           Init tags stuff and some other things before loading
14361           any static plugins (there may be other static plugins
14362           than just the GStreamer ones, and they may want to
14363           register their own tags or formats or whatever, and
14364           preferably without segfaulting).
14365
14366         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
14367           Print at least a warning in the debug logs if we drop a
14368           query just because we don't know how to adjust the value
14369           in the particular format.
14370
14371 2005-12-24  David Schleef  <ds@schleef.org>
14372
14373         * tools/gstreamer-completion:
14374           Replacement for gst-complete written in sh and sed.  Only
14375           completes names of features, but that's 90% of what I want
14376           it for.  Properties are not available in registry.xml.  (Maybe
14377           they should be...)
14378
14379 === release 0.10.1 ===
14380
14381 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
14382
14383         * configure.ac:
14384           releasing 0.10.1, "Nollaig chridheil"
14385
14386 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
14387
14388         * docs/faq/cvs.xml:
14389           Add missing quote, should be make ERROR_CFLAGS="".
14390
14391 2005-12-20  Wim Taymans  <wim@fluendo.com>
14392
14393         * docs/design/part-trickmodes.txt:
14394         More documentation on trickmodes.
14395
14396 2005-12-20  Edward Hervey  <edward@fluendo.com>
14397
14398         * gst/gstcaps.c: (gst_static_caps_get_type):
14399         * gst/gstcaps.h:
14400           API addition: GST_TYPE_STATIC_CAPS
14401         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14402         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14403         * gst/gstpadtemplate.h:
14404           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14405         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14406         bindings.
14407
14408 2005-12-18  Wim Taymans  <wim@fluendo.com>
14409
14410         * libs/gst/base/gstadapter.c:
14411         * libs/gst/base/gstadapter.h:
14412         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14413         (gst_base_sink_get_position):
14414         * libs/gst/base/gstbasesink.h:
14415         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14416         (gst_base_src_default_query), (gst_base_src_default_do_seek),
14417         (gst_base_src_do_seek), (gst_base_src_perform_seek),
14418         (gst_base_src_send_event), (gst_base_src_update_length),
14419         (gst_base_src_get_range), (gst_base_src_loop),
14420         (gst_base_src_start):
14421         * libs/gst/base/gstbasesrc.h:
14422         * libs/gst/base/gstbasetransform.h:
14423         * libs/gst/base/gstcollectpads.h:
14424         * libs/gst/base/gstpushsrc.c:
14425         * libs/gst/base/gstpushsrc.h:
14426         * libs/gst/dataprotocol/dataprotocol.c:
14427         * libs/gst/dataprotocol/dataprotocol.h:
14428         * libs/gst/net/gstnetclientclock.h:
14429         * libs/gst/net/gstnettimeprovider.h:
14430         Documentation updates.
14431
14432 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
14433
14434         * docs/manual/basics-helloworld.xml:
14435           Remove superfluous closing bracket in helloworld example.
14436
14437 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
14438
14439         * tools/gst-launch.1.in:
14440           Update gst-launch man page; add a section with useful
14441           environment variables. Fixes #323882.
14442
14443 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
14444
14445         * gst/gst.c:
14446         * gst/gst_private.h:
14447           change some char* into char[]
14448
14449 2005-12-16  Wim Taymans  <wim@fluendo.com>
14450
14451         * gst/gstregistryxml.c: (load_feature):
14452         Cleanups.
14453         Don't use g_object_unref on GstObjects so that we avoid
14454         leaks on unsafe glibs.
14455
14456 2005-12-16  Wim Taymans  <wim@fluendo.com>
14457
14458         * gst/gstbin.c: (gst_bin_recalc_state):
14459         Small doc updates.
14460
14461 2005-12-16  Wim Taymans  <wim@fluendo.com>
14462
14463         * common/check.mak:
14464         Added make forever target for check.
14465
14466 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14467
14468         * gst/gst.c: (init_post):
14469           make the registry cache file HOST_CPU-dependent
14470
14471 2005-12-16  Andy Wingo  <wingo@pobox.com>
14472
14473         * plugins/elements/gstbufferstore.c
14474         (gst_buffer_store_cleared_func): Pay attention to g_list_append
14475         return value.
14476
14477         * tests/check/gst/gstobject.c
14478         (test_fake_object_name_threaded_unique): Pay attention to
14479         g_list_sort return value.
14480
14481 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
14482
14483         * tools/gst-feedback-m.m:
14484           Update for 0.9/0.10 (fixes #323870).
14485
14486 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
14487
14488         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14489           Fix lcopy for mini objects, the mini object needs to be ref'ed.
14490           
14491         * tests/check/gst/gstminiobject.c: (my_foo_init),
14492         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14493         (test_value_collection), (gst_mini_object_suite):
14494           Add test to ensure refcounts end up as expected when passing
14495           GstMiniObjects through g_object_get() and g_object_set().
14496
14497 2005-12-14  Julien MOUTTE  <julien@moutte.net>
14498
14499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14500         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14501         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14502         of collectpads. This version removes a lot of races without
14503         touching API/ABI. Yay !
14504
14505 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
14506
14507         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14508           Don't allow activation of a srcpad in pull_range if it has no
14509           getrange function.
14510           Change some debug statements to be a little clearer
14511
14512         * plugins/elements/gsttypefindelement.c:
14513         (gst_type_find_handle_src_query):
14514           Check that we have a peer before executing queries thereupon.
14515
14516         * tests/examples/metadata/read-metadata.c: (message_loop):
14517           Use gst_bus_pop instead of gst_bus_poll when we just want it to
14518           immediately return us any available message with 0 timeout.
14519
14520 2005-12-12  Michael Smith  <msmith@fluendo.com>
14521
14522         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14523           Don't unref factories after calling them.
14524         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14525         * plugins/elements/gsttypefindelement.c:
14526         (gst_type_find_element_chain):
14527           Free lists of factories after using them. Fixing typefinding memory
14528           leaks.
14529
14530 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14531
14532         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14533         (gst_plugin_feature_load):
14534           more meaningful debug output
14535         * configure.ac:
14536         * tests/Makefile.am:
14537         * tests/old/examples/Makefile.am:
14538           make make distcheck happy again
14539
14540 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14541
14542         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14543           Catch the special case where we are operating chain-based,
14544           but the downstream peer pad has no chain function. Emit a
14545           custom error message in this case instead of letting the
14546           core generate one implying that this is some sort of core
14547           bug. It's not, it just means that whatever got plugged
14548           into the pipeline downstream when we announced the type
14549           can only operate pull-based, while our source can only
14550           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14551           Error string has not been marked for translation yet, as
14552           it probably needs some more work first.
14553
14554         (gst_type_find_element_get_best_possibility):
14555           Add helper function to find the best of all available
14556           found possibilities that qualify given the min. threshold.
14557
14558         (gst_type_find_element_handle_event):
14559           Fix the case where we get an EOS while still in TYPEFIND
14560           mode (we want to chose the best of all possible types,
14561           not just the first type that happens to be in our unsorted
14562           list of possible types).
14563
14564         (gst_type_find_element_chain):
14565           Make sure we return GST_FLOW_ERROR when we errored out
14566           in stop_typefinding(); also, don't just find the best of
14567           all found type entries and then use the last examined
14568           type entry, but actually use the best entry.
14569
14570 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14571
14572         * tests/examples/typefind/typefind.c: (type_found):
14573         * tests/examples/xml/runxml.c: (xml_loaded):
14574           More gcc4 fixes and a mem leak fix.
14575
14576 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14577
14578         * tests/examples/xml/createxml.c: (object_saved):
14579           gcc 4 fixes
14580
14581 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14582
14583         * tests/Makefile.am:
14584           enable the examples even more
14585
14586 2005-12-12  Andy Wingo  <wingo@pobox.com>
14587
14588         * libs/gst/net/gstnettimeprovider.c
14589         (gst_net_time_provider_class_init, gst_net_time_provider_init)
14590         (gst_net_time_provider_set_property)
14591         (gst_net_time_provider_get_property):
14592         API addition: Export "active" as a GObject property.
14593         (gst_net_time_provider_thread): Only respond to time queries if
14594         the time provider is active.
14595
14596         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14597         NetTimeProvider, preserving binary compat.
14598
14599 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14600
14601         * tests/examples/controller/audio-example.c: (main):
14602         * tests/examples/launch/Makefile.am:
14603           convert comments again
14604
14605 2005-12-12  Wim Taymans  <wim@fluendo.com>
14606
14607         * libs/gst/base/gstpushsrc.c:
14608         Fix typo.
14609
14610 2005-12-12  Wim Taymans  <wim@fluendo.com>
14611
14612         * docs/libs/gstreamer-libs-sections.txt:
14613         Added new symbol to docs.
14614
14615         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14616         (gst_base_src_init), (gst_base_src_set_format),
14617         (gst_base_src_default_query), (gst_base_src_query),
14618         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14619         (gst_base_src_perform_seek), (gst_base_src_send_event),
14620         (gst_base_src_default_event), (gst_base_src_event_handler),
14621         (gst_base_src_set_property), (gst_base_src_get_property),
14622         (gst_base_src_wait), (gst_base_src_do_sync),
14623         (gst_base_src_update_length), (gst_base_src_get_range),
14624         (gst_base_src_check_get_range), (gst_base_src_loop),
14625         (gst_base_src_default_negotiate), (gst_base_src_start),
14626         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14627         (gst_base_src_change_state):
14628         * libs/gst/base/gstbasesrc.h:
14629         Implement seeking to other formats than _BYTES.
14630         Implement more seeking methods correctly.
14631         Doc updates.
14632         Added query vmethod.
14633         Added do_seek vmethod to make life easier for subclasses
14634         when seeking.
14635         API addition: gst_base_src_set_format()
14636
14637 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14638
14639         * tests/examples/Makefile.am:
14640           added that too
14641
14642 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14643
14644         * configure.ac:
14645         * docs/random/ensonic/media-device-daemon.txt:
14646         * tests/examples/controller/.cvsignore:
14647         * tests/examples/controller/Makefile.am:
14648         * tests/examples/controller/audio-example.c: (main):
14649         * tests/examples/helloworld/.cvsignore:
14650         * tests/examples/helloworld/Makefile.am:
14651         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14652         * tests/examples/launch/.cvsignore:
14653         * tests/examples/launch/Makefile.am:
14654         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14655         * tests/examples/metadata/.cvsignore:
14656         * tests/examples/metadata/Makefile.am:
14657         * tests/examples/metadata/read-metadata.c: (message_loop),
14658         (make_pipeline), (print_tag), (main):
14659         * tests/examples/queue/.cvsignore:
14660         * tests/examples/queue/Makefile.am:
14661         * tests/examples/queue/queue.c: (event_loop), (main):
14662         * tests/examples/typefind/.cvsignore:
14663         * tests/examples/typefind/Makefile.am:
14664         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
14665         (main):
14666         * tests/examples/xml/.cvsignore:
14667         * tests/examples/xml/Makefile.am:
14668         * tests/examples/xml/createxml.c: (object_saved), (main):
14669         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
14670         * tests/old/examples/Makefile.am:
14671         * tests/old/examples/TODO:
14672         * tests/old/examples/controller/.cvsignore:
14673         * tests/old/examples/controller/Makefile.am:
14674         * tests/old/examples/controller/audio-example.c:
14675         * tests/old/examples/helloworld/.cvsignore:
14676         * tests/old/examples/helloworld/Makefile.am:
14677         * tests/old/examples/helloworld/helloworld.c:
14678         * tests/old/examples/launch/.cvsignore:
14679         * tests/old/examples/launch/Makefile.am:
14680         * tests/old/examples/launch/mp3parselaunch.c:
14681         * tests/old/examples/launch/mp3play:
14682         * tests/old/examples/manual/Makefile.am:
14683         * tests/old/examples/metadata/Makefile.am:
14684         * tests/old/examples/metadata/read-metadata.c:
14685         * tests/old/examples/queue/.cvsignore:
14686         * tests/old/examples/queue/Makefile.am:
14687         * tests/old/examples/queue/queue.c:
14688         * tests/old/examples/typefind/.cvsignore:
14689         * tests/old/examples/typefind/Makefile.am:
14690         * tests/old/examples/typefind/typefind.c:
14691         * tests/old/examples/xml/.cvsignore:
14692         * tests/old/examples/xml/Makefile.am:
14693         * tests/old/examples/xml/createxml.c:
14694         * tests/old/examples/xml/runxml.c:
14695           applied some simple fixing to some examples
14696           re-enabled the working examples
14697
14698 2005-12-12  Wim Taymans  <wim@fluendo.com>
14699
14700         * gst/gstsegment.c: (gst_segment_init),
14701         (gst_segment_set_last_stop), (gst_segment_set_seek),
14702         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14703         (gst_segment_to_running_time):
14704         Added more documentation.
14705         Make sure the last_pos value is updated properly.
14706         Make sure to_stream_time and to_running_time don't
14707         operate on wrong values.
14708
14709         * tests/check/gst/gstsegment.c: (GST_START_TEST):
14710         Update check.
14711
14712 2005-12-12  Michael Smith  <msmith@fluendo.com>
14713
14714         * plugins/elements/gsttypefindelement.c: (free_entry),
14715         (gst_type_find_element_chain):
14716           Now that we're not leaking factories, make sure we keep references
14717           to them while we need them.
14718
14719 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14720
14721         * tests/check/gst/struct_i386.h:
14722           ifdef out the XML structs
14723
14724 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14725
14726         * gst/gstvalue.c: (gst_value_transform_double_fraction):
14727           floor is not needed, F is always positive; this obviates the
14728           need for adding -lm when building without libxml
14729
14730 2005-12-12  Wim Taymans  <wim@fluendo.com>
14731
14732         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14733         Take current playback rate into account when reporting
14734         the position.
14735
14736 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14737
14738         * docs/manual/mime-world.fig:
14739           Let's try this again, this time with a file that is
14740           actually in XFig format.
14741
14742 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14743
14744         * docs/manual/mime-world.fig:
14745           Add audioconvert element to diagram so that it
14746           matches the text and the code (fixes #319526).
14747
14748 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14749
14750         * docs/pwg/building-chainfn.xml:
14751         * docs/pwg/building-pads.xml:
14752         * docs/pwg/building-state.xml:
14753         * docs/pwg/other-source.xml:
14754           Update state change stuff for 0.10 (fixes #322969).
14755
14756 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14757
14758         * docs/manual/advanced-dataaccess.xml:
14759         * docs/manual/appendix-checklist.xml:
14760         * docs/manual/appendix-programs.xml:
14761         * docs/manual/basics-pads.xml:
14762         * docs/manual/highlevel-components.xml:
14763         * docs/manual/manual.xml:
14764           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
14765           add converters in front of pipelines; remove curly
14766           brackets for threads stuff, they no longer exist; use
14767           GST_TYPE_FRACTION for framerates; update some pieces of
14768           code to 0.10, but there's plenty more to do.
14769
14770         * docs/manual/appendix-porting.xml:
14771           Expand on asynchroneous state changes; s/0.9/0.10/;
14772           mention disappearance of gst_init_get_popt_table()
14773           (fixes #322916).
14774
14775 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14776
14777         * docs/faq/using.xml:
14778           Spider no longer exists, and neither does gst-launch-ext.
14779           Update examples to use decodebin and playbin and put
14780           converters in front of sinks (fixes #323726).
14781
14782 2005-12-09  Michael Smith  <msmith@fluendo.com>
14783
14784         * plugins/elements/gsttypefindelement.c: (find_peek),
14785         (gst_type_find_element_chain):
14786           Fix leaking element factories in typefinding.
14787           Fix problem where we forgot about a probable type on non-seekable
14788           files, and thus later mis-typefound it.
14789
14790 2005-12-09  Michael Smith  <msmith@fluendo.com>
14791
14792         * common/m4/gst-makecontext.m4:
14793         * common/m4/gst-mcsc.m4:
14794         * configure.ac:
14795         * win32/common/config.h:
14796         * win32/common/config.h.in:
14797           Remove makecontext stuff; not used in 0.10 and causes problems on
14798           HPUX according to bug #322441
14799
14800 2005-12-07  Wim Taymans  <wim@fluendo.com>
14801
14802         * tests/check/Makefile.am:
14803         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
14804         (main):
14805         * tests/check/libs/struct_i386.h:
14806         Added ABI check for libs
14807
14808 2005-12-07  Wim Taymans  <wim@fluendo.com>
14809
14810         * tests/check/Makefile.am:
14811         And add the struct_i386.h to dist.
14812
14813 2005-12-07  Wim Taymans  <wim@fluendo.com>
14814
14815         * tests/check/Makefile.am:
14816         * tests/check/gst/.cvsignore:
14817         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
14818         (main):
14819         * tests/check/gst/struct_i386.h:
14820         Added check for ABI compatibility.
14821
14822 2005-12-07  Wim Taymans  <wim@fluendo.com>
14823
14824         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14825         (gst_fake_src_get_times), (gst_fake_src_create):
14826         Fix broken sync option, fixes #323259
14827
14828 2005-12-07  Wim Taymans  <wim@fluendo.com>
14829
14830         * gst/gstbuffer.c:
14831         Small docs update.
14832
14833         * gst/gstcaps.c: (gst_caps_is_equal):
14834         Don't assert on NULL <--> X. Fixes #323260
14835
14836         * gst/gstminiobject.c: (gst_mini_object_replace):
14837         If we're doing atomic operations, we might just as well use
14838         the proper way to get an atomic pointer.
14839
14840         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14841         Clean up debugging.
14842
14843 2005-12-07  Michael Smith  <msmith@fluendo.com>
14844
14845         * gst/parse/grammar.y:
14846           Remove handling of { } for threads.
14847
14848 2005-12-06  David Schleef  <ds@schleef.org>
14849
14850         * libs/gst/base/gstbasetransform.c: speling fix.
14851
14852 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14853
14854         * docs/libs/tmpl/gstdataprotocol.sgml:
14855         * docs/random/omega/testing/gstobject.c:
14856         * gst/gst.c:
14857         * gst/gstclock.c:
14858         * gst/gstelement.c:
14859         * gst/gstelementfactory.c:
14860         * gst/gsterror.c:
14861         * gst/gstevent.c:
14862         * gst/gstghostpad.c:
14863         * gst/gstinfo.c:
14864         * gst/gstpadtemplate.c:
14865         * gst/gstregistryxml.c:
14866         * gst/gsttaglist.c:
14867         * gst/gsttagsetter.c:
14868         * gst/gsttypefind.c:
14869         * gst/gstvalue.c:
14870         * libs/gst/base/gstbasesrc.c:
14871         * libs/gst/net/gstnetclientclock.c:
14872         * libs/gst/net/gstnettimeprovider.c:
14873         * plugins/elements/gstfakesrc.c:
14874         * plugins/elements/gstfdsrc.c:
14875         * plugins/elements/gstfilesrc.c:
14876         * plugins/elements/gstidentity.c:
14877         * plugins/elements/gstqueue.c:
14878         * plugins/elements/gsttypefindelement.c:
14879         * plugins/indexers/gstfileindex.c:
14880         * plugins/indexers/gstmemindex.c:
14881         * tests/check/gst/gsttag.c:
14882         * tests/old/examples/cutter/cutter.c:
14883         * tests/old/examples/mixer/mixer.c:
14884         * tests/old/examples/xml/runxml.c: (main):
14885         * tests/old/testsuite/caps/normalisation.c:
14886         * tests/old/testsuite/debug/global.c:
14887         * tests/old/testsuite/parse/parse1.c:
14888         * tools/gst-xmlinspect.c:
14889         * win32/common/dirent.c:
14890           expand tabs
14891
14892 === release 0.10.0 ===
14893
14894 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14895
14896         * configure.ac:
14897           releasing 0.10.0, "Maroilles"
14898
14899 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14900
14901         submitted by: Funda Wang <fundawang@linux.net.cn>
14902
14903         * po/LINGUAS:
14904         * po/zh_CN.po:
14905           added Chinese (Traditional) translation
14906
14907 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14908
14909         * docs/gst/gstreamer-sections.txt:
14910         * docs/libs/tmpl/gstdataprotocol.sgml:
14911         * docs/random/thomasvs/TODO:
14912         * gst/gstutils.c:
14913         * gst/gstutils.h:
14914           fix docs
14915
14916 2005-12-05  Andy Wingo  <wingo@pobox.com>
14917
14918         patch by: Wim Taymans <wim@fluendo.com>
14919
14920         * libs/gst/base/gstbasetransform.c
14921         (gst_base_transform_prepare_output_buf)
14922         (gst_base_transform_buffer_alloc):
14923         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
14924         alloc_buffer_and_set_caps.
14925
14926         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
14927         set_caps on the source pad.
14928         (gst_pad_alloc_buffer_and_set_caps): New function, does what
14929         alloc_buffer used to do. Fixes #322874.
14930
14931         * docs/gst/gstreamer-sections.txt: 
14932         * docs/design/part-negotiation.txt: 
14933         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
14934         changes.
14935
14936 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14937
14938         patch by: Sebastien Moutte
14939
14940         * win32/MANIFEST:
14941         * win32/common/config.h.in:
14942         * win32/vs6/libgstcontroller.dsp:
14943           win32 build fixes
14944
14945 2005-12-05  Wim Taymans  <wim@fluendo.com>
14946
14947         * gst/gstcaps.c: (gst_caps_is_equal):
14948         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14949         (gst_fake_src_create):
14950         Back out previous code changes, leave doc updates, file bugs 
14951         instead. 
14952
14953 2005-12-05  Wim Taymans  <wim@fluendo.com>
14954
14955         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14956         (gst_fake_src_get_times), (gst_fake_src_create):
14957         * plugins/elements/gstfakesrc.h:
14958         Fix broken sync code.
14959
14960 2005-12-05  Wim Taymans  <wim@fluendo.com>
14961
14962         * gst/gstcaps.c: (gst_caps_is_equal):
14963         Comparing NULL against !NULL yields different caps, not a
14964         failure.
14965
14966 2005-12-05  Wim Taymans  <wim@fluendo.com>
14967
14968         * gst/gstpipeline.c:
14969         Fix small typo in docs.
14970
14971 2005-12-05  Andy Wingo  <wingo@pobox.com>
14972
14973         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
14974
14975         * gst/gst.c (init_post): remove hard-coded 0.9 location for
14976         registries/plugins with a MAJORMINOR one.
14977         (plugin_desc): Rename library from gstcoreleements to
14978         staticelements. Fixes #323222.
14979
14980 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
14981
14982         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
14983           Change debug category to 'collectpads' from 'collect_pads'
14984           (fixes #323250).
14985
14986 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14987
14988         patch by: Sebastien Moutte
14989
14990         * libs/gst/controller/gstinterpolation.c:
14991           use convert function for uint64/double
14992         * win32/vs6/libgstcontroller.dsp:
14993           link to GLib
14994
14995 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14996
14997         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
14998         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
14999         * gst/gstutils.h:
15000         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15001           add tests that seem to show that the guint64/gdouble conversions
15002           are correct.
15003
15004 2005-12-02  Wim Taymans  <wim@fluendo.com>
15005
15006         * gst/gstregistry.c: (gst_registry_add_path):
15007         * gst/gstregistry.h:
15008         * gst/gstregistryxml.c:
15009         Fix docs again.
15010
15011 2005-12-02  Wim Taymans  <wim@fluendo.com>
15012
15013         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15014         (gst_util_uint64_scale_int):
15015         Small cleanup.
15016
15017         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15018         Add debug log line.
15019
15020         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
15021         Add FIXME.
15022
15023 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15024
15025         * win32/MANIFEST:
15026         * win32/common/config.h:
15027         * win32/vs6/gstreamer.dsw:
15028         * win32/vs6/libgstcoreelements.dsp:
15029         * win32/vs6/libgstelements.dsp:
15030           renamed core elements plugin
15031
15032 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15033
15034         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
15035         (get_candidates):
15036           do piece-wise major/minor comparison so 0.9 < 0.10
15037           also allow .exe extensions for tools
15038
15039 2005-12-02  Michael Smith  <msmith@fluendo.com>
15040
15041         * gst/gst.c:
15042           Escape a % to make gtkdoc happier; bug 322958.
15043
15044 === release 0.9.7 ===
15045
15046 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15047
15048         * configure.ac:
15049           releasing 0.9.7, "My Dog Has No Nose"
15050
15051 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15052
15053         * common/gst-xmlinspect.py:
15054         * configure.ac:
15055         * docs/libs/tmpl/gstdataprotocol.sgml:
15056         * docs/random/release:
15057         * po/af.po:
15058         * po/az.po:
15059         * po/bg.po:
15060         * po/ca.po:
15061         * po/cs.po:
15062         * po/de.po:
15063         * po/en_GB.po:
15064         * po/fr.po:
15065         * po/it.po:
15066         * po/nb.po:
15067         * po/nl.po:
15068         * po/ru.po:
15069         * po/sq.po:
15070         * po/sr.po:
15071         * po/sv.po:
15072         * po/tr.po:
15073         * po/uk.po:
15074         * po/vi.po:
15075         * win32/common/config.h:
15076         * win32/common/config.h.in:
15077         * win32/vs6/gst_inspect.dsp:
15078         * win32/vs6/gst_launch.dsp:
15079         * win32/vs6/libgstbase.dsp:
15080         * win32/vs6/libgstelements.dsp:
15081         * win32/vs6/libgstreamer.dsp:
15082         * win32/vs7/GStreamer.vcproj:
15083         * win32/vs7/gst-inspect.vcproj:
15084         * win32/vs7/gst-launch.vcproj:
15085         * win32/vs7/libgstbase.vcproj:
15086           bump GST_MAJORMINOR to 0.10
15087           reset libtool version
15088
15089 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15090
15091         * po/LINGUAS:
15092         * po/bg.po:
15093           Added Bulgarian translation by (Alexander Shopov)
15094
15095 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15096
15097         * tests/check/gst/gstplugin.c:
15098           fix test
15099
15100 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15101
15102         * common/gst-xmlinspect.py:
15103         * common/gtk-doc-plugins.mak:
15104         * configure.ac:
15105         * docs/Makefile.am:
15106         * docs/gst/Makefile.am:
15107         * docs/gst/gstreamer-docs.sgml:
15108         * docs/gst/gstreamer-sections.txt:
15109         * docs/gst/gstreamer.types:
15110         * docs/gst/gstreamer.types.in:
15111         * docs/plugins/Makefile.am:
15112         * docs/plugins/gstreamer-plugins-docs.sgml:
15113         * docs/plugins/gstreamer-plugins-sections.txt:
15114         * docs/plugins/gstreamer-plugins.types:
15115         * docs/plugins/inspect.stamp:
15116         * docs/plugins/inspect/plugin-coreelements.xml:
15117         * docs/plugins/inspect/plugin-coreindexers.xml:
15118         * docs/plugins/scanobj-build.stamp:
15119         * gstreamer.spec.in:
15120         * plugins/elements/Makefile.am:
15121         * plugins/elements/gstelements.c:
15122         * plugins/elements/gstfakesink.c:
15123         * plugins/elements/gstfakesrc.c:
15124         * plugins/elements/gstfilesink.c:
15125         * plugins/elements/gstfilesrc.c:
15126         * plugins/elements/gstqueue.c:
15127         * plugins/indexers/Makefile.am:
15128         * plugins/indexers/gstindexers.c:
15129           document core plugins in a separate document just like all the
15130           others
15131           rename these plugins to something starting with core
15132
15133 2005-12-01  Andy Wingo  <wingo@pobox.com>
15134
15135         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
15136         padding here before, but it missed the commit.
15137
15138 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15139
15140         * libs/gst/controller/gstinterpolation.c:
15141           whitespace prices have crashed, we should feel free to use some now
15142           use gst_guint64_to_gdouble
15143
15144 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15145
15146         * libs/gst/controller/gstcontroller.c:
15147         * libs/gst/controller/gsthelper.c:
15148         * libs/gst/controller/gstinterpolation.c:
15149         * libs/gst/controller/lib.c:
15150           wrap config.h include
15151
15152 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15153
15154         * docs/gst/gstreamer-sections.txt:
15155           update docs
15156
15157 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15158
15159         * plugins/elements/gstelements.c:
15160         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
15161         (gst_fd_sink__class_init), (gst_fd_sink__init),
15162         (gst_fd_sink__chain), (gst_fd_sink__set_property),
15163         (gst_fd_sink__get_property):
15164         * plugins/elements/gstfdsink.h:
15165         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15166         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
15167         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
15168         (gst_fd_src_unlock), (gst_fd_src_set_property),
15169         (gst_fd_src_get_property), (gst_fd_src_create),
15170         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15171         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
15172         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
15173         (gst_fd_src_uri_handler_init):
15174         * plugins/elements/gstfdsrc.h:
15175         * plugins/elements/gstqueue.c: (gst_queue_get_type):
15176           more anal cleanup
15177
15178 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15179
15180         * docs/gst/Makefile.am:
15181         * docs/gst/gstreamer.types.in:
15182         * gst/Makefile.am:
15183           fix the docs build
15184
15185 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15186
15187         * configure.ac:
15188         * gst/Makefile.am:
15189         * gst/gst.c:
15190         * gst/gstplugin.h:
15191         * gst/gstregistry.h:
15192         * tests/benchmarks/complexity.c:
15193         * tests/benchmarks/mass-elements.c:
15194         * tests/check/Makefile.am:
15195         * tools/Makefile.am:
15196         * tools/gst-inspect.c:
15197         * tools/gst-xmlinspect.c:
15198           various fixes to make
15199           --disable-nls --disable-registry --disable-loadsave
15200           --disable-parse --disable-gst-debug
15201           work and get the core .so down to 360444 bytes after stripping
15202
15203 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15204
15205         * Makefile.am:
15206         * configure.ac:
15207           descend into tests
15208         * docs/random/thomasvs/TODO:
15209         * tests/Makefile.am:
15210         * tests/README:
15211           add a README
15212
15213 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15214
15215         * win32/GStreamer.vcproj:
15216         * win32/MANIFEST:
15217         * win32/Makefile:
15218         * win32/Makefile.inspect:
15219         * win32/Makefile.launch:
15220         * win32/Makefile.register:
15221         * win32/README.txt:
15222         * win32/gst-inspect.vcproj:
15223         * win32/gst-launch.vcproj:
15224         * win32/gst-register.vcproj:
15225         * win32/gstelements.vcproj:
15226         * win32/gstgetbits.def:
15227         * win32/gstgetbits.vcproj:
15228         * win32/gstreamer-dbg.def:
15229         * win32/gstreamer.def:
15230         * win32/libgstbase.def:
15231         * win32/libgstbase.vcproj:
15232         * win32/link_oldruntime.c:
15233         * win32/mman.c:
15234         * win32/mman.h:
15235         * win32/mman.inl:
15236         * win32/msvc71.sln:
15237           move even more stuff, win32/ is nice and clean now
15238
15239 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15240
15241         * libs/gst/control/.cvsignore:
15242         * win32/MANIFEST:
15243         * win32/config.h:
15244         * win32/dirent.c:
15245         * win32/dirent.h:
15246         * win32/gstbytestream.def:
15247         * win32/gstbytestream.vcproj:
15248         * win32/gstconfig.h:
15249         * win32/gstenumtypes.c:
15250         * win32/gstenumtypes.h:
15251         * win32/gstoptimalscheduler.vcproj:
15252         * win32/gstversion.h:
15253         * win32/gtchar.h:
15254         * win32/testsuite/bins.vcproj:
15255         * win32/testsuite/bytestream.vcproj:
15256         * win32/testsuite/caps.vcproj:
15257         * win32/testsuite/cleanup.vcproj:
15258         * win32/testsuite/clock.vcproj:
15259         * win32/testsuite/debug.vcproj:
15260         * win32/testsuite/dlopen.vcproj:
15261         * win32/testsuite/dynparams.vcproj:
15262         * win32/testsuite/elements.vcproj:
15263         * win32/testsuite/ghostpads.vcproj:
15264         * win32/testsuite/indexers.vcproj:
15265         * win32/testsuite/negotiation.vcproj:
15266         * win32/testsuite/parse.vcproj:
15267         * win32/testsuite/plugin.vcproj:
15268         * win32/testsuite/refcounting.vcproj:
15269         * win32/testsuite/schedulers.vcproj:
15270         * win32/testsuite/states.vcproj:
15271         * win32/testsuite/tags.vcproj:
15272         * win32/testsuite/threads.vcproj:
15273           remove old win32 stuff that isn't maintained and should be
15274           reorganized
15275
15276 2005-11-30  Andy Wingo  <wingo@pobox.com>
15277
15278         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
15279         loading the gst.interfaces python module bork.
15280
15281         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
15282         available since GLib 2.2. Fixes #318031.
15283
15284 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15285
15286         * Makefile.am:
15287         * check/.cvsignore:
15288         * check/Makefile.am:
15289         * check/elements/.cvsignore:
15290         * check/elements/fakesrc.c:
15291         * check/elements/fdsrc.c:
15292         * check/elements/identity.c:
15293         * check/generic/.cvsignore:
15294         * check/generic/states.c:
15295         * check/gst-libs/.cvsignore:
15296         * check/gst-libs/controller.c:
15297         * check/gst-libs/gdp.c:
15298         * check/gst/.cvsignore:
15299         * check/gst/capslist.h:
15300         * check/gst/gst.c:
15301         * check/gst/gstbin.c:
15302         * check/gst/gstbuffer.c:
15303         * check/gst/gstbus.c:
15304         * check/gst/gstcaps.c:
15305         * check/gst/gstelement.c:
15306         * check/gst/gstevent.c:
15307         * check/gst/gstghostpad.c:
15308         * check/gst/gstiterator.c:
15309         * check/gst/gstmessage.c:
15310         * check/gst/gstminiobject.c:
15311         * check/gst/gstobject.c:
15312         * check/gst/gstpad.c:
15313         * check/gst/gstpipeline.c:
15314         * check/gst/gstplugin.c:
15315         * check/gst/gstsegment.c:
15316         * check/gst/gststructure.c:
15317         * check/gst/gstsystemclock.c:
15318         * check/gst/gsttag.c:
15319         * check/gst/gstutils.c:
15320         * check/gst/gstvalue.c:
15321         * check/net/.cvsignore:
15322         * check/net/gstnetclientclock.c:
15323         * check/net/gstnettimeprovider.c:
15324         * check/pipelines/.cvsignore:
15325         * check/pipelines/cleanup.c:
15326         * check/pipelines/simple_launch_lines.c:
15327         * check/pipelines/stress.c:
15328         * check/states/.cvsignore:
15329         * check/states/sinks.c:
15330         * configure.ac:
15331         * examples/Makefile.am:
15332         * examples/appreader/.cvsignore:
15333         * examples/appreader/Makefile.am:
15334         * examples/appreader/appreader.c:
15335         * examples/controller/.cvsignore:
15336         * examples/controller/Makefile.am:
15337         * examples/controller/audio-example.c:
15338         * examples/cutter/.cvsignore:
15339         * examples/cutter/Makefile.am:
15340         * examples/cutter/cutter.c:
15341         * examples/cutter/cutter.h:
15342         * examples/events/Makefile.am:
15343         * examples/events/seek.c:
15344         * examples/helloworld/.cvsignore:
15345         * examples/helloworld/Makefile.am:
15346         * examples/helloworld/helloworld.c:
15347         * examples/helloworld2/.cvsignore:
15348         * examples/helloworld2/Makefile.am:
15349         * examples/helloworld2/helloworld2.c:
15350         * examples/launch/.cvsignore:
15351         * examples/launch/Makefile.am:
15352         * examples/launch/mp3parselaunch.c:
15353         * examples/launch/mp3play:
15354         * examples/manual/.cvsignore:
15355         * examples/manual/Makefile.am:
15356         * examples/manual/extract.pl:
15357         * examples/metadata/Makefile.am:
15358         * examples/metadata/read-metadata.c:
15359         * examples/mixer/.cvsignore:
15360         * examples/mixer/Makefile.am:
15361         * examples/mixer/mixer.c:
15362         * examples/mixer/mixer.h:
15363         * examples/pingpong/.cvsignore:
15364         * examples/pingpong/Makefile.am:
15365         * examples/pingpong/pingpong.c:
15366         * examples/plugins/.cvsignore:
15367         * examples/plugins/Makefile.am:
15368         * examples/plugins/example.c:
15369         * examples/plugins/example.h:
15370         * examples/pwg/.cvsignore:
15371         * examples/pwg/Makefile.am:
15372         * examples/pwg/extract.pl:
15373         * examples/queue/.cvsignore:
15374         * examples/queue/Makefile.am:
15375         * examples/queue/queue.c:
15376         * examples/queue2/.cvsignore:
15377         * examples/queue2/Makefile.am:
15378         * examples/queue2/queue2.c:
15379         * examples/queue3/.cvsignore:
15380         * examples/queue3/Makefile.am:
15381         * examples/queue3/queue3.c:
15382         * examples/queue4/.cvsignore:
15383         * examples/queue4/Makefile.am:
15384         * examples/queue4/queue4.c:
15385         * examples/retag/.cvsignore:
15386         * examples/retag/Makefile.am:
15387         * examples/retag/retag.c:
15388         * examples/retag/transcode.c:
15389         * examples/thread/.cvsignore:
15390         * examples/thread/Makefile.am:
15391         * examples/thread/thread.c:
15392         * examples/typefind/.cvsignore:
15393         * examples/typefind/Makefile.am:
15394         * examples/typefind/typefind.c:
15395         * examples/xml/.cvsignore:
15396         * examples/xml/Makefile.am:
15397         * examples/xml/createxml.c:
15398         * examples/xml/runxml.c:
15399         * tests/Makefile.am:
15400         * tests/check/Makefile.am:
15401         * testsuite/.cvsignore:
15402         * testsuite/Makefile.am:
15403         * testsuite/Rules:
15404         * testsuite/caps/.cvsignore:
15405         * testsuite/caps/Makefile.am:
15406         * testsuite/caps/app_fixate.c:
15407         * testsuite/caps/audioscale.c:
15408         * testsuite/caps/caps.c:
15409         * testsuite/caps/caps.h:
15410         * testsuite/caps/caps_strings:
15411         * testsuite/caps/compatibility.c:
15412         * testsuite/caps/deserialize.c:
15413         * testsuite/caps/enumcaps.c:
15414         * testsuite/caps/eratosthenes.c:
15415         * testsuite/caps/filtercaps.c:
15416         * testsuite/caps/fixed.c:
15417         * testsuite/caps/fraction-convert.c:
15418         * testsuite/caps/fraction-multiply-and-zero.c:
15419         * testsuite/caps/intersect2.c:
15420         * testsuite/caps/intersection.c:
15421         * testsuite/caps/normalisation.c:
15422         * testsuite/caps/random.c:
15423         * testsuite/caps/renegotiate.c:
15424         * testsuite/caps/sets.c:
15425         * testsuite/caps/simplify.c:
15426         * testsuite/caps/string-conversions.c:
15427         * testsuite/caps/structure.c:
15428         * testsuite/caps/subtract.c:
15429         * testsuite/caps/union.c:
15430         * testsuite/debug/.cvsignore:
15431         * testsuite/debug/Makefile.am:
15432         * testsuite/debug/category.c:
15433         * testsuite/debug/commandline.c:
15434         * testsuite/debug/global.c:
15435         * testsuite/debug/output.c:
15436         * testsuite/debug/printf_extension.c:
15437         * testsuite/dlopen/.cvsignore:
15438         * testsuite/dlopen/Makefile.am:
15439         * testsuite/dlopen/dlopen_gst.c:
15440         * testsuite/dlopen/loadgst.c:
15441         * testsuite/elements/.cvsignore:
15442         * testsuite/elements/Makefile.am:
15443         * testsuite/elements/gst-inspect-check.in:
15444         * testsuite/elements/struct_i386.h:
15445         * testsuite/elements/struct_size.c:
15446         * testsuite/indexers/.cvsignore:
15447         * testsuite/indexers/Makefile.am:
15448         * testsuite/indexers/cache1.c:
15449         * testsuite/indexers/indexdump.c:
15450         * testsuite/parse/.cvsignore:
15451         * testsuite/parse/Makefile.am:
15452         * testsuite/parse/parse1.c:
15453         * testsuite/parse/parse2.c:
15454         * testsuite/plugin/.cvsignore:
15455         * testsuite/plugin/Makefile.am:
15456         * testsuite/plugin/README:
15457         * testsuite/plugin/dynamic.c:
15458         * testsuite/plugin/linked.c:
15459         * testsuite/plugin/loading.c:
15460         * testsuite/plugin/registry.c:
15461         * testsuite/plugin/static.c:
15462         * testsuite/plugin/static2.c:
15463         * testsuite/plugin/testplugin.c:
15464         * testsuite/plugin/testplugin2.c:
15465         * testsuite/plugin/testplugin2_s.c:
15466         * testsuite/plugin/testplugin_s.c:
15467         * testsuite/refcounting/.cvsignore:
15468         * testsuite/refcounting/Makefile.am:
15469         * testsuite/refcounting/bin.c:
15470         * testsuite/refcounting/element.c:
15471         * testsuite/refcounting/element_pad.c:
15472         * testsuite/refcounting/mainloop.c:
15473         * testsuite/refcounting/mem.c:
15474         * testsuite/refcounting/mem.h:
15475         * testsuite/refcounting/object.c:
15476         * testsuite/refcounting/pad.c:
15477         * testsuite/refcounting/sched.c:
15478         * testsuite/refcounting/thread.c:
15479         * testsuite/states/.cvsignore:
15480         * testsuite/states/Makefile.am:
15481         * testsuite/states/bin.c:
15482         * testsuite/states/locked.c:
15483         * testsuite/states/parent.c:
15484         * testsuite/threads/.cvsignore:
15485         * testsuite/threads/159566.c:
15486         * testsuite/threads/159852.c:
15487         * testsuite/threads/Makefile.am:
15488         * testsuite/threads/queue.c:
15489         * testsuite/threads/signals.c:
15490         * testsuite/threads/staticrec.c:
15491         * testsuite/threads/thread.c:
15492         * testsuite/threads/threadb.c:
15493         * testsuite/threads/threadc.c:
15494         * testsuite/threads/threadd.c:
15495         * testsuite/threads/threade.c:
15496         * testsuite/threads/threadf.c:
15497         * testsuite/threads/threadg.c:
15498         * testsuite/threads/threadh.c:
15499         * testsuite/threads/threadi.c:
15500           move all of these under tests
15501
15502 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15503
15504         * configure.ac:
15505         * tests/Makefile.am:
15506           fix distcheck
15507
15508 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15509
15510         * docs/gst/gstreamer-sections.txt:
15511         * tests/sched/.cvsignore:
15512         * tests/sched/Makefile.am:
15513         * tests/sched/cases/(fs-fs).xml:
15514         * tests/sched/cases/(fs-i-fs).xml:
15515         * tests/sched/cases/(fs-i-i-fs).xml:
15516         * tests/sched/cases/(fs-i-q[i-fs]).xml:
15517         * tests/sched/dynamic-pipeline.c:
15518         * tests/sched/interrupt1.c:
15519         * tests/sched/interrupt2.c:
15520         * tests/sched/interrupt3.c:
15521         * tests/sched/runtestcases:
15522         * tests/sched/runxml.c:
15523         * tests/sched/sched-stress.c:
15524         * tests/sched/sort.c:
15525         * tests/sched/testcases:
15526         * tests/sched/testcases1.tc:
15527         * tests/seeking/.cvsignore:
15528         * tests/seeking/Makefile.am:
15529         * tests/seeking/seeking1.c:
15530         * tests/threadstate/.cvsignore:
15531         * tests/threadstate/Makefile.am:
15532         * tests/threadstate/test1.c:
15533         * tests/threadstate/test2.c:
15534         * tests/threadstate/threadstate1.c:
15535         * tests/threadstate/threadstate2.c:
15536         * tests/threadstate/threadstate3.c:
15537         * tests/threadstate/threadstate4.c:
15538         * tests/threadstate/threadstate5.c:
15539           remove obsolete tests
15540         * configure.ac:
15541         * tests/bench-complexity.scm:
15542         * tests/bench-mass_elements.scm:
15543         * tests/complexity.c:
15544         * tests/complexity.gnuplot:
15545         * tests/instantiate/.cvsignore:
15546         * tests/instantiate/Makefile.am:
15547         * tests/instantiate/caps.c:
15548         * tests/mass_elements.c:
15549         * tests/network-clock-utils.scm:
15550         * tests/network-clock.scm:
15551         * tests/plot-data:
15552         First pass at cleaning up tests/ dir before moving the rest
15553         Combined with CVS surgery
15554
15555 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15556
15557         * po/POTFILES.in:
15558           queue has moved, update
15559
15560 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15561
15562         * docs/gst/gstreamer-sections.txt:
15563           remove double entries from the docs
15564         * gst/gst_private.h:
15565         * gst/gstinfo.c: (_gst_debug_init):
15566           remove the THREAD debug category
15567         * gst/Makefile.am:
15568         * gst/gstqueue.c:
15569         * gst/gstqueue.h:
15570         * docs/gst/gstreamer.types:
15571         * plugins/elements/gstqueue.c: (gst_queue_get_type),
15572         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15573           completely move queue and fix up debugging categories
15574
15575 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15576
15577         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15578           make initialization portable, using LL is not
15579
15580 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15581
15582         * win32/common/gstconfig.h:
15583           add large padding
15584
15585 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15586
15587         * win32/common/libgstreamer.def:
15588           rename symbols; sort base section
15589
15590 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15591
15592         * gst/gstclock.c: (do_linear_regression):
15593           remove crack non-portable handrolled DEBUG macro
15594
15595 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15596
15597         * docs/random/release:
15598           update notes
15599         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15600         (gst_object_flags_get_type), (register_gst_bin_flags),
15601         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15602         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15603         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15604         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15605         (gst_caps_flags_get_type), (register_gst_clock_return),
15606         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15607         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15608         (gst_clock_flags_get_type), (register_gst_state),
15609         (gst_state_get_type), (register_gst_state_change_return),
15610         (gst_state_change_return_get_type), (register_gst_state_change),
15611         (gst_state_change_get_type), (register_gst_element_flags),
15612         (gst_element_flags_get_type), (register_gst_core_error),
15613         (gst_core_error_get_type), (register_gst_library_error),
15614         (gst_library_error_get_type), (register_gst_resource_error),
15615         (gst_resource_error_get_type), (register_gst_stream_error),
15616         (gst_stream_error_get_type), (register_gst_event_type_flags),
15617         (gst_event_type_flags_get_type), (register_gst_event_type),
15618         (gst_event_type_get_type), (register_gst_seek_type),
15619         (gst_seek_type_get_type), (register_gst_seek_flags),
15620         (gst_seek_flags_get_type), (register_gst_format),
15621         (gst_format_get_type), (register_gst_index_certainty),
15622         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15623         (gst_index_entry_type_get_type),
15624         (register_gst_index_lookup_method),
15625         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15626         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15627         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15628         (gst_index_flags_get_type), (register_gst_debug_level),
15629         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15630         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15631         (gst_iterator_result_get_type), (register_gst_iterator_item),
15632         (gst_iterator_item_get_type), (register_gst_message_type),
15633         (gst_message_type_get_type), (register_gst_mini_object_flags),
15634         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15635         (gst_pad_link_return_get_type), (register_gst_flow_return),
15636         (gst_flow_return_get_type), (register_gst_activate_mode),
15637         (gst_activate_mode_get_type), (register_gst_pad_direction),
15638         (gst_pad_direction_get_type), (register_gst_pad_flags),
15639         (gst_pad_flags_get_type), (register_gst_pad_presence),
15640         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15641         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15642         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15643         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15644         (gst_plugin_flags_get_type), (register_gst_rank),
15645         (gst_rank_get_type), (register_gst_query_type),
15646         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15647         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15648         (gst_tag_flag_get_type), (register_gst_task_state),
15649         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15650         (gst_alloc_trace_flags_get_type),
15651         (register_gst_type_find_probability),
15652         (gst_type_find_probability_get_type), (register_gst_uri_type),
15653         (gst_uri_type_get_type), (register_gst_parse_error),
15654         (gst_parse_error_get_type):
15655         * win32/common/gstenumtypes.h:
15656         * win32/common/gstversion.h:
15657           update visual studio generated files
15658
15659 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15660
15661         * win32/vs6/libgstbase.dsp:
15662         * win32/vs6/libgstelements.dsp:
15663           update project files for new locations
15664
15665 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15666
15667         * Makefile.am:
15668           remove some files
15669         * README:
15670           reinstate and update
15671         * DEVEL:
15672         * REQUIREMENTS:
15673           removed
15674         * LICENSE:
15675         * docs/random/LICENSE:
15676           moved to random
15677
15678 2005-11-30  Edward Hervey  <edward@fluendo.com>
15679
15680         * gst/gsttypefind.c: (gst_type_find_register):
15681         * gst/gsttypefind.h:
15682         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
15683         (gst_type_find_factory_dispose):
15684         * gst/gsttypefindfactory.h:
15685         Fix memory leak in GstTypeFindFactory.
15686
15687 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15688
15689         * gst/gst.c:
15690         * plugins/elements/Makefile.am:
15691         * plugins/elements/gstelements.c:
15692         * plugins/elements/gstqueue.c:
15693           move queue from core to the elements plugin
15694
15695 2005-11-29  Andy Wingo  <wingo@pobox.com>
15696
15697         * libs/gst/base/gstbasetransform.h: 
15698         * libs/gst/base/gstbasesrc.h: 
15699         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
15700
15701         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
15702         of pointers by which to pad very extensible base classes (like the
15703         ones in libs/gst/base).
15704
15705 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15706
15707         * docs/gst/gstreamer-docs.sgml:
15708         * docs/gst/gstreamer-sections.txt:
15709         * docs/libs/gstreamer-libs-docs.sgml:
15710         * docs/libs/gstreamer-libs-sections.txt:
15711           moving documentation from core to lib
15712
15713 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15714
15715         * check/Makefile.am:
15716         * configure.ac:
15717         * docs/gst/Makefile.am:
15718         * gst/Makefile.am:
15719         * gst/base/.cvsignore:
15720         * gst/base/Makefile.am:
15721         * gst/base/README:
15722         * gst/base/gstadapter.c:
15723         * gst/base/gstadapter.h:
15724         * gst/base/gstbasesink.c:
15725         * gst/base/gstbasesink.h:
15726         * gst/base/gstbasesrc.c:
15727         * gst/base/gstbasesrc.h:
15728         * gst/base/gstbasetransform.c:
15729         * gst/base/gstbasetransform.h:
15730         * gst/base/gstcollectpads.c:
15731         * gst/base/gstcollectpads.h:
15732         * gst/base/gstpushsrc.c:
15733         * gst/base/gstpushsrc.h:
15734         * gst/base/gsttypefindhelper.c:
15735         * gst/base/gsttypefindhelper.h:
15736         * gst/check/Makefile.am:
15737         * gst/check/gstcheck.c:
15738         * gst/check/gstcheck.h:
15739         * gst/net/Makefile.am:
15740         * gst/net/gstnet.h:
15741         * gst/net/gstnetclientclock.c:
15742         * gst/net/gstnetclientclock.h:
15743         * gst/net/gstnettimepacket.c:
15744         * gst/net/gstnettimepacket.h:
15745         * gst/net/gstnettimeprovider.c:
15746         * gst/net/gstnettimeprovider.h:
15747         * libs/gst/Makefile.am:
15748         * libs/gst/base/Makefile.am:
15749         * libs/gst/base/gstbasetransform.c:
15750         * libs/gst/check/Makefile.am:
15751         * plugins/elements/Makefile.am:
15752         * po/POTFILES.in:
15753           CVS surgery + support to move base, check, and net out of gst
15754           and into libs/gst
15755
15756 2005-11-29  Andy Wingo  <wingo@pobox.com>
15757
15758         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
15759
15760         * gst/gststructure.h (struct _GstStructure): Only one pointer of
15761         padding.
15762
15763         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
15764
15765         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
15766
15767         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
15768
15769         * gst/gstobject.h: (struct _GstObject): Only one pointer of
15770         padding; reduces object size by about 30%. We don't expect
15771         anything else to go into gstobject.
15772
15773         * gst/gstminiobject.h (struct _GstMiniObject)
15774         (struct _GstMiniObjectClass): Only one pointer of padding; the
15775         payload is only a pointer and two ints anyway. For the class there
15776         are only two methods as well.
15777         
15778         * gst/gstelement.h (struct _GstElementClass): Removed
15779         the state_changed signal callback, it is not used.
15780
15781 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15782
15783         * docs/gst/gstreamer.types:
15784           fix includes, though they are a little dinky
15785
15786 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15787
15788         * check/Makefile.am:
15789           look in the right place for elements, a lot more chance of
15790           success
15791         * gst/Makefile.am:
15792           remove indexers and elements subdirs
15793         * plugins/Makefile.am:
15794           make indexers conditional
15795
15796 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15797
15798         * Makefile.am:
15799         * configure.ac:
15800         * plugins/elements/Makefile.am:
15801         * plugins/elements/gstcapsfilter.c:
15802         * plugins/elements/gstfilesink.c:
15803         * plugins/elements/gstfilesrc.c:
15804         * plugins/elements/gstidentity.c:
15805         * plugins/indexers/Makefile.am:
15806           do CVS surgery and related build fixery to move elements
15807           and indexers in a new gstreamer/plugins directory, out of the
15808           gst/ directory
15809
15810 2005-11-29  Andy Wingo  <wingo@pobox.com>
15811
15812         * check/Makefile.am:
15813         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15814         * pkgconfig/gstreamer-net.pc.in:
15815         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
15816         #322257.
15817
15818 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15819
15820         * tools/Makefile.am:
15821         * tools/gst-complete.1.in:
15822         * tools/gst-complete.c:
15823         * tools/gst-compprep.1.in:
15824         * tools/gst-compprep.c:
15825           removing -compprep and -complete
15826
15827 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15828
15829         * gst/gstevent.c: (gst_event_new_new_segment),
15830         (gst_event_parse_new_segment):
15831         * gst/gstevent.h:
15832           fix #320529 - clean up new_segment API and structure.
15833           Let's hope everyone was using the methods, and not the structure.
15834
15835 2005-11-29  Edward Hervey  <edward@fluendo.com>
15836
15837         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15838         (gst_base_sink_event), (gst_base_sink_do_sync),
15839         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15840         Properly handle non GST_FORMAT_TIME segment
15841         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15842         Properly handle non GST_FORMAT_TIME segment
15843         * gst/gstsegment.c:
15844         This function is valid if the accumulator is 0 and the format
15845         is different from the requested format.
15846         
15847 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15848
15849         * docs/gst/gstreamer-sections.txt:
15850         Add gst_query_new_seeking and gst_query_parse_seeking to the
15851         docs.
15852
15853 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15854
15855         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15856           Treat a pad alloc with new caps the same as if we were not
15857           negotiated, in order to allow a changing upstream output
15858           to produce a new format of data.
15859
15860 2005-11-29  Edward Hervey  <edward@fluendo.com>
15861
15862         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15863         (gst_base_transform_event), (gst_base_transform_eventfunc):
15864         The event virtual method is now properly implemented, with a default
15865         handler
15866         Sub classes should call the parent_class event method. They should
15867         return FALSE if they had a problem handling the given event, or don't
15868         want GstBaseTransform to send that even downstream
15869         * gst/elements/gstidentity.c: (gst_identity_class_init),
15870         (gst_identity_init), (gst_identity_event),
15871         (gst_identity_transform_ip), (gst_identity_set_property),
15872         (gst_identity_get_property):
15873         * gst/elements/gstidentity.h:
15874         Added the single-segment boolean property.
15875         If set to TRUE, it will output a single segment of data, starting from
15876         0, will eat up all incoming newsegment, and modify the timestamp of the
15877         buffers accordingly
15878
15879 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
15880
15881         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
15882           Don't ref NULL target pad (#322751). Improve docs.
15883
15884 2005-11-29  Michael Smith  <msmith@fluendo.com>
15885
15886         * gst/gstregistryxml.c: (load_plugin):
15887           Don't crash if we failed to load a feature from a plugin. 
15888
15889 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15890
15891         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15892         (GST_START_TEST):
15893           use more check API and less GLib API
15894
15895 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15896
15897         * Makefile.am:
15898           don't run checks if we don't have check
15899         * common/check.mak:
15900           remove the registry when running make torture
15901         * docs/gst/gstreamer-sections.txt:
15902           remove second multiply
15903         * gst/gstqueue.c: (gst_queue_loop):
15904           fix a compile warning when disabling debug
15905
15906 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15907
15908         * gst/gstinfo.h:
15909         Hey! Let's print the pad name if the pointer != NULL instead
15910         of when it == NULL :-)
15911
15912 2005-11-28  Wim Taymans  <wim@fluendo.com>
15913
15914         * check/gst/gstutils.c: (GST_START_TEST):
15915         Updated check, add some scaling accuracy checking code.
15916
15917         * gst/gstutils.c: (gst_util_div128_64),
15918         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
15919         (gst_util_uint64_scale_int):
15920         Fix 6 times faster division code. Optimize for common 
15921         1/1 and less common X/1 cases.
15922
15923 2005-11-28  Wim Taymans  <wim@fluendo.com>
15924
15925         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15926         More checks.
15927
15928         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
15929         (do_linear_regression), (gst_clock_add_observation):
15930         Cleanups.
15931         Release lock when the clock cannot be slaved.
15932         Catch the case where the regression returned an invalid denominator.
15933
15934         * gst/gstutils.c: (gst_util_div128_64_iterate),
15935         (gst_util_div128_64), (gst_util_uint64_scale_int64),
15936         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
15937         Add protentially more performant non-iterative 128/64 divide function
15938         that unfortunatly does not work yet.
15939         Shortcut the trivial 0/X = 0 case.
15940         Remove the warnings on overflow.
15941
15942 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15943
15944         * gst/gstplugin.c: (gst_plugin_register_func):
15945           everything causing a plugin not to load should be at least a WARNING
15946
15947 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
15948
15949         * docs/random/ensonic/dparams.txt:
15950           some TODOs for the next dev cycle
15951         * libs/gst/controller/gstcontroller.c:
15952         (gst_controlled_property_set_interpolation_mode),
15953         (gst_controlled_property_new):
15954         * libs/gst/controller/gstcontroller.h:
15955           use base type to assign acccessor functions
15956
15957 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15958
15959         * check/Makefile.am:
15960         Oops, that should have been top_srcdir
15961
15962 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15963
15964         * check/Makefile.am:
15965         * check/elements/fdsrc.c: (GST_START_TEST):
15966         Use a cmdline define to specify the location of a file to use for
15967         testing, to avoid breaking distcheck.
15968
15969 2005-11-28  Andy Wingo  <wingo@pobox.com>
15970
15971         * gst/gstpad.c (fixate_value): Use array functions for arrays.
15972
15973 2005-11-28  Edward Hervey  <edward@fluendo.com>
15974
15975         * tools/gst-launch.c: (main):
15976         Clarify the output strings, makes it easier to translate.
15977         Fixes #322626
15978
15979 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15980
15981         * gst/Makefile.am:
15982           don't try and build net if we don't even have <sys/socket.h>
15983
15984 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
15985
15986         * check/Makefile.am:
15987         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
15988         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
15989           Add tests for fdsrc seekability
15990
15991         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15992         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
15993         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
15994         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
15995         * gst/elements/gstfdsrc.h:
15996           fdsrc should not be a 'live' source.
15997           Implement seeking on seekable fd's.
15998
15999         * gst/gstquery.c: (gst_query_new_seeking),
16000         (gst_query_parse_seeking):
16001         * gst/gstquery.h:
16002           Implement SEEKING query functions: 
16003             *_new_seeking and *_parse_seeking
16004
16005 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
16006
16007         * gst/gstelement.c: (gst_element_dispose):
16008           don't loop forever
16009
16010         * gst/gstiterator.c:
16011         * gst/gststructure.c:
16012           doc fixes
16013
16014         * libs/gst/controller/gstcontroller.c:
16015         (gst_controlled_property_set_interpolation_mode):
16016         * libs/gst/controller/gstcontroller.h:
16017         * libs/gst/controller/gstinterpolation.c:
16018         (interpolate_none_get_enum_value_array):
16019           support controlling enums
16020
16021 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16022
16023         * gst/gstvalue.c:
16024           Improve documentation for gst_value_union().
16025
16026         * gst/gstvalue.h:
16027           Change return value for union, intersect and subtract functions
16028           from gint to gboolean.
16029
16030 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16031
16032         * gst/gstvalue.c: (gst_value_serialize_any_list),
16033         (gst_value_transform_any_list_string),
16034         (gst_value_deserialize_list), (gst_value_deserialize_array),
16035         (gst_value_set_int_range), (gst_value_deserialize_int_range),
16036         (gst_value_set_double_range), (gst_value_deserialize_double_range),
16037         (gst_value_set_fraction_range_full),
16038         (gst_value_deserialize_fraction_range),
16039         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
16040         (gst_value_deserialize_boolean),
16041         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
16042         (gst_value_serialize_float), (gst_value_deserialize_float),
16043         (gst_string_wrap), (gst_value_deserialize_string),
16044         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
16045         (gst_value_union_int_range_int_range),
16046         (gst_value_intersect_int_range_int_range),
16047         (gst_value_intersect_double_range_double_range),
16048         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
16049         (gst_value_subtract_int_range_int_range),
16050         (gst_value_subtract_double_double_range),
16051         (gst_value_subtract_double_range_double_range),
16052         (gst_value_deserialize_fraction):
16053         * gst/gstvalue.h:
16054           Use gint, gdouble and gchar in our API instead of int, double and
16055           char (and make usage in gstvalue.c more consistent).
16056
16057 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16058
16059         * check/Makefile.am:
16060         * libs/gst/controller/Makefile.am:
16061         * libs/gst/dataprotocol/Makefile.am:
16062           fix up Makefile.am and remove GST_ENABLE_NEW
16063
16064 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16065
16066         * configure.ac:
16067         * gst/Makefile.am:
16068         * gst/base/Makefile.am:
16069         * gst/check/Makefile.am:
16070         * gst/elements/Makefile.am:
16071         * gst/net/Makefile.am:
16072           update LDFLAGS use some more
16073
16074 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16075
16076         * common/m4/gst-doc.m4:
16077           Fixes #312589
16078
16079 2005-11-26  Edward Hervey  <edward@fluendo.com>
16080
16081         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16082         This shouldn't issue a g_warning since it returns NULL if it
16083         couldn't find the plugin, and all functions using this behave
16084         properly on a NULL return. Switching to a GST_WARNING.
16085
16086 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
16087
16088         * gst/gstbin.c: (gst_bin_handle_message_func):
16089         Don't leak clock messages.
16090
16091 2005-11-25  Wim Taymans  <wim@fluendo.com>
16092
16093         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16094         (gst_util_uint64_scale_int):
16095         Optimisations, remove unneeded vars.
16096
16097 2005-11-25  Wim Taymans  <wim@fluendo.com>
16098
16099         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16100         Added more checks for the high precision uint64 cases.
16101
16102         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16103         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16104         Implement high precision (guint64 * guint64) / guint64.
16105
16106 2005-11-24  Wim Taymans  <wim@fluendo.com>
16107
16108         * gst/base/gstbasesrc.c: (gst_base_src_query):
16109         Fix wrong percentage query.
16110
16111         * gst/gstutils.c: (gst_util_uint64_scale),
16112         (gst_util_uint64_scale_int):
16113         Add some more common cases that can be handled 
16114         efficiently to _scale.
16115
16116 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16117
16118         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
16119         (gst_mini_object_suite):
16120           don't use check calls from threads; check probably isn't
16121           threadsafe and using a lock to make it threadsafe would
16122           defeat the purpose of this check
16123         * gst/check/gstcheck.c:
16124         * gst/check/gstcheck.h:
16125           use GST_DEBUG some more
16126
16127 2005-11-24  Wim Taymans  <wim@fluendo.com>
16128
16129         * gst/gstutils.c: (gst_util_uint64_scale),
16130         (gst_util_uint64_scale_int):
16131         Chain trivial case to _scale_int.
16132
16133 2005-11-24  Wim Taymans  <wim@fluendo.com>
16134
16135         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16136         Added test for scaling.
16137
16138         * gst/gstclock.h:
16139         Small doc fix.
16140
16141         * gst/gstutils.c: (gst_util_uint64_scale_int):
16142         Implemented high precision scaling code.
16143
16144 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
16145
16146         * gst/gstinfo.h:
16147           do not crash on pad==NULL
16148
16149 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16150
16151         Patch by: Stefan Kost
16152
16153         * common/gtk-doc.mak:
16154         * docs/gst/Makefile.am:
16155         * docs/libs/Makefile.am:
16156           Fix distcheck issues for the libraries docs build
16157           Closes #319599.
16158
16159 2005-11-24  Michael Smith <msmith@fluendo.com>
16160
16161         * docs/manual/basics-helloworld.xml:
16162           Fix bug #315027: memory leak in example code in docs.
16163
16164 2005-11-24  Michael Smith <msmith@fluendo.com>
16165
16166         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16167           Unlock the PREROLL_LOCK in a failure case.
16168
16169 2005-11-24  Wim Taymans  <wim@fluendo.com>
16170
16171         * docs/gst/gstreamer-sections.txt:
16172         * gst/base/gstadapter.h:
16173         * gst/base/gstbasesink.h:
16174         * gst/base/gstbasesrc.h:
16175         * gst/base/gstbasetransform.h:
16176         * gst/base/gstpushsrc.h:
16177         * gst/elements/gstfakesink.h:
16178         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16179         * gst/elements/gstfakesrc.h:
16180         * gst/elements/gstfilesink.h:
16181         * gst/elements/gstfilesrc.h:
16182         * gst/gst.c:
16183         * gst/gstbin.c:
16184         * gst/gstbuffer.c: (_gst_buffer_copy):
16185         * gst/gstbus.h:
16186         * gst/gstcaps.c:
16187         * gst/gstchildproxy.c:
16188         * gst/gstclock.c:
16189         * gst/gstelement.c:
16190         * gst/gstelementfactory.c:
16191         * gst/gstelementfactory.h:
16192         * gst/gstevent.c:
16193         * gst/gstghostpad.h:
16194         * gst/gstindex.h:
16195         * gst/gstinterface.h:
16196         * gst/gstminiobject.c:
16197         * gst/gstminiobject.h:
16198         * gst/gstpad.c:
16199         * gst/gstpad.h:
16200         * gst/gstpadtemplate.h:
16201         * gst/gstpipeline.h:
16202         * gst/gstpluginfeature.h:
16203         * gst/gstquery.h:
16204         * gst/gstqueue.h:
16205         * gst/gsttaglist.c:
16206         * gst/gsttaglist.h:
16207         * gst/gsttagsetter.c:
16208         * gst/gsttagsetter.h:
16209         * gst/gsttrace.c:
16210         * gst/gsttrace.h:
16211         * gst/gsttypefind.h:
16212         * gst/gsturi.h:
16213         * gst/gstvalue.c:
16214         * gst/net/gstnetclientclock.c:
16215         * gst/net/gstnetclientclock.h:
16216         * gst/net/gstnettimepacket.c:
16217         * gst/net/gstnettimeprovider.c:
16218         * gst/net/gstnettimeprovider.h:
16219         Doc fixes.
16220
16221 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16222
16223         * configure.ac: back to HEAD
16224
16225 === release 0.9.6 ===
16226
16227 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
16228
16229         * configure.ac:
16230           releasing 0.9.6, "Always On Time"
16231
16232 2005-11-23  Wim Taymans  <wim@fluendo.com>
16233
16234         * docs/gst/gstreamer-sections.txt:
16235         * gst/glib-compat.c:
16236         * gst/gsttagsetter.c:
16237         * gst/gstvalue.c:
16238         * gst/net/gstnetclientclock.c:
16239         * gst/net/gstnettimepacket.h:
16240         Doc updates.
16241
16242 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16243
16244         * docs/faq/using.xml:
16245         * docs/libs/tmpl/gstcontrol.sgml:
16246         * docs/manual/advanced-dparams.xml:
16247         * docs/manual/appendix-checklist.xml:
16248         * docs/manual/basics-elements.xml:
16249         * docs/pwg/other-source.xml:
16250         * docs/random/moving-plugins:
16251         * gst/gstpad.c:
16252         * tools/gst-launch.1.in:
16253           remove mentions of sinesrc
16254
16255 2005-11-23  Michael Smith <msmith@fluendo.com>
16256
16257         * docs/gst/gstreamer-sections.txt:
16258           Update for new API and API changes.
16259         * gst/gstobject.h:
16260           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
16261         * gst/gstvalue.c:
16262           Documentation typo fix.
16263         * gst/net/gstnettimepacket.c:
16264           Documentation fixes for arguments.
16265
16266 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
16267
16268         * gst/gststructure.c: (gst_structure_get_fraction),
16269         (gst_structure_parse_value),
16270         (gst_structure_fixate_field_nearest_fraction):
16271         * gst/gststructure.h:
16272         * gst/gstutils.c: (gst_util_uint64_scale_int):
16273         * gst/gstutils.h:
16274         * scripts/update-funcnames:
16275         API Changes. 
16276         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
16277         Make gst_structure_fixate_field_nearest_fraction take a numerator
16278         and denominator argument instead of a GValue
16279         add gst_structure_get_fraction helper function.
16280
16281 2005-11-23  Wim Taymans  <wim@fluendo.com>
16282
16283         * docs/design/part-TODO.txt:
16284         Update TODO.
16285
16286         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
16287         * gst/net/gstnetclientclock.h:
16288         Use parent fields for timeout and window_size.
16289
16290 2005-11-23  Andy Wingo  <wingo@pobox.com>
16291
16292         * check/net/gstnetclientclock.c (test_functioning): Adjust to
16293         rate_num/rate_denom change.
16294
16295         * gst/net/gstnetclientclock.c
16296         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
16297         OBJECT_LOCK. Don't call add_observation with the lock.
16298
16299         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
16300         fraction.
16301         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
16302         rate fraction.
16303         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
16304         deal with rate as a fraction whose numerator and denominator are
16305         GstClockTime values.
16306         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
16307         master; the other fields are protected by the SLAVE_LOCK.
16308         (do_linear_regression): Note that this must be called with the
16309         SLAVE_LOCK.
16310         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
16311         OBJECT_LOCK. Call set_calibration instead of touching the
16312         variables directly.
16313         (gst_clock_set_property, gst_clock_get_property): Protect
16314         master/slave parameters with the SLAVE_LOCK.
16315
16316         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
16317         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
16318         note that all of the instance variables that add_observation and
16319         the set_master functions use are protected by that lock and not
16320         the OBJECT_LOCK.
16321         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
16322
16323         * gst/gstclock.c (gst_clock_add_observation): No longer requires
16324         the caller to take the object lock.
16325
16326 2005-11-23  Wim Taymans  <wim@fluendo.com>
16327
16328         * gst/gsterror.c: (_gst_core_errors_init):
16329         * gst/gsterror.h:
16330         Add error for clock stuff.
16331
16332         * gst/gstpipeline.c: (gst_pipeline_change_state),
16333         (gst_pipeline_set_clock):
16334         Post clock error when clock cannot be used in a pipeline.
16335
16336 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
16337
16338         * docs/gst/gstreamer-sections.txt:
16339           make two symbols from gstinfo private for the docs
16340         * gst/base/gstcollectpads.h:
16341         * gst/gstutils.c:
16342           fix doc typos, update docs
16343
16344 2005-11-22  Wim Taymans  <wim@fluendo.com>
16345
16346         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16347         (gst_base_sink_wait), (gst_base_sink_do_sync),
16348         (gst_base_sink_handle_event):
16349         * gst/base/gstbasesink.h:
16350         No need to store the clock, the parent element class already
16351         has it.
16352
16353         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
16354         Updates for clock_set returning a gboolean
16355
16356         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
16357         (gst_clock_id_wait_async), (gst_clock_class_init),
16358         (gst_clock_init), (gst_clock_finalize),
16359         (gst_clock_get_internal_time), (gst_clock_get_time),
16360         (gst_clock_slave_callback), (gst_clock_set_master),
16361         (gst_clock_get_master), (do_linear_regression),
16362         (gst_clock_add_observation), (gst_clock_set_property),
16363         (gst_clock_get_property):
16364         * gst/gstclock.h:
16365         Implement master/slave. When setting a clock as a slave, a
16366         periodic timeout is scheduled to sample master and slave times.
16367         Then the slave clock is recalibrated to match offset and rate
16368         of the master clock.
16369         Update logging a bit.
16370         Add flag so that a clock can state that is cannot be slaved to
16371         another clock.
16372
16373         * gst/gstelement.c: (gst_element_set_clock):
16374         * gst/gstelement.h:
16375         The set clock returns a gboolean for when an element cannot
16376         deal with the selected clock in the pipeline. 
16377
16378         * gst/gstpipeline.c: (gst_pipeline_change_state),
16379         (gst_pipeline_set_clock):
16380         * gst/gstpipeline.h:
16381         Handle the case where the selected clock cannot be set on
16382         the pipeline.
16383
16384         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16385         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16386         (gst_net_client_clock_set_property),
16387         (gst_net_client_clock_get_property),
16388         (gst_net_client_clock_observe_times):
16389         * gst/net/gstnetclientclock.h:
16390         Use regression code in GstClock parent, remove duplicated
16391         functionality.
16392
16393 2005-11-22  Michael Smith <msmith@fluendo.com>
16394
16395         * gst/gstutils.c: (gst_util_clock_time_scale):
16396         * gst/gstutils.h:
16397         * docs/gst/gstreamer-sections.txt:
16398           Rename method to have extra underscore.
16399
16400 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16401
16402         * gst/elements/Makefile.am:
16403         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16404         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16405         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16406         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16407         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16408         * gst/elements/gstfakesrc.h:
16409         * gst/gstqueue.c: (queue_leaky_get_type):
16410           correctly fix GEnumValues so that nick is the short lowercase
16411           dashed tag
16412         * tools/gst-inspect.c: (print_element_properties_info):
16413           also show the nick, since it's useful to use from parse_launch
16414           syntax
16415           Fixes #322139
16416
16417 2005-11-22  Michael Smith <msmith@fluendo.com>
16418
16419         * gst/gstutils.c: (gst_util_clocktime_scale):
16420         * gst/gstutils.h:
16421         * docs/gst/gstreamer-sections.txt:
16422           Add util method for scaling a clocktime by a fraction. Useful 
16423           implementation is left as an exercise for the reader.
16424
16425 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16426
16427         * gst/gstvalue.c: (gst_value_collect_fraction_range):
16428         If needed, allocate storage in the destination value during
16429         collection.
16430
16431 2005-11-22  Edward Hervey  <edward@fluendo.com>
16432
16433         * docs/gst/gstreamer-sections.txt:
16434         * gst/Makefile.am:
16435         * gst/gst.h:
16436         * gst/gsturitype.c:
16437         * gst/gsturitype.h:
16438         * gst/gstutils.c: (gst_util_set_object_arg):
16439         * tools/gst-compprep.c: (main):
16440         * tools/gst-inspect.c: (print_element_properties_info):
16441         Removed GstURI, closes bug #321061
16442
16443 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16444
16445         * check/gst/gststructure.c: (GST_START_TEST):
16446         * gst/gststructure.c: (gst_structure_parse_value):
16447           Oops, broke automatic string type parsing.
16448           Add a test to catch it in future.
16449
16450 2005-11-22  Andy Wingo  <wingo@pobox.com>
16451
16452         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
16453         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16454         Actually rename the function implementations. Grr.
16455
16456 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16457
16458         * check/gst/capslist.h:
16459           Comment test cases
16460         * check/gst/gststructure.c: (GST_START_TEST),
16461         (gst_structure_suite):
16462           Test automatic value type detection in gst_structure_from_string.
16463         * gst/gststructure.c: (gst_structure_parse_value):
16464           Add fraction as a type we try and guess automatically in
16465           caps/structure strings.
16466
16467 2005-11-22  Andy Wingo  <wingo@pobox.com>
16468
16469         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16470
16471         * gst/gsttagsetter.h:
16472         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16473         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16474         (gst_tag_setter_add_tag_valist)
16475         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16476         _add_values, _add_valist, and _add_valist_values. Since this is an
16477         interface the function suffixes should be more explicit so
16478         language binding don't end up with element.add_valist ->
16479         gst_tag_setter_add_valist, for example. Fixes #322069.
16480
16481 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16482
16483         * check/gst/gstcaps.c: (GST_START_TEST):
16484           Extend caps string tests to check that a caps to string
16485           conversion is reversible and produces the same caps.
16486
16487         * gst/gststructure.c: (gst_structure_value_get_generic_type):
16488           Output "fraction" as the generic type fraction range, so caps
16489           serialisation and deserialisation works.
16490         * check/gst/capslist.h:
16491         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16492           Support 'MIN' and 'MAX' for deserialising fractions.
16493
16494 2005-11-22  Andy Wingo  <wingo@pobox.com>
16495
16496         * gst/gstevent.h (gst_event_new_new_segment)
16497         (gst_event_parse_new_segment, gst_event_new_buffer_size)
16498         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16499         Renamed from *_newsegment, *_buffersize, *_notarget.
16500
16501         * scripts/update-funcnames: New script, performs the changes
16502         listed above.
16503
16504 2005-11-22  Wim Taymans  <wim@fluendo.com>
16505
16506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16507         Make sure the GstFlowReturn is returned.
16508
16509         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16510         (gst_bus_add_signal_watch):
16511         * gst/gstbus.h:
16512         add gst_bus_add_signal_watch_full.
16513
16514         * gst/gstplugin.c: (gst_plugin_load_file):
16515         Small style cleanup.
16516
16517 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16518
16519         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16520           Block the fakesrc srcpad when we send an event, to avoid
16521           contention on the stream_lock causing random test failures.
16522
16523 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16524
16525         * check/gst/gstvalue.c: (GST_START_TEST):
16526         * gst/gstvalue.c: (gst_value_fraction_subtract):
16527           Fix subtraction.
16528
16529 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
16530
16531         * gst/gst.h:
16532           include "gstchildproxy.h"
16533         * gst/gstchildproxy.h:
16534         * libs/gst/controller/gstcontroller.h:
16535           use G_GNUC_NULL_TERMINATED
16536
16537 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16538
16539         * check/gst/capslist.h:
16540         * check/gst/gstcaps.c: (GST_START_TEST):
16541         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16542         * gst/gststructure.c: (gst_structure_parse_range),
16543         (gst_structure_fixate_field_nearest_fraction):
16544         * gst/gststructure.h:
16545         * gst/gstvalue.c: (gst_value_init_fraction_range),
16546         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16547         (gst_value_collect_fraction_range),
16548         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16549         (gst_value_set_fraction_range_full),
16550         (gst_value_get_fraction_range_min),
16551         (gst_value_get_fraction_range_max),
16552         (gst_value_serialize_fraction_range),
16553         (gst_value_transform_fraction_range_string),
16554         (gst_value_compare_fraction_range),
16555         (gst_value_deserialize_fraction_range),
16556         (gst_value_intersect_fraction_fraction_range),
16557         (gst_value_intersect_fraction_range_fraction_range),
16558         (gst_value_subtract_fraction_fraction_range),
16559         (gst_value_subtract_fraction_range_fraction),
16560         (gst_value_subtract_fraction_range_fraction_range),
16561         (gst_value_collect_fraction), (gst_value_fraction_multiply),
16562         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16563         (gst_value_transform_string_fraction), (_gst_value_initialize):
16564         * gst/gstvalue.h:
16565           Implement fraction ranges and extend GstFraction to support
16566           arithmetic subtraction, as well as deserialization from integer
16567           strings such as "100"
16568           Add a testsuite as for int and double range set operations
16569
16570 2005-11-21  Andy Wingo  <wingo@pobox.com>
16571
16572         * gst/gsttaglist.h: 
16573         * gst/gstcaps.h: 
16574         * gst/gststructure.h: Add glib-compat.h.
16575
16576 2005-11-21  Wim Taymans  <wim@fluendo.com>
16577
16578         * gst/gstbin.c: (gst_bin_change_state_func):
16579         Fix for #321595
16580
16581 2005-11-21  Wim Taymans  <wim@fluendo.com>
16582
16583         * gst/gstsegment.h:
16584         And add a nice define too.
16585
16586 2005-11-21  Wim Taymans  <wim@fluendo.com>
16587
16588         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16589         (gst_segment_new), (gst_segment_free), (gst_segment_init),
16590         (gst_segment_set_duration), (gst_segment_set_last_stop),
16591         (gst_segment_set_seek), (gst_segment_set_newsegment),
16592         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16593         (gst_segment_clip):
16594         * gst/gstsegment.h:
16595         Make binding friendly.
16596
16597 2005-11-21  Andy Wingo  <wingo@pobox.com>
16598
16599         * gst/gsttagsetter.h: 
16600         * gst/gsttaglist.h: 
16601         * gst/gststructure.h: 
16602         * gst/gstcaps.h: 
16603         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16604         #319940.
16605
16606         * gst/gsterror.c (_gst_core_errors_init):
16607         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16608         category.
16609
16610         * gst/Makefile.am (gst_headers): Add glib-compat.h.
16611         (noinst_HEADERS): noinst the -private.
16612
16613 2005-11-21  Michael Smith <msmith@fluendo.com>
16614
16615         * gst/gstplugin.h:
16616         * gst/gstregistry.h:
16617           Remove unimplemented declarations for which we can see no sensible
16618           use.
16619
16620 2005-11-21  Andy Wingo  <wingo@pobox.com>
16621
16622         * gst/gst.h: Include glib-compat.h.
16623
16624         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16625
16626         * gst/glib-compat.c: Include the public and the private header.
16627
16628         * gst/glib-compat-private.h: Copied here from glib-compat.h.
16629
16630         * gst/gstvalue.c: 
16631         * gst/gstpad.c: 
16632         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16633
16634         * check/gst/gstevent.c (create_custom_events): Check that
16635         FLUSH_STOP is serialized.
16636
16637         * check/elements/identity.c (event_func): 
16638         * check/elements/fakesrc.c (event_func): No stream lock, the core
16639         takes it.
16640
16641         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16642         stream lock taking, yay.
16643
16644         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16645         ensure that core takes the stream lock.
16646
16647         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16648         lock name change.
16649
16650         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16651         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16652         it already. For the flush start we do take it though so we get the
16653         right preroll state change messages.
16654
16655         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16656         the stream lock here, the core does it for us.
16657
16658         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
16659         GST_STREAM_GET_LOCK.
16660         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
16661         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
16662         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
16663         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
16664         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
16665         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
16666
16667         * gst/gstpad.c: Update for stream lock name change.
16668
16669         * gst/base/gstbasesink.c: Update for preroll lock name change.
16670
16671 2005-11-21  Wim Taymans  <wim@fluendo.com>
16672
16673         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
16674         (gst_clock_get_master):
16675         * gst/gstclock.h:
16676         * gst/gstsystemclock.c: (gst_system_clock_init):
16677         Convert Clock flags to object flags.
16678         Added methods to manage master/slave clocks.
16679
16680 2005-11-21  Wim Taymans  <wim@fluendo.com>
16681
16682         * check/gst/gstsegment.c: (GST_START_TEST):
16683         * docs/design/part-TODO.txt:
16684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16685         (gst_base_sink_event), (gst_base_sink_do_sync),
16686         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16687         (gst_base_sink_query), (gst_base_sink_change_state):
16688         * gst/base/gstbasesink.h:
16689         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16690         (gst_base_src_default_newsegment),
16691         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16692         (gst_base_src_get_range), (gst_base_src_loop),
16693         (gst_base_src_change_state):
16694         * gst/base/gstbasesrc.h:
16695         * gst/base/gstbasetransform.c:
16696         (gst_base_transform_prepare_output_buf),
16697         (gst_base_transform_event), (gst_base_transform_change_state):
16698         * gst/base/gstbasetransform.h:
16699         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16700         (gst_collect_pads_event):
16701         * gst/base/gstcollectpads.h:
16702         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
16703         (gst_fake_src_create):
16704         * gst/elements/gstfakesrc.h:
16705         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16706         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16707         (gst_segment_set_last_stop), (gst_segment_set_seek),
16708         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16709         (gst_segment_to_running_time), (gst_segment_clip):
16710         * gst/gstsegment.h:
16711         More segment updates, replace code in plugins with segment
16712         helper functions.
16713
16714 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16715
16716         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
16717         Don't ignore sscanf results
16718
16719 2005-11-21  Andy Wingo  <wingo@pobox.com>
16720
16721         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
16722
16723         * *.h:
16724         * *.c: Ran scripts/update-macros. Oh yes.
16725
16726         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
16727         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
16728         GST_GET_LOCK, etc.
16729
16730         * scripts/update-macros: New script. Run it on your files to
16731         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
16732         well.
16733
16734 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16735
16736         * docs/gst/Makefile.am:
16737         * docs/gst/gstreamer-docs.sgml:
16738         * docs/gst/gstreamer-sections.txt:
16739         * docs/gst/gstreamer.types:
16740         * gst/gstinfo.h:
16741           more docs fixes, add new api to the docs
16742
16743 2005-11-21  Andy Wingo  <wingo@pobox.com>
16744
16745         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
16746         state_broadcast call.
16747
16748         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
16749
16750 2005-11-21  Julien MOUTTE  <julien@moutte.net>
16751
16752         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
16753         function calls for arrays.
16754
16755 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16756
16757         * docs/random/ensonic/media-device-daemon.txt:
16758           wild idea, can this be done?
16759         * docs/gst/gstreamer-sections.txt:
16760         * gst/gsterror.h:
16761         * gst/gstfilter.c:
16762         * gst/gstfilter.h:
16763         * gst/gstplugin.h:
16764         * gst/gstpluginfeature.c:
16765         * gst/gsttrace.c:
16766         * gst/gstvalue.c:
16767         * gst/gstvalue.h:
16768           doc fixes and additions
16769
16770 2005-11-21  Andy Wingo  <wingo@pobox.com>
16771
16772         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
16773         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
16774         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
16775         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
16776         private to the basesrc implementation.
16777
16778         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
16779         behalf of event function if necessary. It should no longer be
16780         necessary to take the stream lock in pad's event functions. Fixes
16781         #320299.
16782
16783 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16784         * docs/gst/gstreamer-sections.txt:
16785         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
16786         (gst_structure_fixate_field_nearest_double),
16787         (gst_structure_fixate_field_boolean):
16788         * gst/gststructure.h:
16789         * win32/common/libgstreamer.def:
16790         * win32/gstreamer.def:
16791
16792         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
16793         (#322027)
16794
16795 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16796
16797         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
16798         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
16799         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
16800         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
16801         (gst_fdsrc_uri_handler_init):
16802         * gst/elements/gstfdsrc.h:
16803           Port fd:// URI handler from 0.8 to fdsrc
16804
16805 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16806
16807         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
16808         (gst_value_serialize_fourcc):
16809         * gst/gstvalue.h:
16810           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
16811           consistent with our other format defines (#320324).
16812
16813 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16814
16815         * gst/gstvalue.c: (gst_value_is_fixed):
16816           Revert previous commit. Value lists are by definition
16817           not fixed, as they are a list of possible values.
16818
16819 2005-11-21  Andy Wingo  <wingo@pobox.com>
16820
16821         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
16822         during the stable series if we need it. Fixes #319178.
16823
16824         * gst/gstevent.c (gst_event_new_filler): Removed.
16825
16826         * check/gst/gstevent.c: Update comment about filler events.
16827
16828 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16829
16830         * gst/gstvalue.c: (gst_value_is_fixed):
16831           Should handle both value arrays and value lists.
16832
16833 2005-11-21  Andy Wingo  <wingo@pobox.com>
16834
16835         patch by: Alessandro Dessina <alessandro nnva org>
16836
16837         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
16838         functions to access arrays. Fixes #321962.
16839
16840 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16841
16842         * docs/gst/gstreamer.types:
16843           gst_collectpads_get_type => gst_collect_pads_get_type.
16844           
16845         * gst/base/gstbasetransform.c:
16846           Remove unused SIGNAL_HANDOFF enum.
16847
16848 2005-11-21  Andy Wingo  <wingo@pobox.com>
16849
16850         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
16851         the event type (upstream, downstream, serialized). Renamed
16852         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
16853         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
16854         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
16855
16856         * gst/gstevent.c: Update for new CUSTOM event names.
16857
16858         * check/gst/gstevent.c: Update check for new CUSTOM event names.
16859
16860         * gst/gstevent.h:
16861         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
16862         bug #319392.
16863
16864 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16865
16866         * docs/gst/gstreamer-sections.txt:
16867         * win32/common/libgstbase.def:
16868         * win32/libgstbase.def:
16869         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16870         (gst_collect_pads_class_init), (gst_collect_pads_init),
16871         (gst_collect_pads_finalize), (gst_collect_pads_new),
16872         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
16873         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
16874         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
16875         (gst_collect_pads_start), (gst_collect_pads_stop),
16876         (gst_collect_pads_peek), (gst_collect_pads_pop),
16877         (gst_collect_pads_available), (gst_collect_pads_read),
16878         (gst_collect_pads_flush), (gst_collect_pads_event),
16879         (gst_collect_pads_chain):
16880         * gst/base/gstcollectpads.h:
16881           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
16882           unimplemented functions as unimplemented. Add padding to
16883           GstCollectData. (#320766, #320423)
16884
16885 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16886
16887         * gst/gstmessage.c:
16888           Improve docs for DURATION message (usage of duration parameter)
16889           (#320113)
16890
16891 2005-11-20  Wim Taymans  <wim@fluendo.com>
16892
16893         * check/Makefile.am:
16894         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
16895         (main):
16896         * gst/Makefile.am:
16897         * gst/gst.h:
16898         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16899         (gst_segment_set_seek), (gst_segment_set_newsegment),
16900         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16901         (gst_segment_clip):
16902         * gst/gstsegment.h:
16903         Added segment helper structure and methods. Not fully implemented
16904         yet.
16905         Added segment check.
16906
16907 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
16908
16909         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16910           Add a deserialisation test for fractions
16911         * examples/metadata/read-metadata.c: (message_loop),
16912         (make_pipeline), (main):
16913           Fix up metadata reading sample.
16914         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16915           Debug format fix
16916         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16917           Don't try and fixate empty caps
16918         * gst/gst_private.h:
16919           Wrap in G_BEGIN_DECLS/G_END_DECLS
16920         * gst/gstvalue.c: (gst_value_collect_fraction),
16921         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
16922         (gst_value_transform_string_fraction),
16923         (gst_value_compare_fraction):
16924           Add some extra guards to ensure that we don't end up 
16925           with an invalid denominator of 0 in a gstfraction and
16926           that fractions always get reduced.
16927
16928 2005-11-20  Wim Taymans  <wim@fluendo.com>
16929
16930         * docs/gst/gstreamer-sections.txt:
16931         * gst/gstbuffer.h:
16932         * gst/gstelement.c:
16933         * gst/gstformat.c:
16934         * gst/gstformat.h:
16935         * gst/gstindex.h:
16936         * gst/gstquery.c:
16937         * gst/gstquery.h:
16938         * gst/gstvalue.c:
16939         Doc fixes.
16940
16941 2005-11-20  Wim Taymans  <wim@fluendo.com>
16942
16943         * docs/design/part-TODO.txt:
16944         * gst/gstcaps.h:
16945         Make a proper enum of the flag.
16946
16947 2005-11-19  Wim Taymans  <wim@fluendo.com>
16948
16949         * docs/design/part-TODO.txt:
16950         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
16951         (gst_format_to_quark), (gst_format_register):
16952         * gst/gstformat.h:
16953         * gst/gstquery.c: (_gst_query_initialize),
16954         (gst_query_type_get_name), (gst_query_type_to_quark),
16955         (gst_query_type_register):
16956         * gst/gstquery.h:
16957         Add type to quark and type to string conversions.
16958
16959 2005-11-19  Andy Wingo  <wingo@pobox.com>
16960
16961         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
16962         #320097.
16963
16964 2005-11-19  Wim Taymans  <wim@fluendo.com>
16965
16966         * docs/design/part-TODO.txt:
16967         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16968         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
16969         (gst_bin_handle_message_func):
16970         * gst/gstbin.h:
16971         Make message handling overridable.
16972
16973 2005-11-19  Andy Wingo  <wingo@pobox.com>
16974
16975         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
16976
16977         * gst/gstclock.h:
16978         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
16979         be a GstClockTime.
16980         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
16981         is a GstClockTime. Fixes #321710.
16982
16983         * gst/gstclock.h (GstClock): Remove offset property. Add
16984         internal_calibration and external_calibration. Fix padding. Pad
16985         also by GstClockTime so we don't run into problems.
16986
16987         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
16988         (gst_clock_get_rate_offset): Remove.
16989         (gst_clock_set_time_adjust): Remove. Fixes #321712.
16990
16991         * gst/gstutils.h:
16992         * gst/gstutils.c (g_static_rec_cond_wait)
16993         (g_static_rec_cond_timed_wait): Removed, no longer needed.
16994
16995         * gst/gstbin.c: Remove terrible continue_state prototype.
16996
16997         * gst/gstelement.h (gst_element_continue_state): Make public.
16998
16999         * gst/gstelement.h:
17000         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
17001         by continue_state. Fixes #319389.
17002
17003         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
17004         Really fixes #168438. However I don't see anywhere where the
17005         filter function is called... stupid GStreamer...
17006         
17007         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
17008         don't have a dispose function, so it won't get called when the
17009         object is unreffed, but oh well!
17010
17011         * gst/gstindex.c (gst_index_set_filter_full): New API function,
17012         allows a destroy function to be set so user_data can be freed.
17013         Fixes #168438.
17014         (gst_index_set_filter): Call gst_index_set_filter_full.
17015
17016         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
17017
17018         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
17019         string should produce an error, given the lack of a way to
17020         represent NULL strings. Fixes #165650.
17021         
17022         * gst/gstvalue.h: 
17023         * gst/gstvalue.c (gst_value_array_append_value) 
17024         (gst_value_array_prepend_value, gst_value_array_get_size) 
17025         (gst_value_array_get_value): New API, copied from
17026         gst_value_list_*, only operates on arrays.
17027         (gst_value_list_append_value, gst_value_list_prepend_value) 
17028         (gst_value_list_concat, gst_value_list_get_size) 
17029         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
17030
17031         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
17032         init_list, because it works on both.
17033         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
17034         (gst_value_copy_list_or_array): Renamed from copy_list.
17035         (gst_value_free_list_or_array): Renamed from free_list.
17036         (gst_value_collect_list_or_array): Renamed from collect_list.
17037         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
17038         (gst_value_list_or_array_peek_pointer): Renamed from
17039         list_peek_pointer.
17040         (_gst_value_array_value_table, _gst_value_list_value_table):
17041         Update value table functions.
17042         (gst_value_compare_list_or_array): Renamed from compare_list.
17043
17044         * gsttaglist.h: Whoops, foreach function returns void. Also fix
17045         some constness.
17046
17047         * gst/gsttaglist.c:
17048         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
17049         GstTagList*. Fixes #143472.
17050
17051         * gst/gststructure.h: Clarify what the foreach/map functions can
17052         or can't do to their arguments.
17053
17054 2005-11-18  Wim Taymans  <wim@fluendo.com>
17055
17056         * gst/gstclock.c: (gst_clock_set_calibration),
17057         (gst_clock_get_calibration):
17058         Doc and API fixes.
17059         Calibration can be set with internal time equal to current
17060         internal time too.
17061
17062 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17063
17064         * gst/gsterror.c:
17065         * gst/gsterror.h:
17066           document
17067
17068 2005-11-18  Andy Wingo  <wingo@pobox.com>
17069
17070         * configure.ac: 
17071         * pkgconfig/gstreamer-net.pc.in:
17072         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17073         * pkgconfig/Makefile.am: Add net pkgconfig files.
17074
17075 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
17076
17077         * gst/gstcaps.c:
17078         * gst/gstghostpad.c:
17079         * gst/gsttrace.c:
17080         * gst/gstvalue.c:
17081         * gst/gstvalue.h:
17082           docs fixes
17083
17084 2005-11-18  Andy Wingo  <wingo@pobox.com>
17085
17086         * gst/net/gstnetclientclock.c: Turn off debugging.
17087
17088         * check/net/gstnetclientclock.c (test_functioning): Assert that the
17089         times connverge somewhat. Can't make a real test.
17090
17091         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
17092         integer arithmetic. Return the minimum of the domain, which can be
17093         set as "internal" for gst_clock_set_calibration.
17094         (gst_net_client_clock_observe_times): Call _set_calibration.
17095         (gst_net_client_clock_new): Call _set_calibration instead of
17096         rate_offset.
17097
17098         * check/net/gstnetclientclock.c (test_functioning): Use the right
17099         adjustment api.
17100
17101         * gst/gstclock.h:
17102         * gst/gstclock.c (gst_clock_get_calibration) 
17103         (gst_clock_set_calibration): New functions, obsolete the ones I
17104         added yesterday. Doh. Precision issues mean we have to extrapolate
17105         from a point in the more recent past than 1970.
17106         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
17107         obsolete.
17108         (gst_clock_adjust_unlocked): Use the right calibration data.
17109
17110 2005-11-18  Edward Hervey  <edward@fluendo.com>
17111
17112         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
17113         Also reset the ->current_* values in READY->PAUSED
17114
17115 2005-11-18  Andy Wingo  <wingo@pobox.com>
17116
17117         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
17118         Whoops, check the right fd. Also add some debugging.
17119         (gst_net_client_clock_observe_times): Adjust for int64 offset.
17120         (do_linear_regression): Add a crapload of debugging. Subtract off
17121         the minimum values from the input series to discard unneeded bits.
17122         Use only int arithmetic. There is still double arithmetic when
17123         calculating the intercept that needs fixing. Return boolean to
17124         indicate success; FALSE would mean the domain or range is too
17125         great. Still needs fixes.
17126
17127 2005-11-18  Wim Taymans  <wim@fluendo.com>
17128
17129         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17130         For the current position in stream time, we need to subtract
17131         accumulated time.
17132         
17133         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17134         Release lock before calling the callback function of async
17135         entries.
17136
17137 2005-11-18  Andy Wingo  <wingo@pobox.com>
17138
17139         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
17140         Port goes all the way to MAXUINT16.
17141
17142         * gst/net/gstnettimeprovider.c: Make the port range the same as
17143         for the kernel: 0 assigns, otherwise ports are less than
17144         MAXUINT16.
17145
17146         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
17147         port change.
17148
17149         * check/net/gstnetclientclock.c (test_functioning): Add the start
17150         of another test. 
17151
17152 2005-11-18  Wim Taymans  <wim@fluendo.com>
17153
17154         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17155         (gst_bin_remove_func), (bin_bus_handler):
17156         * gst/gstbin.h:
17157         Removing a clock provider from a bin, triggers a clock lost message
17158         so that a new clock will be selected.
17159         Adding a clock to a bin triggers a clock provider message.
17160         Make sure we reselect a clock when we received a clock lost message.
17161         Keep a reference to the element that provided the clock.
17162
17163 2005-11-18  Andy Wingo  <wingo@pobox.com>
17164
17165         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
17166         the clock initially so it produces values around the base time.
17167         (gst_net_client_clock_class_init): Typo fix.
17168         (gst_net_client_clock_thread): Add note on when the socket gets
17169         closed.
17170
17171 2005-11-17  Wim Taymans  <wim@fluendo.com>
17172
17173         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
17174         Free remote and local time arrays.
17175
17176 2005-11-17  Wim Taymans  <wim@fluendo.com>
17177
17178         * gst/net/gstnetclientclock.c: (do_linear_regression),
17179         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
17180         Fix compilation, uninitialized vars and a forgotten continue.
17181
17182 2005-11-17  Andy Wingo  <wingo@pobox.com>
17183
17184         * check/Makefile.am (check_PROGRAMS): 
17185         * check/net/gstnetclientclock.c: Add a most minimal test for the
17186         net client clock. More to come later.
17187
17188         * gst/net/gstnet.h: 
17189         * gst/net/Makefile.am: Add netclientclock.
17190
17191         * gst/net/gstnetclientclock.h:
17192         * gst/net/gstnetclientclock.c: New files, implement an untested
17193         GstClock that takes its time from a network time provider.
17194         Implements the algorithm in network-clock.scm.
17195
17196         * tests/network-clock.scm (*window-size*): Rename from
17197         *queue-length*.
17198         * tests/network-clock.scm (network-time): 
17199         * tests/network-clock-utils.scm (q-push): Update callers.
17200
17201 2005-11-17  Wim Taymans  <wim@fluendo.com>
17202
17203         * gst/gstbin.c: (gst_bin_provide_clock_func),
17204         (gst_bin_sort_iterator_new):
17205         And unref the child too..
17206
17207 2005-11-17  Wim Taymans  <wim@fluendo.com>
17208
17209         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17210         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
17211         Refactor the sort iterator so it can be used while holding the
17212         LOCK too.
17213         Make clock selection select a clock closest to the source.
17214
17215 2005-11-17  Michael Smith <msmith@fluendo.com>
17216
17217         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
17218         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
17219         * gst/gstclock.h:
17220           Anonymous structs are a gcc (and some other compilers) extension, so
17221           don't use them. Since this is only for ABI-compatibility, and our
17222           API/ABI freeze is over in a few days, this whole thing will only
17223           last a few days, so don't bother trying to think up a meaningful
17224           name for the struct.
17225
17226 2005-11-17  Andy Wingo  <wingo@pobox.com>
17227
17228         * gst/gstclock.h (GstClock): Add rate and offset properties,
17229         preserving ABI stability. Add rate/offset accessors. Will file bug
17230         for the freeze break.
17231
17232         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
17233         and offset, trying to keep precision and avoiding
17234         underflow/overflow.
17235         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
17236         functions. Make gst_clock_set_time_adjust obsolete.
17237         (gst_clock_set_time_adjust): Note that this function is obsolete.
17238         Will file bug soon.
17239
17240         * gst/base/gstbasetransform.h: Make the ABI-stability hack
17241         greppable by using GST_PADDING-1+1.
17242
17243 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
17244
17245         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17246
17247         * gst/gstmessage.c: (gst_message_parse_clock_lost):
17248           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
17249
17250         * gst/gstpadtemplate.h:
17251         * gst/gstpluginfeature.h:
17252           Don't use c++ style comments in headers (#321638).
17253
17254 2005-11-16  Andy Wingo  <wingo@pobox.com>
17255
17256         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
17257         buffer.
17258
17259         * check/net/gstnettimeprovider.c: Check to see that the time
17260         provider actually provides times. Works, yo!
17261
17262 2005-11-16  Wim Taymans  <wim@fluendo.com>
17263
17264         * check/Makefile.am:
17265         Enable more tests.
17266
17267         * check/elements/fakesrc.c: (GST_START_TEST):
17268         Set element to NULL before disposing it.
17269
17270 2005-11-16  Andy Wingo  <wingo@pobox.com>
17271
17272         * gst/net/Makefile.am:
17273         * gst/net/gstnet.h:
17274         * gst/net/gstnettimeprovider.c: 
17275         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
17276         provider, include it from gstnet.h, and add it to the build.
17277
17278         * gst/net/gstnettimepacket.h: 
17279         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
17280         sending and receiving.
17281
17282 2005-11-16  Wim Taymans  <wim@fluendo.com>
17283
17284         * check/Makefile.am:
17285         Enable valgrind check.
17286
17287         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
17288         (gst_fake_src_alloc_buffer):
17289         Fix memleak.
17290
17291 2005-11-16  Wim Taymans  <wim@fluendo.com>
17292
17293         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
17294         Call parent finalize too.
17295
17296 2005-11-16  Wim Taymans  <wim@fluendo.com>
17297
17298         * check/Makefile.am:
17299         Enable valgrind check that should work fine now.
17300
17301         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17302         * gst/gstqueue.c: (gst_queue_init):
17303         Fix memleaks in pad allocation.
17304
17305 2005-11-16  Andy Wingo  <wingo@pobox.com>
17306
17307         * gst/net/Makefile.am:
17308         * gst/net/gstnet.h: New part of core to hold network elements and
17309         objects. Put in core because it exposes API that applications want
17310         to use. The library is named libgstnet-tempname right now because
17311         of the existing libgstnet in gst-plugins-base. Solution is
17312         probably to rename the one in plugins-base; will file a bug for
17313         the freeze break.
17314
17315         * gst/net/gstnettimeprovider.c: 
17316         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
17317         get_time call over the network.
17318
17319         * configure.ac: 
17320         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
17321
17322         * check/Makefile.am:
17323         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
17324         get additions shortly.
17325
17326 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17327
17328         * gst/gstpad.c: (gst_pad_new_from_static_template):
17329         * gst/gstpad.h:
17330           add gst_pad_new_from_static_template functions
17331         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
17332         (gst_check_setup_sink_pad):
17333         * gst/elements/gsttee.c: (gst_tee_init):
17334           and use them
17335
17336 2005-11-16  Wim Taymans  <wim@fluendo.com>
17337
17338         * gst/gstpad.c: (gst_pad_pause_task):
17339         Removed warning, it's not really an error either.
17340
17341 2005-11-16  Wim Taymans  <wim@fluendo.com>
17342
17343         * gst/base/gstbasetransform.c:
17344         (gst_base_transform_prepare_output_buf),
17345         (gst_base_transform_event):
17346         Check if the caps are NULL, this can happen if the element
17347         is shutting down and the pad caps are set to NULL.
17348
17349 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17350
17351         * gst/elements/gsttee.c: (gst_tee_init):
17352           fix pad template leak in tee
17353
17354 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17355
17356         * gst/glib-compat.c: (g_value_dup_gst_object):
17357         * gst/glib-compat.h:
17358         * gst/gstpad.c: (gst_pad_set_property):
17359           use gst_object_ref when setting the pad template; this will
17360           trigger the pad template leaks on GLib 2.6 and the slaves
17361
17362 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17363
17364         * gst/glib-compat.c: (gst_flags_get_first_value):
17365         * gst/glib-compat.h:
17366         * gst/gstregistryxml.c:
17367           remove functions copied from GLib 2.6
17368
17369 2005-11-16  Michael Smith <msmith@fluendo.com>
17370
17371         * gst/Makefile.am:
17372           Don't link against VALGRIND_LIBS. That was always the wrong thing to
17373           do, but only breaks with newer valgrind versions. We're not a
17374           valgrind tool, we have no link-time dependencies on libcoregrind.
17375
17376 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17377
17378         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17379           some debug changes
17380         * gst/gstmessage.h:
17381           typo fixes
17382
17383 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17384
17385         * gst/base/gstbasesrc.c: (gst_base_src_init):
17386         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17387         * gst/gstqueue.c: (gst_queue_init):
17388         * gst/gstregistryxml.c: (load_feature):
17389           Revert all these unrefs, they don't even pass make check !
17390
17391 2005-11-15  Johan Dahlin  <johan@gnome.org>
17392
17393         * gst/base/gstbasesrc.c: (gst_base_src_init):
17394         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17395         * gst/gstqueue.c: (gst_queue_init): 
17396         Free pad templates, fixes a couple of leaks.
17397
17398 2005-11-15  Daniel Fischer  <dan at f3c dot com>
17399
17400         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17401
17402         * gst/gstpad.c: (gst_pad_get_property):
17403           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17404           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17405           (#321452)
17406
17407 2005-11-15  Wim Taymans  <wim@fluendo.com>
17408
17409         * gst/gstevent.c:
17410         Small doc update.
17411
17412 2005-11-15  Andy Wingo  <wingo@pobox.com>
17413
17414         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17415
17416         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17417         using GST_CLOCK_TIME_NONE to disable base time management.
17418         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17419         time if it was NONE before.
17420         (gst_pipeline_change_state): Only munge the base time if
17421         stream_time != GST_CLOCK_TIME_NONE.
17422
17423         * check/gst/gstpipeline.c (test_base_time): Punt around the
17424         problem of the probe not being called, because that's not the
17425         issue I'm looking at. Add a check that setting stream_time to NONE
17426         disables base time management.
17427         
17428 2005-11-15  Wim Taymans  <wim@fluendo.com>
17429
17430         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17431         segment_stop == -1 at startup.
17432
17433         * gst/base/gstbasetransform.c: (gst_base_transform_event),
17434         (gst_base_transform_change_state):
17435         Init segment values at start.
17436
17437 2005-11-15  Wim Taymans  <wim@fluendo.com>
17438
17439         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17440         0 segment values are 0 in any format.
17441
17442         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17443         * gst/base/gstbasetransform.h:
17444         Parse newsegment correctly in basetransform
17445
17446         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17447         Sync to clock using updated segment values.
17448
17449 2005-11-15  Andy Wingo  <wingo@pobox.com>
17450
17451         * check/gst/gstpipeline.c (test_base_time): Add check that the
17452         base time and stream time are reset correctly.
17453
17454 2005-11-15  Wim Taymans  <wim@fluendo.com>
17455
17456         * docs/design/part-TODO.txt:
17457         Some more TODO items.
17458
17459 2005-11-15  Andy Wingo  <wingo@pobox.com>
17460
17461         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17462         error if the user selected "no clock" as the clocking method.
17463
17464         * check/gst/gstpipeline.c (test_base_time): New test for buffer
17465         timestamps with live capture.
17466
17467         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17468         is 0 but we are a live source, timestamp the buffers using the
17469         element's clock.
17470
17471 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
17472
17473         * docs/gst/gstreamer-sections.txt:
17474         * gst/gsterror.c:
17475         * gst/gstghostpad.c:
17476         * gst/gstobject.h:
17477         * gst/gstxml.c:
17478           more section docs
17479
17480 2005-11-14  Wim Taymans  <wim@fluendo.com>
17481
17482         * common/gst.supp:
17483           add suppressions from Wim's Debian machine
17484
17485 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17486
17487         * common/gst.supp:
17488           add suppressions from Andy's AMD64 Ubuntu machine
17489
17490 2005-11-14  Andy Wingo  <wingo@pobox.com>
17491
17492         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17493         STATE_LOCK not necessary. Fixes #311489.
17494
17495         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17496         #305291.
17497
17498         * gst/gstindex.c (gst_index_add_object): Note in the docs that
17499         this function is not implemented.
17500
17501 2005-11-14  Julien MOUTTE  <julien@moutte.net>
17502
17503         * gst/base/gstbasetransform.c:
17504         (gst_base_transform_prepare_output_buf):
17505         Ref the source pad caps while we need them.
17506         Fixes (#321386)
17507
17508 2005-11-11  Wim Taymans  <wim@fluendo.com>
17509
17510         * docs/gst/gstreamer-sections.txt:
17511         Added some docs for GstCollectData.
17512
17513         * gst/base/gstadapter.c:
17514         Some small code example fix.
17515
17516         * gst/base/gstcollectpads.c:
17517         * gst/base/gstcollectpads.h:
17518         Document some more.
17519
17520 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17521
17522         * configure.ac: back to HEAD
17523
17524 === release 0.9.5 ===
17525
17526 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
17527
17528         * configure.ac:
17529           releasing 0.9.5, "Bike Lunch Day"
17530
17531 2005-11-11  Wim Taymans  <wim@fluendo.com>
17532
17533         * gst/gstbuffer.c: (_gst_buffer_copy):
17534         Copy more flags.
17535
17536         * gst/gstcaps.c: (gst_caps_is_equal):
17537         Fix some docs.
17538         Make _is_equal fast in the trivial cases.
17539
17540         * gst/gstminiobject.c:
17541         * gst/gstminiobject.h:
17542         More docs. Spifify .h file.
17543
17544         * gst/gstutils.c:
17545         Small doc update.
17546
17547 2005-11-11  Wim Taymans  <wim@fluendo.com>
17548
17549         * gst/base/gstbasetransform.c:
17550         (gst_base_transform_prepare_output_buf),
17551         (gst_base_transform_handle_buffer):
17552         Small cleanups.
17553         If we're processing a buffer and need to allocate an output
17554         buffer, we cannot accept a format change. If we did get a 
17555         format change, we have to alloc a buffer ourselves of the 
17556         right size.
17557
17558 2005-11-11  Wim Taymans  <wim@fluendo.com>
17559
17560         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17561         While checking the flag for reentrancy in the gstcaps function
17562         is nice to detect recursive invocations, it also makes it 
17563         impossible to call getcaps from multiple threads, which must be
17564         possible. So, checking for recursive calls has to go.
17565
17566 2005-11-11  Michael Smith <msmith@fluendo.com>
17567
17568         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17569           Don't sync on buffers that fall partially outside our current
17570           segment. Prevents an assertion failure/abort playing some files.
17571
17572 2005-11-10  Andy Wingo  <wingo@pobox.com>
17573
17574         * check/gst/gstbin.c (test_message_state_changed_children): Style
17575         fix..
17576
17577         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17578         gst_bus_poll with the signal watch. Ensures that poll and a signal
17579         watch see the same messages.
17580
17581         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17582         a poll and a watch at the same time get the same messages.
17583
17584 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17585
17586         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17587         * gst/gstcaps.c: (gst_caps_intersect):
17588           Don't call gst_caps_do_simplify - it doesn't respect order of caps
17589           and it's not needed.
17590
17591 2005-11-10  Wim Taymans  <wim@fluendo.com>
17592
17593         * docs/design/part-TODO.txt:
17594         Updated todo.
17595
17596 2005-11-10  Wim Taymans  <wim@fluendo.com>
17597
17598         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17599         * gst/base/gstbasesrc.c: (gst_base_src_wait),
17600         (gst_base_src_do_sync), (gst_base_src_get_range):
17601         Implement clock sync in base class.
17602
17603 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17604
17605         patch by: Tim-Philipp Müller <tim at centricular dot net>
17606
17607         * gst/gststructure.c: (gst_structure_parse_field),
17608         (gst_structure_from_string):
17609           Forward-port a 0.8 patch to handle escaped spaces in structure string,
17610           so that gst_parse_launch() can deal with spaces in filtered link
17611           caps (fixes #164479)
17612         * check/gst/capslist.h:
17613         * check/gst/gststructure.c: (GST_START_TEST):
17614           add unit tests for this change
17615
17616 2005-11-10  Wim Taymans  <wim@fluendo.com>
17617
17618         * docs/gst/gstreamer-sections.txt:
17619         * gst/gstelement.c:
17620         * gst/gstelement.h:
17621         Fix docs, move some STATE macros to private.
17622
17623 2005-11-10  Wim Taymans  <wim@fluendo.com>
17624
17625         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17626         Added check for bug #317341
17627
17628         * gst/gstbuffer.c:
17629         * gst/gstbuffer.h:
17630         Some more spiffifying.
17631
17632         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17633         Call peer linkfunction if we are a source pad. Totally fixes
17634         #317341
17635
17636         * gst/gstpad.c:
17637         Update docs, source pads should call the peer linkfunction
17638         so they can atomically perform the pad link.
17639
17640 2005-11-09  Wim Taymans  <wim@fluendo.com>
17641
17642         * gst/gstbuffer.c:
17643         * gst/gstbuffer.h:
17644         Uber-spiffy-spiffify some more.
17645
17646 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
17647
17648         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17649         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17650         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17651         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17652         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17653         * gst/gstpad.c: (gst_pad_init):
17654           Use GST_DEBUG_FUNCPTR() more extensively.
17655
17656 2005-11-09  Wim Taymans  <wim@fluendo.com>
17657
17658         * gst/gstobject.c: (gst_object_class_init):
17659         * gst/gstobject.h:
17660         Documentation fixes.
17661
17662 2005-11-09  Edward Hervey  <edward@fluendo.com>
17663
17664         * gst/gsttypefindfactory.c:
17665         Fix docs.
17666         
17667 2005-11-09  Edward Hervey  <edward@fluendo.com>
17668
17669         * gst/base/gsttypefindhelper.c:
17670         * gst/gsttypefind.c:
17671         * gst/gsttypefind.h:
17672         Fix docs.
17673
17674 2005-11-09  Wim Taymans  <wim@fluendo.com>
17675
17676         * gst/gstiterator.c:
17677         Fix revision data.
17678
17679         * gst/gsttask.c:
17680         * gst/gsttask.h:
17681         Fix docs.
17682
17683 2005-11-09  Wim Taymans  <wim@fluendo.com>
17684
17685         * gst/gstevent.h:
17686         * gst/gsturi.h:
17687         Fix docs.
17688
17689 2005-11-09  Wim Taymans  <wim@fluendo.com>
17690
17691         * docs/gst/gstreamer-sections.txt:
17692         Moved the message async delivery private lock and cond
17693         to the private section.
17694
17695         * gst/gstmessage.c:
17696         * gst/gstmessage.h:
17697         Fixed docs.
17698
17699 2005-11-09  Edward Hervey  <edward@fluendo.com>
17700
17701         * docs/gst/gstreamer-sections.txt:
17702         * gst/gsturi.c:
17703         * gst/gsturi.h:
17704         Document GstURIHandler
17705
17706 2005-11-09  Wim Taymans  <wim@fluendo.com>
17707
17708         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
17709         (gst_iterator_find_custom):
17710         * gst/gstiterator.h:
17711         Fix iterator docs.
17712
17713 2005-11-09  Wim Taymans  <wim@fluendo.com>
17714
17715         * gst/gstbin.h:
17716         Document another field.
17717
17718         * gst/gststructure.c:
17719         * gst/gststructure.h:
17720         Document.
17721
17722 2005-11-09  Wim Taymans  <wim@fluendo.com>
17723
17724         * gst/gstbin.h:
17725         Documented structs.
17726
17727 2005-11-09  Wim Taymans  <wim@fluendo.com>
17728
17729         * docs/gst/gstreamer-sections.txt:
17730         Added some new macros.
17731
17732         * gst/gstclock.c:
17733         * gst/gstclock.h:
17734         * gst/gstobject.h:
17735         Docs updates.
17736
17737 2005-11-09  Wim Taymans  <wim@fluendo.com>
17738
17739         * docs/design/part-TODO.txt:
17740         Some more items for the TODO
17741
17742         * gst/gstcaps.c:
17743         * gst/gstcaps.h:
17744         Document GstCaps.
17745
17746 2005-11-09  Andy Wingo  <wingo@pobox.com>
17747
17748         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
17749         to work on something else now tho...
17750
17751         * gst/base/gstadapter.c: More adapter docs.
17752
17753         * gst/elements/gstfilesink.c (gst_file_sink_start) 
17754         (gst_file_sink_stop): New functions, replace the state change
17755         handler.
17756         (gst_file_sink_class_init): Hook up the start and stop functions.
17757         (gst_file_sink_base_init): Don't set the state change handler any
17758         more. It was a bit ugly too, being set from here...
17759         (gst_file_sink_get_property, gst_file_sink_set_property):
17760         Cleanups...
17761         (gst_file_sink_set_location): More robust check that doesn't call
17762         GST_STATE. Ugggggg.
17763
17764 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
17765
17766         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17767           Hold STREAM_LOCK while pushing newsegment or tag events as well.
17768
17769 2005-11-08  Wim Taymans  <wim@fluendo.com>
17770
17771         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17772         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17773         (gst_base_sink_chain), (gst_base_sink_change_state):
17774         * gst/base/gstbasesink.h:
17775         * gst/base/gstbasesrc.h:
17776         * gst/gstelement.h:
17777         * gst/gstevent.h:
17778         Avoid excessive typechecking in macros.
17779
17780         * gst/gstminiobject.c: (gst_mini_object_get_type),
17781         (gst_mini_object_init), (gst_mini_object_new),
17782         (gst_mini_object_free):
17783         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17784         (gst_object_finalize):
17785         Remove cruft code, optimize alloc_trace.
17786
17787 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17788
17789         * docs/faq/gst-uninstalled:
17790           fix up PS1 for systems that try to reset it
17791
17792 2005-11-07  Wim Taymans  <wim@fluendo.com>
17793
17794         * gst/base/gstbasesrc.c: (gst_base_src_init),
17795         (gst_base_src_get_range):
17796         Set the segment_end to -1 initially. Fixed typefind.
17797
17798 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
17799
17800         * gst/base/gstadapter.c:
17801           Debug category should be 'adapter', not 'GstAdapter'.
17802           
17803         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
17804         (gst_collectpads_class_init), (gst_collectpads_init),
17805         (gst_collectpads_peek), (gst_collectpads_pop),
17806         (gst_collectpads_event), (gst_collectpads_chain):
17807           Add debug category and some debugging output. Use boilerplate
17808           macros. Remove some extraneous words from docs.
17809
17810 2005-11-05  Andy Wingo  <wingo@pobox.com>
17811
17812         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
17813         macro.
17814
17815 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17816
17817         * docs/gst/gstreamer-sections.txt:
17818         * gst/gstcaps.h:
17819         * gst/gstinfo.c:
17820         * gst/gstminiobject.h:
17821         * gst/gstobject.h:
17822         * gst/gstutils.h:
17823           more docs added
17824
17825 2005-11-04  Wim Taymans  <wim@fluendo.com>
17826
17827         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17828         Small update to stop at the configured segment_end
17829         position.
17830
17831 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17832
17833         * gst/gstregistry.c:
17834         * gst/gstregistry.h:
17835           added missing docs
17836
17837 2005-11-04  Edward Hervey  <edward@fluendo.com>
17838
17839         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17840         Check if we are doing a segment seek and have arrived at the
17841         end of that segment.
17842
17843 2005-11-04  Wim Taymans  <wim@fluendo.com>
17844
17845         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
17846         Don't leak a mutex unlock in case of an error.
17847
17848         * gst/gstbus.h:
17849         Doc fixes.
17850
17851 2005-11-04  Wim Taymans  <wim@fluendo.com>
17852
17853         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
17854         (gst_bus_post):
17855         Get the context to wake up only once.
17856
17857 2005-11-03  Wim Taymans  <wim@fluendo.com>
17858
17859         * check/states/sinks.c: (GST_START_TEST):
17860         Uncomment fixed check.
17861
17862         * docs/design/part-TODO.txt:
17863         Updated TODO.
17864
17865         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17866         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17867         (gst_base_sink_get_position):
17868         If we are going to PLAYING, post the right pending state
17869         when we post the intermediate paused message.
17870
17871         * gst/gstelement.c: (gst_element_continue_state),
17872         (gst_element_set_state_func), (gst_element_change_state):
17873         Don't post state changes that were between the same state
17874         and were not ASYNC.
17875
17876 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17877
17878         * docs/gst/gstreamer-sections.txt:
17879         * gst/gstcaps.h:
17880         * gst/gstinfo.c:
17881         * gst/gstminiobject.h:
17882         * gst/gstobject.h:
17883         * gst/gstutils.h:
17884           more docs and doc style fixes
17885
17886 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17887
17888         * docs/gst/gstreamer-sections.txt:
17889         * gst/gstelement.c:
17890         * gst/gstminiobject.c:
17891         doc fixes
17892
17893 2005-11-03  Andy Wingo  <wingo@pobox.com>
17894
17895         * check/states/sinks.c (test_livesrc_sink): Add checks that the
17896         state-changed messages actually have the right order and the right
17897         values.
17898
17899 2005-11-03  Wim Taymans  <wim@fluendo.com>
17900
17901         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17902         Added some more checks. Specifically the case where NO_PREROLL
17903         elements are in the pipeline.
17904
17905         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17906         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17907         (gst_base_sink_get_position):
17908         Post READY->PAUSED state change messages too.
17909         Fix bug where VOID was posted as pending state...
17910
17911         * gst/gstbin.c: (gst_bin_recalc_state):
17912         use _element_continue_state() to continue the state change.
17913
17914         * gst/gstelement.c: (gst_element_continue_state),
17915         (gst_element_commit_state), (gst_element_set_state_func),
17916         (gst_element_change_state), (gst_element_change_state_func):
17917         Lots of state change cleanups, assign the STATE_RETURN in
17918         a new continue_state() function that also propagates the
17919         last return value from a state change to the app.
17920         Update some debug statements with proper category.
17921
17922 2005-11-03  Wim Taymans  <wim@fluendo.com>
17923
17924         * docs/design/part-events.txt:
17925         * docs/design/part-gstpipeline.txt:
17926         * docs/design/part-messages.txt:
17927         * docs/design/part-overview.txt:
17928         * docs/design/part-seeking.txt:
17929         * docs/design/part-states.txt:
17930         * docs/design/part-trickmodes.txt:
17931         * docs/manual/advanced-position.xml:
17932         Small docs updates.
17933
17934         * gst/gstobject.h:
17935         People think !! is ugly, this looks better.
17936
17937         * gst/gstpad.c: (gst_pad_set_blocked_async):
17938         Remove !! since it's fixed elsewhere now.
17939
17940 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17941
17942         * gst/gstminiobject.h:
17943         * gst/gstobject.h:
17944           Add !! to _FLAG_IS_SET macros to make the result boolean.
17945
17946 2005-11-03  Edward Hervey  <edward@fluendo.com>
17947
17948         * gst/gstpad.c: (gst_pad_set_blocked_async):
17949         comparing a flag and a gboolean rarely returns coherent results...
17950         Added two characters (!!) to make that work correctly.
17951         
17952 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17953
17954         * gst/gstbus.c: (gst_bus_class_init):
17955           Fix some typos.
17956           
17957         * gst/gstqueue.c: (gst_queue_loop):
17958           Don't assume a miniobject that isn't a buffer is an
17959           event (it could be that there is a refcounting
17960           problem somewhere and the pointer is stale and
17961           refers to an already destroyed miniobject).
17962
17963 2005-11-03  Julien MOUTTE  <julien@moutte.net>
17964
17965         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
17966
17967 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17968
17969         * docs/manual/advanced-position.xml:
17970           Update seek example and explanations to current 0.9 API.
17971
17972         * gst/elements/gsttypefindelement.c:
17973         (gst_type_find_element_activate):
17974           Remove FIXME comment now that the found caps
17975           are unreffed.
17976
17977 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17978
17979         * gst/gstregistryxml.c: (load_feature):
17980           Add another GST_STR_NULL instance
17981
17982 2005-11-02  Edward Hervey  <edward@fluendo.com>
17983
17984         * gst/gstpad.c: (handle_pad_block):
17985         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
17986         
17987 2005-11-02  Wim Taymans  <wim@fluendo.com>
17988
17989         * gst/gstbin.c:
17990         Fix typo in docs.
17991
17992         * gst/gstelement.c: (gst_element_commit_state):
17993         Remove unused value.
17994
17995         * gst/gstiterator.c:
17996         Mention that the returned element is reffed in the docs.
17997
17998 2005-11-02  Wim Taymans  <wim@fluendo.com>
17999
18000         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
18001         (gst_pad_push), (gst_pad_push_event):
18002         Unlock blocked pads when they are flushed.
18003
18004 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18005
18006         * docs/README:
18007         * docs/gst/gstreamer-sections.txt:
18008         * gst/gstbin.c:
18009           doc updates
18010         * gst/gstregistry.c: (gst_registry_scan_path_level):
18011           fix for a nasty little missed situation where an installed plug-in
18012           which was in the cache did not get overridden by an uninstalled one
18013           which was earlier in the plugin path because the newly created plugin
18014           for the uninstalled one (not in the registry) didn't get its
18015           ->registered set to TRUE
18016
18017 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18018
18019         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
18020         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
18021         (gst_collectpads_is_active), (gst_collectpads_collect),
18022         (gst_collectpads_collect_range), (gst_collectpads_start),
18023         (gst_collectpads_stop), (gst_collectpads_peek),
18024         (gst_collectpads_pop), (gst_collectpads_available),
18025         (gst_collectpads_read), (gst_collectpads_flush):
18026           Guard public API with assertions.
18027         
18028         * gst/gstpad.c:
18029           Fix docs for gst_pad_set_link_function().
18030
18031 2005-11-02  Johan Dahlin  <johan@gnome.org>
18032
18033         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
18034         Unref found_caps after we used it.
18035
18036 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18037
18038         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
18039           Don't try to ref NULL.
18040
18041 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18042
18043         * win32/common/config.h.in:
18044           provide a GST_FUNCTION that just gives a string for now
18045
18046 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18047
18048         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18049         (gst_object_flags_get_type), (register_gst_bin_flags),
18050         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18051         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18052         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18053         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
18054         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18055         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18056         (gst_clock_flags_get_type), (register_gst_state),
18057         (gst_state_get_type), (register_gst_state_change_return),
18058         (gst_state_change_return_get_type), (register_gst_state_change),
18059         (gst_state_change_get_type), (register_gst_element_flags),
18060         (gst_element_flags_get_type), (register_gst_core_error),
18061         (gst_core_error_get_type), (register_gst_library_error),
18062         (gst_library_error_get_type), (register_gst_resource_error),
18063         (gst_resource_error_get_type), (register_gst_stream_error),
18064         (gst_stream_error_get_type), (register_gst_event_type),
18065         (gst_event_type_get_type), (register_gst_seek_type),
18066         (gst_seek_type_get_type), (register_gst_seek_flags),
18067         (gst_seek_flags_get_type), (register_gst_format),
18068         (gst_format_get_type), (register_gst_index_certainty),
18069         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18070         (gst_index_entry_type_get_type),
18071         (register_gst_index_lookup_method),
18072         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18073         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18074         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18075         (gst_index_flags_get_type), (register_gst_debug_level),
18076         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18077         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18078         (gst_iterator_result_get_type), (register_gst_iterator_item),
18079         (gst_iterator_item_get_type), (register_gst_message_type),
18080         (gst_message_type_get_type), (register_gst_mini_object_flags),
18081         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18082         (gst_pad_link_return_get_type), (register_gst_flow_return),
18083         (gst_flow_return_get_type), (register_gst_activate_mode),
18084         (gst_activate_mode_get_type), (register_gst_pad_direction),
18085         (gst_pad_direction_get_type), (register_gst_pad_flags),
18086         (gst_pad_flags_get_type), (register_gst_pad_presence),
18087         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18088         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18089         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18090         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18091         (gst_plugin_flags_get_type), (register_gst_rank),
18092         (gst_rank_get_type), (register_gst_query_type),
18093         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18094         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18095         (gst_tag_flag_get_type), (register_gst_task_state),
18096         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18097         (gst_alloc_trace_flags_get_type),
18098         (register_gst_type_find_probability),
18099         (gst_type_find_probability_get_type), (register_gst_uri_type),
18100         (gst_uri_type_get_type), (register_gst_parse_error),
18101         (gst_parse_error_get_type):
18102         * win32/common/gstversion.h:
18103           update win32 copies
18104
18105 2005-11-01  Luca Ognibene  <luogni@tin.it>
18106
18107         * gst/gst.c:
18108           fix docs. popt is dead, long live GOption.
18109
18110 2005-10-31  Wim Taymans  <wim@fluendo.com>
18111
18112         * gst/gstbuffer.h:
18113         Small doc fix.
18114
18115 2005-10-31  Andy Wingo  <wingo@pobox.com>
18116
18117         * Boo!
18118
18119         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
18120
18121         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
18122         need to serialize property notifications on GLib 2.8. GLib 2.6 has
18123         the possibility of deadlocks here if code calling notify() or
18124         set() has a lock that can be taken in another notify handler (ABBA
18125         with class lock and e.g. python GIL state lock).
18126
18127 2005-10-28  Julien MOUTTE  <julien@moutte.net>
18128
18129         * gst/gstbus.c: Doc updates.
18130
18131 2005-10-28  Wim Taymans  <wim@fluendo.com>
18132
18133         * docs/design/part-TODO.txt:
18134         * gst/gstiterator.c:
18135         * gst/gstsystemclock.c:
18136         * gst/gstsystemclock.h:
18137         Doc updates.
18138
18139 2005-10-28  Edward Hervey  <edward@fluendo.com>
18140
18141         * docs/gst/gstreamer-docs.sgml:
18142         * docs/gst/gstreamer-sections.txt:
18143         the GstURIType documentation page is private, it only defines GstURIType
18144         which should be defined in the GstURIHandler page
18145         
18146 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18147
18148         * gst/gstbin.c: (gst_bin_class_init):
18149         * gst/gstbin.h:
18150         * gst/gstutils.c:
18151         Documentation updates.
18152
18153 2005-10-28  Wim Taymans  <wim@fluendo.com>
18154
18155         * docs/gst/gstreamer-sections.txt:
18156         * gst/gstclock.c:
18157         * gst/gstclock.h:
18158         Documented the clocks.
18159
18160 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
18161
18162         * docs/gst/gstreamer-sections.txt:
18163           move some macros to private sections
18164         * gst/gstminiobject.c:
18165         * gst/gstminiobject.h:
18166           add descriptions provided by ds and some more
18167         * gst/gstpad.h:
18168           mark macro as to be removed
18169
18170 2005-10-28  Wim Taymans  <wim@fluendo.com>
18171
18172         * docs/design/part-TODO.txt:
18173         Add an item to TODO.
18174
18175         * gst/gstiterator.c: (gst_iterator_fold),
18176         (gst_iterator_find_custom):
18177         * gst/gstiterator.h:
18178         Add iterator docs.
18179
18180 2005-10-28  Wim Taymans  <wim@fluendo.com>
18181
18182         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18183         (gst_base_transform_init):
18184         Don't leak class.
18185
18186         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
18187         An EOS event marks the queue as completely filled.
18188
18189 2005-10-27  Wim Taymans  <wim@fluendo.com>
18190
18191         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18192         (gst_base_sink_do_sync), (gst_base_sink_get_position):
18193         Some more debugging.
18194
18195         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
18196         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
18197         (gst_base_transform_event), (gst_base_transform_getrange),
18198         (gst_base_transform_chain):
18199         * gst/base/gstbasetransform.h:
18200         Fix debugging,
18201         Protect transform and concurrent buffer alloc with a new lock.
18202         Try not to break ABI/API.
18203
18204 2005-10-27  Wim Taymans  <wim@fluendo.com>
18205
18206         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18207         (gst_base_src_init), (gst_base_src_query),
18208         (gst_base_src_default_newsegment),
18209         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18210         (gst_base_src_send_event), (gst_base_src_event_handler),
18211         (gst_base_src_pad_get_range), (gst_base_src_loop),
18212         (gst_base_src_unlock), (gst_base_src_default_negotiate),
18213         (gst_base_src_start), (gst_base_src_deactivate),
18214         (gst_base_src_activate_push), (gst_base_src_change_state):
18215         Move some stuff around and cleanup things.
18216
18217 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
18218
18219         * gst/base/gstbasesrc.c: (gst_base_src_query):
18220           Add missing break statements.
18221
18222 2005-10-27  Wim Taymans  <wim@fluendo.com>
18223
18224         * check/gst/gstbin.c: (GST_START_TEST):
18225         An extra refcount is taken in basesrc.
18226
18227         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18228         (gst_base_src_get_range), (gst_base_src_pad_get_range),
18229         (gst_base_src_loop):
18230         Small cleanups, check for flushing after being unlocked from the 
18231         LIVE_LOCK. take refcounts correctly (not yet everywhere).
18232         Don't send out EOS when going to READY.
18233
18234 2005-10-27  Wim Taymans  <wim@fluendo.com>
18235
18236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18237         (gst_base_sink_get_position):
18238         Some more debug.
18239
18240         * gst/gstbin.c: (message_check), (bin_replace_message),
18241         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18242         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18243         (bin_query_duration_init), (bin_query_duration_fold),
18244         (bin_query_duration_done), (bin_query_generic_fold),
18245         (gst_bin_query):
18246         * tools/gst-launch.c: (main):
18247         Remove old option.
18248
18249 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
18250
18251         * examples/controller/audio-example.c: (main):
18252         * examples/queue/queue.c: (event_loop):
18253         * gst/base/gstbasetransform.h:
18254         * gst/gstelement.c: (gst_element_send_event):
18255         * gst/gstevent.h:
18256         * gst/gstpad.c: (gst_pad_send_event):
18257           fixing examples
18258           fixing docs typos
18259           changing log priority in error situations
18260
18261 2005-10-25  Wim Taymans  <wim@fluendo.com>
18262
18263         * gst/gstbin.c: (message_check), (bin_replace_message),
18264         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18265         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18266         (bin_query_duration_init), (bin_query_duration_fold),
18267         (bin_query_duration_done), (bin_query_generic_fold),
18268         (gst_bin_query):
18269         Some doc and debug updates.
18270         Cache previously requested query DURATION for speed. invalidate
18271         cached duration if element posts a DURATION message.
18272
18273 2005-10-25  Wim Taymans  <wim@fluendo.com>
18274
18275         * docs/design/part-TODO.txt:
18276         Update TODO.
18277
18278         * gst/gstbin.c: (message_check), (bin_replace_message),
18279         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18280         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18281         (bin_query_duration_init), (bin_query_duration_fold),
18282         (bin_query_duration_done), (bin_query_generic_fold),
18283         (gst_bin_query):
18284         Handle SEGMENT_START/DONE messages correctly.
18285         More evolved query algorithm that handles duration queries
18286         correctly.
18287
18288         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
18289         (gst_element_get_state_func), (gst_element_abort_state),
18290         (gst_element_commit_state), (gst_element_lost_state):
18291         Some more debugging.
18292
18293         * gst/gstmessage.h:
18294         Added doc.
18295
18296 2005-10-25  Wim Taymans  <wim@fluendo.com>
18297
18298         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18299         Don't use invalid stream_time.
18300
18301         * gst/gstevent.c: (gst_event_new_newsegment):
18302         stream_time in newsegment cannot be undefined.
18303
18304 2005-10-24  Wim Taymans  <wim@fluendo.com>
18305
18306         * gst/gstbus.c:
18307         Doc fix.
18308
18309         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18310         (gst_queue_loop):
18311         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
18312
18313 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
18314
18315         * docs/libs/tmpl/gstdparam.sgml:
18316         * docs/libs/tmpl/gstdplinint.sgml:
18317         * docs/libs/tmpl/gstdpman.sgml:
18318         * docs/libs/tmpl/gstdpsmooth.sgml:
18319         * docs/libs/tmpl/gstunitconvert.sgml:
18320           these are obsolete
18321
18322 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18323
18324         * configure.ac:
18325           back to HEAD
18326
18327 === release 0.9.4 ===
18328
18329 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18330
18331         * configure.ac:
18332           releasing 0.9.4, "Tyrannosaurus Rex"
18333
18334 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
18335
18336         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18337         (gst_file_sink_get_current_offset):
18338           Use fseeko() and ftello() if available. When falling back on
18339           lseek() to get the current offset, fflush() first to make sure
18340           everything is up-to-date and we get the right offset.
18341
18342 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18343
18344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18345         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18346         * gst/gsterror.c: (_gst_stream_errors_init):
18347         * gst/gsterror.h:
18348         * gst/gstqueue.c: (gst_queue_loop):
18349         * po/POTFILES.in:
18350           remove prematurely added error category and clean up the instances
18351
18352 2005-10-21  Wim Taymans  <wim@fluendo.com>
18353
18354         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18355         (gst_base_sink_get_position), (gst_base_sink_query),
18356         (gst_base_sink_change_state):
18357         Simply set the right flag when going to playing, that's all
18358         we need to do instead of calling a function inside the object
18359         lock (that could take the lock as well and deadlock)
18360
18361 2005-10-21  Wim Taymans  <wim@fluendo.com>
18362
18363         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
18364         (gst_base_src_loop):
18365         Don't warn, the peer element knows what to do best when
18366         the seek failed, it might try something else.
18367
18368 2005-10-21  Wim Taymans  <wim@fluendo.com>
18369
18370         * gst/base/gstbasesrc.c: (gst_base_src_init),
18371         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18372         Fix seeking.
18373
18374 2005-10-21  Wim Taymans  <wim@fluendo.com>
18375
18376         * docs/design/part-segments.txt:
18377         More docs.
18378
18379         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18380         Correctly set caps, even on the subbufer.
18381
18382 2005-10-21  Wim Taymans  <wim@fluendo.com>
18383
18384         * docs/gst/gstreamer-docs.sgml:
18385         * docs/gst/gstreamer-sections.txt:
18386         * gst/gstelement.h:
18387         * gst/gstevent.c:
18388         * gst/gstevent.h:
18389         * gst/gstmessage.h:
18390         * gst/gstpad.h:
18391         * gst/gstparse.h:
18392         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18393         * gst/gsttask.h:
18394         * gst/gstutils.c:
18395         * gst/gstutils.h:
18396         And 2% more doc coverage.
18397
18398 2005-10-21  Andy Wingo  <wingo@pobox.com>
18399
18400         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18401         position reporting.
18402
18403 2005-10-20  Wim Taymans  <wim@fluendo.com>
18404
18405         * gst/gsterror.c: (gst_error_get_message):
18406         * gst/gstparse.h:
18407         * gst/gstquery.h:
18408         * gst/gststructure.c:
18409         * gst/gsttrace.c:
18410         * gst/gstutils.c:
18411         More docs.
18412
18413 2005-10-20  Wim Taymans  <wim@fluendo.com>
18414
18415         * gst/gstbuffer.h:
18416         * gst/gstpad.c:
18417         * gst/gstparse.c:
18418         Another 1% more coverage.
18419
18420 2005-10-20  Wim Taymans  <wim@fluendo.com>
18421
18422         * docs/gst/gstreamer-sections.txt:
18423         * gst/gstelement.c: (gst_element_get_state_func),
18424         (gst_element_abort_state), (gst_element_commit_state),
18425         (gst_element_lost_state):
18426         * gst/gstevent.h:
18427         * gst/gstquery.c: (gst_query_set_position),
18428         (gst_query_parse_position), (gst_query_set_duration),
18429         (gst_query_parse_duration), (gst_query_new_convert):
18430         * gst/gstutils.c:
18431         Yay! 1% more docs coverage.
18432
18433 2005-10-20  Wim Taymans  <wim@fluendo.com>
18434
18435         * gst/gstpad.h:
18436         * gst/gstquery.c: (gst_query_set_position),
18437         (gst_query_parse_position), (gst_query_set_duration),
18438         (gst_query_parse_duration), (gst_query_new_convert):
18439         * gst/gstquery.h:
18440         * gst/gstutils.c: (gst_element_query_convert):
18441         * gst/gstutils.h:
18442         Docs and consistency fixes.
18443
18444 2005-10-20  Wim Taymans  <wim@fluendo.com>
18445
18446         * gst/gsttask.c:
18447         * gst/gsttask.h:
18448         More docs.
18449
18450 2005-10-20  Wim Taymans  <wim@fluendo.com>
18451
18452         * gst/gstbin.c: (message_check), (bin_replace_message),
18453         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18454         (update_degree), (gst_bin_sort_iterator_next),
18455         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18456         Reworked the message handling a bit, cache the messages instead of
18457         only the senders. alows us to do more in the future.
18458
18459 2005-10-20  Wim Taymans  <wim@fluendo.com>
18460
18461         * docs/design/part-TODO.txt:
18462         Update TODO
18463
18464         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18465         (gst_base_sink_query):
18466         Don't use clock time to report position when in EOS.
18467
18468 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
18469
18470         * tools/gst-inspect.c: (print_interfaces),
18471         (print_element_properties_info), (print_element_info):
18472           Fix interface output with gst-inspect -a; don't print
18473           newlines after double/float properties.
18474
18475 2005-10-20  Wim Taymans  <wim@fluendo.com>
18476
18477         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18478         (gst_base_sink_query):
18479         Speed up current position calculation.
18480
18481         * gst/base/gstbasesrc.c: (gst_base_src_query),
18482         (gst_base_src_default_newsegment):
18483         Correctly set stream position in newsegment.
18484
18485         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18486         (update_degree), (gst_bin_sort_iterator_next),
18487         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18488         * gst/gstmessage.c: (gst_message_new_custom):
18489         Clean up debugging info
18490
18491         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18492         (gst_queue_loop), (gst_queue_handle_src_query):
18493         Pause task faster.
18494
18495 2005-10-19  Wim Taymans  <wim@fluendo.com>
18496
18497         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18498         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18499         Fix query handling again.
18500
18501 2005-10-19  Wim Taymans  <wim@fluendo.com>
18502
18503         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18504         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18505         * gst/base/gstbasesrc.c: (gst_base_src_query):
18506         * gst/elements/gstfilesink.c: (gst_file_sink_query):
18507         * gst/elements/gsttypefindelement.c:
18508         (gst_type_find_handle_src_query), (find_element_get_length),
18509         (gst_type_find_element_activate):
18510         API change fix.
18511
18512         * gst/gstquery.c: (gst_query_new_position),
18513         (gst_query_set_position), (gst_query_parse_position),
18514         (gst_query_new_duration), (gst_query_set_duration),
18515         (gst_query_parse_duration), (gst_query_set_segment),
18516         (gst_query_parse_segment):
18517         * gst/gstquery.h:
18518         Bundling query position/duration is not a good idea since duration
18519         does not change much and we don't want to recalculate it for every
18520         position query, so they are separated again..
18521         Base value in segment query is not needed.
18522
18523         * gst/gstqueue.c: (gst_queue_handle_src_query):
18524         * gst/gstutils.c: (gst_element_query_position),
18525         (gst_element_query_duration), (gst_pad_query_position),
18526         (gst_pad_query_duration):
18527         * gst/gstutils.h:
18528         Updates for query API change.
18529         Added some docs here and there.
18530
18531 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18532
18533         * check/gst/gstbin.c: (GST_START_TEST):
18534         * check/gst/gstghostpad.c: (GST_START_TEST):
18535         * check/pipelines/cleanup.c: (GST_START_TEST):
18536           wait on thread to die so we can check refcount correctly
18537
18538 2005-10-18  Wim Taymans  <wim@fluendo.com>
18539
18540         * check/pipelines/stress.c: (GST_START_TEST):
18541         Make check a little more time consuming.
18542
18543 2005-10-18  Wim Taymans  <wim@fluendo.com>
18544
18545         * check/Makefile.am:
18546         * check/pipelines/stress.c: (GST_START_TEST),
18547         (simple_launch_lines_suite), (main):
18548         Small state change torture test.
18549
18550         * docs/design/part-states.txt:
18551         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18552         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18553         (gst_base_sink_change_state):
18554         Never take state lock from streaming thread, clean up ugly
18555         hacks. Unfortunatly core does not yet support nice ways to
18556         async commit state.
18557         
18558         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18559         (bin_bus_handler):
18560         Start state recalc if a STATE_DIRTY message is posted, but only
18561         on the toplevel bin.
18562
18563         * gst/gstelement.c: (gst_element_sync_state_with_parent),
18564         (gst_element_get_state_func), (gst_element_abort_state),
18565         (gst_element_commit_state), (gst_element_lost_state),
18566         (gst_element_set_state_func), (gst_element_change_state):
18567         * gst/gstelement.h:
18568         State variables are now protected with the LOCK, the state
18569         lock is only used to serialize _set_state().
18570
18571 2005-10-18  Wim Taymans  <wim@fluendo.com>
18572
18573         * check/gst/gstbin.c: (GST_START_TEST):
18574         * check/gst/gstmessage.c: (GST_START_TEST):
18575         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18576         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18577         (bin_bus_handler):
18578         * gst/gstelement.c: (gst_element_abort_state),
18579         (gst_element_commit_state), (gst_element_lost_state):
18580         * gst/gstmessage.c: (gst_message_new_state_changed),
18581         (gst_message_new_state_dirty), (gst_message_new_segment_start),
18582         (gst_message_new_segment_done), (gst_message_new_duration),
18583         (gst_message_parse_state_changed),
18584         (gst_message_parse_segment_start),
18585         (gst_message_parse_segment_done), (gst_message_parse_duration):
18586         * gst/gstmessage.h:
18587         * tools/gst-launch.c: (event_loop):
18588         Seriously, this is better than a previous commit as we only need
18589         to notify the fact that an element changed state in a streaming
18590         thread, marking the state of the parents dirty, hence the 
18591         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18592         message.
18593
18594 2005-10-18  Wim Taymans  <wim@fluendo.com>
18595
18596         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18597         (gst_bin_recalc_func):
18598         * gst/gstelement.c: (gst_element_set_clock),
18599         (gst_element_abort_state), (gst_element_lost_state):
18600         Cleanups, prepare for state change fixes.
18601
18602 2005-10-18  Wim Taymans  <wim@fluendo.com>
18603
18604         * gst/gstbin.h:
18605         * gst/gstelement.c: (gst_element_class_init),
18606         (gst_element_set_state), (gst_element_set_state_func):
18607         * gst/gstelement.h:
18608         Pending ABI changes.
18609         GThreadPool in GstBinClass to monitor async state changes.
18610         state_cookie in GstElement to detect concurrent gst/set state.
18611         set_state is now virtual too in case a very complicated element
18612         has to be constructed.
18613
18614 2005-10-18  Wim Taymans  <wim@fluendo.com>
18615
18616         * check/gst/gstbin.c: (GST_START_TEST):
18617         * check/gst/gstmessage.c: (GST_START_TEST):
18618         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18619         * gst/gstbin.c: (bin_bus_handler):
18620         * gst/gstelement.c: (gst_element_commit_state),
18621         (gst_element_lost_state):
18622         * gst/gstmessage.c: (gst_message_new_state_changed),
18623         (gst_message_new_segment_start), (gst_message_new_segment_done),
18624         (gst_message_new_duration), (gst_message_parse_state_changed),
18625         (gst_message_parse_segment_start),
18626         (gst_message_parse_segment_done), (gst_message_parse_duration):
18627         * gst/gstmessage.h:
18628         * tools/gst-launch.c: (event_loop):
18629         Make messages future proof.
18630         state-change gets a flag if it was a message comming from the
18631         streaming thread.
18632         segment-start/stop can also be specified in other formats.
18633         A message to notify an app that a pipeline changed playback 
18634         duration.
18635         Also fix a GstMessage leak in -launch
18636
18637 2005-10-18  Andy Wingo  <wingo@pobox.com>
18638
18639         * gst/gstelement.c (gst_element_dispose): More helpful message.
18640
18641 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18642
18643         reviewed by: <delete if not using a buddy>
18644
18645         * common/gtk-doc.mak:
18646
18647 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18648
18649         * gst/gstregistry.c: (gst_registry_scan_path_level):
18650           unref a plug-in we get that was already initialized
18651
18652 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
18653
18654         * docs/gst/gstreamer-sections.txt:
18655         * docs/libs/gstreamer-libs-sections.txt:
18656         * gst/gstelement.h:
18657           add new api entries
18658           hide internal macro
18659
18660 2005-10-17  Andy Wingo  <wingo@pobox.com>
18661
18662         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
18663         cleanup.
18664
18665         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
18666
18667         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
18668
18669         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
18670         (gst_element_get_state_func): Better debug message.
18671         (gst_element_commit_state): s/INFO/DEBUG/.
18672         (gst_element_lost_state, gst_element_change_state): 
18673
18674         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
18675         (gst_message_new_custom): s/INFO/LOG/.
18676
18677 2005-10-17  Michael Smith <msmith@fluendo.com>
18678
18679         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18680           Check if end time is valid using end time, not start time.
18681
18682 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
18683
18684         * check/gst-libs/controller.c: (GST_START_TEST),
18685         (gst_controller_suite):
18686         * libs/gst/controller/gstcontroller.c:
18687         (gst_controlled_property_set_interpolation_mode):
18688         * libs/gst/controller/gstcontroller.h:
18689         * libs/gst/controller/gstinterpolation.c:
18690         * testsuite/controller/.cvsignore:
18691         * testsuite/controller/Makefile.am:
18692         * testsuite/controller/interpolator.c:
18693           merge controller testsuites
18694           fix broken tests
18695           remove mem-chunk from docs
18696
18697 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18698
18699         * gst/gstmemchunk.c:
18700         * gst/gstmemchunk.h:
18701         * gst/gsttrashstack.c:
18702         * gst/gsttrashstack.h:
18703           out.  get out.  you're fired.  to the Attic !
18704
18705 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18706
18707         * gst/gstcaps.c: (gst_caps_intersect):
18708           fix signedness issues in a (hopefully) correct way
18709         * gst/gstelement.c: (gst_element_pads_activate):
18710           some debugging
18711         * gst/gstobject.c: (gst_object_set_parent):
18712           some debugging
18713
18714 2005-10-17  Julien MOUTTE  <julien@moutte.net>
18715
18716         * gst/gstvalue.h: Fix prototypes.
18717
18718 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18719
18720         * docs/gst/gstreamer-sections.txt:
18721         * gst/gst.c: (gst_version_string):
18722         * gst/gst.h:
18723         * gst/gstversion.h.in:
18724         * win32/common/libgstreamer.def:
18725           add gst_version_string ()
18726
18727 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18728
18729         * configure.ac:
18730           clean up further
18731         * gst/gst.c: (init_post):
18732         * win32/common/config.h.in:
18733           it's PLUGINDIR now
18734         * gst/gstcaps.c: (gst_caps_intersect):
18735           use gint64, the range could be bigger than a guint
18736
18737 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18738
18739         * gst/gstclock.h:
18740           document potential problem in 2038
18741
18742 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18743
18744         * gst/gstcaps.c: (gst_caps_intersect):
18745           Fix guint j diving under 0
18746
18747 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18748
18749         * configure.ac:
18750         * win32/common/config.h:
18751         * win32/common/config.h.in:
18752           check for process.h, declares getpid() on Windows
18753         * gst/gstinfo.c:
18754           include process.h if we have it
18755         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
18756         * gst/gstmemchunk.h:
18757           fix signedness issues
18758         * win32/common/libgstreamer.def:
18759           fix get_type's
18760
18761 2005-10-16  Julien MOUTTE  <julien@moutte.net>
18762
18763         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
18764         fix. Because of unsigned ints, caps intersection was going nuts and
18765         trying to access structures with G_MAXUINT index. That fixes
18766         videotestsrc ! ffmpegcolorspace ! fakesink
18767         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
18768         consistency.
18769
18770 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18771
18772         * configure.ac:
18773           use the gettext macro
18774         * gst/elements/gstelements.c:
18775         * gst/gst.c:
18776         * gst/indexers/gstindexers.c:
18777           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
18778         * win32/common/config.h:
18779           updated config.h
18780         * win32/common/config.h.in:
18781           add the template to generate config.h
18782         * win32/common/gstenumtypes.c:
18783         * win32/common/gstversion.h:
18784           updated copies
18785
18786 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18787
18788         * gst/gst.c: (gst_version):
18789         * gst/gstversion.h.in:
18790           add the nano
18791
18792 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18793
18794         * gst/gstevent.h:
18795           Oops, add missing closing bracket.
18796
18797 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18798
18799         * configure.ac:
18800           use common m4's for argument checking
18801
18802 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18803
18804         * docs/gst/gstreamer-sections.txt:
18805         * gst/gstevent.h:
18806           Add GST_EVENT_TYPE_NAME() macro.
18807
18808 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18809
18810         * gst/gstinfo.c:
18811         * gst/gstpluginfeature.c:
18812         * gst/gsttask.c:
18813           privatize more symbols
18814
18815 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18816
18817         * configure.ac:
18818           add srcdir, builddir includes to GST_ALL_CFLAGS, since
18819           everything that uses GStreamer API should have the includes
18820
18821 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18822
18823         * docs/gst/gstreamer-sections.txt:
18824         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
18825         * gst/gstvalue.h:
18826           give each value a _get_type, removes the DATA exports
18827
18828 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18829
18830         * gst/gst.c:
18831         * gst/gst.h:
18832           remove _gst_registry_auto_load, not used anymore
18833         * gst/gstbin.c: (gst_bin_get_type):
18834         * gst/gstbin.h:
18835         * gst/gstelement.c: (gst_element_get_type):
18836         * gst/gstelement.h:
18837         * gst/gstobject.c: (gst_object_get_type):
18838         * gst/gstobject.h:
18839         * gst/gstpad.c: (gst_pad_get_type):
18840         * gst/gstpad.h:
18841           make _get_type functions similar, fixes data export from library
18842
18843 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18844
18845         * configure.ac:
18846           correctly make conditionals
18847         * gst/elements/Makefile.am:
18848         * gst/elements/gstelements.c:
18849           fix typo causing fdsrc not to build
18850
18851 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18852
18853         * testsuite/Makefile.am:
18854         * testsuite/bytestream/.cvsignore:
18855         * testsuite/bytestream/Makefile.am:
18856         * testsuite/bytestream/filepadsink.c:
18857         * testsuite/bytestream/gstbstest.c:
18858         * testsuite/bytestream/test1.c:
18859         * testsuite/bytestream/testfile1:
18860         * testsuite/caps/normalisation.c:
18861         * testsuite/caps/random.c: (main):
18862         * testsuite/cleanup/.cvsignore:
18863         * testsuite/cleanup/Makefile.am:
18864         * testsuite/cleanup/cleanup1.c:
18865         * testsuite/cleanup/cleanup2.c:
18866         * testsuite/cleanup/cleanup3.c:
18867         * testsuite/cleanup/cleanup4.c:
18868         * testsuite/cleanup/cleanup5.c:
18869         * testsuite/controller/interpolator.c:
18870         * testsuite/debug/printf_extension.c: (main):
18871         * testsuite/elements/tee.c:
18872         * testsuite/negotiation/.cvsignore:
18873         * testsuite/negotiation/Makefile.am:
18874         * testsuite/negotiation/pad_link.c:
18875         * testsuite/pad/Makefile.am:
18876         * testsuite/pad/chainnopull.c:
18877         * testsuite/pad/getnopush.c:
18878         * testsuite/pad/link.c:
18879         * testsuite/refcounting/sched.c: (create_pipeline):
18880         * testsuite/registry/Makefile.am:
18881         * testsuite/registry/gst-print-formats.c:
18882         * testsuite/schedulers/.cvsignore:
18883         * testsuite/schedulers/142183-2.c:
18884         * testsuite/schedulers/142183.c:
18885         * testsuite/schedulers/143777-2.c:
18886         * testsuite/schedulers/143777.c:
18887         * testsuite/schedulers/147713.c:
18888         * testsuite/schedulers/147819.c:
18889         * testsuite/schedulers/147894-2.c:
18890         * testsuite/schedulers/147894.c:
18891         * testsuite/schedulers/Makefile.am:
18892         * testsuite/schedulers/group_link.c:
18893         * testsuite/schedulers/queue_link.c:
18894         * testsuite/schedulers/relink.c:
18895         * testsuite/schedulers/unlink.c:
18896         * testsuite/schedulers/unref.c:
18897         * testsuite/schedulers/useless_iteration.c:
18898         * testsuite/states/bin.c:
18899           clean out/remove some stuff from the testsuite directories
18900
18901 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18902
18903         * configure.ac:
18904           check for some headers
18905         * gst/elements/Makefile.am:
18906         * gst/elements/gstelements.c:
18907           don't compile fdsrc without sys/socket.h
18908         * gst/indexers/Makefile.am:
18909         * gst/indexers/gstindexers.c: (plugin_init):
18910           don't compile fileindex without mmap
18911
18912 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18913
18914         * configure.ac:
18915           reorganize
18916           clean up
18917           document more
18918           remove cruft
18919         * check/Makefile.am:
18920         * docs/gst/Makefile.am:
18921         * examples/helloworld/Makefile.am:
18922         * gst/Makefile.am:
18923         * gst/base/Makefile.am:
18924         * gst/check/Makefile.am:
18925         * gst/elements/Makefile.am:
18926         * gst/indexers/Makefile.am:
18927         * gst/parse/Makefile.am:
18928         * libs/gst/controller/Makefile.am:
18929         * libs/gst/dataprotocol/Makefile.am:
18930         * examples/helloworld/helloworld.c: (event_loop):
18931           compile fixes, though it's not being compiled currently
18932
18933 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18934
18935         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
18936           Add some simple tests for the new taglist date API.
18937
18938 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18939
18940         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
18941         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
18942           Beautify 'last-message' output: print 'none' for buffer timestamps
18943           and durations if none is set; improve alignment with next messages.
18944
18945 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18946
18947         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
18948         * gst/gstpluginfeature.h:
18949         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
18950         * gst/gstregistry.h:
18951         * docs/gst/gstreamer-sections.txt:
18952           Add new API to check plugin feature version requirements.
18953
18954         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
18955           Some basic tests for the above.         
18956
18957 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18958
18959         * gst/gststructure.c: (gst_structure_to_string):
18960           guard against NULL printf - happens when for example
18961           a message structure with GstClock gets serialized
18962
18963 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
18964
18965         * gst/base/gstcollectpads.c: (gst_collectpads_event):
18966           Fix presumable copy'n'pasto.
18967
18968 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18969
18970         * gst/elements/gstfakesrc.h:
18971         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
18972         * gst/elements/gsttypefindelement.c:
18973           fix some signedness
18974         * gst/elements/gstfilesink.c: (gst_file_sink_render):
18975           I wonder if this could actually write +2GB files before
18976
18977 2005-10-13  Andy Wingo  <wingo@pobox.com>
18978
18979         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
18980         Fix Timmeke Waymans bug.
18981         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
18982         string of the proper length to gst_caps_from_string. There's a
18983         potential for, before this fix, that this could cause someone
18984         connecting over the network to cause a segfault if the payload is
18985         not NUL-terminated.
18986
18987 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
18988
18989         * docs/design/draft-push-pull.txt:
18990         * docs/design/part-overview.txt:
18991         * docs/random/TODO-pre-0.9:
18992         * docs/random/old/ChangeLog.gstreamer:
18993         * gst/base/gstpushsrc.c:
18994         * gst/gstclock.c:
18995           fixed typos
18996
18997 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18998
18999         * gst/glib-compat.c: (gst_flags_get_first_value):
19000         * gst/glib-compat.h:
19001         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
19002         (gst_value_compare_double), (gst_value_serialize_flags):
19003           GLib 2.6 g_flags_get_first_value has a bug that triggers an
19004           infinite loop
19005
19006 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19007
19008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19009         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19010           fix up debugging
19011         * tools/gst-launch.c: (event_loop):
19012           print out clock nicely
19013
19014 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19015
19016         * docs/gst/gstreamer-sections.txt:
19017         * gst/gsttaglist.h:
19018         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
19019         (gst_tag_list_get_date_index):
19020           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
19021           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
19022
19023 2005-10-13  Julien MOUTTE  <julien@moutte.net>
19024
19025         * gst/base/gstcollectpads.c: (gst_collectpads_event),
19026         (gst_collectpads_chain):
19027         * gst/base/gstcollectpads.h: Handle newsegment and store informations
19028         in CollectData.
19029
19030 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19031
19032         * docs/gst/gstreamer-sections.txt:
19033         * gst/gst.c:
19034         * gst/gsterror.h:
19035         * tools/gst-inspect.c: (main):
19036         * tools/gst-launch.c: (main):
19037         * tools/gst-run.c: (main):
19038         * tools/gst-xmlinspect.c: (main):
19039           fix GOption context leaks
19040           doc fixes
19041
19042 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19043
19044         * gst/gstbus.c:
19045           use HAVE_UNISTD_H
19046         * win32/common/config.h:
19047           update config
19048         * win32/vs6/grammar.dsp:
19049         * win32/vs6/libgstelements.dsp:
19050         * win32/vs6/libgstreamer.dsp:
19051           update vs6 files
19052
19053 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19054
19055         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19056         * gst/base/gstbasesrc.c: (gst_base_src_query):
19057           fix more guint64<->gdouble conversions
19058
19059 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19060
19061         * Makefile.am:
19062           add win32-update target
19063         * win32/common/gstconfig.h:
19064         * win32/common/gstenumtypes.c:
19065         * win32/common/gstenumtypes.h:
19066         * win32/common/gstversion.h:
19067           add files that visual studio can't generate
19068
19069 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19070
19071         * Makefile.am:
19072           add a win32-update target
19073         * configure.ac:
19074
19075 2005-10-12  Wim Taymans  <wim@fluendo.com>
19076
19077         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19078         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
19079         * gst/gstelement.c: (gst_element_commit_state),
19080         (gst_element_set_state):
19081         Protect flags with proper lock.
19082         unref provided cached clock in dispose.
19083
19084 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19085
19086         * gst/gst.c:
19087         * gst/gstminiobject.h:
19088         * gst/gstpad.h:
19089         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
19090           removed unused flags from miniobject
19091           doc fixes
19092
19093 2005-10-12  Wim Taymans  <wim@fluendo.com>
19094
19095         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19096         (gst_file_sink_event), (gst_file_sink_render):
19097         Flush before seeking.
19098
19099 2005-10-12  Andy Wingo  <wingo@pobox.com>
19100
19101         * gst/gst.c (gst_init_check): Ignore unknown options, as has
19102         always been the case.
19103
19104 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19105
19106         * check/gst/gstbin.c: (GST_START_TEST):
19107         * docs/gst/gstreamer-sections.txt:
19108         * gst/base/gstbasesink.c: (gst_base_sink_init):
19109         * gst/base/gstbasesrc.c: (gst_base_src_init),
19110         (gst_base_src_get_range), (gst_base_src_check_get_range),
19111         (gst_base_src_start), (gst_base_src_stop):
19112         * gst/base/gstbasesrc.h:
19113         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
19114         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19115         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
19116         (bin_bus_handler):
19117         * gst/gstbin.h:
19118         * gst/gstbuffer.h:
19119         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
19120         * gst/gstbus.h:
19121         * gst/gstelement.c: (gst_element_is_locked_state),
19122         (gst_element_set_locked_state), (gst_element_commit_state),
19123         (gst_element_set_state):
19124         * gst/gstelement.h:
19125         * gst/gstindex.c: (gst_index_init):
19126         * gst/gstindex.h:
19127         * gst/gstminiobject.h:
19128         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
19129         (gst_object_set_parent):
19130         * gst/gstobject.h:
19131         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
19132         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
19133         * gst/gstpad.h:
19134         * gst/gstpadtemplate.h:
19135         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
19136         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
19137         * gst/gstpipeline.h:
19138         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19139         (gst_file_index_commit):
19140         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
19141         * testsuite/pad/link.c: (gst_test_src_init),
19142         (gst_test_filter_init), (gst_test_sink_init):
19143         * testsuite/states/locked.c: (main):
19144           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
19145           moved bitshift from macro to enum definition
19146
19147 2005-10-12  Wim Taymans  <wim@fluendo.com>
19148
19149         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
19150         * gst/elements/gstfilesink.c: (gst_file_sink_event),
19151         (gst_file_sink_render):
19152         Some more debugging info.
19153
19154 2005-10-12  Wim Taymans  <wim@fluendo.com>
19155
19156         * docs/design/part-states.txt:
19157         * tools/gst-launch.c: (main):
19158         Some doc updates.
19159         Revert non-intentional change.
19160
19161 2005-10-12  Wim Taymans  <wim@fluendo.com>
19162
19163         * check/gst/gstbin.c: (GST_START_TEST):
19164         * check/gst/gstelement.c: (GST_START_TEST):
19165         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
19166         * check/gst/gstghostpad.c: (GST_START_TEST):
19167         * check/gst/gstpipeline.c: (GST_START_TEST):
19168         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19169         * check/states/sinks.c: (GST_START_TEST):
19170         * gst/elements/gsttypefindelement.c: (stop_typefinding):
19171         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19172         (gst_bin_remove_func), (gst_bin_get_state_func),
19173         (gst_bin_recalc_state), (gst_bin_change_state_func),
19174         (bin_bus_handler):
19175         * gst/gstelement.c: (gst_element_get_state_func),
19176         (gst_element_get_state), (gst_element_abort_state),
19177         (gst_element_commit_state), (gst_element_set_state),
19178         (gst_element_change_state), (gst_element_change_state_func):
19179         * gst/gstelement.h:
19180         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
19181         (gst_pipeline_provide_clock_func):
19182         * gst/gstutils.c: (gst_element_link_pads_filtered):
19183         * tools/gst-launch.c: (main):
19184         * tools/gst-typefind.c: (main):
19185         Use GstClockTime in _get_state() instead of GTimeVal.
19186         Remove old code in gstutils.c
19187
19188 2005-10-12  Andy Wingo  <wingo@pobox.com>
19189
19190         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
19191         removed.
19192
19193         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
19194         there is no task. Shouldn't affect any code, as nothing in our
19195         plugins checks this return value.
19196         (gst_pad_stop_task): Also take the stream lock if the pad has no
19197         task. Docs updated.
19198
19199 2005-10-12  Wim Taymans  <wim@fluendo.com>
19200
19201         * gst/gstpad.c: (pre_activate), (post_activate),
19202         (gst_pad_activate_pull), (gst_pad_activate_push):
19203         Cleanup activation code. Reset old state if
19204         activation failed.
19205
19206 2005-10-12  Wim Taymans  <wim@fluendo.com>
19207
19208         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19209         (gst_base_sink_change_state):
19210         No need to prerol after receiving EOS.
19211
19212         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19213         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
19214         * gst/elements/gstidentity.c: (gst_identity_event):
19215         Print events more verbosely.
19216
19217 2005-10-12  Wim Taymans  <wim@fluendo.com>
19218
19219         * check/Makefile.am:
19220         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19221         * check/states/sinks2.c:
19222         Moved sinks2 testcode in sinks check.
19223
19224         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19225         (gst_bin_remove_func), (gst_bin_recalc_state),
19226         (gst_bin_change_state_func), (bin_bus_handler):
19227         Fix potential race condition when _get_state() iterated over an
19228         ASYNC element right before it posted a state completion.
19229
19230         * gst/gstclock.h:
19231         Do proper cast here.
19232
19233         * gst/gstevent.c: (gst_event_new_newsegment),
19234         (gst_event_parse_newsegment):
19235         A playback rate of 0.0 is not allowed.
19236
19237 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19238
19239         * win32/common/config.h:
19240         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
19241         (_trewinddir), (_ttelldir), (_tseekdir):
19242         * win32/common/dirent.h:
19243         * win32/common/gtchar.h:
19244         * win32/common/libgstbase.def:
19245         * win32/common/libgstreamer.def:
19246         * win32/vs6/grammar.dsp:
19247         * win32/vs6/gst_inspect.dsp:
19248         * win32/vs6/gst_launch.dsp:
19249         * win32/vs6/gstreamer.dsw:
19250         * win32/vs6/libgstbase.dsp:
19251         * win32/vs6/libgstelements.dsp:
19252         * win32/vs6/libgstreamer.dsp:
19253           Visual Studio 6 project files, and a new common directory.
19254           Phear.
19255
19256 2005-10-11  Wim Taymans  <wim@fluendo.com>
19257
19258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19259         (gst_base_sink_do_sync), (gst_base_sink_query),
19260         (gst_base_sink_change_state):
19261         * gst/base/gstbasesink.h:
19262         Correctly parse newsegment info.
19263
19264 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19265
19266         * gst/gst.c: (init_post):
19267           split plugin paths correctly
19268
19269 2005-10-11  Wim Taymans  <wim@fluendo.com>
19270
19271         * check/gst/gstevent.c: (GST_START_TEST):
19272         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19273         (gst_base_sink_change_state):
19274         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
19275         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19276         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19277         * gst/gstevent.c: (gst_event_new_newsegment),
19278         (gst_event_parse_newsegment):
19279         * gst/gstevent.h:
19280         Added extra flag to newsegment for future API freeze.
19281         Updated check and base elements.
19282
19283 2005-10-11  Julien MOUTTE  <julien@moutte.net>
19284
19285         * gst/base/gstcollectpads.c: (gst_collectpads_init),
19286         (gst_collectpads_add_pad), (gst_collectpads_pop),
19287         (gst_collectpads_event), (gst_collectpads_chain):
19288         * gst/base/gstcollectpads.h: Handle EOS correctly.
19289
19290 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19291
19292         * tools/gst-launch.c: (main):
19293           more null protecting
19294
19295 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19296
19297         * gst/gst-i18n-lib.h:
19298           check for ENABLE_NLS, not GETTEXT_PACKAGE
19299         * gst/gstregistry.c: (gst_registry_add_plugin),
19300         (gst_registry_scan_path_level),
19301         (_gst_registry_remove_cache_plugins):
19302           protect possibly NULL strings
19303         * gst/parse/types.h:
19304           config.h already included before
19305         * tools/gst-inspect.c: (main):
19306           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
19307           check for ENABLE_NLS, not GETTEXT_PACKAGE
19308         * tools/gst-launch.c: (main):
19309           check for ENABLE_NLS, not GETTEXT_PACKAGE
19310
19311 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19312
19313         * configure.ac:
19314           if we don't have glib, fail before testing 2.8
19315         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
19316           fix a leak, should fix plugins-base testsuite
19317
19318 2005-10-11  Andy Wingo  <wingo@pobox.com>
19319
19320         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
19321         take the mode we're going to as an arg. Go head and set the mode
19322         and flushing flags now, so that if the activate function starts a
19323         thread all the flags will be in the right state.
19324         (post_activate): Renamed also. Just handle making sure streaming
19325         finishes for the deactivation case, and setting the deactivated
19326         mode.
19327         (gst_pad_set_active): Complain loudly if deactivation fails.
19328         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
19329         (gst_pad_activate_push): Adapt to pre/post_activate changes,
19330         remove the terrible hack.
19331
19332 2005-10-11  Wim Taymans  <wim@fluendo.com>
19333
19334         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19335         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
19336         (gst_bin_recalc_state), (gst_bin_change_state_func),
19337         (gst_bin_dispose), (bin_bus_handler):
19338         * gst/gstbin.h:
19339         Prepare to make current EOS message queue more generic.
19340         Fix some typos.
19341
19342         * gst/gstevent.c: (gst_event_new_newsegment),
19343         (gst_event_parse_newsegment):
19344         * gst/gstevent.h:
19345         Rename base to stream_time.
19346
19347         * gst/gstmessage.h:
19348         Fix typo in docs.
19349
19350 2005-10-11  Wim Taymans  <wim@fluendo.com>
19351
19352         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19353         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
19354         (gst_bin_change_state_func), (bin_bus_handler):
19355         * gst/gstbin.h:
19356         Work on proper clock selection.
19357
19358 2005-10-11  Edward Hervey  <edward@fluendo.com>
19359
19360         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
19361         * libs/gst/controller/gstcontroller.h:
19362         Added GList* version of _remove_properties() in order to be able to wrap
19363         it in bindings.
19364
19365 2005-10-11  Wim Taymans  <wim@fluendo.com>
19366
19367         * docs/design/part-states.txt:
19368         Some more docs.
19369
19370         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
19371         (gst_bin_change_state_func), (bin_bus_handler):
19372         Doc updates. Don't distribute the same clock over and over again.
19373
19374         * gst/gstclock.c:
19375         * gst/gstclock.h:
19376         Doc updates.
19377
19378         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19379         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19380         (gst_pad_send_event):
19381         * gst/gstpad.h:
19382         Make probe emission threadsafe again.
19383         Register quarks and move _get_name() from utils.
19384         Doc updates.
19385
19386         * gst/gstpipeline.c: (gst_pipeline_class_init),
19387         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19388         Only redistribute the clock of it changed.
19389
19390         * gst/gstsystemclock.h:
19391         Doc updates. 
19392
19393         * gst/gstutils.c:
19394         * gst/gstutils.h:
19395         Moved the _flow_get_name() to GstPad.
19396
19397 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19398
19399         * check/gst-libs/gdp.c: (GST_START_TEST):
19400         * check/gst/gstcaps.c: (GST_START_TEST):
19401         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19402         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19403         (gst_dp_packet_from_caps):
19404           fix more valgrind warnings before turning up the heat
19405
19406 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19407
19408         * gst/parse/grammar.y:
19409           some cleanup before the hacking
19410
19411 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19412
19413         * gst/base/gstbasesrc.c: (gst_base_src_query):
19414           use conversions
19415         * gst/gstutils.c: (gst_guint64_to_gdouble),
19416         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19417         * gst/gstutils.h:
19418           externalize, basesrc uses it
19419           obviously the implementation needs testing
19420
19421 2005-10-10  Wim Taymans  <wim@fluendo.com>
19422
19423         * tests/sched/Makefile.am:
19424         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19425         (make_pipeline3), (make_pipeline4), (print_elem), (main):
19426
19427 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19428
19429         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19430           apparently converting from guint64 to double is not implemented
19431           on MSVC
19432
19433 2005-10-10  Wim Taymans  <wim@fluendo.com>
19434
19435         * check/Makefile.am:
19436         * check/generic/states.c: (GST_START_TEST):
19437         * check/gst/gstbin.c: (GST_START_TEST):
19438         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19439         * check/states/sinks.c: (GST_START_TEST):
19440         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19441         (main):
19442         Check fixes, use API as stated in design docs, remove hacks.
19443
19444         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19445         (gst_base_sink_change_state):
19446         Catch stopping our task while we're shutting down.
19447
19448         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19449         (gst_bin_remove_func), (gst_bin_get_state_func),
19450         (gst_bin_recalc_state), (gst_bin_change_state_func),
19451         (bin_bus_handler):
19452         * gst/gstbin.h:
19453         * gst/gstelement.c: (gst_element_init),
19454         (gst_element_get_state_func), (gst_element_abort_state),
19455         (gst_element_commit_state), (gst_element_lost_state),
19456         (gst_element_set_state), (gst_element_change_state),
19457         (gst_element_change_state_func):
19458         * gst/gstelement.h:
19459         New state change algorithm (see #318116)
19460
19461         * gst/gstpipeline.c: (gst_pipeline_class_init),
19462         (gst_pipeline_init), (gst_pipeline_set_property),
19463         (gst_pipeline_get_property), (do_pipeline_seek),
19464         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19465         * gst/gstpipeline.h:
19466         Remove crude state change hacks.
19467
19468         * gst/gstutils.h:
19469         Remove crude hacks.
19470
19471         * tools/gst-launch.c: (main):
19472         Fixes for state change. Needs some more work to fully use the
19473         new stuff.
19474
19475 2005-10-10  Andy Wingo  <wingo@pobox.com>
19476
19477         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19478
19479         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19480         this flag, but it's not even in GLib 2.6. Odd. Hack around the
19481         issue.
19482
19483 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19484
19485         * gst/gstiterator.c: (gst_iterator_new):
19486           Fix my previous commit: GTypes passed to gst_iterator_new()
19487           can be fundamental types.
19488
19489 2005-10-10  Wim Taymans  <wim@fluendo.com>
19490
19491         * gst/gstelement.c: (gst_element_iterate_pad_list),
19492         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19493         (gst_element_iterate_sink_pads):
19494         Use src/sink pads lists for the respective iterators instead
19495         of filtering.
19496
19497 2005-10-10  Andy Wingo  <wingo@pobox.com>
19498
19499         Merged in popt removal + GOption addition patch from Ronald, bug
19500         #169772.
19501
19502         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19503         GstElement macros around, remove popt-related symbols, add goption
19504         stuff.
19505
19506         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19507         
19508         * docs/gst/Makefile.am:
19509         * docs/libs/Makefile.am: No POPT_CFLAGS.
19510         
19511         * examples/manual/Makefile.am:
19512         * docs/manual/basics-init.xml: Doc updates with an example.
19513         
19514         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19515         (gst_init), (parse_one_option), (parse_goption_arg):
19516         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19517         bit of hand merging and debugging to get the GOption stuff working
19518         tho.
19519         
19520         * tests/Makefile.am:
19521         * tools/Makefile.am:
19522         * tools/gst-inspect.c: (main):
19523         * tools/gst-launch.c: (main):
19524         * tools/gst-run.c: (main):
19525         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19526
19527 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19528
19529         * gst/gstiterator.c: (gst_iterator_new):
19530           Add assertions to make sure passed GType is likely to really
19531           be a GType (as the compiler won't catch it if the size and
19532           GType arguments get mixed up, see #318447).
19533
19534 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
19535
19536         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19537
19538         * gst/gstbin.c: (gst_bin_iterate_sorted):
19539           Pass GType and size arguments to gst_iterator_new() in the right
19540           order (maybe we should make _new() take the GType as first argument
19541           just like _new_list()?) (#318447).
19542           
19543
19544 2005-10-10  Wim Taymans  <wim@fluendo.com>
19545
19546         * gst/gstelement.c: (gst_element_finalize):
19547         And free the GStaticRecMutex too
19548
19549 2005-10-10  Andy Wingo  <wingo@pobox.com>
19550
19551         * gst/gstelement.c (gst_element_init, gst_element_finalize):
19552         Allocate and free the mutex properly.
19553
19554         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19555         New macros.
19556         (GstElement): The state_lock is now recursive. Rebuild your
19557         plugins, suckers. Old macros adapted.
19558
19559         * docs/gst/gstreamer-sections.txt: Doc updates.
19560
19561         * gst/gstutils.h:
19562         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
19563         (g_static_rec_cond_wait): Ported from state changes patch, while
19564         we wait on bug #317802 to be solved in a well-distributed GLib.
19565
19566         * gst/gstelement.c (gst_element_change_state_func): Renamed from
19567         gst_element_change_state, variable name changes.
19568         (gst_element_change_state): Split out of gst_element_set_state in
19569         preparation for the state change merge. Doesn't pay attention to
19570         the 'transition' argument.
19571         (gst_element_set_state): Updates, hopefully purely cosmetic.
19572         (gst_element_sync_state_with_parent): MT-safety. Ported from the
19573         state change patch.
19574         (gst_element_get_state_func): Renamed from get_state, cosmetic
19575         changes.
19576
19577 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19578
19579         * gst/elements/gstelements.c:
19580         * win32/GStreamer.vcproj:
19581         * win32/config.h:
19582         * win32/dirent.c: (_tseekdir):
19583         * win32/gst-inspect.vcproj:
19584         * win32/gst-launch.vcproj:
19585         * win32/gstconfig.h:
19586         * win32/gstelements.vcproj:
19587         * win32/gstenumtypes.c: (gst_object_flags_get_type):
19588         * win32/gstreamer.def:
19589         * win32/msvc71.sln:
19590           updates for the win32 build (patch from Sebastien Moutte)
19591
19592 2005-10-10  Andy Wingo  <wingo@pobox.com>
19593
19594         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19595         gst_bin_get_state, cleaned up (but no logic changes).
19596         (bin_element_is_sink): Comment updates.
19597         (sink_iterator_filter): Remove needless cast.
19598         (gst_bin_iterate_sinks): Doc update.
19599         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19600         cleaned up (but no logic changes).
19601
19602         * check/states/sinks.c (test_src_sink): Cleanups from the state
19603         change patch.
19604         (test_livesrc_sink): Sync on the state.
19605
19606         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19607         the state change patch.
19608
19609         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19610         change patch.
19611
19612         * check/gst/gstbin.c: Merge in some style fixes and additional
19613         checks from Wim's state change patch.
19614
19615 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19616
19617         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19618         (gst_type_find_helper):
19619           Check whether we have the requested data already in our list of
19620           cached buffers before pulling a new buffer; also make the buffer
19621           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19622
19623 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19624
19625         * gst/gstcaps.c:
19626         * gst/gstevent.c:
19627           doc updates
19628         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19629           don't use long long, it's not portable.  Replacing with
19630           gint64 seems to work; let's hope no skeletons fall out of the closet.
19631
19632 2005-10-10  Andy Wingo  <wingo@pobox.com>
19633
19634         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19635
19636 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
19637
19638         * docs/gst/gstreamer-sections.txt:
19639         * gst/gstevent.c:
19640         * gst/gstevent.h:
19641         * gst/gstinfo.c:
19642         * gst/gstinfo.h:
19643         * gst/gstmessage.c: (gst_message_parse_state_changed):
19644         * gst/gstpad.c:
19645         * gst/gstpad.h:
19646           more docs, fix compilation
19647
19648 2005-10-09  Philippe Khalaf <burger@speedy.org>
19649         * gst/gstmessage.c:
19650           Fixed a few forgotten variables on previous commit
19651
19652 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
19653
19654         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19655           Fix evil typefind crasher: getrange() might return a short
19656           buffer at the end of a file, but gst_type_find_peek() must
19657           either return the full data as requested or NULL, but
19658           never a short buffer.
19659
19660 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19661
19662         * gst/gstmessage.c: (gst_message_new_state_changed),
19663         (gst_message_parse_state_changed):
19664         * gst/gstmessage.h:
19665           don't use "new", it's a C++ keyword
19666
19667 2005-10-08  Wim Taymans  <wim@fluendo.com>
19668
19669         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
19670         * gst/gstelement.c: (gst_element_post_message):
19671         * gst/gstpipeline.c: (gst_pipeline_change_state):
19672         Small docs and debug updates.
19673
19674 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19675
19676         * docs/gst/gstreamer-sections.txt:
19677         * gst/gstelementfactory.c:
19678         * gst/gstevent.c:
19679         * gst/gsttaglist.c:
19680           more docs
19681
19682 2005-10-08  Wim Taymans  <wim@fluendo.com>
19683
19684         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
19685         (gst_bin_dispose), (bin_bus_handler):
19686         Fix typos, add comments.
19687         Clear EOS list when going to PAUSED from any direction and do it
19688         in a threadsafe way.
19689         Get base time in a threadsafe way too.
19690         Fix confusing debug in the change_state function.
19691         Various other small cleanups.
19692         
19693         * gst/gstelement.c: (gst_element_post_message):
19694         Fix very verbose bus posting code.
19695
19696         * gst/gstpipeline.c: (gst_pipeline_class_init),
19697         (gst_pipeline_set_property), (gst_pipeline_get_property),
19698         (gst_pipeline_change_state):
19699         Small ARG_ -> PROP_ cleanup
19700
19701 2005-10-08  Wim Taymans  <wim@fluendo.com>
19702
19703         * gst/gstbin.c: (is_eos), (bin_bus_handler):
19704         Do a less CPU demanding EOS check because we can.
19705
19706 2005-10-08  Wim Taymans  <wim@fluendo.com>
19707
19708         * libs/gst/dataprotocol/dataprotocol.c:
19709         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
19710         (gst_dp_packet_from_event):
19711         * libs/gst/dataprotocol/dataprotocol.h:
19712         * libs/gst/dataprotocol/dp-private.h:
19713         It's about time we bump the version number.
19714         Since event types don't fit in the guint8 anymore describing
19715         the payload type, make payload type 16 bits wide.
19716
19717 2005-10-08  Wim Taymans  <wim@fluendo.com>
19718
19719         * docs/design/part-TODO.txt:
19720         * docs/design/part-clocks.txt:
19721         * docs/design/part-events.txt:
19722         * docs/design/part-gstbin.txt:
19723         * docs/design/part-gstelement.txt:
19724         * docs/design/part-gstpipeline.txt:
19725         * docs/design/part-live-source.txt:
19726         * docs/design/part-messages.txt:
19727         * docs/design/part-overview.txt:
19728         * docs/design/part-states.txt:
19729         Many doc updates.
19730
19731 2005-10-08  Wim Taymans  <wim@fluendo.com>
19732
19733         * gst/gstevent.c:
19734         * gst/gstevent.h:
19735         Fix event quark registration.
19736         Add some space between events so we can insert them in the
19737         right groups.
19738
19739 2005-10-08  Wim Taymans  <wim@fluendo.com>
19740
19741         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19742         (gst_base_sink_handle_buffer):
19743         Better log message.
19744
19745         * gst/gstbus.h:
19746         * gst/gstelement.h:
19747         More docs.
19748
19749         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19750         (gst_queue_set_property), (gst_queue_get_property):
19751         * gst/gstqueue.h:
19752         Remove old unused properties.
19753
19754 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19755         * docs/gst/gstreamer-sections.txt:
19756         * gst/gstmessage.c:
19757         * gst/gstmessage.h:
19758         * gst/gstminiobject.c:
19759         * gst/gstminiobject.h:
19760         * gst/gstobject.h:
19761         * gst/gstpad.h:
19762         * gst/gstutils.h:
19763           lots of new docs and doc fixes
19764
19765 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19766
19767         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
19768         * gst/gstplugin.h:
19769         * gst/gstregistry.c: (gst_registry_lookup_locked),
19770         (gst_registry_scan_path_level):
19771         * gst/gstregistryxml.c: (load_plugin):
19772           Only ever load one plugin for a given plugin basename.
19773           This ensures correct overriding of GST_PLUGIN_PATH over
19774           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
19775           system installed plugins.
19776
19777 2005-10-08  Wim Taymans  <wim@fluendo.com>
19778
19779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19780         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
19781         Prepare for doing QOS.
19782
19783 2005-10-08  Wim Taymans  <wim@fluendo.com>
19784
19785         * check/gst/gstbin.c: (GST_START_TEST):
19786         * check/pipelines/cleanup.c: (GST_START_TEST):
19787         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19788         Allow new clock message too.
19789
19790 2005-10-08  Wim Taymans  <wim@fluendo.com>
19791
19792         * gst/gstmessage.c: (gst_message_new_error),
19793         (gst_message_new_warning), (gst_message_new_tag),
19794         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19795         (gst_message_new_clock_lost), (gst_message_new_new_clock),
19796         (gst_message_new_segment_start), (gst_message_new_segment_done),
19797         (gst_message_parse_state_changed),
19798         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
19799         (gst_message_parse_new_clock):
19800         * gst/gstmessage.h:
19801         Also carry the clock in question.
19802
19803 2005-10-08  Wim Taymans  <wim@fluendo.com>
19804
19805         * gst/gstmessage.c: (gst_message_new_custom),
19806         (gst_message_new_eos), (gst_message_new_error),
19807         (gst_message_new_warning), (gst_message_new_tag),
19808         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19809         (gst_message_new_new_clock), (gst_message_new_segment_start),
19810         (gst_message_new_segment_done), (gst_message_parse_state_changed),
19811         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
19812         * gst/gstmessage.h:
19813         Clean up.
19814         Added clock related messages.
19815
19816         * gst/gstpipeline.c: (gst_pipeline_change_state):
19817         Post message when the clock changed.
19818
19819         * tools/gst-launch.c: (event_loop):
19820         Print new clock.
19821
19822 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
19823
19824         * tools/gst-inspect.c: (print_element_properties_info):
19825           Can't pass NULL strings to g_print() on windows.
19826
19827 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19828
19829         * docs/Makefile.am:
19830         * docs/gst/Makefile.am:
19831         * docs/gst/gstreamer-docs.sgml:
19832         * docs/gst/running.xml:
19833         * docs/version.entities.in:
19834           add a chapter on running GStreamer.
19835           document GST_DEBUG and GST_PLUGIN* env vars
19836
19837 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19838
19839         * Makefile.am:
19840           remove include dir
19841         * configure.ac:
19842           remove PLUGINS_BUILDDIR stuff
19843         * gst/gst.c: (init_post):
19844           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
19845         * idiottest.mak:
19846           remove, it was condescending and not needed
19847
19848 2005-10-08  Wim Taymans  <wim@fluendo.com>
19849
19850         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
19851         (gst_base_sink_handle_object), (gst_base_sink_event),
19852         (gst_base_sink_wait), (gst_base_sink_handle_event),
19853         (gst_base_sink_change_state):
19854         * gst/base/gstbasesink.h:
19855         Repost EOS message while going to PLAYING if still EOS.
19856         Make sure that when receiving a FLUSH_START we don't attempt
19857         to sync on the clock anymore.
19858
19859 2005-10-08  Wim Taymans  <wim@fluendo.com>
19860
19861         * tools/gst-launch.c: (event_loop):
19862         Better message printout.
19863
19864 2005-10-08  Wim Taymans  <wim@fluendo.com>
19865
19866         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
19867         (gst_bin_child_proxy_get_children_count):
19868         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
19869         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
19870         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
19871         (gst_child_proxy_set_valist):
19872         * gst/parse/grammar.y:
19873         Make ChildProxy threadsafe and fix mem leaks.
19874
19875 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19876
19877         * gst/gst.c: (init_post):
19878           debug the GST_PLUGIN_ env vars
19879
19880 2005-10-08  Wim Taymans  <wim@fluendo.com>
19881
19882         * check/gst/gstbin.c: (GST_START_TEST):
19883         * check/gst/gstmessage.c: (GST_START_TEST):
19884         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19885         * gst/gstelement.c: (gst_element_commit_state),
19886         (gst_element_lost_state):
19887         * gst/gstmessage.c: (gst_message_new_state_changed),
19888         (gst_message_parse_state_changed):
19889         * gst/gstmessage.h:
19890         * tools/gst-launch.c: (event_loop):
19891         Added extra field to STATE_CHANGE message with the pending
19892         state, which will be different from the new state soon.
19893
19894 2005-10-08  Wim Taymans  <wim@fluendo.com>
19895
19896         * gst/gstbus.c: (gst_bus_pop):
19897         * gst/gstclock.c:
19898         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19899         Small cleanups and doc updates.
19900
19901 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19902
19903         * gst/gst.c: (init_pre):
19904         * gst/gstbin.c: (gst_bin_add_func):
19905           log distributing clocks and base time
19906         * gst/gstregistry.c: (gst_registry_add_plugin),
19907         (gst_registry_scan_path_level), (gst_registry_scan_path):
19908           clean up the debugging output a little
19909         * gst/gstutils.c: (gst_element_state_get_name):
19910           warn about a memleak (I've actually seen this be used, though
19911           it was probably a bug)
19912
19913 2005-10-07  Wim Taymans  <wim@fluendo.com>
19914
19915         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19916         (gst_base_src_init), (gst_base_src_default_newsegment),
19917         (gst_base_src_newsegment), (gst_base_src_do_seek),
19918         (gst_base_src_loop), (gst_base_src_start):
19919         * gst/base/gstbasesrc.h:
19920         Make the newsegment event customizable by subclasses.
19921
19922 2005-10-07  Wim Taymans  <wim@fluendo.com>
19923
19924         * gst/gstevent.c: (gst_event_new_buffersize),
19925         (gst_event_parse_buffersize):
19926         * gst/gstevent.h:
19927         New event for future idea.
19928
19929 2005-10-07  Andy Wingo  <wingo@pobox.com>
19930
19931         * gst/gstelement.c (gst_element_post_message): Doc update.
19932
19933         * docs/gst/gstreamer-sections.txt: Update.
19934
19935         * gst/gstmessage.c (gst_message_new_application): Made into a
19936         function like honest API calls.
19937         (gst_message_new_element): New message type.
19938
19939         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
19940
19941         * check/elements/fakesrc.c (test_no_preroll): New check, checks
19942         that setting a live fakesrc to PAUSED returns NO_PREROLL both
19943         times.
19944
19945         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
19946         NO_PREROLL from gst_element_change_state to fall through.
19947
19948 2005-10-07  Wim Taymans  <wim@fluendo.com>
19949
19950         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
19951         (gst_ghost_pad_do_activate_push):
19952         Activating a ghostpad with no internal pad in push mode
19953         is ok.
19954
19955 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19956
19957         * gst/gstobject.h:
19958           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
19959           Fixes compilation on Windows.
19960
19961 2005-10-07  Michael Smith <msmith@fluendo.com>
19962
19963         * tools/gst-inspect.c:
19964           Print out feature and plugin count at the end when printing out
19965           all features.
19966
19967 2005-10-04  Michael Smith <msmith@fluendo.com>
19968
19969         * gst/gsterror.c: (_gst_stream_errors_init):
19970           Add another error string used in a few existing plugins.
19971
19972         * gst/gstplugin.c:
19973         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19974         * tools/gst-inspect.c: (print_element_info):
19975           When a feature disappears from a plugin (and the feature exists in
19976           the cached registry file), things went horribly wrong. This isn't a
19977           complete fix, we should actually be removing the 'missing' features
19978           from the features list when we load the actual plugin. That's not
19979           yet implemented. 
19980
19981 2005-10-04  Johan Dahlin  <johan@gnome.org>
19982
19983         * check/gst/gstiterator.c: (GST_START_TEST):
19984         * gst/gstbin.c: (gst_bin_iterate_elements),
19985         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
19986         * gst/gstelement.c: (gst_element_iterate_pads):
19987         * gst/gstformat.c: (gst_format_iterate_definitions):
19988         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19989         (gst_iterator_new_list), (gst_iterator_filter):
19990         * gst/gstiterator.h:
19991         * gst/gstquery.c: (gst_query_type_iterate_definitions):
19992         Add a GType to GstIterator, update callsites and tests.
19993
19994 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19995
19996         * gst/gstpad.c: (gst_pad_event_default_dispatch):
19997           give events a chance to be handled by event probes when the pad
19998           is not linked
19999
20000 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20001
20002         * gst/gstevent.c: (gst_event_type_get_name),
20003         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
20004         * gst/gstevent.h:
20005           add string representations for event types
20006
20007 2005-10-06  Wim Taymans  <wim@fluendo.com>
20008
20009         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
20010         Don't use NULL pointers.
20011
20012 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20013
20014         * gst/gst_private.h:
20015         * gst/gstbus.c:
20016         * gst/gstelement.c:
20017         * gst/gstinfo.c:
20018         * gst/gstpluginfeature.c:
20019           widen the debug category in output to fit the biggest one we have
20020           add a bus category and use it
20021           play with the colors
20022           fix up some categories
20023
20024 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20025
20026         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
20027           add push activation of sink ghost pads.
20028           Andye, please verify
20029
20030 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20031
20032         * gst/gstutils.c: (gst_element_link_pads):
20033           fix a bug in the case where neither element has a pad
20034         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20035           add a test for that case
20036
20037 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20038
20039         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
20040           emit have-data before checking for peers.  This allows
20041           for probe handlers to connect elements.  This helps autopluggers.
20042         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
20043         (gst_pad_suite):
20044           add six checks, linked/unlinked with no/true/false probe
20045
20046 2005-10-04  Wim Taymans  <wim@fluendo.com>
20047
20048         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
20049         (gst_fake_sink_event), (gst_fake_sink_preroll),
20050         (gst_fake_sink_render), (gst_fake_sink_change_state):
20051         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
20052         (gst_fake_src_get_property), (gst_fake_src_create),
20053         (gst_fake_src_stop):
20054         * gst/elements/gstidentity.c: (gst_identity_stop):
20055         Protect last_message with lock.
20056
20057 2005-10-04  Edward Hervey  <edward@fluendo.com>
20058
20059         * gst/gstformat.h: 
20060         Added precision in the comments for GST_FORMAT_DEFAULT
20061
20062 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
20063
20064         * tools/gst-launch.c: (main):
20065           Don't try to run erroneous pipelines.
20066
20067 2005-10-04  Julien MOUTTE  <julien@moutte.net>
20068
20069         * gst/gstbus.c: We don't need this header.
20070
20071 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20072
20073         * configure.ac:
20074           back to development
20075
20076 === release 0.9.3 ===
20077
20078 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20079
20080         * README:
20081         * configure.ac:
20082           Releasing 0.9.3, "Unregistered"
20083
20084 2005-10-03  Andy Wingo  <wingo@pobox.com>
20085
20086         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
20087         whereby calling a pad's activatepush() function can start a thread
20088         that starts to push or pull before the pad gets the FLUSHING flag
20089         unset. Hack around it by holding the stream lock until the flag is
20090         set. Need to replace this with a proper solution. Together with
20091         the ghost pad fixes, this fixes mp3 playing/tagreading.
20092
20093         * docs/design/part-gstghostpad.txt: Add a note about activation of
20094         proxy pads outside of ghost pads.
20095
20096         * gst/gstghostpad.c: Implement the ghost pad activation design.
20097
20098 2005-10-02  Andy Wingo  <wingo@pobox.com>
20099
20100         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
20101         It is volatile, after all.
20102
20103         * docs/design/part-gstghostpad.txt: Flesh out activation with
20104         ghost pads.
20105
20106         * gst/base/gstbasesrc.c (gst_base_src_init): Use
20107         GST_DEBUG_FUNCPTR.
20108
20109 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
20110
20111         * configure.ac:
20112           Fix (unused) AM_CONDITIONAL tests.
20113
20114 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
20115
20116         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20117
20118         * gst/gstutils.c: (gst_pad_query_convert):
20119           Add assertion that makes sure src_val is >=0, just like
20120           gst_query_new_convert() has. (#315895)
20121
20122 2005-09-30  Edward Hervey  <edward@fluendo.com>
20123
20124         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
20125         Let's not iterate pads we're not interested in, it avoids getting 
20126         sky-high refcounts on sinkpad.
20127
20128 2005-09-30  Wim Taymans  <wim@fluendo.com>
20129
20130         * gst/gstelement.c: (gst_element_set_state),
20131         (gst_element_change_state):
20132         Small tweak, element in ASYNC remains ASYNC.
20133
20134 2005-09-30  Wim Taymans  <wim@fluendo.com>
20135
20136         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20137         Only error is an error.
20138
20139         * gst/gstbin.c: (gst_bin_change_state):
20140         Better debugging.
20141
20142         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
20143         Also call pad_block in pad alloc.
20144
20145         * gst/gstutils.c: (gst_flow_get_name):
20146         Better debugging.
20147
20148 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20149
20150         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20151         (gst_base_src_get_range):
20152           Fix documentation typos. Add some more debug info.
20153
20154 2005-09-29  David Schleef  <ds@schleef.org>
20155
20156         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
20157           more end-user friendly.
20158         * tools/gst-inspect.c: (main): Check if command-line argument is
20159           a file and attempt to load that file as a plugin.
20160
20161 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20162
20163         * check/gst/gstbin.c:
20164         * check/states/sinks.c:
20165           fix tests for the new warning
20166         * check/gst/gstpipeline.c:
20167           add a test for pipeline and bus interaction
20168         * gst/gstelement.c:
20169           elements should be NULL if they get disposed; add a warning if not
20170
20171 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20172
20173         * gst/gstobject.c:
20174           for 2.6 refcounting, make debug log more correct by printing
20175           the actual refcounts at the time of swap (Wim)
20176
20177 2005-09-29  Andy Wingo  <wingo@pobox.com>
20178
20179         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
20180         removes signal watches previously added via
20181         gst_bus_add_signal_watch.
20182         (gst_bus_add_signal_watch): Don't return the source id, just store
20183         it on the bus if there wasn't an id already.
20184
20185         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
20186         add_signal_watch and remove_signal_watch.
20187
20188 2005-09-29  Edward Hervey  <edward@fluendo.com>
20189
20190         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
20191         Better if we actually iterate the list :)
20192
20193 2005-09-29  Wim Taymans  <wim@fluendo.com>
20194
20195         * check/gst/gstbin.c: (GST_START_TEST):
20196         Change for new bus API.
20197
20198         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20199         (send_messages), (GST_START_TEST), (gstbus_suite):
20200         Change for new bus signal API.
20201
20202         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
20203         (gst_bus_source_prepare), (gst_bus_source_check),
20204         (gst_bus_create_watch), (gst_bus_add_watch_full),
20205         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
20206         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
20207         * gst/gstbus.h:
20208         Remove support for multiple GSources operating on different
20209         message types as it is too complex and unneeded when using
20210         signals.
20211         Added support for receiving signals from the bus.
20212
20213 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20214
20215         * docs/libs/tmpl/gstdataprotocol.sgml:
20216         * docs/manual/advanced-dataaccess.xml:
20217         * gst/elements/gstcapsfilter.c:
20218         * gst/gstutils.c:
20219           rename filter-caps to caps property
20220
20221 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20222
20223         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20224           More robust fraction string parsing.
20225
20226         * docs/pwg/appendix-porting.xml:
20227           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
20228
20229 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20230
20231         * gst/gstcaps.c: (gst_caps_do_simplify):
20232           Thou shalt not free a structure and then continue using it
20233           in the next loop iteration.
20234
20235         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
20236         (gst_caps_suite):
20237           Add test case for caps simplification.
20238
20239 2005-09-29  Wim Taymans  <wim@fluendo.com>
20240
20241         * check/gst/gstbin.c: (GST_START_TEST):
20242         Oops.
20243
20244 2005-09-29  Wim Taymans  <wim@fluendo.com>
20245
20246         * check/gst/gstbin.c: (GST_START_TEST):
20247         Add bus to bin.
20248
20249         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
20250         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20251         (find_element), (gst_bin_sort_iterator_next),
20252         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20253         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20254         (gst_bin_change_state), (gst_bin_dispose):
20255         A bin does not have a bus, it gets the bus from the parent.
20256
20257         * gst/gstelement.c: (gst_element_requires_clock),
20258         (gst_element_provides_clock), (gst_element_is_indexable),
20259         (gst_element_is_locked_state), (gst_element_change_state),
20260         (gst_element_set_bus_func):
20261         Small cleanups.
20262
20263         * gst/gstpipeline.c: (gst_pipeline_class_init),
20264         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
20265         The pipeline provides a bus.
20266
20267 2005-09-28  Johan Dahlin  <johan@gnome.org>
20268
20269         * gst/gstmessage.c (gst_message_parse_state_changed): Use
20270         gst_structure_get_enum instead of gst_structure_get_int
20271
20272         * gst/gststructure.c (gst_structure_get_enum): Impl.
20273
20274         * gst/gststructure.h (gst_structure_get_enum): Add
20275
20276         * docs/gst/gstreamer-sections.txt: Ditto
20277
20278         * gst/gstmessage.c (gst_message_new_state_changed): Use
20279         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
20280         which does introspection.
20281         Reviewed by Christian Schaller
20282
20283 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20284
20285         * gst/gstinfo.c: (gst_debug_log_default):
20286           don't do dummy g_strdup()s
20287         * libs/gst/controller/gstcontroller.c:
20288         (on_object_controlled_property_changed),
20289         (gst_controlled_property_new), (gst_controller_new_valist),
20290         (gst_controller_new_list),
20291         (gst_controller_remove_properties_valist), (gst_controller_set),
20292         (gst_controller_get), (gst_controller_sync_values),
20293         (gst_controller_get_value_array), (_gst_controller_class_init),
20294         (gst_controller_get_type):
20295         * libs/gst/controller/gstcontroller.h:
20296         * libs/gst/controller/gstinterpolation.c:
20297         (gst_controlled_property_find_timed_value_node):
20298           convert // to /**/ comments
20299
20300 2005-09-28  Wim Taymans  <wim@fluendo.com>
20301
20302         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
20303         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
20304         (gst_bus_sync_signal_handler):
20305         * gst/gstbus.h:
20306         Added async-message and sync-message signals to the bus.
20307         Added helper BusFunc to emit signals for all posted messages.
20308
20309         * gst/gstmessage.c: (gst_message_type_get_name),
20310         (gst_message_type_to_quark), (gst_message_get_type):
20311         * gst/gstmessage.h:
20312         Register quarks for message names.
20313
20314 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20315
20316         * docs/libs/gstreamer-libs-sections.txt:
20317         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
20318         (gst_controller_new_list):
20319         * libs/gst/controller/gstcontroller.h:
20320           added another constructor for language bindings
20321
20322 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20323
20324         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20325           add another check
20326         * gst/gstbus.c:
20327           add some doc
20328         * gst/gstinfo.c: (_gst_debug_init):
20329           slightly more readable color for refcount debugging
20330
20331 2005-09-28  Wim Taymans  <wim@fluendo.com>
20332
20333         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20334         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20335         (find_element), (gst_bin_sort_iterator_next),
20336         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20337         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20338         (gst_bin_change_state), (gst_bin_dispose):
20339         Small doc fixes. get_clock -> provide_clock.
20340
20341         * gst/gstelement.c: (gst_element_class_init),
20342         (gst_element_provides_clock), (gst_element_provide_clock),
20343         (gst_element_get_clock), (gst_element_commit_state),
20344         (gst_element_lost_state):
20345         * gst/gstelement.h:
20346         Make get/set_clock() symetric. Add provide_clock vmethod since
20347         that is actually what this function does.
20348
20349         * gst/gstpipeline.c: (gst_pipeline_class_init),
20350         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
20351         (gst_pipeline_get_clock):
20352         get_clock -> provide_clock.
20353
20354 2005-09-28  Andy Wingo  <wingo@pobox.com>
20355
20356         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
20357         lieu of real docs...
20358
20359         * gst/elements/gstfdsrc.c: Cleaned up a bit.
20360
20361 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
20362
20363         * gst/elements/gstcapsfilter.c:
20364         * gst/elements/gstfakesink.c:
20365         * gst/elements/gstfakesrc.c:
20366         * gst/elements/gstfdsink.c:
20367         * gst/elements/gstfdsrc.c:
20368         * gst/elements/gstfilesink.c:
20369         * gst/elements/gstfilesrc.c:
20370         * gst/elements/gstidentity.c:
20371         * gst/elements/gsttee.c:
20372         * gst/elements/gsttypefindelement.c:
20373           Make element details static.
20374
20375 2005-09-28  Wim Taymans  <wim@fluendo.com>
20376
20377         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20378         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20379         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20380         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20381         (gst_bin_change_state), (gst_bin_dispose):
20382         Some documentation updates.
20383         Clean up dispose handlers.
20384
20385         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20386         * gst/gstpad.c: (gst_pad_dispose):
20387         Clean up dispose handler.
20388
20389         * gst/gstpipeline.c: (gst_pipeline_change_state):
20390         Removed spurious UNLOCK.
20391
20392 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
20393
20394         * docs/gst/gstreamer-sections.txt:
20395         * gst/base/gstbasesrc.h:
20396         * gst/gstelement.h:
20397         * gst/gstevent.h:
20398         * gst/gstobject.h:
20399         * gst/gstpad.h:
20400         * gst/gstpipeline.c:
20401         * gst/gstpipeline.h:
20402         * gst/gstutils.h:
20403         * gst/gstxml.h:
20404           added two new functions to the docs
20405                 documents all undocumented GstXXXFlags
20406                 completed some incomplete docs 
20407
20408 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20409
20410         * gst/gstbin.c: (gst_bin_dispose):
20411         * gst/gstelement.c: (gst_element_dispose):
20412           remove now useless and leaky resurrection code in dispose
20413         * gst/base/gstbasesrc.c: (gst_base_src_init):
20414         * gst/gstelementfactory.c: (gst_element_factory_create):
20415         * gst/gstobject.c: (gst_object_set_parent):
20416           add some debugging
20417
20418 2005-09-27  Wim Taymans  <wim@fluendo.com>
20419
20420         * docs/design/part-TODO.txt:
20421         Update TODO.
20422
20423         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20424         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20425         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20426         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20427         (gst_bin_change_state):
20428         * gst/gstelement.h:
20429         Remove element variable, we keep element info in the iterator now.
20430
20431 2005-09-27  Andy Wingo  <wingo@pobox.com>
20432
20433         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20434         values.
20435
20436 2005-09-27  Wim Taymans  <wim@fluendo.com>
20437
20438         * check/gst/gstbin.c: (GST_START_TEST):
20439         Enable check that works now.
20440
20441         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20442         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20443         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20444         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20445         (gst_bin_change_state):
20446         * gst/gstbin.h:
20447         Redid the state change algorithm using a topological sort algo.
20448         Handles all cases correctly.
20449         Exposed iterator for state change order.
20450
20451         * gst/gstelement.h:
20452         Temp storage for state changes. Need to get rid of this soon.
20453
20454 2005-09-27  Wim Taymans  <wim@fluendo.com>
20455
20456         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20457         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20458         (link_fold_func), (gst_pad_proxy_setcaps):
20459         Leak fixes, the fold functions need to unref the passed object and
20460         _get_parent_*() returns ref to parent.
20461
20462 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20463
20464         * check/gst/gstbuffer.c: (test_make_writable):
20465           Plug leak in test case and fix 'make check-valgrind'
20466
20467 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20468
20469         * gst/gstbuffer.c: (gst_subbuffer_init):
20470           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20471           works correctly in all circumstances (we could have just copied
20472           the parent buffer's readonly flag, but conceptually it seems
20473           cleaner to mark all subbuffers as read-only). (based on patch
20474           by Alessandro Decina, #314710).
20475         
20476         * check/gst/gstbuffer.c: (create_read_only_buffer),
20477         (test_make_writable), (test_subbuffer_make_writable),
20478         (gst_test_suite):
20479           Add some tests for gst_buffer_make_writable().
20480
20481 2005-09-27  Wim Taymans  <wim@fluendo.com>
20482
20483         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20484         use gst_object_has_ancestor().
20485
20486         * gst/gstobject.c: (gst_object_has_ancestor):
20487         * gst/gstobject.h:
20488         gst_object_has_ancestor() copied from gstbin.c as it is a
20489         useful function.
20490
20491         * tests/instantiate/create.c: (create_all_elements):
20492         * tests/lat.c: (handoff_src), (handoff_sink):
20493         * tests/sched/runxml.c: (main):
20494         * tests/seeking/seeking1.c: (main):
20495         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20496         (main):
20497         Fix compilation of some tests.
20498
20499 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20500
20501         * gst/gsterror.h:
20502           Remove comment. GST_TYPE_G_ERROR is here to stay,
20503           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20504           (#316961, #300610).
20505
20506 2005-09-26  Wim Taymans  <wim@fluendo.com>
20507
20508         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20509         Added check that shows error in state change order.
20510
20511 2005-09-26  Wim Taymans  <wim@fluendo.com>
20512
20513         * gst/gstbin.c: (gst_bin_change_state):
20514         Make state change function use 3 queues again, we were
20515         adding elements in the wrong order.
20516
20517         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20518         Some debug info,
20519
20520         * gst/gstpad.c: (gst_pad_dispose):
20521         Added some debug info first.
20522
20523 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
20524
20525         * docs/design/draft-push-pull.txt:
20526         * docs/design/part-events.txt:
20527         * docs/design/part-overview.txt:
20528         * docs/design/part-scheduling.txt:
20529           Replace all _pull_region() with _pull_range()
20530           
20531 2005-09-26  Andy Wingo  <wingo@pobox.com>
20532
20533         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20534
20535         * check/gst-libs/controller.c: Update for controller api change.
20536
20537         * configure.ac: 
20538         * tests/Makefile.am:
20539         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20540         over by GLib bug 118439.
20541         
20542         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20543         routines to a function.
20544
20545         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20546
20547         * libs/gst/controller/gsthelper.c:
20548         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20549         (gst_object_sync_values): Renamed from sink_values. Ugh.
20550
20551         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20552
20553         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20554         Renamed from controller_key, as it is exported.
20555
20556         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20557
20558 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20559
20560         * gst/Makefile.am:
20561         * gst/gst.h:
20562         * gst/gstpad.h:
20563         * gst/gstpadtemplate.h:
20564         * gst/gstquery.c:
20565         * gst/gstquery.h:
20566         * gst/gstqueryutils.c:
20567         * gst/gstqueryutils.h:
20568           remove queryutils headers after moving the two used functions
20569           to gstquery.  also fixes build problem for gstsiddec
20570
20571 2005-09-26  Michael Smith <msmith@fluendo.com>
20572
20573         * tools/gst-launch.1.in:
20574         Correct documentation in manpage of debug syntax
20575
20576 2005-09-26  Wim Taymans  <wim@fluendo.com>
20577
20578         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20579         (gst_base_src_is_seekable), (gst_base_src_change_state):
20580         Some more debugging info.
20581
20582 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20583
20584         * docs/gst/gstreamer-sections.txt:
20585         * gst/base/gstbasetransform.h:
20586         * gst/gstindex.h:
20587           added more docs
20588
20589 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20590
20591         * docs/gst/.cvsignore:
20592         * docs/gst/tmpl/.cvsignore:
20593         * docs/gst/tmpl/gstpipeline.sgml:
20594         * docs/gst/tmpl/gstplugin.sgml:
20595         * gst/gstpipeline.c:
20596         * gst/gstplugin.c:
20597         * gst/gstplugin.h:
20598           inlined the last two docs files
20599           removed the tmpl directory from cvs (no more conflicts here!)
20600
20601 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20602
20603         * docs/gst/gstreamer-sections.txt:
20604         * docs/gst/tmpl/.cvsignore:
20605         * docs/gst/tmpl/gstpad.sgml:
20606         * docs/gst/tmpl/gstpadtemplate.sgml:
20607         * gst/Makefile.am:
20608         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20609         (gst_pad_finalize), (gst_pad_set_pad_template):
20610         * gst/gstpad.h:
20611         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20612         (gst_pad_template_class_init), (gst_pad_template_init),
20613         (gst_pad_template_dispose), (name_is_valid),
20614         (gst_static_pad_template_get), (gst_pad_template_new),
20615         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20616         (gst_pad_template_pad_created):
20617         * gst/gstpadtemplate.h:
20618           inlined two more docs
20619           factored gstpadtemplate out of gstpad
20620
20621 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
20622
20623         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20624         (test_children_state_change_order_semi_sink):
20625           Fix test case: we can't rely on a fixed state change order when
20626           going from READY => PAUSED because the sink might commit its 
20627           new state first when the first buffer created by the source 
20628           reaches the sink before the source has finished its change state.
20629           (Test case still fails at times, see #316856, comment 5 onwards)
20630
20631 2005-09-24  Wim Taymans  <wim@fluendo.com>
20632
20633         * docs/design/part-events.txt:
20634         * docs/design/part-gstbus.txt:
20635         * docs/design/part-gstpipeline.txt:
20636         * docs/design/part-messages.txt:
20637         * docs/design/part-overview.txt:
20638         * docs/design/part-segments.txt:
20639         * gst/gstbin.c:
20640         * gst/gstbuffer.c:
20641         * gst/gstclock.c:
20642         * gst/gstelement.c:
20643         * gst/gstevent.c:
20644         * gst/gstfilter.c:
20645         * gst/gstiterator.c:
20646         Various documentation updates.
20647
20648 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20649
20650         * gst/gstclock.h:
20651           Well, that's embarassing.  Luckily we weren't using
20652           GST_CLOCK_DIFF anywhere.
20653
20654 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20655
20656         * common/gtk-doc.mak:
20657           don't fail on building XML, FC4 slave shows a bunch of doc
20658           missing bits that I don't get
20659         * gst/gstpad.c:
20660         * gst/gstpipeline.c:
20661         * gst/gststructure.c:
20662           some doc updates
20663
20664 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20665
20666         * docs/design/part-gstbin.txt:
20667         * docs/design/part-gstbus.txt:
20668         * gst/gstbus.c:
20669           Add blurb about how the bus goes into flushing mode and
20670           drops all messages when its bin goes from READY into NULL 
20671           state.
20672
20673 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20674
20675         * docs/gst/gstreamer-sections.txt:
20676         * gst/gststructure.c: (gst_structure_get_clock_time):
20677         * gst/gststructure.h:
20678           add a method to get a GstClockTime out of a structure
20679
20680 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20681
20682         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20683         (test_children_state_change_order_semi_sink), (gst_bin_suite):
20684           Added test to check state change order in bins (can still be made
20685           to fail here under heavy disk load; bails out with 'Push on pad
20686           fakesink:sink0, but it was not activated in push mode').
20687
20688         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
20689           Fix state change order when there is only a semi sink (#316856)
20690
20691         * gst/gstbus.c: (gst_bus_class_init):
20692           Use _class_peek_parent(), not _class_ref(); fix docs to say
20693           'default main context' instead of 'mainloop' where that is
20694           what's meant.
20695
20696         * gst/gstelement.c: (gst_element_commit_state),
20697         (gst_element_set_state):
20698           Fix typos in debug messages
20699
20700 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20701
20702         * docs/README:
20703         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
20704         * gst/gstpluginfeature.c:
20705         * gst/gstutils.c:
20706           various doc updates
20707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20708           change an assert into an error until it gets fixed properly
20709
20710 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
20711
20712         * docs/gst/gstreamer-sections.txt:
20713         * docs/gst/tmpl/.cvsignore:
20714         * docs/gst/tmpl/gstelement.sgml:
20715         * docs/gst/tmpl/gstinfo.sgml:
20716         * docs/gst/tmpl/gstobject.sgml:
20717         * gst/gstelement.c:
20718         * gst/gstelement.h:
20719         * gst/gstinfo.c:
20720         * gst/gstinfo.h:
20721         * gst/gstobject.c: (gst_object_class_init):
20722         * gst/gstobject.h:
20723           inlined 3 more biiiig doc files and added some missing docs on the fly
20724
20725 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20726
20727         * check/gst/.cvsignore:
20728         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
20729         * gst/gstregistryxml.c: (load_plugin),
20730         (gst_registry_xml_save_plugin):
20731           put back source in registry.  add checks for find_plugin.
20732         * testsuite/states/bin.c: (assert_state), (empty_bin),
20733         (test_adding_one_element), (main):
20734         * testsuite/states/locked.c: (main):
20735           some compile/run fixes
20736
20737 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20738
20739         * check/gst/gstvalue.c: (GST_START_TEST):
20740           fix leaks in the test itself
20741
20742 2005-09-22  Wim Taymans  <wim@fluendo.com>
20743
20744         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20745         (gst_base_sink_send_event), (gst_base_sink_peer_query),
20746         (gst_base_sink_query):
20747         Prepare for more accurate position reporting and query
20748         handling.
20749
20750         * gst/gstelement.c: (gst_element_send_event),
20751         (gst_element_set_state):
20752         Add some comment.
20753
20754 2005-09-22  Wim Taymans  <wim@fluendo.com>
20755
20756         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
20757         (gst_query_parse_segment):
20758         * gst/gstquery.h:
20759         More documentation.
20760         Add segment query for future use.
20761
20762 2005-09-22  Wim Taymans  <wim@fluendo.com>
20763
20764         * gst/gstbin.c: (gst_bin_add_func):
20765         Some more debug info.
20766
20767         * gst/gstelement.c: (gst_element_send_event):
20768         Simplify send_event
20769
20770         * gst/gstelement.h:
20771         Don't know how flags got broken.
20772
20773         * gst/gstquery.h:
20774         Added new query.
20775
20776 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20777
20778         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
20779           Add simplistic test suite for GST_TYPE_DATE serialisation and
20780           deserialisation.
20781
20782 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20783
20784         * docs/gst/gstreamer-sections.txt:
20785         * gst/gststructure.c: (gst_structure_set_valist),
20786         (gst_structure_get_date):
20787         * gst/gststructure.h:
20788         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
20789         (gst_date_copy), (gst_value_compare_date),
20790         (gst_value_serialize_date), (gst_value_deserialize_date),
20791         (gst_value_transform_date_string),
20792         (gst_value_transform_string_date), (_gst_value_initialize):
20793         * gst/gstvalue.h:
20794           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
20795           bunch of utility functions along with a hack that checks that
20796           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
20797           is required. Part of the grand scheme in #170777.
20798
20799 2005-09-22  Andy Wingo  <wingo@pobox.com>
20800
20801         * gst/gstconfig.h.in: Psych out gtk-doc.
20802
20803         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
20804
20805         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
20806
20807         * tools/gst-inspect.c (print_element_list): Plug some
20808         inconsequential leaks.
20809
20810         * gst/gstregistry.c (gst_registry_get_default): Doc.
20811
20812         * check/gst/gstplugin.c: 
20813         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
20814         * gst/gstelementfactory.c (gst_element_factory_create): 
20815         * gst/gstindexfactory.c (gst_index_factory_create): Update for
20816         refcount changes.
20817
20818         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
20819         (gst_plugin_feature_load): Doc, don't eat refs.
20820
20821         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
20822         (gst_plugin_list_free): Doc.
20823         (gst_plugin_load_file): Doc updates.
20824
20825         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
20826         accessors returning refcounted objects, return a ref.
20827
20828         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
20829         accessor for caps. IDEMPOTENCE. Oh yes.
20830
20831 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
20832
20833         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20834
20835         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20836         (_gst_debug_register_funcptr):
20837           Add mutex to serialise access to the hash table with
20838           the function pointer => function name string mapping;
20839           make that hash table static scope (#316809).
20840
20841         * gst/registries/.cvsignore:
20842           Remove left-over file.
20843
20844 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20845
20846         * docs/pwg/appendix-porting.xml:
20847           And something about newsegment events and caps-on-buffers to
20848           the porting guide (feel free to improve).
20849
20850 2005-09-21  Andy Wingo  <wingo@pobox.com>
20851
20852         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
20853         data and event probes on the same pad.
20854         (test_buffer_probe_once): Test that removing probes from within
20855         the probe functions works.
20856
20857 2005-09-21  Andy Wingo  <wingo@pobox.com>
20858
20859         * check/gst/gstutils.c: New file.
20860         (test_buffer_probe_n_times): A simple buffer probe test. More to
20861         come, foolios.
20862
20863         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
20864         have-data::buffer, not have-data.
20865         (gst_pad_add_event_probe): Likewise for have-data::event.
20866         (gst_pad_add_data_probe): More docs. The part about 'resolving the
20867         peer' isn't quite right yet though.
20868         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
20869         (gst_pad_remove_data_probe): Change to take the guint handler_id
20870         as their arg, not the function+data, which is more glib-like.
20871
20872         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
20873         the signal emission to indicate if the data is a buffer or an
20874         event.
20875         (gst_pad_get_type): Initialize buffer and event quarks.
20876         (gst_pad_class_init): have-data is now a detailed signal, yes it
20877         is.
20878
20879 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20880
20881         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20882         * gst/gstutils.c: (gst_util_set_value_from_string),
20883         (gst_util_set_object_arg):
20884           Don't put functional code in g_return_if_fail() or
20885           g_return_val_if_fail() statements, otherwise things will 
20886           break when G_DISABLE_CHECKS is defined during compilation.
20887
20888 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20889
20890         * docs/gst/tmpl/.cvsignore:
20891         * docs/gst/tmpl/gstvalue.sgml:
20892         * gst/gstvalue.c:
20893         * gst/gstvalue.h:
20894           inlied another one and added  some obvious docs
20895
20896 2005-09-21  Wim Taymans  <wim@fluendo.com>
20897
20898         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20899         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
20900         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
20901         (gst_fdsrc_get_property), (gst_fdsrc_create):
20902         * gst/elements/gstfdsrc.h:
20903         Properly implement fdsrc. Removed signal and timeout,
20904         better implemented somewhere else.
20905
20906 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20907
20908         * docs/gst/tmpl/.cvsignore:
20909         * docs/gst/tmpl/gstimplementsinterface.sgml:
20910         * gst/gstinterface.c:
20911           inlined more docs
20912
20913 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20914
20915         * docs/gst/gstreamer-sections.txt:
20916         * docs/gst/tmpl/.cvsignore:
20917         * docs/gst/tmpl/gstenumtypes.sgml:
20918           remove obsolete doc file
20919
20920 2005-09-21  David Schleef  <ds@schleef.org>
20921
20922         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
20923         little beer, fix a little leak.
20924
20925 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20926
20927         * docs/gst/gstreamer-docs.sgml:
20928         * docs/gst/gstreamer-sections.txt:
20929         * docs/gst/tmpl/.cvsignore:
20930         * gst/Makefile.am:
20931         * gst/gst.h:
20932         * gst/gstbin.c:
20933         * gst/gstelement.h:
20934         * gst/gstindex.c: (gst_index_class_init):
20935         * gst/gstindex.h:
20936         * gst/gstindexfactory.c: (gst_index_factory_get_type),
20937         (gst_index_factory_class_init), (gst_index_factory_init),
20938         (gst_index_factory_finalize), (gst_index_factory_new),
20939         (gst_index_factory_destroy), (gst_index_factory_find),
20940         (gst_index_factory_create), (gst_index_factory_make):
20941         * gst/gstindexfactory.h:
20942         * gst/gstpluginfeature.c:
20943         * gst/gstpluginfeature.h:
20944         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20945           more docs inlined, splitted gstindex.{c,h}
20946
20947 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20948
20949         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20950           fix a leak
20951
20952 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20953
20954         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20955           Set sync to FALSE by default.
20956
20957 2005-09-20  Wim Taymans  <wim@fluendo.com>
20958
20959         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20960         (gst_base_sink_init):
20961         Make sync property settable from subclass.
20962
20963         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20964         (gst_fake_sink_change_state):
20965         Set sync to FALSE by default.
20966
20967 2005-09-20  Wim Taymans  <wim@fluendo.com>
20968
20969         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
20970         * tools/gst-launch.c: (main):
20971         The timeout handler should have lower priority than the source
20972         so we don't timeout before popping a message with 0 timeout.
20973         Dump error messages after failed state change.
20974
20975 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20976
20977         * tools/gst-inspect.c: (print_element_properties_info):
20978           Fix two typos.
20979
20980 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20981
20982         * check/gst/gstevent.c:
20983         * gst/elements/gstfakesink.c:
20984         * gst/elements/gstfakesink.h:
20985           remove the sync property from fakesink.
20986           has the side effect of setting sync TRUE
20987           for fakesink, which is a change.  Anyone who knows how
20988           to fix this nicely in a GObject-y way, feel free.
20989
20990 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20991
20992         * docs/gst/gstreamer-docs.sgml:
20993           remove probe refsection
20994
20995 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20996
20997         * check/Makefile.am:
20998           disable valgrinding the controller test again
20999         * docs/gst/gstreamer-sections.txt:
21000           update for api-changes
21001
21002 2005-09-20  Wim Taymans  <wim@fluendo.com>
21003
21004         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21005         (gst_base_sink_set_property), (gst_base_sink_get_property),
21006         (gst_base_sink_do_sync):
21007         * gst/base/gstbasesink.h:
21008         Added sync property to basesink to disable clock sync.
21009
21010 2005-09-20  Andy Wingo  <wingo@pobox.com>
21011
21012         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
21013         eating the caller's refcount.
21014
21015         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
21016         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
21017         refcount.
21018
21019         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
21020         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
21021         of GLib 2.8 public, so we can know which refcount to check in
21022         tests.
21023
21024         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
21025         (gst_object_init): Only set the gst refcount if we're going ahead
21026         with the refcount hack.
21027
21028 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21029
21030         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21031         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21032           more leaks plumbed, added more debug-logging
21033         * gst/gstmacros.h:
21034           whitespace fix
21035
21036 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21037
21038         * gst/gstmessage.c:
21039           remove include of gstmemchunk.h
21040
21041 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21042
21043         * gst/gstclock.c: (_gst_clock_id_free):
21044           Commit from the Political Party For More Atomic CVS Commits,
21045           so that people don't waste too much of their day fishing
21046           out obvious leaks out of massive commits.
21047           Oh, and fix a pretty damn obvious leak in the memchunk
21048           removal code.
21049
21050 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21051
21052         * check/Makefile.am:
21053         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21054           plug mem-leak, re-add to valgrindable tests
21055
21056 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21057
21058         * gst/gstplugin.h:
21059           unbreak the build for those who have chronic arthritis
21060           and typing "make check" is just too taxing on the hands
21061
21062 2005-09-20  Andy Wingo  <wingo@pobox.com>
21063
21064         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
21065         really want it out, you should fix plugins at the same time.
21066
21067 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
21068
21069         * configure.ac:
21070         * docs/gst/gstreamer-sections.txt:
21071         * gst/gstobject.c:
21072           added missing symbols to api docs
21073           disable ref-count hack if we have glib >= 2.8
21074
21075 2005-09-19  David Schleef  <ds@schleef.org>
21076
21077         * docs/gst/Makefile.am: Ignore a few more internal headers
21078         * docs/gst/gstreamer-docs.sgml: Remove old sections
21079         * docs/gst/gstreamer-sections.txt: Remove old sections
21080         * docs/gst/tmpl/gstobject.sgml: update
21081         * docs/gst/tmpl/gstplugin.sgml: update
21082         * docs/gst/tmpl/gstpluginfeature.sgml: update
21083         * docs/random/ds/0.9-suggested-changes: update.
21084         * gst/Makefile.am: remove memchunk and trashstack, since they're
21085           not used.
21086         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
21087         * gst/gst.h: don't include some headers
21088         * gst/gstchildproxy.c: add gstmarshal.h
21089         * gst/gstclock.c: Don't use memchunks
21090         * gst/gstminiobject.c: Add some docs
21091         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
21092         * gst/gstobject.h: same
21093         * gst/gstplugin.c: include gstmacros.h
21094         * gst/gstplugin.h: don't include gstmacros.h, since it's private
21095         * gst/gstquery.c: don't use memchunks
21096         * gst/gstregistry.c: rename gst_registry_deinit()
21097         * gst/gstregistry.h: same
21098
21099 2005-09-19  David Schleef  <ds@schleef.org>
21100
21101         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
21102         * docs/libs/gstreamer-libs-sections.txt:
21103         * docs/libs/tmpl/gstgetbits.sgml:
21104         * docs/libs/tmpl/gstputbits.sgml:
21105
21106 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
21107
21108         * win32/gstenumtypes.c:
21109         * win32/gstenumtypes.h:
21110           Update.
21111
21112 2005-09-19  Wim Taymans  <wim@fluendo.com>
21113
21114         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
21115         Automatically PAUSE and RESUME a pipeline when a flushing seek
21116         is performed.
21117
21118 2005-09-19  Andy Wingo  <wingo@pobox.com>
21119
21120         * gst/gstregistry.h: Spacing fixen.
21121
21122 2005-09-19  Wim Taymans  <wim@fluendo.com>
21123
21124         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
21125         Handle state change failure more correctly.
21126
21127 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21128
21129         * check/Makefile.am:
21130         * check/pipelines/cleanup.c: (run_pipeline):
21131         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21132         (GST_START_TEST):
21133           enable cleanup again after fixing the leak
21134         * docs/README:
21135           some more info on docs
21136
21137 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21138
21139         * check/Makefile.am:
21140           re-enable tests now that leaks are plugged
21141         * check/gst/gst.c:
21142         * check/gst/gstbin.c:
21143         * check/gst/gstpipeline.c:
21144           add some more tests while fixing leaks
21145         * common/check.mak:
21146           make sure binaries are uptodate when valgrinding/gdbing
21147         * gst/gst.c:
21148         * gst/gstelementfactory.c:
21149           remove a ref too many, and add a FIXME for when we get
21150           round to disposing of classes
21151         * gst/gstplugin.c:
21152           fix the refcounting when loading a plugin from a file and
21153           the code pretends that the pointer is the same even though
21154           of course it can change
21155         * gst/gstpluginfeature.c:
21156           unref plugins marked cached (a bit confusing as a name)
21157           as the docs state should be done
21158           various doc additions to explain refcounting
21159         * gst/gstregistry.c:
21160         * gst/gstregistryxml.c:
21161           debugging
21162
21163 2005-09-19  Wim Taymans  <wim@fluendo.com>
21164
21165         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21166         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21167         (send_messages), (GST_START_TEST), (gstbus_suite):
21168         * check/gst/gstpipeline.c: (GST_START_TEST):
21169         * check/pipelines/cleanup.c: (run_pipeline):
21170         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21171         (GST_START_TEST):
21172         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
21173         (gst_bus_source_check), (gst_bus_source_dispatch),
21174         (gst_bus_create_watch), (gst_bus_add_watch_full),
21175         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
21176         * gst/gstbus.h:
21177         * tools/gst-launch.c: (event_loop):
21178         * tools/gst-md5sum.c: (event_loop):
21179         GstBusHandler -> GstBusFunc, return value has the same meaning as
21180         any other GSource (FALSE == remove source).
21181         _add_watch() and _add_watch_full() now take a MessageType mask to
21182         only handle specific types of messages.
21183         _poll() returns the GstMessage instead of the message type to avoid
21184         race conditions.
21185         _have_pending() takes a MessageType mask now too.
21186         Added testsuite for multiple bus watches.
21187         Fix testsuites and applications for new bus API.
21188
21189 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21190
21191         * check/Makefile.am:
21192           mark a bunch of the tests as to fix until we fix them
21193
21194 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21195
21196         * common/check.mak:
21197           use GST_PLUGIN settings for valgrind tests as well, so we're
21198           valgrinding the correct thing
21199         * gst/gst.c: (init_post):
21200           plug another leak
21201
21202 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21203
21204         * gst/gst.c: (init_post), (gst_deinit):
21205         * gst/gstelementfactory.c: (gst_element_factory_class_init),
21206         (gst_element_factory_finalize), (gst_element_factory_cleanup):
21207         * gst/gstindex.c: (gst_index_factory_class_init),
21208         (gst_index_factory_finalize):
21209         * gst/gstobject.c: (gst_object_dispose):
21210         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
21211         (gst_plugin_load_file), (gst_plugin_desc_free):
21212         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
21213         (gst_plugin_feature_finalize):
21214         * gst/gstregistry.c: (gst_registry_class_init),
21215         (gst_registry_init), (gst_registry_finalize),
21216         (gst_registry_get_default), (gst_registry_deinit):
21217         * gst/gstregistry.h:
21218         * gst/gstregistryxml.c: (load_feature), (load_plugin):
21219           various cleanups and memleak plugging.  make valgrind is happy now.
21220
21221 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21222
21223         * common/check.mak:
21224           add a check-valgrind target
21225
21226 2005-09-18  David Schleef  <ds@schleef.org>
21227
21228         * tools/gst-inspect.c: Revert the GOption code.
21229
21230 2005-09-17  David Schleef  <ds@schleef.org>
21231
21232         * check/Makefile.am: Fix environment variables.
21233         * check/gst/gstplugin.c: Fix for API changes.
21234         * tools/gst-inspect.c: Fix for API changes.
21235         * tools/gst-xmlinspect.c: Fix for API changes.
21236         * gst/gstelementfactory.c:
21237         * gst/gstplugin.c:
21238         * gst/gstplugin.h:
21239         * gst/gstpluginfeature.c:
21240         * gst/gstpluginfeature.h:
21241         * gst/gstregistry.c:
21242         * gst/gstregistry.h:
21243         * gst/gstregistryxml.c:
21244         * gst/gsttypefind.c:
21245         * gst/gsttypefindfactory.c:
21246         * gst/indexers/gstfileindex.c:
21247         * gst/indexers/gstmemindex.c:
21248         * gst/schedulers/Makefile.am:
21249           Change registry to keep track of both plugins and features,
21250           removing the feature tracking from plugins themselves.
21251
21252 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21253
21254         * check/Makefile.am:
21255         * tools/gst-register.1.in:
21256           remove gst-register
21257
21258 2005-09-15  David Schleef  <ds@schleef.org>
21259
21260         * check/gst/gstplugin.c:
21261         * gst/gstelementfactory.c:
21262         * gst/gstplugin.c:
21263         * gst/gstpluginfeature.c:
21264         * gst/gstregistry.c:
21265           Getting tired of debugging.  Disabled all the unreffing of
21266           plugins and features, which fixes the segfaults, but of
21267           course leaks like crazy.  At least playbin works.
21268
21269 2005-09-15  David Schleef  <ds@schleef.org>
21270
21271         * check/gst/gstplugin.c: (register_check_elements),
21272         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
21273         More testing
21274         * gst/elements/gsttypefindelement.c: Fix refcounting.
21275         * gst/gsttypefind.c:
21276         * gst/gsttypefindfactory.c:
21277         * gst/gsttypefindfactory.h:
21278
21279 2005-09-15  David Schleef  <ds@schleef.org>
21280
21281         * gst/gstindex.c: get refcounting correct.
21282         * gst/gstregistry.c: Handle the case where a feature/plugin is
21283           not found.
21284
21285 2005-09-15  David Schleef  <ds@schleef.org>
21286
21287         * check/Makefile.am:
21288         * check/gst/gstplugin.c: Add test
21289         * gst/gstplugin.c: Fix problems noticed by testsuite
21290         * gst/gstplugin.h:
21291         * gst/gstregistry.c: 
21292         * gst/gstregistry.h:
21293
21294 2005-09-15  David Schleef  <ds@schleef.org>
21295
21296         * gst/gstplugin.c: Implement semi-decent recounting and locking
21297           in plugins and plugin features.
21298         * gst/gstplugin.h:
21299         * gst/gstpluginfeature.c:
21300         * gst/gstpluginfeature.h:
21301         * gst/gstregistry.c:
21302
21303 2005-09-15  Michael Smith <msmith@fluendo.com>
21304
21305         * gst/gstregistry.c: (gst_registry_get_feature_list):
21306           Implement this. Makes oggdemux work; decodebin still broken.
21307
21308 2005-09-14  David Schleef  <ds@schleef.org>
21309
21310         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
21311           #316076)
21312         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
21313         * gst/check/Makefile.am:
21314         * libs/gst/controller/Makefile.am:
21315         * libs/gst/dataprotocol/Makefile.am:
21316
21317 2005-09-14  David Schleef  <ds@schleef.org>
21318
21319         * configure.ac: Remove getbits library.  Nothing uses it, and
21320           it should be in something like liboil if someone did want
21321           to use it.
21322         * libs/gst/Makefile.am:
21323         * libs/gst/getbits/Makefile.am:
21324         * libs/gst/getbits/gbtest.c:
21325         * libs/gst/getbits/getbits.c:
21326         * libs/gst/getbits/getbits.h:
21327         * libs/gst/getbits/gstgetbits_generic.c:
21328         * libs/gst/getbits/gstgetbits_i386.s:
21329         * libs/gst/getbits/gstgetbits_inl.h:
21330
21331 2005-09-14  David Schleef  <ds@schleef.org>
21332
21333         * gst/Makefile.am: Dist glib-compat.h
21334
21335 2005-09-14  David Schleef  <ds@schleef.org>
21336
21337         * configure.ac: Remove gst/registries, since it's no longer used.
21338         * gst/registries/Makefile.am:
21339         * gst/registries/gstlibxmlregistry.c:
21340         * gst/registries/gstlibxmlregistry.h:
21341         * gst/registries/gstxmlregistry.c:
21342         * gst/registries/gstxmlregistry.h:
21343         * gst/registries/registrytest.c:
21344
21345 2005-09-14  David Schleef  <ds@schleef.org>
21346
21347         * gst/glib-compat.h:
21348         * gst/gstregistryxml.c:
21349           Convergence is near.  Seriously.
21350
21351 2005-09-14  David Schleef  <ds@schleef.org>
21352
21353         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21354         * gst/glib-compat.h:
21355           Attempt #4 to appease the buildbots.
21356
21357 2005-09-14  David Schleef  <ds@schleef.org>
21358
21359         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21360           Attempt #3.
21361
21362 2005-09-14  David Schleef  <ds@schleef.org>
21363
21364         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21365         Attempt #2.
21366
21367 2005-09-14  David Schleef  <ds@schleef.org>
21368
21369         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
21370           the new functions.
21371
21372 2005-09-14  David Schleef  <ds@schleef.org>
21373
21374         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21375         * gst/glib-compat.h: Add some functions that are in newer versions
21376           of glib than we care to require.
21377         * gst/gstregistryxml.c: Use them.
21378
21379 2005-09-14  David Schleef  <ds@schleef.org>
21380
21381         * po/POTFILES.in: remove gst-register.c
21382
21383 2005-09-14  David Schleef  <ds@schleef.org>
21384
21385         * docs/gst/gstreamer-docs.sgml:
21386         * docs/gst/gstreamer-sections.txt:
21387         * docs/gst/gstreamer.types:
21388         * docs/gst/tmpl/gstelement.sgml:
21389         * docs/gst/tmpl/gstplugin.sgml:
21390         * docs/gst/tmpl/gstpluginfeature.sgml:
21391           Documentation updates for registry changes.
21392
21393 2005-09-14  David Schleef  <ds@schleef.org>
21394
21395         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21396           because we don't require glib-2.8.
21397
21398 2005-09-14  David Schleef  <ds@schleef.org>
21399
21400         * gst/gstregistryxml.c: Added.  Essentially moved out of the
21401           registries directory.
21402
21403 2005-09-14  David Schleef  <ds@schleef.org>
21404
21405         * check/Makefile.am:
21406         * check/generic/states.c:
21407         * gst/Makefile.am:
21408         * gst/gst.c:
21409         * gst/gst.h:
21410         * gst/gst_private.h:
21411         * gst/gstelementfactory.c:
21412         * gst/gstindex.c:
21413         * gst/gstinfo.c:
21414         * gst/gstplugin.c:
21415         * gst/gstplugin.h:
21416         * gst/gstpluginfeature.c:
21417         * gst/gstpluginfeature.h:
21418         * gst/gstregistry.c:
21419         * gst/gstregistry.h:
21420         * gst/gstregistrypool.c: remove
21421         * gst/gstregistrypool.h: remove
21422         * gst/gsttypefind.c:
21423         * gst/gsttypefindfactory.c:
21424         * gst/gsturi.c:
21425         * tools/Makefile.am:
21426         * tools/gst-compprep.c:
21427         * tools/gst-inspect.c:
21428         * tools/gst-register.c: remove
21429         * tools/gst-xmlinspect.c:
21430           Registry rewrite.  Changes registry from being a file created
21431           by a tool into a simple cache file created automatically by 
21432           libgstreamer.  Removed gst-register (because it's no longer
21433           needed).  Remove registry pools, because we only have one
21434           registry implementation (XML).  Fix up other subsystems as
21435           necessary.
21436
21437 2005-09-13  Michael Smith <msmith@fluendo.com>
21438
21439         * gst/gstconfig.h.in:
21440           Don't Use windows linking attributes for MinGW. Fixes #316157
21441
21442 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21443
21444         * gst/gstutils.c: (set_state_async_thread_func),
21445         (gst_element_set_state_async):
21446           Apparently people think it's better if this function doesn't
21447           try to set the state to whatever state was asked for on the first
21448           call to this function for any object.  Seriously.
21449
21450 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21451
21452         * check/gst/gstpipeline.c: (GST_START_TEST):
21453         * docs/gst/gstreamer-sections.txt:
21454         * gst/gstutils.c: (set_state_async_thread_func),
21455         (gst_element_set_state_async):
21456         * gst/gstutils.h:
21457           add a "gst_element_set_state_async" method that
21458           sets the state and starts a thread to make sure the state
21459           change completes as best as it can
21460
21461 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21462
21463         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21464           codify design+behaviour in testsuite after discussion
21465
21466 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21467
21468         * docs/gst/tmpl/gstelement.sgml:
21469         * docs/manual/appendix-quotes.xml:
21470           add a quote
21471         * gst/gstelement.c: (gst_element_set_state):
21472           add some debug
21473
21474 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
21475
21476         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21477         (gst_base_transform_prepare_output_buf),
21478         (gst_base_transform_handle_buffer):
21479         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21480         (gst_capsfilter_prepare_buf):
21481           Remove the requirement for sub-classes to call the parent
21482           implementation of prepare_output_buffer with a wrapper function.
21483           
21484         * gst/gsttaglist.h:
21485         * gst/gsttagsetter.h:
21486           Fix #define wrapper
21487
21488 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
21489
21490         * docs/gst/gstreamer-sections.txt:
21491           more doc cleanups
21492
21493 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21494
21495         * docs/gst/gstreamer-sections.txt:
21496         * docs/gst/tmpl/gstelement.sgml:
21497         * docs/gst/tmpl/gstplugin.sgml:
21498         * gst/gstminiobject.c:
21499         * gst/gstvalue.h:
21500           docs now stop throwing warnings
21501
21502 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21503
21504         * docs/gst/gstreamer-sections.txt:
21505         * docs/gst/gstreamer.types:
21506         * docs/gst/tmpl/gstpad.sgml:
21507         * docs/gst/tmpl/gsttypes.sgml:
21508         * gst/base/gstadapter.h:
21509         * gst/base/gstbasesink.h:
21510         * gst/base/gstbasesrc.h:
21511         * gst/gstbin.h:
21512         * gst/gstbuffer.h:
21513         * gst/gstbus.h:
21514         * gst/gstcaps.h:
21515         * gst/gstclock.h:
21516         * gst/gstelement.h:
21517         * gst/gstevent.h:
21518         * gst/gstmessage.h:
21519         * gst/gstpad.h:
21520         * gst/gststructure.c:
21521         * gst/registries/gstlibxmlregistry.h:
21522           various documentation fixes
21523
21524 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21525
21526         * docs/gst/gstreamer-sections.txt:
21527         * docs/gst/tmpl/gstvalue.sgml:
21528           rearrange gstvalue section
21529         * gst/gstutils.c: (gst_element_state_get_name):
21530           NONE -> VOID
21531         * gst/gstvalue.c: (_gst_value_initialize):
21532         * gst/gstvalue.h:
21533           doc updates
21534
21535 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
21536
21537         * check/gst-libs/controller.c:
21538           Header include fix.
21539         * gst/base/gstbasetransform.c:
21540         (gst_base_transform_default_prepare_buf),
21541         (gst_base_transform_handle_buffer):
21542         * gst/base/gstbasetransform.h:
21543           Some more basetransform changes and fixes to enable sub-classes
21544           that modify buffer metadata only.
21545         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21546         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21547         (gst_capsfilter_prepare_buf):
21548           If the output pad has fixed allowed caps and input buffers 
21549           don't have any, set the fixed caps on outgoing buffers.
21550
21551 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
21552         * check/elements/identity.c: (GST_START_TEST):
21553           Make the error a little clearer when the test fails because
21554           identity made a copy of the buffer.
21555         * docs/gst/gstreamer-sections.txt:
21556           New symbols in gstbasetransform.h
21557         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21558         (gst_base_transform_init), (gst_base_transform_transform_size),
21559         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21560         (gst_base_transform_default_prepare_buf),
21561         (gst_base_transform_get_unit_size),
21562         (gst_base_transform_buffer_alloc),
21563         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21564         (gst_base_transform_change_state),
21565         (gst_base_transform_set_passthrough),
21566         (gst_base_transform_set_in_place),
21567         (gst_base_transform_is_in_place):
21568         * gst/base/gstbasetransform.h:
21569           Change BaseTransform to separate in_place operate from same_caps
21570           output. in_place implies that the element can perform the transform
21571           on incoming buffers in-place, even if the caps on the output are
21572           different.
21573           Sub-class elements can now implement special buffer allocation
21574           methods for outgoing buffers if they wish to.
21575           Big documentation addition.
21576         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21577         * gst/elements/gstelements.c:
21578           Changes for basetransform modifications.
21579         * gst/elements/Makefile.am:
21580         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21581           Compile fix. Extra debug output.
21582
21583 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21584
21585         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21586         (gst_pad_suite):
21587           add tests for valid pad naming
21588         * gst/check/gstcheck.c: (gst_check_log_message_func),
21589         (gst_check_log_critical_func):
21590           add ASSERT_WARNING
21591           remove printing of code, it is fragile when the code contains
21592           % and the line number is enough info
21593         * gst/check/gstcheck.h:
21594         * gst/gstpad.c: (gst_pad_template_new):
21595           fix memleaks
21596
21597 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21598
21599         * configure.ac:
21600           say what CHECK flags we use
21601         * docs/libs/gstreamer-libs.types:
21602         * libs/gst/controller/Makefile.am:
21603         * libs/gst/controller/gst-controller.c:
21604         * libs/gst/controller/gst-controller.h:
21605         * libs/gst/controller/gst-helper.c:
21606         * libs/gst/controller/gst-interpolation.c:
21607         * libs/gst/controller/gstcontroller.c:
21608         * libs/gst/controller/gsthelper.c:
21609         * libs/gst/controller/gstinterpolation.c:
21610         * tools/gst-inspect.c: (print_plugin_info):
21611           we don't use dashes in header names
21612
21613 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21614
21615         * check/Makefile.am:
21616         * check/gst/.cvsignore:
21617         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21618         (gst_pipeline_suite), (main):
21619           adding a test for pipelines and state changes
21620         * gst/gstutils.c: (get_state_func):
21621           add some debugging
21622         * gstreamer.spec.in:
21623           fix up spec file
21624
21625 2005-09-08  Michael Smith <msmith@fluendo.com>
21626
21627         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21628         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21629         (gst_file_src_is_seekable), (gst_file_src_get_size),
21630         (gst_file_src_start):
21631         * gst/elements/gstfilesrc.h:
21632           Various fixes for unseekable, unmmapable, and non-normal files, so
21633           that fallback to read() rather than mmap() works.
21634         * gst/gstevent.c: (gst_event_new_newsegment):
21635           Allow newsegment events with segment_start == segment_end, as will
21636           correctly happen if you use filesrc on a zero-size file, for
21637           example.
21638
21639 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21640
21641         * gst/gstplugin.c: (gst_plugin_load_file):
21642           Call g_module_close when we don't load the module
21643
21644         * gst/registries/gstlibxmlregistry.c:
21645         (gst_xml_registry_get_property):
21646           Port leak fix from 0.8
21647
21648 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21649
21650         * docs/gst/gstreamer-docs.sgml:
21651         * docs/gst/tmpl/.cvsignore:
21652         * docs/gst/tmpl/gsttrace.sgml:
21653         * docs/gst/tmpl/gsttrashstack.sgml:
21654         * gst/Makefile.am:
21655         * gst/gst.h:
21656         * gst/gstelement.h:
21657         * gst/gstevent.h:
21658         * gst/gstmessage.c:
21659         * gst/gstmessage.h:
21660         * gst/gsttag.c:
21661         * gst/gsttag.h:
21662         * gst/gsttaginterface.c:
21663         * gst/gsttaginterface.h:
21664         * gst/gsttaglist.c:
21665         * gst/gsttaglist.h:
21666         * gst/gsttagsetter.c:
21667         * gst/gsttagsetter.h:
21668         * gst/gsttrace.c:
21669         * gst/gsttrace.h:
21670         * gst/gsttrashstack.c:
21671           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
21672           inlined docs for gsttrace, gsttrashstack
21673
21674 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21675
21676         * gst/Makefile.am:
21677         * gst/elements/gstbufferstore.h:
21678         * gst/elements/gsttypefindelement.c:
21679         * gst/elements/gsttypefindelement.h:
21680         * gst/gst.h:
21681         * gst/gsttypefind.c:
21682         * gst/gsttypefind.h:
21683         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
21684         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
21685         (gst_type_find_factory_dispose),
21686         (gst_type_find_factory_unload_thyself),
21687         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
21688         (gst_type_find_factory_get_caps),
21689         (gst_type_find_factory_get_extensions),
21690         (gst_type_find_factory_call_function):
21691         * gst/gsttypefindfactory.h:
21692         * gst/registries/gstlibxmlregistry.c:
21693         * gst/registries/gstxmlregistry.c:
21694           splitted gsttypefind into gsttypefind, gsttypefindfactory
21695
21696 2005-09-07  Andy Wingo  <wingo@pobox.com>
21697
21698         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
21699         condition whereby the pad's task function is entered before the
21700         pad_mode variable was set.
21701
21702 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21703
21704         * gst/gstpad.c: (gst_pad_alloc_buffer):
21705           Catch misbehaving pad_alloc functions that don't
21706           set up caps and do it for them.
21707
21708 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21709
21710         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21711           test for pipe!=NULL
21712         * docs/gst/tmpl/.cvsignore:
21713         * docs/gst/tmpl/gstmemchunk.sgml:
21714         * docs/gst/tmpl/gstparse.sgml:
21715         * docs/gst/tmpl/gsttaglist.sgml:
21716         * docs/gst/tmpl/gsttagsetter.sgml:
21717         * docs/gst/tmpl/gsttypefind.sgml:
21718         * docs/gst/tmpl/gsttypefindfactory.sgml:
21719         * gst/gstmemchunk.c:
21720         * gst/gstparse.c:
21721         * gst/gsttag.c:
21722         * gst/gsttaginterface.c:
21723         * gst/gsttypefind.c:
21724         * gst/gsttypefind.h:
21725           inlined more docs
21726
21727 === release 0.9.2 ===
21728
21729 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21730
21731         * NEWS:
21732         * RELEASE:
21733         * configure.ac:
21734           releasing 0.9.2, "South"
21735
21736 2005-09-05  Andy Wingo  <wingo@pobox.com>
21737
21738         * gst/registries/gstxmlregistry.h:
21739         * gst/registries/gstxmlregistry.c: Um... resurrect...
21740         
21741         * gst/registries/gstxmlregistry.h:
21742         * gst/registries/gstxmlregistry.c: and update to newer API.
21743         Incidentally they should be a bit faster now that they don't have
21744         to parse the caps.
21745         
21746 2005-09-05  Andy Wingo  <wingo@pobox.com>
21747
21748         * gst/registries/gstxmlregistry.h:
21749         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
21750         replaced by the libxml registry a while back
21751
21752 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21753
21754         * docs/gst/tmpl/gstplugin.sgml:
21755         * gst/elements/gstelements.c:
21756         * gst/gst.c:
21757         * gst/gstplugin.c: (gst_plugin_register_func),
21758         (gst_plugin_desc_copy), (gst_plugin_desc_free),
21759         (gst_plugin_get_source):
21760         * gst/gstplugin.h:
21761         * gst/registries/gstlibxmlregistry.c: (load_plugin),
21762         (gst_xml_registry_save_plugin):
21763         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
21764         (gst_xml_registry_save_plugin):
21765         * tools/gst-inspect.c: (print_plugin_info):
21766           add a "source" plugin description field, to represent the source
21767           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
21768           will set it to PACKAGE, which is automake's idea of the name of
21769           the source project.
21770
21771 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21772
21773         * Makefile.am:
21774         * autogen.sh:
21775         * configure.ac:
21776         * docs/Makefile.am:
21777         * docs/faq/Makefile.am:
21778         * docs/gst/tmpl/gstelement.sgml:
21779         * docs/gst/tmpl/gsttypes.sgml:
21780         * docs/htmlinstall.mak:
21781         * docs/manual/Makefile.am:
21782         * docs/pwg/Makefile.am:
21783           reorganize doc build a little
21784           split out docbook and gtk-doc stuff
21785           have two separate --enable's and enable them through autogen
21786           but disable by default in configure (to be similar to other
21787           projects)
21788         * gstreamer.spec.in:
21789           clean up docs install
21790         * po/af.po:
21791         * po/az.po:
21792         * po/ca.po:
21793         * po/cs.po:
21794         * po/de.po:
21795         * po/en_GB.po:
21796         * po/fr.po:
21797         * po/it.po:
21798         * po/nb.po:
21799         * po/nl.po:
21800         * po/ru.po:
21801         * po/sq.po:
21802         * po/sr.po:
21803         * po/sv.po:
21804         * po/tr.po:
21805         * po/uk.po:
21806         * po/vi.po:
21807           translation updates
21808
21809 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
21810
21811         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
21812           Add comment.
21813           
21814         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21815         (gst_fake_sink_change_state):
21816           Make state change function thread-safe.
21817           
21818         * gst/gstpad.c: (gst_pad_alloc_buffer):
21819           Set offset on generic buffer allocated by fallback.
21820
21821 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
21822
21823         * docs/gst/gstreamer-sections.txt:
21824         * docs/gst/tmpl/gstelement.sgml:
21825         * gst/gstpad.c:
21826         * libs/gst/controller/gst-controller.c:
21827         (gst_controlled_property_set_interpolation_mode),
21828         (gst_controlled_property_new),
21829         (gst_controller_find_controlled_property):
21830          run the wingo-magic script against the docs
21831
21832 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21833
21834         * docs/gst/gstreamer-docs.sgml:
21835         * docs/gst/gstreamer-sections.txt:
21836         * docs/gst/tmpl/.cvsignore:
21837         * docs/gst/tmpl/gstelementdetails.sgml:
21838         * docs/gst/tmpl/gstelementfactory.sgml:
21839         * gst/gst.c:
21840         * gst/gstbus.c:
21841         * gst/gstelementfactory.c:
21842         * gst/gstelementfactory.h:
21843           merged elementdetails docs into elementfactory docs
21844           inlined both
21845
21846 2005-09-02  Andy Wingo  <wingo@pobox.com>
21847
21848         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
21849         consider this enum an enum and not a flags.
21850
21851 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21852
21853         * docs/gst/gstreamer-docs.sgml:
21854         * docs/gst/tmpl/.cvsignore:
21855         * docs/gst/tmpl/gstghostpad.sgml:
21856         * docs/gst/tmpl/gstiterator.sgml:
21857         * docs/gst/tmpl/gstmacros.sgml:
21858         * docs/gst/tmpl/gstrealpad.sgml:
21859         * docs/gst/tmpl/gstregistry.sgml:
21860         * docs/gst/tmpl/gstregistrypool.sgml:
21861         * docs/gst/tmpl/gststructure.sgml:
21862         * docs/gst/tmpl/gstsystemclock.sgml:
21863         * docs/gst/tmpl/gsttrace.sgml:
21864         * gst/gstghostpad.c:
21865         * gst/gstmacros.h:
21866         * gst/gstmemchunk.c:
21867         * gst/gstmemchunk.h:
21868         * gst/gstqueue.c:
21869         * gst/gstregistry.c:
21870         * gst/gstregistrypool.c:
21871         * gst/gststructure.c:
21872         * gst/gstsystemclock.c:
21873           more docs inlined
21874
21875 2005-09-02  Andy Wingo  <wingo@pobox.com>
21876
21877         * gst/gstelement.h (GstState): Renamed from GstElementState,
21878         changed to be a normal enum instead of flags.
21879         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
21880         munged to be GST_STATE_CHANGE_*.
21881         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
21882         work with the new state representation.
21883         (GstStateChange): New enumeration of possible state transitions.
21884         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
21885         (GstElementClass::change_state): Pass the GstStateChange along as
21886         an argument. Helps language bindings, so they don't have to use
21887         tricky lock-needing macros like GST_STATE_CHANGE ().
21888
21889         * scripts/update-states (file): New script. Run it on a file to
21890         update it for state naming and API changes. Updates files in
21891         place.
21892
21893         * All files updated for the new API.
21894
21895 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21896
21897         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
21898         * gst/gstutils.c: (gst_util_set_value_from_string),
21899         (gst_util_set_object_arg):
21900           fix a bunch of unchecked return values
21901         * tools/gst-complete.c: (main):
21902         * gstreamer.spec.in:
21903           clean up a little
21904
21905 2005-09-01  Wim Taymans  <wim@fluendo.com>
21906
21907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21908         (gst_base_sink_event), (gst_base_sink_do_sync),
21909         (gst_base_sink_handle_event):
21910         * gst/base/gstbasesink.h:
21911         Handle newsegments more correctly.
21912
21913         * gst/gstbus.c:
21914         Fix docs.
21915
21916         * gst/gstevent.c: (gst_event_new_newsegment):
21917         A newsegment cannot have a start_time of -1
21918
21919 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
21920
21921         * win32/gstenumtypes.c:
21922         * win32/gstenumtypes.h:
21923           Update
21924
21925 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21926
21927         * libs/gst/controller/gst-controller.c:
21928         (gst_controlled_property_set_interpolation_mode),
21929         (gst_controlled_property_new):
21930          fixed boolean again
21931
21932 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
21933
21934         * docs/faq/gst-uninstalled:
21935           add -good
21936         * gst/gstevent.c:
21937         * gst/gstevent.h:
21938           remove wrong docs
21939         * gst/gstutils.c: (gst_element_link_filtered):
21940         * gst/gstutils.h:
21941           add gst_element_link_filtered
21942
21943 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21944
21945         * docs/gst/gstreamer-docs.sgml:
21946         * docs/gst/gstreamer-sections.txt:
21947         * docs/gst/tmpl/.cvsignore:
21948         * docs/gst/tmpl/gsterror.sgml:
21949         * docs/gst/tmpl/gstfilter.sgml:
21950         * docs/gst/tmpl/gsturihandler.sgml:
21951         * docs/gst/tmpl/gsturitype.sgml:
21952         * docs/gst/tmpl/gstutils.sgml:
21953         * docs/gst/tmpl/gstxml.sgml:
21954         * gst/gsterror.c:
21955         * gst/gsterror.h:
21956         * gst/gstfilter.c:
21957         * gst/gsturi.c:
21958         * gst/gsturitype.c:
21959         * gst/gstutils.c:
21960         * gst/gstxml.c:
21961           inlined more docs, fixed double id-ref
21962
21963 2005-08-31  Wim Taymans  <wim@fluendo.com>
21964
21965         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21966         (gst_base_transform_handle_buffer):
21967         Passthrough elements don't need the caps as they don't care.
21968
21969 2005-08-31  Wim Taymans  <wim@fluendo.com>
21970
21971         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21972         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
21973         Don't leak refcounts on buffers.
21974
21975 2005-08-31  Wim Taymans  <wim@fluendo.com>
21976
21977         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
21978         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21979         (gst_base_transform_chain), (gst_base_transform_change_state):
21980         * gst/base/gstbasetransform.h:
21981         Handle the case where we are not negotiated more gracefully.
21982
21983 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
21984
21985         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
21986         (gst_file_src_map_region):
21987           Set READONLY flag on mmap'ed buffers, otherwise
21988           gst_buffer_make_writable() won't work properly (#314708).
21989
21990 2005-08-31  Wim Taymans  <wim@fluendo.com>
21991
21992         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
21993         passthrough elements can even do inplace on non writable
21994         buffers (as they don't touch them).
21995
21996 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21997
21998         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21999         (gst_test_mono_source_set_property),
22000         (gst_test_mono_source_class_init), (GST_START_TEST),
22001         (gst_controller_suite):
22002           more tests (hehe I have the most)
22003         * gst/gstbus.c:
22004           describe popping messages whenusing mulltiple sources
22005         * libs/gst/controller/gst-controller.c:
22006         (gst_controlled_property_set_interpolation_mode),
22007         (gst_controlled_property_new):
22008         * libs/gst/controller/gst-controller.h:
22009         * libs/gst/controller/gst-interpolation.c:
22010           implement boolean properties
22011
22012 2005-08-31  Wim Taymans  <wim@fluendo.com>
22013
22014         * gst/gstminiobject.c: (gst_mini_object_ref):
22015         Cannot assert that the refcount has to be positive
22016         since a disposed object can be resurrected.
22017
22018 2005-08-31  Wim Taymans  <wim@fluendo.com>
22019
22020         * gst/gstpad.c: (gst_pad_init):
22021         Revert change, need to first fix badly behaving 
22022         apps.
22023
22024 2005-08-30  Wim Taymans  <wim@fluendo.com>
22025
22026         * check/elements/fakesrc.c: (setup_fakesrc):
22027         * check/elements/identity.c: (setup_identity):
22028         Activate pads before using them.
22029
22030 2005-08-30  Wim Taymans  <wim@fluendo.com>
22031
22032         * gst/base/gstadapter.c: (gst_adapter_flush):
22033         Flushing out 0 bytes is ok for this function.
22034
22035         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22036         no newsegment gives a warning and sets the start/stop to 
22037         invalid.
22038
22039         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
22040         (gst_base_transform_set_passthrough):
22041         Some debug info.
22042
22043         * gst/gstminiobject.c: (gst_mini_object_ref):
22044         Check refcount here too.
22045
22046         * gst/gstpad.c: (gst_pad_init):
22047         Pads are initially flushing and refusing data.
22048
22049         * gst/gstutils.c: (gst_element_link_pads_filtered):
22050         When adding a capsfilter element make sure it has the
22051         same state as the parent bin.
22052
22053 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22054
22055         * docs/gst/tmpl/.cvsignore:
22056         * docs/gst/tmpl/gstformat.sgml:
22057         * docs/gst/tmpl/gstversion.sgml:
22058         * gst/gstbus.h:
22059         * gst/gstformat.c:
22060         * gst/gstformat.h:
22061         * gst/gstversion.h.in:
22062           more docs and two more inlined
22063
22064 2005-08-30  Wim Taymans  <wim@fluendo.com>
22065
22066         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
22067         Don't sync to clock.
22068
22069 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22070
22071         * docs/gst/gstreamer-sections.txt:
22072           ultral33t func10ns deserve to appear in the docs actually
22073         * docs/gst/tmpl/.cvsignore:
22074         * docs/gst/tmpl/gstcompat.sgml:
22075         * docs/gst/tmpl/gstconfig.sgml:
22076         * gst/check/gstcheck.c:
22077         * gst/gstcompat.h:
22078         * gst/gstconfig.h.in:
22079           inlined more docs
22080
22081 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22082
22083         * docs/gst/tmpl/.cvsignore:
22084         * docs/gst/tmpl/gstquery.sgml:
22085         * docs/gst/tmpl/gstutils.sgml:
22086         * gst/gstquery.c:
22087         * gst/gstquery.h:
22088           inlined and extended docs
22089
22090 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22091
22092         * check/gst-libs/controller.c: (GST_START_TEST),
22093         (gst_controller_suite):
22094           more tests
22095         * docs/gst/tmpl/gstutils.sgml:
22096         * docs/libs/gstreamer-libs-sections.txt:
22097         * docs/libs/tmpl/gstdataprotocol.sgml:
22098           include path fixes
22099         * examples/controller/audio-example.c: (main):
22100           controller example works now
22101         * gst/gstclock.h:
22102           doc fixes
22103         * tools/gst-inspect.c: (print_element_properties_info):
22104           show param spec flags
22105
22106 2005-08-29  Andy Wingo  <wingo@pobox.com>
22107
22108         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
22109
22110 2005-08-28  Andy Wingo  <wingo@pobox.com>
22111
22112         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
22113         as having two arguments instead of just one. Allows superclasses
22114         to access information on subclasses -- see the terrible for() loop
22115         in gtype.c:g_type_create_instance for the reason why. All callers
22116         changed.
22117
22118 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22119
22120         * docs/design/part-messages.txt:
22121           update info
22122         * docs/gst/tmpl/.cvsignore:
22123         * docs/gst/tmpl/gstcaps.sgml:
22124         * docs/gst/tmpl/gstclock.sgml:
22125         * gst/gstbus.c:
22126         * gst/gstcaps.c:
22127         * gst/gstcaps.h:
22128         * gst/gstclock.c:
22129         * gst/gstclock.h:
22130         * gst/gstmessage.c:
22131           added descriptions for bus and message
22132           inline caps and clock docs
22133
22134 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22135
22136         * gst/gstmessage.c:
22137         * gst/gstmessage.h:
22138           doc fixes
22139
22140 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22141
22142         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22143           fix div-by-zero
22144
22145 2005-08-26  Andy Wingo  <wingo@pobox.com>
22146
22147         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
22148         element_set_state's return val.
22149         (test_2_elements): Add test that's been disabled for months.
22150
22151         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
22152         can-activate-pull properties.
22153
22154         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
22155         can-activate-pull properties. Implement is_seekable so fakesrc can
22156         operate in pull mode.
22157
22158         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
22159         properties.
22160         (gst_base_sink_activate, gst_base_sink_activate_pull)
22161         (gst_base_sink_activate_push): Make activation mode choosing work.
22162         Cleanups.
22163         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
22164         is right. Make pull mode work. Post an eos before pausing in pull
22165         mode.
22166         (gst_base_sink_change_state): Pay attention to the core's
22167         change_state() return val.
22168         
22169         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
22170         has-getrange properties. Cleanups.
22171         
22172         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
22173         has_getrange and replace with can_activate_pull and
22174         can_activate_push.
22175
22176         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
22177         locking comments. Remove has_loop, has_chain and replace with
22178         can_activate_pull and can_activate_push.
22179
22180 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
22181
22182         * configure.ac:
22183         * examples/Makefile.am:
22184         * examples/metadata/Makefile.am:
22185         * examples/metadata/read-metadata.c: (message_loop),
22186         (have_pad_handler), (make_pipeline), (print_tag), (main):
22187           Add metadata reading example that loops over a list of filenames,
22188           dumping any tags found.
22189
22190         * gst/gstbus.c: (gst_bus_dispose):
22191         * gst/gstelement.c: (gst_element_dispose):
22192           Release a few potentially-held references in dispose.
22193
22194 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22195
22196         * docs/gst/tmpl/gstminiobject.sgml:
22197           do *not* add tmpl/*.sgml files to CVS!
22198
22199 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22200
22201         * libs/gst/bytestream/.cvsignore:
22202         * libs/gst/bytestream/Makefile.am:
22203         * libs/gst/bytestream/adapter.c:
22204         * libs/gst/bytestream/adapter.h:
22205         * libs/gst/bytestream/bytestream.c:
22206         * libs/gst/bytestream/bytestream.h:
22207         * libs/gst/bytestream/filepad.c:
22208         * libs/gst/bytestream/filepad.h:
22209           removing obsolete files
22210
22211 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22212
22213         * docs/gst/gstreamer-docs.sgml:
22214         * docs/libs/gstreamer-libs-docs.sgml:
22215           disabed additional index entries again, as this makes docs-gen just
22216           slow and they aren't useful yet
22217         * docs/libs/gstreamer-libs-sections.txt:
22218           little -section.txt cleanup for libs
22219
22220 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22221
22222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22223         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
22224           fix up some debugging
22225         (gst_base_transform_get_unit_size),
22226         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22227         (gst_base_transform_handle_buffer):
22228         * gst/base/gstbasetransform.h:
22229           handle and store timed NEWSEGMENT events so that subclasses that
22230           calculate time by counting samples have a segment_start time they
22231           need to add to their timestamps - see audioresample
22232
22233 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22234
22235         * gst/gstbin.h:
22236           removed ';' from the end of macro defs
22237         * docs/gst/gstreamer-docs.sgml:
22238         * docs/gst/gstreamer-sections.txt:
22239         * docs/gst/tmpl/.cvsignore:
22240         * gst/gstbus.h:
22241         * gst/gstelement.c: (gst_element_class_init),
22242         (gst_element_set_state), (activate_pads),
22243         (gst_element_save_thyself):
22244         * gst/gstevent.c: (gst_event_new_newsegment):
22245         * gst/gstevent.h:
22246         * gst/gstiterator.c:
22247         * gst/gstiterator.h:
22248         * gst/gstpad.c:
22249         * gst/gstprobe.h:
22250         * gst/gstutils.c: (gst_pad_query_convert):
22251         * gst/gstutils.h:
22252           fixed parameter name mismatches between source, header and docs
22253           added some more docs, resolved the last batch of unused elements in
22254           docs (now someone needs to doc them)
22255
22256 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22257
22258         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
22259         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
22260           don't walk through the plugins backwards.  Where is all this
22261           reversed logic coming from ?
22262
22263 2005-08-25  Wim Taymans  <wim@fluendo.com>
22264
22265         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22266         (gst_base_transform_transform_size),
22267         (gst_base_transform_configure_caps),
22268         (gst_base_transform_get_unit_size),
22269         (gst_base_transform_buffer_alloc),
22270         (gst_base_transform_change_state):
22271         * gst/base/gstbasetransform.h:
22272         Cache caps unit_size.
22273         Make sure we cannot negotiate up and downstream at the
22274         same time.
22275
22276 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22277
22278         * gst/gst.c: (init_pre), (init_post):
22279           register the installed plugin path after the env var
22280         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
22281         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
22282           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
22283           directories, so the tests can prefer uninstalled over installed
22284
22285 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22286
22287         * gst/base/gstbasetransform.h:
22288           comment
22289         * gst/gstpad.c:
22290           add to docs
22291
22292 2005-08-25  Wim Taymans  <wim@fluendo.com>
22293
22294         * gst/gstbin.c: (bin_bus_handler):
22295         Be a bit more conservative about the posted message.
22296         
22297         * gst/gstbus.c: (gst_bus_post):
22298         Some cleanups, warn wrong return values.
22299
22300 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
22301
22302         * check/gst/gstbin.c: (GST_START_TEST):
22303         * gst/gstbin.c: (bin_bus_handler):
22304         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22305         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22306         (gst_message_new_warning), (gst_message_new_tag),
22307         (gst_message_new_state_changed), (gst_message_new_segment_start),
22308         (gst_message_new_segment_done), (gst_message_new_custom):
22309         * gst/gstmessage.h:
22310         * tools/gst-launch.c: (event_loop):
22311         * tools/gst-md5sum.c: (event_loop):
22312           Revert unpopular change for GST_MESSAGE_SRC to GObject.
22313
22314 2005-08-25  Wim Taymans  <wim@fluendo.com>
22315
22316         * check/generic/states.c: (GST_START_TEST):
22317         Cleanup can be done at the end.
22318
22319         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
22320         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22321         (gst_task_get_state), (gst_task_start), (gst_task_pause):
22322         Oh boy.. Thanks for finding this, Thomas. 
22323
22324 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22325
22326         * docs/gst/gstreamer.types:
22327           added missing types
22328
22329 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22330
22331         * docs/gst/gstreamer-docs.sgml:
22332         * docs/gst/gstreamer-sections.txt:
22333         * docs/gst/tmpl/.cvsignore:
22334         * gst/gstbin.c:
22335         * gst/gstiterator.c:
22336         * gst/gstutils.c:
22337         * gst/registries/gstxmlregistry.h:
22338           added missing classes and symbols (123 more to go)
22339           removed removed symbols from section file
22340           fixed many doc-comments
22341
22342 2005-08-24  Wim Taymans  <wim@fluendo.com>
22343
22344         * check/generic/states.c: (GST_START_TEST):
22345         Make sure all tasks are stopped.
22346
22347         * check/gst/gstbin.c: (GST_START_TEST):
22348         Unref after usage for proper valgrinding.
22349
22350         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
22351         Really wait for the task to stop before destroying the
22352         mutex.
22353
22354         * gst/gstqueue.c: (gst_queue_sink_activate_push),
22355         (gst_queue_src_activate_push):
22356         Small cleanups. Don't stop the task when we did not start
22357         it.
22358
22359         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
22360         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22361         (gst_task_get_state), (gst_task_start), (gst_task_pause),
22362         (gst_task_join):
22363         * gst/gsttask.h:
22364         Protect the stream lock with the object lock.
22365         Disallow setting the stream lock when running.
22366         Add cleanup_all to wait for the threadpool to finish.
22367         Remove code to autoallocate a mutex if none was provided.
22368         Add _join() to wait for a task to stop.
22369         Protect the thread pool with a global lock.
22370
22371 2005-08-24  Wim Taymans  <wim@fluendo.com>
22372
22373         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22374         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22375         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
22376         * gst/base/gstbasesink.h:
22377         Handle newsegment events correctly.
22378         Drop buffers out of the segment range.
22379
22380 2005-08-22  Andy Wingo  <wingo@pobox.com>
22381
22382         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22383         macro, implements an interface and gstimplementsinterface for a
22384         new type.
22385
22386 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22387
22388         * check/Makefile.am:
22389         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22390           add a test that does a bunch of state changes on elements
22391           needs some fixing for valgrind
22392         * check/states/sinks.c: (gst_object_suite):
22393           whitespace
22394         * gst/gstcaps.h:
22395           add prototype for gst_caps_is_equal_fixed
22396         * gst/gstplugin.c:
22397         * gst/gstregistrypool.c:
22398           doc fixes
22399
22400 2005-08-24  Andy Wingo  <wingo@pobox.com>
22401
22402         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22403         convert a negative value. Doesn't make much sense. Mostly this is
22404         here to force callers to ensure -1 maps to -1.
22405
22406 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22407
22408         * docs/pwg/advanced-types.xml:
22409           Well done to Michael for catching my deliberate introduction
22410           of this spelling mistake. 
22411         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22412         * gst/gstelement.h:
22413           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22414           unlink pads before removing the element from the bin.
22415
22416 2005-08-24  Andy Wingo  <wingo@pobox.com>
22417
22418         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22419         the same thing as GST_DEBUG=*:4.
22420         (parse_debug_level, parse_debug_category): New helper parsers.
22421
22422 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22423
22424         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22425         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22426         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22427         (gst_base_transform_buffer_alloc),
22428         (gst_base_transform_handle_buffer):
22429           use gboolean return values and pointers to size so we can use the
22430           full GST_BUFFER_SIZE range (guint) for buffer sizes
22431           use GstPadDirection for transform_caps
22432         * gst/base/gstbasetransform.h:
22433           rename get_size to get_unit_size since that's what it is
22434         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22435           use GstPadDirection for transform_caps
22436         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22437         * gst/gstutils.h:
22438           cleanup and debugging
22439
22440 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22441
22442         * gst/gstelement.c: (gst_element_class_init),
22443         (gst_element_set_state), (activate_pads),
22444         (gst_element_save_thyself):
22445         * tools/gst-compprep.c: (main):
22446         * tools/gst-inspect.c: (print_element_properties_info):
22447         * tools/gst-xmlinspect.c: (print_element_properties):
22448           Fixed long standing mem-leak
22449
22450 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22451
22452         * check/gst/gstbin.c: (GST_START_TEST):
22453         * gst/gstbin.c: (bin_bus_handler):
22454         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22455         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22456         (gst_message_new_warning), (gst_message_new_tag),
22457         (gst_message_new_state_changed), (gst_message_new_segment_start),
22458         (gst_message_new_segment_done), (gst_message_new_custom):
22459         * gst/gstmessage.h:
22460         * tools/gst-launch.c: (event_loop):
22461         * tools/gst-md5sum.c: (event_loop):
22462           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22463           that applications can sensibly post custom messages with references
22464           to their own objects.
22465
22466 2005-08-24  Andy Wingo  <wingo@pobox.com>
22467
22468         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22469         already.
22470
22471 2005-08-24  Wim Taymans  <wim@fluendo.com>
22472
22473         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22474         (gst_base_transform_transform_caps),
22475         (gst_base_transform_transform_size),
22476         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22477         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22478         (gst_base_transform_handle_buffer):
22479         * gst/base/gstbasetransform.h:
22480         Many fixes and new features added by Thomas. Can now also do
22481         transforms with variable sizes and a custom fixate_caps function.
22482
22483 2005-08-24  Wim Taymans  <wim@fluendo.com>
22484
22485         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22486         Some debugging.
22487
22488         * gst/gstclock.h:
22489         Cast to ClockTime before formatting to time.
22490
22491         * gst/gstutils.h:
22492         Cleanups.
22493
22494 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22495
22496         * check/gst-libs/controller.c: (GST_START_TEST),
22497         (gst_controller_suite):
22498         * docs/gst/tmpl/gstcaps.sgml:
22499         * docs/gst/tmpl/gstghostpad.sgml:
22500         * docs/gst/tmpl/gstquery.sgml:
22501         * docs/gst/tmpl/gstutils.sgml:
22502         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22503         (gst_object_sink_values), (gst_object_get_value_arrays),
22504         (gst_object_get_value_array):
22505           gracefully handle helper method calls to objects that are not beeing
22506           controlled, added test case for that          
22507
22508 2005-08-23  Wim Taymans  <wim@fluendo.com>
22509
22510         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22511         (gst_event_new_newsegment), (gst_event_parse_newsegment),
22512         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22513         (gst_event_parse_qos), (gst_event_new_seek),
22514         (gst_event_parse_seek):
22515         * gst/gstevent.h:
22516         Some more debugging output and doc cleanups.
22517
22518         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22519         Fix possible deadlock.
22520
22521 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22522
22523         * docs/gst/gstreamer-docs.sgml:
22524         * docs/gst/gstreamer-sections.txt:
22525         * docs/gst/gstreamer.types:
22526         * docs/gst/tmpl/.cvsignore:
22527         * gst/gstbin.h:
22528         * gst/gstbus.c:
22529         * gst/gstelement.c:
22530         * gst/gstevent.h:
22531           added 100 symbols from gstreamer-unused.txt to the right sections
22532           fixed more broken comments
22533           added GstBus to docs
22534
22535 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22536
22537         * docs/gst/gstreamer-sections.txt:
22538         * docs/gst/tmpl/.cvsignore:
22539         * docs/gst/tmpl/gstbin.sgml:
22540         * docs/gst/tmpl/gstbuffer.sgml:
22541         * gst/base/gstbasesrc.c:
22542         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22543         * gst/gstbuffer.c:
22544         * gst/gstbuffer.h:
22545         * tools/gst-launch.1.in:
22546           inlined more doc comments, added missing comments and fixed comments
22547           fixed typos
22548
22549 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22550
22551         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22552           some debugging
22553         * gst/gstcaps.h:
22554           whitespace fixes
22555         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22556           more debugging
22557         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22558         * gst/gststructure.h:
22559           add a fixate function for booleans; add a FIXME that these func
22560           names should probably be gst_structure_fixate_*
22561
22562 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22563
22564         * docs/gst/gstreamer-docs.sgml:
22565         * docs/gst/gstreamer-sections.txt:
22566         * gst/Makefile.am:
22567         * gst/gstbin.c: (gst_bin_get_type),
22568         (gst_bin_child_proxy_get_child_by_index),
22569         (gst_bin_child_proxy_get_children_count),
22570         (gst_bin_child_proxy_init):
22571         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22572         (gst_child_proxy_get_child_by_index),
22573         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22574         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22575         (gst_child_proxy_get), (gst_child_proxy_set_property),
22576         (gst_child_proxy_set_valist), (gst_child_proxy_set),
22577         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22578         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22579         * gst/gstchildproxy.h:
22580         * gst/parse/grammar.y:
22581         * tools/gst-inspect.c: (print_interfaces),
22582         (print_element_properties_info), (print_element_info):
22583           ported gstchildproxy over from 0.8
22584           ported gst-inspect fixes and enhancements over from 0.8
22585
22586 2005-08-22  Wim Taymans  <wim@fluendo.com>
22587
22588         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22589         (gst_base_transform_handle_buffer):
22590         Also call the transform function if we have ANY caps.
22591
22592         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22593         Fix debug info.
22594
22595 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22596
22597         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22598           Don't pretend to handle seek events if the source is not seekable
22599
22600 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22601
22602         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22603           Remove extra parameter to debug output
22604
22605         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22606         (gst_base_src_do_seek), (gst_base_src_activate_push):
22607           Fix seek event handling.
22608
22609         * gst/gstpipeline.c: (gst_pipeline_change_state):
22610         * gst/gstqueue.c: (gst_queue_handle_sink_event),
22611         (gst_queue_src_activate_push):
22612           Don't start the src pad task on FLUSH_STOP if the pad
22613           isn't linked.
22614           Debug changes.
22615
22616 2005-08-22  Wim Taymans  <wim@fluendo.com>
22617
22618         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22619         Added check for gst_static_caps_get() refcounting.
22620
22621 2005-08-22  Wim Taymans  <wim@fluendo.com>
22622
22623         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22624         Make _static_caps_get() refcounting sane.
22625         
22626         * gst/gstelement.c: (gst_element_set_state):
22627         Add g_return_val_if_fail() to protect against segfaults.
22628
22629 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
22630
22631         * docs/gst/tmpl/gstevent.sgml:
22632         * gst/gstevent.c:
22633         * gst/gstevent.h:
22634           inlined remaining docs, added missing doc comments
22635
22636 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22637
22638         * check/gst/gstbin.c: (GST_START_TEST):
22639           since we don't know when preroll is done, use refcount range
22640           check for the sink
22641         * gst/check/gstcheck.h:
22642           add macro for checking refcount range
22643
22644 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22645
22646         * check/Makefile.am:
22647           clean up environment for when registry gets built versus
22648           when actual tests are run; valgrind seems to not report
22649           leaks if GST_PLUGIN_PATH is set to some specific values
22650         * check/gst/gstbin.c: (GST_START_TEST):
22651           add more refcounting checks; maybe this exposes a
22652           preroll lock bug ?
22653         * common/check.mak:
22654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22655         * gst/check/gstcheck.h:
22656         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22657         (gst_bin_change_state):
22658         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
22659           add/fix debugging/whitespace
22660
22661 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22662
22663         * check/gst/gstevent.c: (event_probe), (test_event),
22664         (GST_START_TEST):
22665          Er, don't call gst_bin_watch_for_state_change you idiot.
22666
22667 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22668
22669         * check/Makefile.am:
22670           Use CHECK_CFLAGS and CHECK_LIBS
22671         * check/gst/gstevent.c: (event_probe), (test_event),
22672         (GST_START_TEST):
22673           Don't leak events.
22674         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22675         (gst_base_src_start), (gst_base_src_stop),
22676         (gst_base_src_activate_push), (gst_base_src_activate_pull),
22677         (gst_base_src_change_state):
22678           Sprinkle gst_base_src_stop liberally around error paths to fix
22679           problems reusing a source after failed state changes.
22680         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22681         (helper_find_suggest), (gst_type_find_helper):
22682           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
22683         * gst/gstevent.h:
22684         * docs/gst/tmpl/gstevent.sgml:
22685           Migrate part of the docs from the SGML file. Wait for ensonic to
22686           tell me how I did it wrong ;)
22687         * tools/gst-typefind.c: (main):
22688           Extra robustness to state changes between files.
22689
22690 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22691
22692         * check/Makefile.am:
22693           don't valgrind the controller test - it's leaking - Stefan, HELP
22694         * gst/check/gstcheck.c: (gst_check_message_error),
22695         (gst_check_chain_func), (gst_check_setup_element),
22696         (gst_check_teardown_element), (gst_check_setup_src_pad),
22697         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
22698         (gst_check_teardown_sink_pad):
22699         * gst/check/gstcheck.h:
22700           add a bunch of methods to set up elements, and src and sink pads
22701         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
22702         * check/elements/identity.c: (setup_identity), (cleanup_identity),
22703         (GST_START_TEST):
22704           use them
22705         * gst/gstmessage.c:
22706         * gst/gsttag.h:
22707           whitespace/doc fixes
22708
22709 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22710
22711         * gst/gstelement.h:
22712           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
22713           be handled by the application and not always printed as well
22714
22715 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22716
22717         * check/Makefile.am:
22718           set GST_TOOLS_DIR
22719         * gst/check/gstcheck.c: (gst_check_message_error):
22720         * gst/check/gstcheck.h:
22721           add a fail_unless_equals_int
22722           add fail_unless for error messages
22723
22724 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22725
22726         * check/Makefile.am:
22727         * check/gst.supp:
22728         * common/Makefile.am:
22729         * common/check.mak:
22730         * common/gst.supp:
22731           factor out some of the common stuff so we can use it
22732
22733 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22734
22735         * check/Makefile.am:
22736         * check/gst/gstiterator.c: (GST_START_TEST):
22737         * check/gst/gstsystemclock.c: (GST_START_TEST),
22738         (gst_systemclock_suite):
22739         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22740         * gst/gstclock.c:
22741           valgrind more tests
22742
22743 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22744
22745         * check/elements/.cvsignore:
22746         * check/elements/gstfakesrc.c:
22747           rename to name of element
22748         * check/elements/identity.c: (chain_func), (event_func),
22749         (setup_identity), (cleanup_identity), (GST_START_TEST),
22750         (identity_suite), (main):
22751           add a test for identity
22752         * check/Makefile.am:
22753         * pkgconfig/Makefile.am:
22754         * pkgconfig/gstreamer-check.pc.in:
22755         * pkgconfig/gstreamer-check-uninstalled.pc.in:
22756         * gst/check:
22757         * gst/Makefile.am:
22758         * configure.ac:
22759           move the check stuff to a library that gets installed
22760         * check/gst-libs/controller.c: (GST_START_TEST):
22761         * check/gst-libs/gdp.c:
22762         * check/gst/gst.c: (GST_START_TEST):
22763         * check/gst/gstbin.c:
22764         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22765         * check/gst/gstbus.c:
22766         * check/gst/gstcaps.c: (GST_START_TEST):
22767         * check/gst/gstelement.c:
22768         * check/gst/gstghostpad.c:
22769         * check/gst/gstiterator.c:
22770         * check/gst/gstmessage.c:
22771         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
22772         * check/gst/gstobject.c:
22773         * check/gst/gstpad.c: (GST_START_TEST):
22774         * check/gst/gststructure.c: (GST_START_TEST):
22775         * check/gst/gstsystemclock.c: (GST_START_TEST),
22776         (gst_systemclock_suite):
22777         * check/gst/gsttag.c: (gst_tag_suite):
22778         * check/gst/gstvalue.c:
22779         * check/pipelines/cleanup.c:
22780         * check/pipelines/simple_launch_lines.c:
22781         * check/states/sinks.c:
22782           change include statement
22783
22784         * docs/gst/gstreamer-sections.txt:
22785         * docs/gst/tmpl/gstpad.sgml:
22786           document more pad stuff
22787         * gst/gstminiobject.c: (gst_mini_object_ref),
22788         (gst_mini_object_unref):
22789           debug refcounting
22790
22791 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
22792
22793         * docs/gst/tmpl/gst.sgml:
22794         * gst/gst.c:
22795           eliminate another tmpl file, fix spelling in the long-description
22796
22797 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22798
22799         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22800         (test_event), (timediff), (gstevents_suite):
22801           Should fix build on 64-bit arch's
22802
22803 2005-08-18  Andy Wingo  <wingo@pobox.com>
22804
22805         Make sure that when a pipeline goes to PLAYING, that data has
22806         actually hit the sink.
22807
22808         * check/states/sinks.c (test_sink): A sink that doesn't get any
22809         data shouldn't return SUCCESS for going to either PLAYING or
22810         PAUSED. Test also the return values on the way back down.
22811
22812         * gst/gstelement.c (gst_element_set_state): When changing the
22813         state of an element currently changing state asynchronously, go to
22814         lost-state after commiting the pending state. Makes future calls
22815         to get_state continue to return ASYNC.
22816
22817         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
22818         ASYNC when going to PLAYING if we still don't have preroll, as can
22819         happen with live sources.
22820
22821 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22822
22823         * docs/pwg/advanced-types.xml:
22824           Hack long paragraph into 2 chunks as a workaround for buggy
22825           jadetex version in sid and breezy that loops infinitely and
22826           eats all RAM.
22827
22828 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22829
22830         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22831         (test_event), (timediff), (gstevents_suite):
22832           Provide more error margin in clock measurements to allow for 
22833           g_get_current_time inaccuracies.
22834
22835 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22836
22837         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22838         (test_event), (timediff), (gstevents_suite):
22839            Fix error message output so I might be able to tell why the
22840            test works here but fails on the build farm.
22841
22842 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22843
22844         * check/Makefile.am:
22845         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22846         (test_event), (timediff), (gstevents_suite), (main):
22847           I wrote a test!
22848
22849         * docs/design/part-seeking.txt:
22850           Spelling correction
22851
22852         * docs/gst/tmpl/gstevent.sgml:
22853         * docs/gst/tmpl/gstfakesrc.sgml:
22854           Docs updates.
22855
22856         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22857           Treat a buffer-without-newsegment the same as a receiving 
22858           a newsegment not in time format, and disable syncing to the clock
22859           with a warning.
22860
22861         * gst/gstbus.c: (gst_bus_set_sync_handler):
22862           Assert if anyone tries to replace the existing sync_handler for bus, 
22863           as only the owner should be setting it.
22864
22865         * gst/gstevent.h:
22866           Have a fixed set of custom event enums with events identified by
22867           their structure name (as in 0.8), rather than a free-for-all
22868           allowing collisions between enum values from different plugins.
22869
22870         * gst/gstpad.c: (gst_pad_class_init):
22871           Docs change.
22872           
22873         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22874           Handle out-of-band downstream events from the sending thread.
22875
22876 2005-08-17  Andy Wingo  <wingo@pobox.com>
22877
22878         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
22879         play-timeout==0 to mean no timeout at all. In that case, don't
22880         bother with a get_state or a warning, just return directly, even
22881         if it's ASYNC.
22882
22883         * gst/base/gstbasetransform.c: Debug changes.
22884
22885         * gst/gstutils.h:
22886         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
22887         ensure bins post state change messages. A bit of a hack but I can't
22888         think of a way to avoid it.
22889
22890         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
22891
22892 2005-08-16  Andy Wingo  <wingo@pobox.com>
22893
22894         * gst/base/gstadapter.h:
22895         * gst/base/gstadapter.c (gst_adapter_take): New function, like
22896         peek() but you own the data. Not terribly efficient atm.
22897
22898 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22899
22900         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
22901         (gst_element_found_tags):
22902         * gst/gstutils.h:
22903           Add two utility functions for tag handling.
22904
22905 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22906
22907         * docs/manual/advanced-dataaccess.xml:
22908         * docs/manual/basics-helloworld.xml:
22909           Fix docs to use _bin_add() before _link(), which fixes the examples
22910           with recent core versions (reported by Madhan Raj M
22911           <raj_madan@rediffmail.com>, #313199).
22912
22913 2005-08-16  Wim Taymans  <wim@fluendo.com>
22914
22915         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22916         Added subtract checks.
22917
22918         * docs/design/part-events.txt:
22919         Some more docs about newsegment
22920
22921         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22922         Fix FIXME
22923
22924         * gst/gstcaps.c: (gst_caps_to_string):
22925         Add comments, cleanups.
22926         
22927         * gst/gstelement.c: (gst_element_save_thyself):
22928         cleanups
22929         
22930         * gst/gstvalue.c: (gst_value_collect_int_range),
22931         (gst_string_unwrap), (gst_value_union_int_int_range),
22932         (gst_value_union_int_range_int_range),
22933         (gst_value_intersect_int_int_range),
22934         (gst_value_intersect_int_range_int_range),
22935         (gst_value_intersect_double_double_range),
22936         (gst_value_intersect_double_range_double_range),
22937         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
22938         (gst_value_subtract_int_range_int),
22939         (gst_value_subtract_double_range_double),
22940         (gst_value_subtract_double_range_double_range),
22941         (gst_value_subtract_from_list), (gst_value_subtract_list),
22942         (gst_value_can_compare), (gst_value_compare_fraction):
22943         Cleanups, add comments, remove unneeded asserts.
22944
22945 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22946
22947         * tools/gst-launch.c: (event_loop):
22948           don't convert NULL structures to strings
22949
22950 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
22951
22952         * docs/gst/gstreamer-sections.txt:
22953           made some defines private
22954         * docs/gst/tmpl/gstconfig.sgml:
22955         * docs/gst/tmpl/gstqueue.sgml:
22956         * docs/gst/tmpl/gsttaglist.sgml:
22957         * docs/gst/tmpl/gsttypes.sgml:
22958         * docs/gst/tmpl/gstutils.sgml:
22959         * docs/pwg/appendix-porting.xml:
22960         * gst/base/gstbasesink.h:
22961         * gst/base/gstbasesrc.c:
22962         * gst/base/gstbasesrc.h:
22963         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
22964         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
22965         * gst/gstelement.c: (gst_element_class_init):
22966         * gst/gstpad.c: (gst_pad_class_init):
22967         * gst/gstqueue.c: (gst_queue_class_init):
22968         * gst/gstxml.c: (gst_xml_class_init):
22969           documented all undocumented signal inline
22970         * libs/gst/controller/gst-controller.h:
22971           added padding
22972
22973 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22974
22975         * docs/pwg/appendix-porting.xml:
22976           Document _set_link_function -> _set_setcaps_function.
22977
22978 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22979
22980         * check/Makefile.am:
22981           add a .check target for running the check
22982         * check/gst-libs/controller.c: (GST_START_TEST):
22983           cosmetic fixups
22984         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22985           complete checks for gstbuffer; would be nice if I could get the
22986           gcov stuff to work so I can see if I actually completed gstbuffer.c
22987         * check/gstcheck.h:
22988           add ASSERT_BUFFER_REFCOUNT
22989
22990 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
22991
22992         * docs/gst/gstreamer-sections.txt:
22993         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
22994         * gst/gsttag.h:
22995           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
22996           spew out a warning if a tag that is already registered
22997           is re-registered, unless it is re-registered with a 
22998           different type (#308438).
22999
23000 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
23001
23002         * docs/pwg/appendix-porting.xml:
23003         * docs/pwg/building-state.xml:
23004           Add some paragraphs about state changes in 0.9 to the PWG
23005           and the porting guide, in particular about the new meaning
23006           of GST_STATE_PAUSED and how to write state change functions
23007           with concurrent access by multiple threads in mind.
23008
23009 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
23010
23011         * docs/gst/gstreamer-docs.sgml:
23012         * docs/libs/gstreamer-libs-docs.sgml:
23013           added deprecation and since indexes
23014         * libs/gst/controller/gst-controller.c:
23015         * libs/gst/controller/gst-helper.c:
23016           added since tags
23017
23018
23019 2005-08-11  Wim Taymans  <wim@fluendo.com>
23020
23021         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
23022         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
23023         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
23024         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
23025         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
23026         (gst_ghost_pad_set_target):
23027         Actually implement (re)setting the target on a ghostpad
23028         as described in the docs.
23029
23030 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23031
23032         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
23033           Check whether GST_DEBUG_NO_COLOR environment variable is
23034           set and disable coloured debug output if that is the case.
23035
23036 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23037
23038         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23039         (gst_type_find_helper):
23040           The memory returned by gst_type_find_peek() needs to
23041           stay valid until the end of a typefind function, and
23042           typefind functions may keep results from different 
23043           offsets around, so we can't just unref the buffer from
23044           the previous _peek(), but have to save all buffers 
23045           returned by _peek() until typefinding is done and only
23046           free them then.
23047
23048 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
23049
23050         * docs/gst/gstreamer-sections.txt:
23051         * gst/gstutils.h:
23052           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
23053
23054 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23055
23056         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
23057           Fix a pretty good memleak.
23058
23059 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23060
23061         * gst/gstiterator.h:
23062           Fix wrong include and 'make distcheck'.
23063
23064 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23065
23066         * gst/gstbin.c: (bin_bus_handler):
23067           Use gst_element_post_message() instead.
23068
23069 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23070
23071         * gst/base/gstadapter.h:
23072         * gst/base/gstbasesink.h:
23073         * gst/base/gstbasesrc.h:
23074         * gst/base/gstbasetransform.h:
23075         * gst/base/gstcollectpads.h:
23076         * gst/base/gstpushsrc.h:
23077         * gst/gstiterator.h:
23078           Add padding to our base elements' class and instance structs and
23079           to GstIterator (you will need to rebuild all plugins and apps!)
23080
23081 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23082
23083         * gst/gstbin.c: (bin_bus_handler):
23084           Make default message forwarding from child->bus to bin->bus
23085           threadsafe and make it not emit warnings if the parent has no bus.
23086
23087 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23088
23089         * gst/gstelement.c: (activate_pads):
23090           On paused->ready, set pad->caps to NULL, as is the documented
23091           behaviour in this state change. Fixes playback of series of
23092           media files when visualization is enabled in Totem.
23093
23094 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23095
23096         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23097           Allow NULL as filter-caps (which means "any").
23098
23099 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23100
23101         * docs/libs/gstreamer-libs-sections.txt:
23102         * libs/gst/controller/gst-controller.c:
23103         * libs/gst/controller/gst-controller.h:
23104         * libs/gst/controller/gst-helper.c:
23105           adding more entries to the docs and fix small doc-bugs
23106
23107 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23108
23109         * docs/gst/gstreamer-docs.sgml:
23110         * docs/gst/gstreamer-sections.txt:
23111         * docs/gst/gstreamer.types:
23112         * docs/gst/tmpl/gstbasesink.sgml:
23113         * docs/gst/tmpl/gstbasesrc.sgml:
23114         * docs/gst/tmpl/gstbasetransform.sgml:
23115         * docs/gst/tmpl/gstfakesrc.sgml:
23116         * gst/base/gstcollectpads.c:
23117         * gst/base/gstcollectpads.h:
23118         * libs/gst/controller/gst-controller.c:
23119         * libs/gst/controller/gst-controller.h:
23120         * libs/gst/controller/gst-helper.c:
23121         * libs/gst/controller/gst-interpolation.c:
23122         * libs/gst/controller/lib.c:
23123           added long/short desc for controller docs
23124           added collectpads base class docs
23125           added correct includes to base-class docs
23126
23127 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23128
23129         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23130         (gst_test_mono_source_set_property),
23131         (gst_test_mono_source_class_init), (GST_START_TEST),
23132         (gst_controller_suite):
23133         * docs/gst/gstreamer-docs.sgml:
23134         * docs/gst/gstreamer-sections.txt:
23135         * docs/gst/gstreamer.types:
23136         * docs/libs/gstreamer-libs-docs.sgml:
23137         * docs/libs/gstreamer-libs-sections.txt:
23138         * gst/base/gstadapter.c:
23139         * libs/gst/controller/gst-controller.c:
23140         (gst_controlled_property_new), (gst_controlled_property_free),
23141         (gst_controller_new_valist),
23142         (gst_controller_remove_properties_valist),
23143         (gst_controller_sink_values), (_gst_controller_finalize):
23144         * libs/gst/controller/gst-controller.h:
23145         * libs/gst/controller/gst-helper.c:
23146         (gst_object_control_properties), (gst_object_uncontrol_properties),
23147         (gst_object_get_controller), (gst_object_set_controller),
23148         (gst_object_sink_values), (gst_object_get_value_arrays),
23149         (gst_object_get_value_array):
23150           more tests (and fixes) for the controller
23151           more docs for the controller
23152           integrated companies docs for the adapter 
23153
23154 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23155
23156         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
23157         (GST_START_TEST), (fakesrc_suite):
23158           add tests for sizetype
23159
23160 2005-08-04  Andy Wingo  <wingo@pobox.com>
23161
23162         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
23163         fixes buffer_alloc proxying among other things.
23164
23165         * gst/base/gstbasetransform.c:
23166         * gst/base/gstbasetransform.h:
23167         Revert patch to gstbasetransform from 7-28 removing
23168         delay_configure.
23169
23170         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
23171         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
23172         Semantics changed, should return not the size of the output buffer
23173         but the byte size of a buffer with a given caps.
23174
23175         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
23176         debug object.
23177         (gst_base_transform_configure_caps): Don't set out_size here: (in,
23178         out) are not the pad caps until setcaps finishes.
23179         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
23180         not-in-place case as well. Deal with changing from in-place to
23181         not-in-place within calling pad_alloc_buffer. Still a bit
23182         concerned about the overhead here...
23183
23184 2005-08-03  Andy Wingo  <wingo@pobox.com>
23185
23186         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
23187         fixating is an error.
23188
23189 2005-08-04  Edward Hervey  <edward@fluendo.com>
23190
23191         * gst/base/gstadapter.h: 
23192         Added gst_adapter_get_type() to the header
23193
23194 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23195
23196         * check/Makefile.am:
23197         * check/gst-libs/controller.c:
23198         * libs/gst/controller/gst-controller.c:
23199         (gst_controller_new_valist):
23200           added check test suite for the controller
23201         * gst/base/gstpushsrc.c:
23202           fixed a doc typo
23203
23204 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23205
23206         * docs/gst/Makefile.am:
23207         * docs/gst/gstreamer-docs.sgml:
23208         * docs/gst/gstreamer-sections.txt:
23209         * docs/gst/gstreamer.types:
23210         * docs/gst/tmpl/gstfakesrc.sgml:
23211         * gst/base/README:
23212         * gst/base/gstbasesink.c:
23213         * gst/base/gstbasesink.h:
23214         * gst/base/gstbasesrc.c:
23215         * gst/base/gstbasesrc.h:
23216         * gst/base/gstbasetransform.c:
23217         * gst/base/gstpushsrc.c:
23218         * gst/base/gstpushsrc.h:
23219           add short/long description docs to base classes
23220           add pushsrc to the docs
23221           remove consolidated doc fragments
23222
23223 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23224
23225         * configure.ac:
23226         * docs/libs/Makefile.am:
23227         * docs/libs/gstreamer-libs-docs.sgml:
23228         * docs/libs/gstreamer-libs-sections.txt:
23229         * docs/libs/gstreamer-libs.types:
23230         * examples/Makefile.am:
23231         * examples/controller/.cvsignore:
23232         * examples/controller/Makefile.am:
23233         * examples/controller/audio-example.c: (main):
23234         * libs/gst/Makefile.am:
23235         * libs/gst/controller/.cvsignore:
23236         * libs/gst/controller/Makefile.am:
23237         * libs/gst/controller/gst-controller.c:
23238         (on_object_controlled_property_changed), (gst_timed_value_compare),
23239         (gst_timed_value_find),
23240         (gst_controlled_property_set_interpolation_mode),
23241         (gst_controlled_property_new), (gst_controlled_property_free),
23242         (gst_controller_find_controlled_property),
23243         (gst_controller_new_valist), (gst_controller_new),
23244         (gst_controller_remove_properties_valist),
23245         (gst_controller_remove_properties), (gst_controller_set),
23246         (gst_controller_set_from_list), (gst_controller_unset),
23247         (gst_controller_get), (gst_controller_get_all),
23248         (gst_controller_sink_values), (gst_controller_get_value_arrays),
23249         (gst_controller_get_value_array),
23250         (gst_controller_set_interpolation_mode),
23251         (_gst_controller_finalize), (_gst_controller_init),
23252         (_gst_controller_class_init), (gst_controller_get_type):
23253         * libs/gst/controller/gst-controller.h:
23254         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
23255         (g_object_uncontrol_properties), (g_object_get_controller),
23256         (g_object_set_controller), (g_object_sink_values),
23257         (g_object_get_value_arrays), (g_object_get_value_array):
23258         * libs/gst/controller/gst-interpolation.c:
23259         (gst_controlled_property_find_timed_value_node),
23260         (interpolate_none_get), (interpolate_trigger_get),
23261         (interpolate_trigger_get_value_array):
23262         * libs/gst/controller/lib.c: (gst_controller_init):
23263         * pkgconfig/Makefile.am:
23264         * pkgconfig/gstreamer-control-uninstalled.pc.in:
23265         * pkgconfig/gstreamer-control.pc.in:
23266         * testsuite/Makefile.am:
23267         * testsuite/controller/.cvsignore:
23268         * testsuite/controller/Makefile.am:
23269         * testsuite/controller/interpolator.c: (main):
23270           added controller code
23271           removed dparam pc files
23272
23273 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23274         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
23275         (gst_collectpads_stop):
23276           Broadcast the condition when shutting down, to make sure we wake all
23277           threads up. Shut down pads on finalize, for safety.
23278
23279 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23280         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23281         (gst_base_transform_handle_buffer),
23282         (gst_base_transform_change_state):
23283           Handle PAUSED->READY->PAUSED transition after negotiation
23284           occurred already.
23285         * gst/gstmessage.c: (gst_message_init):
23286           Extra piece of debug for new messages.
23287
23288 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
23289
23290         * configure.ac:
23291         * docs/gst/tmpl/gstbasesrc.sgml:
23292         * docs/gst/tmpl/gstelement.sgml:
23293         * docs/gst/tmpl/gstevent.sgml:
23294         * docs/gst/tmpl/gstfakesrc.sgml:
23295         * docs/gst/tmpl/gstformat.sgml:
23296         * docs/gst/tmpl/gstghostpad.sgml:
23297         * docs/gst/tmpl/gstpad.sgml:
23298         * docs/gst/tmpl/gstquery.sgml:
23299         * docs/gst/tmpl/gststructure.sgml:
23300         * docs/gst/tmpl/gsttaglist.sgml:
23301         * docs/gst/tmpl/gstvalue.sgml:
23302         * docs/libs/gstreamer-libs-docs.sgml:
23303         * docs/libs/gstreamer-libs-sections.txt:
23304         * docs/libs/gstreamer-libs.types:
23305         * libs/gst/Makefile.am:
23306         * libs/gst/control/.cvsignore:
23307         * libs/gst/control/Makefile.am:
23308         * libs/gst/control/control.c:
23309         * libs/gst/control/control.h:
23310         * libs/gst/control/dparam.c:
23311         * libs/gst/control/dparam.h:
23312         * libs/gst/control/dparam_smooth.c:
23313         * libs/gst/control/dparam_smooth.h:
23314         * libs/gst/control/dparamcommon.h:
23315         * libs/gst/control/dparammanager.c:
23316         * libs/gst/control/dparammanager.h:
23317         * libs/gst/control/dplinearinterp.c:
23318         * libs/gst/control/dplinearinterp.h:
23319         * libs/gst/control/unitconvert.c:
23320         * libs/gst/control/unitconvert.h:
23321         * testsuite/Makefile.am:
23322         * testsuite/dynparams/.cvsignore:
23323         * testsuite/dynparams/Makefile.am:
23324         * testsuite/dynparams/dparamstest.c:
23325         * tools/Makefile.am:
23326         * tools/gst-inspect.c: (print_element_info), (main):
23327         * tools/gst-xmlinspect.c: (print_element_info), (main):
23328           deactivate and remove dparams (libgstcontrol)
23329
23330 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23331
23332         * gst/elements/gsttypefindelement.c:
23333         (gst_type_find_element_have_type), (gst_type_find_element_init),
23334         (stop_typefinding), (gst_type_find_element_handle_event),
23335         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23336         * gst/elements/gsttypefindelement.h:
23337           Set caps on all outgoing buffers, not just the first one.
23338
23339 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23340
23341         * gst/elements/gsttypefindelement.c:
23342         (gst_type_find_element_have_type),
23343         (gst_type_find_element_check_set_buffer_caps),
23344         (gst_type_find_element_init), (stop_typefinding),
23345         (gst_type_find_element_handle_event),
23346         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23347         * gst/elements/gsttypefindelement.h:
23348           Set caps on first outgoing buffer when we've found the type.
23349
23350 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23351
23352         * docs/gst/gstreamer-docs.sgml:
23353         * docs/gst/gstreamer-sections.txt:
23354         * docs/gst/tmpl/gstscheduler.sgml:
23355         * docs/gst/tmpl/gstschedulerfactory.sgml:
23356           Remove some old cruft from docs.
23357
23358 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
23359
23360         * gst/gstpad.h:
23361           Fix inline docs for GstPadLinkReturn.
23362           
23363         * gst/gststructure.c: (gst_structure_has_name):
23364         * gst/gststructure.h:
23365         * docs/gst/gstreamer-sections.txt:
23366           New API: gst_structure_has_name().
23367
23368 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
23369
23370         * configure.ac:
23371           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
23372           and _LARGEFILE_SOURCE in config.h as required. Do not 
23373           export those flags in our .pc files any longer (#142209).
23374
23375           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
23376
23377         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
23378         (gst_file_sink_do_seek), (gst_file_sink_event),
23379         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23380           Redo seek/tell calls with large file support in mind; add some
23381           debugging messages; add log message that tells us when large
23382           file support is unavailable or not enabled for some reason.
23383
23384         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23385           Add log message that tells us when large file support 
23386           is unavailable or not enabled for some reason.
23387
23388 2005-07-29  Wim Taymans  <wim@fluendo.com>
23389
23390         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23391         Added test for removing an element with ghostpad from a bin.
23392         Fixed test as current implementation does the right thing.
23393
23394         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23395         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23396         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23397         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23398         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23399         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23400         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23401         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23402         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23403         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23404         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23405         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23406         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23407         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23408         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23409         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23410         * gst/gstghostpad.h:
23411         Clean up ghostpads, remove properties for internal stuff.
23412         Make threadsafe.
23413         Fix refcounting.
23414         Prepare for switching targets, not all use cases work yet.
23415
23416 2005-07-29  Wim Taymans  <wim@fluendo.com>
23417
23418         * docs/design/part-gstghostpad.txt:
23419         Small update.
23420
23421         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23422         (gst_bin_remove_func):
23423         Unlinking pads while holding the bin LOCK is not a good
23424         idea.
23425
23426         * gst/gstpad.c: (gst_pad_class_init),
23427         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23428         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23429         No prob setting template after creating the pad.
23430
23431 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
23432
23433         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23434         (gst_bus_peek), (gst_bus_source_dispatch),
23435         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23436         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23437           gst_bus_poll may be called from other threads. Handle
23438           this nicely by not making poll_data disappear off the
23439           stack once gst_bus_poll returns.
23440           gst_bus_peek now increments the refcount on the returned
23441           message.
23442
23443 2005-07-29  Wim Taymans  <wim@fluendo.com>
23444
23445         * docs/design/part-gstghostpad.txt:
23446         Overview of current GhostPad datastructures and use
23447         cases for changing the target.
23448
23449 2005-07-28  Wim Taymans  <wim@fluendo.com>
23450
23451         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23452         Added checks for hierarchy consistency whan adding linked
23453         elements to bins.
23454
23455         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23456         Added check to test element scheduling without bin/pipeline.
23457
23458         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23459         First add elements to bin, then link.
23460         
23461         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23462         (gst_bin_remove_func):
23463         Unlink pads from elements added/removed from bin to maintain
23464         hierarchy consistency.
23465
23466 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23467
23468         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23469         (gst_base_transform_handle_buffer):
23470         * gst/base/gstbasetransform.h:
23471           Remove broken delay_configure (fixes renegotiation of software
23472           scaling pipelines); remove some leftover printf()s.
23473
23474 2005-07-28  Wim Taymans  <wim@fluendo.com>
23475
23476         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23477         Added some more tests for wrong hierarchy
23478
23479         * docs/design/part-overview.txt:
23480         Some updates.
23481
23482         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23483         Cleanups.
23484
23485         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23486         (gst_element_dispose):
23487         Some more cleanups.
23488
23489         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23490         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23491         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23492         (gst_pad_set_caps), (gst_pad_send_event):
23493         Check for correct hierarchy when linking pads. Moving to
23494         strict requirement for ghostpads when linking elements in
23495         different bins.
23496
23497         * gst/gstpad.h:
23498         Clean ups. Added WRONG_HIERARCHY return value.
23499
23500 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23501
23502         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23503           Better debug if no transform is possible.
23504
23505 2005-07-27  Wim Taymans  <wim@fluendo.com>
23506
23507         * docs/random/wtay/network-transp:
23508         Some old doc I had.
23509
23510 2005-07-27  Wim Taymans  <wim@fluendo.com>
23511
23512         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23513         (gst_dp_event_from_packet):
23514         Fix serialization of seek events.
23515
23516 2005-07-27  Wim Taymans  <wim@fluendo.com>
23517
23518         * check/gst-libs/gdp.c: (GST_START_TEST):
23519         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23520         Fix compilation and fix event serialization.
23521
23522 2005-07-27  Wim Taymans  <wim@fluendo.com>
23523
23524         * CHANGES-0.9:
23525         * docs/design/part-TODO.txt:
23526         * docs/design/part-events.txt:
23527         Some docs updates
23528
23529         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23530         (gst_base_sink_event), (gst_base_sink_do_sync),
23531         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23532         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23533         (gst_base_src_do_seek), (gst_base_src_event_handler),
23534         (gst_base_src_loop):
23535         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23536         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23537         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23538         (gst_base_transform_event), (gst_base_transform_handle_buffer),
23539         (gst_base_transform_set_passthrough),
23540         (gst_base_transform_is_passthrough):
23541         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23542         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23543         Event updates.
23544
23545         * gst/gstbuffer.h:
23546         Use faster casts.
23547
23548         * gst/gstelement.c: (gst_element_seek):
23549         * gst/gstelement.h:
23550         Update gst_element_seek.
23551
23552         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23553         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23554         (gst_event_new_flush_start), (gst_event_new_flush_stop),
23555         (gst_event_new_eos), (gst_event_new_newsegment),
23556         (gst_event_parse_newsegment), (gst_event_new_tag),
23557         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23558         (gst_event_parse_qos), (gst_event_new_seek),
23559         (gst_event_parse_seek), (gst_event_new_navigation):
23560         * gst/gstevent.h:
23561         Make GstEvent use GstStructure. Add parsing code, make sure the
23562         API is sufficiently generic.
23563         Mark possible directions of events and serialization.
23564
23565         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23566         (_gst_message_copy), (gst_message_new_segment_start),
23567         (gst_message_new_segment_done), (gst_message_new_custom),
23568         (gst_message_parse_segment_start),
23569         (gst_message_parse_segment_done):
23570         Small cleanups.
23571
23572         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23573         (gst_pad_set_caps), (gst_pad_send_event):
23574         Update for new events. 
23575         Catch events sent in wrong directions.
23576
23577         * gst/gstqueue.c: (gst_queue_link_src),
23578         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23579         (gst_queue_handle_src_query):
23580         Event updates.
23581
23582         * gst/gsttag.c:
23583         * gst/gsttag.h:
23584         Remove event code from this file.
23585
23586         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23587         (gst_dp_event_from_packet):
23588         Event updates.
23589
23590 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23591
23592         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23593         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23594         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23595           Make debugging actually useful.
23596
23597 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23598
23599         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23600         (gst_pad_fixate_caps):
23601           Implement default fixation once again, so that gst_pad_fixate()
23602           actually does anything at all. This probably needs to be some
23603           sort of a last resort, and use profile-based fixation first, but
23604           since that doesn't exist yet, this is the best we have. Fixes
23605           visualization in Totem.
23606
23607 2005-07-22  Wim Taymans  <wim@fluendo.com>
23608
23609         * docs/design/part-events.txt:
23610         Small update.
23611
23612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23613         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23614         (gst_base_sink_activate_pull):
23615         Some more comments.
23616
23617         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23618         (gst_fake_src_create):
23619         Fix handoff marshall.
23620
23621         * gst/elements/gstidentity.c: (gst_identity_class_init),
23622         (gst_identity_transform_ip):
23623         We're a real inplace element.
23624
23625         * gst/gstbus.c: (gst_bus_post):
23626         Added some comments.
23627
23628         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23629         * tests/muxing/case1.c: (main):
23630         * tests/sched/dynamic-pipeline.c: (main):
23631         * tests/sched/interrupt1.c: (main):
23632         * tests/sched/interrupt2.c: (main):
23633         * tests/sched/interrupt3.c: (main):
23634         * tests/sched/runxml.c: (main):
23635         * tests/sched/sched-stress.c: (main):
23636         * tests/seeking/seeking1.c: (event_received), (main):
23637         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23638         (main):
23639         * tests/threadstate/threadstate3.c: (main):
23640         * tests/threadstate/threadstate4.c: (main):
23641         * tests/threadstate/threadstate5.c: (main):
23642         Fix the tests.
23643
23644 2005-07-21  Wim Taymans  <wim@fluendo.com>
23645
23646         * docs/design/part-seeking.txt:
23647         Some small additions.
23648
23649         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23650         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23651         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23652         * gst/base/gstbasesink.h:
23653         discont values are gint64, handle the math correctly.
23654
23655         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23656         Make the basesrc report error if the source pad is not linked.
23657
23658         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
23659         (gst_queue_loop), (gst_queue_handle_src_query),
23660         (gst_queue_src_activate_push):
23661         Make queue collect data even if the srcpad is not linked.
23662         Start pushing out data as soon as it is linked.
23663
23664         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
23665         * gst/gstutils.h:
23666         Added gst_flow_get_name() to ease error reporting.
23667
23668 2005-07-20  Wim Taymans  <wim@fluendo.com>
23669
23670         * gst/gstmessage.c: (gst_message_new_segment_start),
23671         (gst_message_new_segment_done), (gst_message_parse_segment_start),
23672         (gst_message_parse_segment_done):
23673         * gst/gstmessage.h:
23674         Added a bunch of messages for advanced seeking.
23675
23676         * gst/parse/grammar.y:
23677         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
23678         (gst_dpman_state_changed):
23679         Fix some new-pad -> pad-added signals
23680
23681 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23682
23683         * docs/manual/appendix-porting.xml:
23684         * docs/pwg/appendix-porting.xml:
23685           Document new-pad/state-change signal renames and the FixedList
23686           type rename.
23687
23688 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23689
23690         * docs/manual/advanced-autoplugging.xml:
23691         * docs/manual/basics-helloworld.xml:
23692         * docs/manual/basics-pads.xml:
23693         * docs/random/ds/0.9-suggested-changes:
23694         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
23695         * gst/gstelement.h:
23696         * gst/gstevent.h:
23697         * gst/gstformat.h:
23698         * gst/gstquery.h:
23699         * gst/gststructure.c: (gst_structure_value_get_generic_type),
23700         (gst_structure_parse_array), (gst_structure_parse_value):
23701         * gst/gstvalue.c: (gst_type_is_fixed),
23702         (gst_value_list_prepend_value), (gst_value_list_append_value),
23703         (gst_value_list_get_size), (gst_value_list_get_value),
23704         (gst_value_transform_array_string), (gst_value_serialize_array),
23705         (gst_value_deserialize_array), (gst_value_intersect_array),
23706         (gst_value_is_fixed), (_gst_value_initialize):
23707         * gst/gstvalue.h:
23708           GstElement::new-pad -> pad-added, GstElement::state-change ->
23709           state-changed, GstValueFixedList -> GstValueArray, add format and
23710           flags as their own arguments in gst_element_seek() (should improve
23711           "bindeability"), remove function generators since they don't work
23712           under a whole bunch of compilers (they were deprecated already
23713           anyway).
23714
23715 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23716
23717         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23718         (_gst_debug_register_funcptr):
23719         * gst/gstinfo.h:
23720           Fix illegal cast on some platforms (#309253).
23721
23722 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23723
23724         * gst/gstmessage.c: (gst_message_new_custom):
23725         * gst/gstmessage.h:
23726           Add _new_custom, make _new_application a macro to _new_custom.
23727
23728 2005-07-20  Wim Taymans  <wim@fluendo.com>
23729
23730         * gst/base/gstbasesrc.c: (gst_base_src_init),
23731         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
23732         * gst/base/gstbasesrc.h:
23733         Add a gboolean to decide when to push out a discont.
23734
23735         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23736         (gst_queue_loop), (gst_queue_handle_src_query),
23737         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
23738         (gst_queue_set_property), (gst_queue_get_property):
23739         Some cleanups.
23740
23741         * tests/threadstate/threadstate1.c: (main):
23742         Make a thread test compile and run... very silly..
23743
23744
23745 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23746
23747         * docs/manual/appendix-porting.xml:
23748           Mention removal of libgstgconf-0.9.la and existence of gconf
23749           elements.
23750
23751 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23752
23753         * docs/pwg/advanced-clock.xml:
23754         * docs/pwg/appendix-porting.xml:
23755         * docs/pwg/intro-preface.xml:
23756         * docs/pwg/other-base.xml:
23757         * docs/pwg/other-manager.xml:
23758         * docs/pwg/other-nton.xml:
23759         * docs/pwg/other-ntoone.xml:
23760         * docs/pwg/other-oneton.xml:
23761         * docs/pwg/pwg.xml:
23762           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
23763           demuxer), remove n-to-n (was never written), fix some code examples
23764           and links and update the porting section to include all this.
23765
23766 2005-07-19  Wim Taymans  <wim@fluendo.com>
23767
23768         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
23769         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
23770         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
23771         (gst_queue_src_activate_push), (gst_queue_change_state),
23772         (gst_queue_get_property):
23773         * gst/gstqueue.h:
23774         Propagate GstFlowReturn more intelligently upstream and output
23775         an ERROR/EOS when streaming stopped due to fatal error.
23776
23777 2005-07-19  Wim Taymans  <wim@fluendo.com>
23778
23779         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23780         Don't block forever for the state change to complete, the
23781         pipeline already did with a sensible timeout.
23782
23783 2005-07-19  Wim Taymans  <wim@fluendo.com>
23784
23785         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23786         Make sure we never call the create function is we
23787         got deactivated.
23788
23789 2005-07-19  Andy Wingo  <wingo@pobox.com>
23790
23791         * gst/parse/parse.l: Attempt to solve bug #172815.
23792
23793 2005-07-19  Wim Taymans  <wim@fluendo.com>
23794
23795         * docs/design/part-clocks.txt:
23796         * docs/design/part-events.txt:
23797         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
23798         Small docs updates.
23799         Only update the seeking values when we are not
23800         busy streaming.
23801
23802 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23803
23804         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23805           Oops, ignore the result of gst_pad_push_event here.
23806
23807 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23808
23809         * gst/base/gstbasesrc.c: (gst_base_src_loop),
23810         (gst_base_src_activate_push):
23811           Send discont event from the loop function, as pads
23812           aren't activated yet in the activate_push handler.
23813
23814         * gst/gstbin.c: (bin_bus_handler):
23815           Don't leak element name.
23816
23817 2005-07-18  Andy Wingo  <wingo@pobox.com>
23818
23819         * configure.ac: Use AS_LIBTOOL_TAGS.
23820
23821 2005-07-18  Wim Taymans  <wim@fluendo.com>
23822
23823         * docs/gst/gstreamer.types:
23824         Remove deleted types.
23825
23826 2005-07-18  Wim Taymans  <wim@fluendo.com>
23827
23828         * check/elements/gstfakesrc.c: (GST_START_TEST):
23829         * configure.ac:
23830         * gst/Makefile.am:
23831         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
23832         (init_popt_callback):
23833         * gst/gst.h:
23834         * gst/gst_private.h:
23835         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
23836         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
23837         * gst/gstbin.h:
23838         * gst/gstbus.h:
23839         * gst/gstconfig.h.in:
23840         * gst/gstelement.c: (gst_element_class_init),
23841         (gst_element_set_base_time), (gst_element_get_base_time),
23842         (iterator_fold_with_resync), (gst_element_change_state),
23843         (gst_element_dispose), (gst_element_get_bus):
23844         * gst/gstelement.h:
23845         * gst/gstelementfactory.h:
23846         * gst/gsterror.c: (_gst_core_errors_init):
23847         * gst/gsterror.h:
23848         * gst/gstevent.h:
23849         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23850         * gst/gstindex.c:
23851         * gst/gstinfo.c: (_gst_debug_init):
23852         * gst/gstmessage.c: (_gst_message_copy):
23853         * gst/gstmessage.h:
23854         * gst/gstminiobject.h:
23855         * gst/gstobject.c:
23856         * gst/gstobject.h:
23857         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23858         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
23859         * gst/gstpad.h:
23860         * gst/gstparse.h:
23861         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23862         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23863         (gst_pipeline_get_last_stream_time):
23864         * gst/gstpipeline.h:
23865         * gst/gstpluginfeature.h:
23866         * gst/gstquery.h:
23867         * gst/gstscheduler.c:
23868         * gst/gstscheduler.h:
23869         * gst/gststructure.h:
23870         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23871         (gst_task_finalize), (gst_task_func), (gst_task_create),
23872         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
23873         (gst_task_stop), (gst_task_pause):
23874         * gst/gsttask.h:
23875         * gst/gsttypefind.h:
23876         * gst/gsttypes.h:
23877         * gst/registries/gstlibxmlregistry.c: (load_feature),
23878         (gst_xml_registry_load), (gst_xml_registry_save_feature):
23879         * gst/registries/gstxmlregistry.c:
23880         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
23881         * gst/schedulers/threadscheduler.c:
23882         * libs/gst/control/dparammanager.h:
23883         * tools/gst-inspect.c: (print_element_list),
23884         (print_plugin_features), (print_element_features):
23885         * tools/gst-xmlinspect.c: (print_element_list),
23886         (print_plugin_info), (main):
23887         Removed plugable schedulers.
23888         Removed Scheduler/Manager from elements.
23889         Removed gsttypes.h, rearranged includes.
23890         Removed dependency pad<->element, element<>pipeline, and
23891         various others,  fix includes.
23892         implement gst_pad_get_parent() with gst_object_get_parent()
23893         Make GstTask sefcontained.
23894         Fix _get_state() on GstBin, it did not return ASYNC with a 0
23895         timeout.
23896         Fix endless loop in iterator_fold_with_resync.
23897
23898
23899 2005-07-18  Wim Taymans  <wim@fluendo.com>
23900
23901         * gst/Makefile.am:
23902         * gst/gstarch.h:
23903         Remove old file.
23904
23905 2005-07-18  Wim Taymans  <wim@fluendo.com>
23906
23907         * gst/Makefile.am:
23908         No more cothreads.h
23909
23910 2005-07-18  Wim Taymans  <wim@fluendo.com>
23911
23912         * gst/cothreads.c:
23913         * gst/cothreads.h:
23914         Let's remove these.
23915
23916 2005-07-18  Wim Taymans  <wim@fluendo.com>
23917
23918         * docs/design/part-dynamic.txt:
23919         * docs/design/part-events.txt:
23920         * docs/design/part-seeking.txt:
23921         Some more docs in the works.
23922
23923         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23924         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
23925         (gst_base_transform_setcaps), (gst_base_transform_get_size),
23926         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23927         (gst_base_transform_handle_buffer),
23928         (gst_base_transform_sink_activate_push),
23929         (gst_base_transform_src_activate_pull),
23930         (gst_base_transform_set_passthrough),
23931         (gst_base_transform_is_passthrough):
23932         Refcounting fixes.
23933
23934         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
23935         Cleanups.
23936
23937         * gst/gstevent.c: (gst_event_finalize):
23938         Set SRC to NULL.
23939
23940         * gst/gstutils.c: (gst_element_unlink),
23941         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
23942         (gst_pad_proxy_setcaps):
23943         * gst/gstutils.h:
23944         Add _get_parent_element() to get a pads parent as an element.
23945
23946 2005-07-18  Wim Taymans  <wim@fluendo.com>
23947
23948         * check/gst/gstbin.c: (GST_START_TEST):
23949         Remove bogus test.
23950
23951 2005-07-18  Wim Taymans  <wim@fluendo.com>
23952
23953         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
23954         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
23955         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23956         (gst_base_sink_event), (gst_base_sink_do_sync),
23957         (gst_base_sink_chain), (gst_base_sink_loop),
23958         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
23959         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
23960         Refcounting fixes.
23961         Fix logic for returning ASYNC when not prerolled.
23962
23963 2005-07-18  Wim Taymans  <wim@fluendo.com>
23964
23965         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23966         Fix nasty refcount bug.
23967
23968 2005-07-16 Philippe Khalaf <burger@speedy.org>
23969
23970         * gst/elements/gstfdsrc.c:
23971         * gst/elements/gstfdsrc.h:
23972         * gst/elements/gstelements.c:
23973         * gst/elements/Makefile.am:
23974         Ported fdsrc to 0.9.
23975
23976 2005-07-16  Wim Taymans  <wim@fluendo.com>
23977
23978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23979         (gst_base_sink_do_sync):
23980         Fix compile error.
23981
23982 2005-07-16  Wim Taymans  <wim@fluendo.com>
23983
23984         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23985         (gst_base_sink_event), (gst_base_sink_get_times),
23986         (gst_base_sink_do_sync), (gst_base_sink_change_state):
23987         * gst/base/gstbasesink.h:
23988         Store and use discont values when syncing buffers as described
23989         in design docs.
23990         
23991         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23992         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
23993         (gst_base_src_activate_push):
23994         Push discont event when starting.
23995
23996         * gst/elements/gstidentity.c: (gst_identity_transform):
23997         Small cleanups.
23998
23999         * gst/gstbin.c: (gst_bin_change_state):
24000         Small cleanups in base_time  distribution.
24001
24002         * gst/gstelement.c: (gst_element_set_base_time),
24003         (gst_element_get_base_time), (gst_element_change_state):
24004         * gst/gstelement.h:
24005         Added methods for the base_time of the element.
24006         Some MT fixes.
24007
24008         * gst/gstpipeline.c: (gst_pipeline_send_event),
24009         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24010         (gst_pipeline_get_last_stream_time):
24011         * gst/gstpipeline.h:
24012         MT fixes.
24013         Handle seeking as described in design doc, remove stream_time
24014         hack.
24015         Cleanups clock and stream_time selection code. Added accessors
24016         for the stream_time.
24017         
24018
24019 2005-07-16  Andy Wingo  <wingo@pobox.com>
24020
24021         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
24022         (#305291).
24023
24024 2005-07-16  Wim Taymans  <wim@fluendo.com>
24025
24026         * check/gst/gstbin.c: (GST_START_TEST):
24027         Make elements silent as the deep_notify refs the
24028         parent, which might make the test fail.
24029
24030         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24031         Don't hold the lock for too long.
24032
24033 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
24034
24035         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
24036           Don't unref the caps we passed to gst_caps_make_writable() after
24037           passing them. gst_caps_make_writable() will do that for us.
24038
24039 2005-07-15  Andy Wingo  <wingo@pobox.com>
24040
24041         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
24042         (#157311).
24043
24044         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
24045         own marshalling function for the handoff signal. Properly type the
24046         buffer as a buffer. Fixes some warnings. Should do a more general
24047         solution.
24048         (gst_identity_class_init): Plug into the right marshaller.
24049
24050 2005-07-15  Wim Taymans  <wim@fluendo.com>
24051
24052         * docs/design/part-TODO.txt:
24053         * docs/design/part-clocks.txt:
24054         * docs/design/part-element-sink.txt:
24055         * docs/design/part-events.txt:
24056         * docs/design/part-gstpipeline.txt:
24057         Updated docs, mostly DISCONT related.
24058
24059 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
24060
24061         * docs/pwg/building-pads.xml:
24062           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
24063
24064 2005-07-15  Andy Wingo  <wingo@pobox.com>
24065
24066         * tools/gst-typefind.c: Update, add copyright block.
24067
24068         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
24069         Normalize and truncate caps before fixation.
24070
24071         * gst/gstcaps.h:
24072         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
24073         discards all but the first structure from its argument.
24074
24075 2005-07-15  Wim Taymans  <wim@fluendo.com>
24076
24077         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24078         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
24079         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24080         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24081         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
24082         (gst_base_transform_chain), (gst_base_transform_change_state),
24083         (gst_base_transform_set_passthrough),
24084         (gst_base_transform_is_passthrough):
24085         * gst/base/gstbasetransform.h:
24086         Make passthrough work using the bufferpools.
24087         Changed API a bit, subclasses have to write into a buffer
24088         provided by the base class.
24089         More debug info in nego functions.
24090         
24091         * gst/elements/gstidentity.c: (gst_identity_init),
24092         (gst_identity_transform):
24093         Port to new base class.
24094
24095 2005-07-15  Wim Taymans  <wim@fluendo.com>
24096
24097         * gst/gstmessage.c: (gst_message_new_state_changed):
24098         * tools/gst-launch.c: (event_loop), (main):
24099         Totally dump messages in -launch with the -m option.
24100         Fix message name for State messages,
24101
24102 2005-07-14  Wim Taymans  <wim@fluendo.com>
24103
24104         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24105         Post error messages on errors.
24106
24107 2005-07-14  Wim Taymans  <wim@fluendo.com>
24108
24109         * gst/gstcaps.c: (gst_caps_do_simplify):
24110         Remove debug info.
24111
24112         * gst/gsterror.h:
24113         Define error for stream stopped.
24114
24115         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24116         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
24117         Do proper return values.
24118
24119         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24120         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
24121         (gst_pad_get_range):
24122         Better return values.
24123
24124         * gst/gstpad.h:
24125         Reorganise return values, add macro to check for fatal errors.
24126
24127         * gst/gstqueue.c: (gst_queue_chain):
24128         Return proper GstFlowReturn values,
24129
24130 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
24131
24132         * docs/gst/gstreamer-sections.txt:
24133         * docs/gst/gstreamer.types:
24134         * docs/gst/tmpl/gst.sgml:
24135         * docs/gst/tmpl/gstbasesink.sgml:
24136         * docs/gst/tmpl/gstbasesrc.sgml:
24137         * docs/gst/tmpl/gstbasetransform.sgml:
24138         * docs/gst/tmpl/gstbin.sgml:
24139         * docs/gst/tmpl/gstbuffer.sgml:
24140         * docs/gst/tmpl/gstcaps.sgml:
24141         * docs/gst/tmpl/gstclock.sgml:
24142         * docs/gst/tmpl/gstcompat.sgml:
24143         * docs/gst/tmpl/gstconfig.sgml:
24144         * docs/gst/tmpl/gstelement.sgml:
24145         * docs/gst/tmpl/gstelementdetails.sgml:
24146         * docs/gst/tmpl/gstelementfactory.sgml:
24147         * docs/gst/tmpl/gstenumtypes.sgml:
24148         * docs/gst/tmpl/gsterror.sgml:
24149         * docs/gst/tmpl/gstevent.sgml:
24150         * docs/gst/tmpl/gstfakesink.sgml:
24151         * docs/gst/tmpl/gstfakesrc.sgml:
24152         * docs/gst/tmpl/gstfilesink.sgml:
24153         * docs/gst/tmpl/gstfilesrc.sgml:
24154         * docs/gst/tmpl/gstfilter.sgml:
24155         * docs/gst/tmpl/gstformat.sgml:
24156         * docs/gst/tmpl/gstghostpad.sgml:
24157         * docs/gst/tmpl/gstimplementsinterface.sgml:
24158         * docs/gst/tmpl/gstindex.sgml:
24159         * docs/gst/tmpl/gstindexfactory.sgml:
24160         * docs/gst/tmpl/gstinfo.sgml:
24161         * docs/gst/tmpl/gstiterator.sgml:
24162         * docs/gst/tmpl/gstmacros.sgml:
24163         * docs/gst/tmpl/gstmemchunk.sgml:
24164         * docs/gst/tmpl/gstminiobject.sgml:
24165         * docs/gst/tmpl/gstobject.sgml:
24166         * docs/gst/tmpl/gstpad.sgml:
24167         * docs/gst/tmpl/gstpadtemplate.sgml:
24168         * docs/gst/tmpl/gstparse.sgml:
24169         * docs/gst/tmpl/gstpipeline.sgml:
24170         * docs/gst/tmpl/gstplugin.sgml:
24171         * docs/gst/tmpl/gstpluginfeature.sgml:
24172         * docs/gst/tmpl/gstquery.sgml:
24173         * docs/gst/tmpl/gstqueue.sgml:
24174         * docs/gst/tmpl/gstregistry.sgml:
24175         * docs/gst/tmpl/gstregistrypool.sgml:
24176         * docs/gst/tmpl/gstscheduler.sgml:
24177         * docs/gst/tmpl/gstschedulerfactory.sgml:
24178         * docs/gst/tmpl/gststructure.sgml:
24179         * docs/gst/tmpl/gstsystemclock.sgml:
24180         * docs/gst/tmpl/gsttaglist.sgml:
24181         * docs/gst/tmpl/gsttagsetter.sgml:
24182         * docs/gst/tmpl/gsttrace.sgml:
24183         * docs/gst/tmpl/gsttrashstack.sgml:
24184         * docs/gst/tmpl/gsttypefind.sgml:
24185         * docs/gst/tmpl/gsttypefindfactory.sgml:
24186         * docs/gst/tmpl/gsttypes.sgml:
24187         * docs/gst/tmpl/gsturihandler.sgml:
24188         * docs/gst/tmpl/gsturitype.sgml:
24189         * docs/gst/tmpl/gstutils.sgml:
24190         * docs/gst/tmpl/gstvalue.sgml:
24191         * docs/gst/tmpl/gstversion.sgml:
24192         * docs/gst/tmpl/gstxml.sgml:
24193         * docs/libs/tmpl/gstcontrol.sgml:
24194         * docs/libs/tmpl/gstdataprotocol.sgml:
24195         * docs/libs/tmpl/gstdparam.sgml:
24196         * docs/libs/tmpl/gstdplinint.sgml:
24197         * docs/libs/tmpl/gstdpman.sgml:
24198         * docs/libs/tmpl/gstdpsmooth.sgml:
24199         * docs/libs/tmpl/gstgetbits.sgml:
24200         * docs/libs/tmpl/gstunitconvert.sgml:
24201         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
24202         (gst_push_src_base_init), (gst_push_src_class_init),
24203         (gst_push_src_init), (gst_push_src_create):
24204         * gst/base/gstpushsrc.h:
24205         * gst/elements/gstelements.c:
24206         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
24207         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
24208         (gst_fake_sink_init), (gst_fake_sink_set_property),
24209         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
24210         (gst_fake_sink_event), (gst_fake_sink_preroll),
24211         (gst_fake_sink_render), (gst_fake_sink_change_state):
24212         * gst/elements/gstfakesink.h:
24213         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
24214         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
24215         (gst_fake_src_base_init), (gst_fake_src_class_init),
24216         (gst_fake_src_init), (gst_fake_src_event_handler),
24217         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
24218         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
24219         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
24220         (gst_fake_src_create_buffer), (gst_fake_src_create),
24221         (gst_fake_src_start), (gst_fake_src_stop):
24222         * gst/elements/gstfakesrc.h:
24223         * gst/elements/gstfilesink.c: (_do_init),
24224         (gst_file_sink_base_init), (gst_file_sink_class_init),
24225         (gst_file_sink_init), (gst_file_sink_dispose),
24226         (gst_file_sink_set_location), (gst_file_sink_set_property),
24227         (gst_file_sink_get_property), (gst_file_sink_open_file),
24228         (gst_file_sink_close_file), (gst_file_sink_query),
24229         (gst_file_sink_event), (gst_file_sink_render),
24230         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
24231         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
24232         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
24233         * gst/elements/gstfilesink.h:
24234         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
24235         (gst_file_src_class_init), (gst_file_src_init),
24236         (gst_file_src_finalize), (gst_file_src_set_location),
24237         (gst_file_src_set_property), (gst_file_src_get_property),
24238         (gst_file_src_map_region), (gst_file_src_map_small_region),
24239         (gst_file_src_create_mmap), (gst_file_src_create_read),
24240         (gst_file_src_create), (gst_file_src_is_seekable),
24241         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
24242         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
24243         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
24244         (gst_file_src_uri_handler_init):
24245         * gst/elements/gstfilesrc.h:
24246           more autistic cleanliness in functions/names/defines
24247
24248 2005-07-13  Andy Wingo  <wingo@pobox.com>
24249
24250         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
24251         source couldn't negotiate.
24252
24253         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
24254         connections again.
24255
24256         * gst/gstutils.h:
24257         * gst/gstutils.c (gst_element_link_pads_filtered): New old
24258         function. I am channeling Hades. Put your boots on suckers!!!
24259
24260 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24261
24262         * testsuite/caps/Makefile.am:
24263         * testsuite/caps/value_compare.c:
24264         * testsuite/caps/value_intersect.c:
24265         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24266           move two testsuite apps over to the check dir
24267
24268 2005-07-12  Wim Taymans  <wim@fluendo.com>
24269
24270         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24271         Added more debug info in the negotiate process.
24272
24273         * gst/gstmessage.h:
24274         Prepare for segment playback.
24275
24276         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
24277         Better debugging.
24278
24279         * gst/gstutils.c:
24280         Some more docs.
24281
24282         * tools/gst-launch.c: (main):
24283         NULL pipeline on errors.
24284
24285 2005-07-12  Andy Wingo  <wingo@pobox.com>
24286
24287         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
24288         not it comes from a malloc region. Make sure our copy gets freed.
24289
24290 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24291
24292         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24293         * check/gst/gstmessage.c: (GST_START_TEST):
24294         * check/gst/gststructure.c: (GST_START_TEST),
24295         (gst_structure_suite), (main):
24296           more testing
24297         * gst/gstelement.c: (gst_element_message_full):
24298           clean up GError and debug string now that they get copied
24299         * gst/gstmessage.c: (gst_message_new_error),
24300         (gst_message_new_warning), (gst_message_parse_error),
24301         (gst_message_parse_warning):
24302           use GST_TYPE_G_ERROR for structure_new, and take copies of
24303           arguments, so that we don't mess up refcounting
24304
24305 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24306
24307         * check/Makefile.am:
24308           add per-test valgrind targets
24309         * check/gst-libs/gdp.c: (GST_START_TEST),
24310         (gst_data_protocol_suite), (main):
24311           clean up
24312
24313 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24314
24315         * check/Makefile.am:
24316           instate more valgrindable tests
24317         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24318         (GST_START_TEST), (fakesrc_suite):
24319         * check/gst/gstpad.c: (GST_START_TEST):
24320         * check/gst/gststructure.c: (GST_START_TEST):
24321           fix test leaks
24322         * docs/gst/tmpl/gstminiobject.sgml:
24323         * gst/gstpad.c: (gst_pad_finalize):
24324           fix the static mutex leak
24325
24326 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24327
24328         * check/Makefile.am:
24329           add two more tests for valgrinding
24330         * check/gst/gstvalue.c: (GST_START_TEST):
24331           test refcount of deserialized buffer, found a leak
24332         * docs/gst/gstreamer-docs.sgml:
24333         * docs/gst/gstreamer-sections.txt:
24334         * docs/gst/gstreamer.types:
24335         * docs/gst/tmpl/gstminiobject.sgml:
24336           add miniobject to docs
24337         * gst/gstminiobject.c:
24338           add some docs
24339         * gst/gstvalue.c: (gst_value_deserialize_buffer),
24340         (gst_string_unwrap):
24341           fix a hard-to-find invalid write for one of the tests
24342           fix a leak for deserialized buffers
24343
24344 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24345
24346         * docs/pwg/advanced-events.xml:
24347         * docs/pwg/advanced-request.xml:
24348         * docs/pwg/advanced-scheduling.xml:
24349         * docs/pwg/appendix-porting.xml:
24350         * docs/pwg/building-boiler.xml:
24351         * docs/pwg/intro-preface.xml:
24352         * docs/pwg/other-ntoone.xml:
24353           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
24354           of example code and explanation for pad activation, loop() and
24355           getrange() functions and a bit more. Remove old comments pointing
24356           to loop-functions.
24357         * examples/pwg/Makefile.am:
24358           Add loop/getrange examples.
24359
24360 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24361
24362         * configure.ac:
24363           check for valgrind binary + some fixes
24364         * check/gst.supp:
24365           valgrind suppressions for the tests
24366         * check/Makefile.am:
24367           add a valgrind: target that valgrinds the unit tests
24368         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
24369         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24370         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24371         * check/gst/gstghostpad.c:
24372           added some cleanup
24373         * check/gst/gstdata.c:
24374           removed
24375         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
24376         (thread_unref), (gst_mini_object_suite), (main):
24377           added
24378         * gst/gst.c: (gst_deinit):
24379         * gst/gst.h:
24380           add a method to clean up.
24381         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24382         (gst_system_clock_obtain):
24383           allow for disposing the system clock.
24384         * tools/gst-launch.c: (main):
24385           deinit
24386
24387 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24388
24389         * docs/gst/tmpl/gstbasesrc.sgml:
24390         * docs/gst/tmpl/gstfakesrc.sgml:
24391         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24392         (gst_base_src_init), (gst_base_src_set_property),
24393         (gst_base_src_get_property), (gst_base_src_get_range),
24394         (gst_base_src_start):
24395         * gst/base/gstbasesrc.h:
24396           add num-buffers property
24397         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24398         (gst_fakesrc_init), (gst_fakesrc_set_property),
24399         (gst_fakesrc_get_property), (gst_fakesrc_create),
24400         (gst_fakesrc_start):
24401           remove num-buffers property
24402
24403 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24404
24405         * docs/gst/gstreamer-sections.txt:
24406         * docs/gst/tmpl/gstbasesink.sgml:
24407         * docs/gst/tmpl/gstbasesrc.sgml:
24408         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24409         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24410         (gst_base_sink_finalize), (gst_base_sink_set_clock),
24411         (gst_base_sink_set_property), (gst_base_sink_get_property),
24412         (gst_base_sink_handle_object), (gst_base_sink_event),
24413         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24414         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24415         (gst_base_sink_loop), (gst_base_sink_deactivate),
24416         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24417         (gst_base_sink_change_state):
24418         * gst/base/gstbasesink.h:
24419         * gst/base/gstbasesrc.h:
24420         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24421         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24422         (gst_filesink_init):
24423           more macro splitting
24424
24425 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24426
24427         * gst/gstelement.c: (gst_element_get_bus):
24428           add debug
24429         * tools/gst-launch.c: (check_intr), (event_loop):
24430           fix bus leaks
24431
24432 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24433
24434         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24435           fix a caps leak
24436
24437 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24438
24439         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24440         (gst_base_src_finalize):
24441           add finalize method and clean up properly
24442         * gst/gstpipeline.c: (gst_pipeline_dispose):
24443           add debug
24444
24445 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24446
24447         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24448         (gst_bin_suite):
24449           add more things to check
24450         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24451         * gst/gstelement.c:
24452           more debug
24453
24454 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24455
24456         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24457         (GST_START_TEST), (fakesrc_suite):
24458         * check/gst-libs/gdp.c: (GST_START_TEST):
24459         * check/gst/gst.c: (GST_START_TEST):
24460         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24461         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24462         * check/gst/gstbus.c: (GST_START_TEST):
24463         * check/gst/gstcaps.c: (GST_START_TEST):
24464         * check/gst/gstdata.c: (GST_START_TEST):
24465         * check/gst/gstelement.c: (GST_START_TEST):
24466         * check/gst/gstghostpad.c: (GST_START_TEST):
24467         * check/gst/gstiterator.c: (GST_START_TEST):
24468         * check/gst/gstmessage.c: (GST_START_TEST):
24469         * check/gst/gstobject.c: (GST_START_TEST):
24470         * check/gst/gstpad.c: (GST_START_TEST):
24471         * check/gst/gststructure.c: (GST_START_TEST):
24472         * check/gst/gstsystemclock.c: (GST_START_TEST),
24473         (gst_systemclock_suite):
24474         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24475         * check/gst/gstvalue.c: (GST_START_TEST):
24476         * check/pipelines/cleanup.c: (GST_START_TEST):
24477         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24478         * check/states/sinks.c: (GST_START_TEST):
24479         * check/gstcheck.c: (gst_check_init):
24480         * check/gstcheck.h:
24481           add debugging category
24482           use GST_START_TEST now, so we add a debug line
24483
24484 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24485
24486         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24487           add test for state change message on a bin
24488         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24489           add another test
24490         * gst/gstbin.c: (gst_bin_init):
24491         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24492         * gst/gstelement.c: (gst_element_post_message),
24493         (gst_element_set_state):
24494         * gst/gstelementfactory.c: (gst_element_factory_create):
24495         * gst/gstmessage.c: (gst_message_new):
24496         * gst/gstscheduler.c:
24497           various debugging additions and cleanups
24498
24499 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24500
24501         * check/Makefile.am:
24502         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24503         (main):
24504           adding tests for elements
24505         * gst/gstelement.c: (gst_element_dispose):
24506
24507 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24508
24509         * gst/registries/gstlibxmlregistry.c: (load_feature):
24510           plug more leaks.  A simple gst_init() now is leakfree, yay.
24511
24512 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24513
24514         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24515         (gst_xml_registry_load):
24516           plug another memleak
24517
24518 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24519
24520         * configure.ac:
24521           use GST_SET_ERROR_CFLAGS
24522         * docs/faq/cvs.xml:
24523           change to ERROR_CFLAGS
24524
24525 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24526
24527         * configure.ac:
24528           make GST_ERROR_CFLAGS overridable and re-enable Werror
24529         * docs/faq/cvs.xml:
24530           add a note about error CFLAGS
24531         * docs/gst/tmpl/gstfakesrc.sgml:
24532         * gst/elements/gstfakesrc.c:
24533           comment out some unused code
24534         * gst/gst.c: (split_and_iterate):
24535         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24536         (load_feature):
24537           plug some memleaks
24538
24539 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24540
24541         * common/Makefile.am:
24542         * common/gtk-doc.mak:
24543         * docs/gst/Makefile.am:
24544           factor out gtk-doc.mak
24545
24546 2005-07-07  Wim Taymans  <wim@fluendo.com>
24547
24548         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24549         (gst_thread_scheduler_dispose):
24550         Unlock the STREAM_LOCK completely.
24551
24552 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24553
24554         * check/Makefile.am:
24555         * check/elements/.cvsignore:
24556         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24557         (START_TEST), (fakesrc_suite), (main):
24558         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24559         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24560         (gst_fakesrc_create), (gst_fakesrc_start):
24561         * gst/elements/gstfakesrc.h:
24562           adding a first element test
24563
24564 2005-07-07  Andy Wingo  <wingo@pobox.com>
24565
24566         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24567         debug message.
24568
24569 2005-07-07  Wim Taymans  <wim@fluendo.com>
24570
24571         * gst/gstquery.c:
24572         * gst/gstquery.h:
24573         Remove old types
24574
24575 2005-07-07  Wim Taymans  <wim@fluendo.com>
24576
24577         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24578         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24579         Allow subclasses to implement their own negotiation.
24580
24581 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24582
24583         * docs/design/part-gstbin.txt:
24584         * docs/design/part-gstpipeline.txt:
24585           Update design notes to reflect the movement of
24586           responsibility for bus handling from GstPipeline to
24587           GstBin
24588
24589 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24590
24591         * configure.ac:
24592           Remove unnecessary queue2/3/4 examples.
24593
24594 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24595
24596         * examples/Makefile.am:
24597         * examples/helloworld/helloworld.c: (event_loop), (main):
24598         * examples/queue/queue.c: (event_loop), (main):
24599         * examples/queue2/queue2.c: (main):
24600           Update a couple of the examples to work again.
24601
24602         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24603         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24604          Spelling corrections and extra debug.
24605         
24606         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24607         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24608         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24609         * gst/gstbin.h:
24610         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24611         (gst_pipeline_change_state):
24612         * gst/gstpipeline.h:
24613           Move the bus handler for children to the GstBin, and create a
24614           separate bus for receiving messages from children to the one the
24615           bus sends 'upwards' on.
24616
24617 2005-07-06  Wim Taymans  <wim@fluendo.com>
24618
24619         * gst/base/README:
24620         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24621         (gst_base_sink_handle_object), (gst_base_sink_loop),
24622         (gst_base_sink_change_state):
24623         * gst/base/gstbasesink.h:
24624         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24625         (gst_base_src_init), (gst_base_src_setcaps),
24626         (gst_base_src_getcaps), (gst_base_src_loop),
24627         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24628         (gst_base_src_start), (gst_base_src_change_state):
24629         * gst/base/gstbasesrc.h:
24630         Make basesrc negotiate.
24631         Handle the case where preroll fails in basesink.
24632         Update README.
24633
24634 2005-07-06  Wim Taymans  <wim@fluendo.com>
24635
24636         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24637         Implement the fixate function.
24638         Clean up acceptcaps.
24639
24640 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24641
24642         * docs/pwg/building-filterfactory.xml:
24643         * docs/pwg/pwg.xml:
24644           Remove never-written filter-factory chapter; I'll add the various
24645           base classes to part 4 ("other element types") later on.
24646
24647 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24648
24649         * docs/pwg/advanced-negotiation.xml:
24650         * docs/pwg/building-boiler.xml:
24651         * docs/pwg/building-pads.xml:
24652         * docs/pwg/pwg.xml:
24653         * examples/pwg/Makefile.am:
24654           Add a chapter on caps negotiation, simplify the original code
24655           samples a bit w.r.t. caps negotiation, add link to the advanced
24656           section. Add a bunch of examples showing different use cases of
24657           different types of caps negotiation. Upstream renegotiation isn't
24658           fully documented yet since nobody knows how that works.
24659
24660 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24661
24662         * check/gst/gstpad.c:
24663         * check/gstcheck.c:
24664         * gst/gstpad.c: (gst_pad_get_internal_links_default):
24665           if pad has no parent, return NULL as list of internal links
24666
24667 2005-07-05  Andy Wingo  <wingo@pobox.com>
24668
24669         * gst/elements/gstfilesrc.c:
24670         * gst/elements/gstfakesrc.c: 
24671         * gst/base/gstpushsrc.c:
24672         * gst/base/gstbasesrc.h: 
24673         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
24674         
24675 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
24676
24677         * Makefile.am:
24678           better report generation target (lcov needs a patch)
24679
24680 2005-07-05  Andy Wingo  <wingo@pobox.com>
24681
24682         * gst/elements, testsuite: Null if we got it...
24683
24684 2005-07-05  Wim Taymans  <wim@fluendo.com>
24685
24686         * configure.ac:
24687         * libs/gst/dataprotocol/Makefile.am:
24688         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
24689         * libs/gst/dataprotocol/dataprotocol.h:
24690         * pkgconfig/Makefile.am:
24691         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
24692         * pkgconfig/gstreamer-dataprotocol.pc.in:
24693         Ported dataprotol to 0.9. 
24694         Added pkgconfig files.
24695
24696 2005-07-05  Andy Wingo  <wingo@pobox.com>
24697
24698         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
24699         Default to returning TRUE for the case when tranform_caps returns
24700         a fixed caps, like for identity or volume.
24701
24702         * check/gst/gstbus.c (pound_bus_with_messages): 
24703         * check/gst/gstmessage.c (START_TEST): 
24704         * check/pipelines/simple_launch_lines.c (got_handoff): Application
24705         message API change.
24706
24707         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
24708         logic weaks here: always run transform_caps, trying passthrough
24709         operation only if the original caps intersects with the transform.
24710
24711         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
24712         source and sink caps.
24713
24714         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
24715         Intersect the peer caps with the pad template before going into
24716         transform_caps.
24717         (gst_base_transform_transform_caps): More debugging.
24718
24719         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
24720         src argument.
24721
24722 2005-07-04  Edward Hervey  <edward@fluendo.com>
24723
24724         * gst/gstutils.c:
24725         * gst/gstutils.h:
24726         (gst_pad_add_*_probe): now returns the signal id for better wrapping
24727         in bindings.
24728
24729 2005-07-04  Andy Wingo  <wingo@pobox.com>
24730
24731         * check/gst/gstpad.c: Only set explicit caps on pads.
24732
24733 2005-07-01  Andy Wingo  <wingo@pobox.com>
24734
24735         * tests/network-clock.scm: Commentary update.
24736
24737         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
24738         Didn't really make sense, not implementable with basetransform,
24739         etc.
24740         (gst_identity_transform): Unref inbuf via make_writable. Feeble
24741         attempt at implementing the sync property, needs an unlock method.
24742
24743         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
24744         New func, by default returns the same caps (the identity
24745         transformation).
24746         (gst_base_transform_getcaps): Uses transform_caps to return
24747         something sensible.
24748         (gst_base_transform_setcaps): Complicated logic to get caps on
24749         both pads, even if they are different, and to call set_caps once
24750         for every time both pads get their caps set.
24751         (gst_base_transform_handle_buffer): Give the ref to the transform
24752         function. Allows in-place modification of the buffer.
24753
24754         * gst/base/gstbasetransform.h (transform_caps): New class method.
24755         Given caps on one side, what can I do on the other.
24756         (set_caps): Take two caps, one for each side of the element.
24757
24758         * gst/gstpad.h:
24759         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
24760         caps in place. This is safe because we can check the mutability of
24761         the caps, and a good idea because fixate functions are just called
24762         as a matter of last resort. (Not actually implemented.)
24763         (gst_pad_set_caps): If the caps we're setting is actually the same
24764         as the existing pad caps, just update the pointer without calling
24765         setcaps. Assert that caps is either NULL or fixed, as per the
24766         docs.
24767
24768         * gst/gstghostpad.c: Update for fixate changes.
24769
24770 2005-07-02  Andy Wingo  <wingo@pobox.com>
24771
24772         * gst/gstcaps.c:
24773         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
24774         two refcounts makes it immutable, which is enough. Doc more.
24775
24776 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
24777
24778         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
24779           Put the mini_object into GValue as a mini_object,
24780           not a gpointer, since that's how we declared
24781           the signal.
24782
24783 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24784
24785         * examples/pwg/Makefile.am:
24786           Fix buildbot again.
24787
24788 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24789
24790         * docs/pwg/building-testapp.xml:
24791           Add extra check.
24792         * examples/pwg/Makefile.am:
24793           Fix buildbot.
24794
24795 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24796
24797         * configure.ac:
24798         * examples/Makefile.am:
24799         * examples/pwg/Makefile.am:
24800         * examples/pwg/extract.pl:
24801           Enable building the PWG examples.
24802         * docs/pwg/advanced-interfaces.xml:
24803           Add URI interface stub.
24804         * docs/pwg/advanced-types.xml:
24805         * docs/pwg/other-autoplugger.xml:
24806         * docs/pwg/appendix-porting.xml:
24807         * docs/pwg/pwg.xml:
24808           Add porting guide (mostly stubs), remove autoplugging (see ADM).
24809         * docs/pwg/building-boiler.xml:
24810         * docs/pwg/building-chainfn.xml:
24811         * docs/pwg/building-pads.xml:
24812         * docs/pwg/building-props.xml:
24813         * docs/pwg/building-state.xml:
24814         * docs/pwg/building-testapp.xml:
24815           Update the building-*.xml parts for 0.9 changes. All examples
24816           code blocks compile in examples/pwg/*.
24817
24818 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24819
24820         * docs/manual/advanced-autoplugging.xml:
24821         * docs/manual/appendix-checklist.xml:
24822         * docs/manual/appendix-integration.xml:
24823         * docs/manual/highlevel-components.xml:
24824           Fix playbin/decodebin examples, update docs a bit, mention bus
24825           instead of signals in various places, mention kmplayer and
24826           kaffeine since they have a working GStreamer backend in the KDE
24827           section.
24828
24829 2005-06-30  Wim Taymans  <wim@fluendo.com>
24830
24831         * CHANGES-0.9:
24832         * docs/design/draft-ghostpads.txt:
24833         * docs/design/draft-push-pull.txt:
24834         * docs/design/draft-query.txt:
24835         * docs/design/part-TODO.txt:
24836         * docs/design/part-query.txt:
24837         Added CHANGES-0.9 doc, updated status of other docs.
24838         
24839         * gst/gstquery.h:
24840         Remove "hmm" macro
24841
24842 2005-06-30  Wim Taymans  <wim@fluendo.com>
24843
24844         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24845         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24846         (gst_base_sink_change_state):
24847         * gst/base/gstbasesink.h:
24848         Some tweaks, only EOS and a buffer complete a preroll.
24849
24850 2005-06-30  Andy Wingo  <wingo@pobox.com>
24851
24852         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
24853         activate_push down to the internal pad as well.
24854
24855 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
24856
24857         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24858
24859         * gst/gsttaginterface.c:
24860           Some documentation fixes (#307394 and #307397).
24861
24862 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
24863
24864         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24865
24866         * gst/gstvalue.c: (gst_value_intersect_list):
24867           Fix memleak (#309125).
24868
24869 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24870
24871         * docs/manual/advanced-dataaccess.xml:
24872           Fix fakesrc example to compile; doesn't work, bug somewhere...?
24873         * docs/manual/basics-pads.xml:
24874           Add reference for filtered caps to above chapter.
24875
24876 2005-06-30  Wim Taymans  <wim@fluendo.com>
24877
24878         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
24879         (gst_bin_change_state):
24880         Probes are gone.
24881         Lame attempt at making the state change function a bit
24882         more readable.
24883
24884 2005-06-30  Wim Taymans  <wim@fluendo.com>
24885
24886         * docs/design/part-clocks.txt:
24887         * docs/design/part-element-sink.txt:
24888         * docs/design/part-events.txt:
24889         * docs/design/part-preroll.txt:
24890         * docs/design/part-states.txt:
24891         Some more tweeks and additions to the docs.
24892
24893 2005-06-30  Wim Taymans  <wim@fluendo.com>
24894
24895         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24896         (default_have_data), (gst_pad_class_init), (gst_pad_init),
24897         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24898         (gst_pad_check_pull_range), (gst_pad_get_range),
24899         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
24900         * gst/gstpad.h:
24901         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
24902         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24903         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24904         (gst_pad_remove_buffer_probe):
24905         Removed atomic operations, use existing LOCK.
24906         Move exception handling out of main code path.
24907
24908 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24909
24910         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24911         (silly_return_true_function), (gst_pad_class_init),
24912         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24913         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
24914         (gst_pad_send_event):
24915           Fix accumulator, add default value by using _emitv() instead
24916           of _emit() for signal emission.
24917
24918 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24919
24920         * docs/manual/advanced-dataaccess.xml:
24921         * examples/manual/Makefile.am:
24922           Add probe example.
24923         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
24924           Make work (??).
24925
24926 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
24927
24928         * gst/elements/gstfilesink.c: (gst_filesink_render):
24929           Simplify code so that we don't have to handle short
24930           writes and return GST_FLOW_ERROR if an error occured.
24931
24932 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24933
24934         * docs/gst/gstreamer-docs.sgml:
24935           Remove probes more.
24936
24937 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24938
24939         * docs/gst/gstreamer-sections.txt:
24940         * docs/gst/tmpl/gstpad.sgml:
24941         * docs/gst/tmpl/gstprobe.sgml:
24942         * gst/Makefile.am:
24943         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24944         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
24945         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24946         (gst_pad_push_event), (gst_pad_send_event):
24947         * gst/gstpad.h:
24948         * gst/gstutils.c: (gst_pad_add_data_probe),
24949         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24950         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24951         (gst_pad_remove_buffer_probe):
24952         * gst/gstutils.h:
24953           Remove old probes, add new g-signal-based probes and some utility
24954           functions.
24955
24956 2005-06-29  Edward Hervey  <edward@fluendo.com>
24957
24958         * gst/gstelementfactory.c:
24959         * gst/gstutils.h:
24960         * gst/gstutils.c:
24961         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
24962         the definition to the header file.
24963
24964 2005-06-29  Andy Wingo  <wingo@pobox.com>
24965
24966         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
24967         plugins from the source directory.
24968
24969 2005-06-29  Wim Taymans  <wim@fluendo.com>
24970
24971         * docs/gst/tmpl/gstbuffer.sgml:
24972         * docs/gst/tmpl/gstclock.sgml:
24973         Some fixings for blantently wrong text.
24974
24975 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24976
24977         * check/Makefile.am:
24978         * gst/gst.c: (add_path_func), (init_pre):
24979         * gst/gstregistry.c: (gst_registry_add_path):
24980           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
24981           only scan the GST_PLUGIN_PATH locations, and not add
24982           system locations
24983
24984 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24985
24986         * docs/gst/gstreamer-sections.txt:
24987         * docs/gst/tmpl/gstbasesrc.sgml:
24988         * gst/gstelement.c:
24989         * gst/gstelement.h:
24990         * gst/gstevent.c:
24991         * gst/gstutils.c:
24992           doc fixes
24993
24994 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24995
24996         * docs/manual/advanced-autoplugging.xml:
24997           Fix autoplugging example.
24998
24999 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25000
25001         * docs/manual/advanced-autoplugging.xml:
25002         * docs/manual/mime-world.fig:
25003           Try to get autoplugging working, fix type detection. Fix text
25004           in hello-world image.
25005
25006 2005-06-29  Wim Taymans  <wim@fluendo.com>
25007
25008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25009         (gst_base_sink_change_state):
25010         Small debug line.
25011
25012         * gst/gstclock.h:
25013         map SIGNAL and BROADCAST to the right function.
25014
25015         * gst/gstobject.h:
25016         Remove redundant braces.
25017
25018         * gst/gstpad.c: (gst_pad_set_caps):
25019         Don't call setcaps function when reseting caps to NULL.
25020
25021         * gst/gstsystemclock.c: (gst_system_clock_dispose),
25022         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
25023         (gst_system_clock_id_unschedule):
25024         Use BROADCAST as this is what we do.
25025
25026 2005-06-29  Wim Taymans  <wim@fluendo.com>
25027
25028         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25029         We are actually prerolling before commiting the state
25030         change. 
25031
25032 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25033
25034         * docs/manual/advanced-clocks.xml:
25035         * docs/manual/advanced-interfaces.xml:
25036         * docs/manual/advanced-metadata.xml:
25037         * docs/manual/advanced-position.xml:
25038         * docs/manual/advanced-schedulers.xml:
25039         * docs/manual/advanced-threads.xml:
25040         * docs/manual/appendix-porting.xml:
25041         * docs/manual/basics-bins.xml:
25042         * docs/manual/basics-bus.xml:
25043         * docs/manual/basics-elements.xml:
25044         * docs/manual/basics-helloworld.xml:
25045         * docs/manual/basics-pads.xml:
25046         * docs/manual/highlevel-components.xml:
25047         * docs/manual/manual.xml:
25048         * docs/manual/thread.fig:
25049           Update (until threads/scheduling) Application Development Manual;
25050           remove GstThread, add GstBus, add simple porting checklist, add
25051           documentation for tag writing, clocks, make all examples until this
25052           part compile and run.
25053         * examples/manual/Makefile.am:
25054           Update from changes to Application Development Manual; add bus
25055           example, remove thread example.
25056
25057 2005-06-28  Wim Taymans  <wim@fluendo.com>
25058
25059         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
25060         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
25061         (gst_bus_source_dispatch):
25062         Add debugging messages.
25063         Make internal methods static.
25064         Handle the case where the bus is flushed in the handler.
25065         
25066         * gst/gstelement.c: (gst_element_get_bus):
25067         Fix refcount in _get_bus();
25068
25069         * gst/gstpipeline.c: (gst_pipeline_change_state),
25070         (gst_pipeline_get_clock_func):
25071         Clock refcounting fixes.
25072         Handle the case where preroll timed out more gracefully.
25073         
25074         * gst/gstsystemclock.c: (gst_system_clock_dispose):
25075         Clean up the internal thread in dispose. This is needed
25076         for subclasses that actually get disposed.
25077         
25078         * gst/schedulers/threadscheduler.c:
25079         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25080         (gst_thread_scheduler_dispose):
25081         Free thread pool in dispose.
25082
25083 2005-06-28  Andy Wingo  <wingo@pobox.com>
25084
25085         * tests/network-clock-utils.scm (debug, print-event): New utils.
25086
25087         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
25088         (*packet-loss*): Unified loss probability.
25089         (network-time): Report out-of-band events.
25090
25091         * tests/plot-data: Add support for out-of-band events. Hack it
25092         into this script instead of passing it down the pipe; should fix
25093         this later.
25094
25095 2005-06-28  Wim Taymans  <wim@fluendo.com>
25096
25097         * docs/gst/gstreamer.types:
25098         * docs/gst/tmpl/gstbasesrc.sgml:
25099         * docs/gst/tmpl/gstpad.sgml:
25100         Docs fixes.
25101
25102 2005-06-28  Wim Taymans  <wim@fluendo.com>
25103
25104         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25105         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
25106         (gst_proxy_pad_do_fixatecaps):
25107         Correctly proxy the check_pull_range function.
25108
25109 2005-06-28  Andy Wingo  <wingo@pobox.com>
25110
25111         * tests/network-clock.scm: Removed need for slib.
25112         
25113 2005-06-28  Wim Taymans  <wim@fluendo.com>
25114
25115         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
25116         (gst_basesink_preroll_queue_flush):
25117         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
25118         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
25119         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25120         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25121         (gst_proxy_pad_set_property):
25122         * gst/gstpad.c:
25123         * gst/gstpad.h:
25124         * gst/gstqueue.c: (gst_queue_init):
25125         The deprecated pad loop function is removed now.
25126
25127 2005-06-28  Andy Wingo  <wingo@pobox.com>
25128
25129         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
25130         New parameters, simulate network packet loss.
25131
25132         * tests/network-clock-utils.scm: Initialize the RNG.
25133
25134 2005-06-28  Wim Taymans  <wim@fluendo.com>
25135
25136         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
25137         (gst_basesink_event), (gst_basesink_deactivate):
25138         Flushing the preroll queue always needs to unlock the waiters.
25139
25140 2005-06-28  Edward Hervey  <edward@fluendo.com>
25141
25142         * gst/gstpipeline.c: (gst_pipeline_send_event): 
25143         Wheen a seek was successful on a pipeline, set the stream_time to the
25144         seek offset in order to have a synchronized stream_time.
25145
25146 2005-06-28  Wim Taymans  <wim@fluendo.com>
25147
25148         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25149         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
25150         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25151         (gst_proxy_pad_do_fixatecaps):
25152         Call wrapper function instead of just calling the function
25153         pointers. This takes care of any locking and whatmore.
25154
25155 2005-06-28  Wim Taymans  <wim@fluendo.com>
25156
25157         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
25158         (gst_pad_pull_range):
25159         * gst/gstpad.h:
25160         CONNECTED -> LINKED.
25161
25162 2005-06-28  Andy Wingo  <wingo@pobox.com>
25163
25164         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
25165         source-munging commit!!!
25166
25167         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
25168         (gst_object_sink): Take gpointer arguments, not GstObject --
25169         avoids casts. Like GLib.
25170
25171         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
25172         activate.
25173
25174 2005-06-27  Andy Wingo  <wingo@pobox.com>
25175
25176         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
25177         remaining buffer.
25178
25179         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
25180         returns a sorted copy of the trace list.
25181         (gst_alloc_trace_print_live): New API, only prints traces with
25182         live objects. Sort the list.
25183         (gst_alloc_trace_print_all): Sort the list.
25184         (gst_alloc_trace_print): Align columns.
25185
25186         * gst/elements/gstttypefindelement.c:
25187         * gst/elements/gsttee.c:
25188         * gst/base/gstbasesrc.c:
25189         * gst/base/gstbasesink.c:
25190         * gst/base/gstbasetransform.c:
25191         * gst/gstqueue.c: Adapt for pad activation changes.
25192
25193         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
25194         sched.
25195         (gst_pipeline_dispose): Drop ref on sched.
25196
25197         * gst/gstpad.c (gst_pad_init): Set the default activate func.
25198         (gst_pad_activate_default): Push mode by default.
25199         (pre_activate_switch, post_activate_switch): New stubs, things to
25200         do before and after switching activation modes on pads.
25201         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
25202         the pad's activate function to choose which mode to activate.
25203         Shortcut on deactivation and call the right function directly.
25204         (gst_pad_activate_pull): New API, (de)activates a pad in pull
25205         mode.
25206         (gst_pad_activate_push): New API, same for push mode.
25207         (gst_pad_set_activate_function) 
25208         (gst_pad_set_activatepull_function) 
25209         (gst_pad_set_activatepush_function): Setters for new API.
25210
25211         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
25212         Trace all miniobjects.
25213         (gst_mini_object_make_writable): Unref the arg if we copy, like
25214         gst_caps_make_writable.
25215
25216         * gst/gstmessage.c (_gst_message_initialize): No trace init.
25217
25218         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
25219         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
25220         Adapt for new pad API.
25221
25222         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
25223
25224         * gst/gstelement.h:
25225         * gst/gstelement.c (gst_element_iterate_src_pads) 
25226         (gst_element_iterate_sink_pads): New API functions.
25227         
25228         * gst/gstelement.c (iterator_fold_with_resync): New utility,
25229         should fold into gstiterator.c in some form.
25230         (gst_element_pads_activate): Simplified via use of fold and
25231         delegation of decisions to gstpad->activate.
25232
25233         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
25234         help in debugging.
25235
25236         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
25237         class once in init, like gstmessage. Didn't run into this issue
25238         but it seems correct. Don't initialize a trace, gstminiobject does
25239         that.
25240
25241         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
25242         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
25243         to the bus.
25244         (assert_live_count): New util function, uses alloc traces to check
25245         cleanup.
25246
25247         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
25248         To be modified when unlink drops the internal pad.
25249
25250 2005-06-27  Wim Taymans  <wim@fluendo.com>
25251
25252         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
25253         (gst_bin_change_state):
25254         Cleanup the get_state() function a little, make sure it
25255         iterates the same set of elements.
25256         Added stub iterate_state_order().
25257
25258 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
25259
25260         * docs/gst/gstreamer-docs.sgml:
25261         * docs/gst/gstreamer-sections.txt:
25262         * docs/gst/gstreamer.types:
25263         * docs/gst/tmpl/gstbasesink.sgml:
25264         * docs/gst/tmpl/gstbasesrc.sgml:
25265         * docs/gst/tmpl/gstbasetransform.sgml:
25266         * docs/gst/tmpl/gstelement.sgml:
25267         * docs/gst/tmpl/gstiterator.sgml:
25268         * gst/base/gstbasesrc.c:
25269         * gst/base/gstbasesrc.h:
25270         * gst/base/gstbasetransform.h:
25271         * gst/gstelement.c:
25272         * gst/gstiterator.h:
25273           adding basetransform and iterator docs
25274
25275 2005-06-27  Andy Wingo  <wingo@pobox.com>
25276
25277         * docs/design/part-activation.txt: Notes on how activation should
25278         work -- not quite implemented yet.
25279
25280 2005-06-25  Wim Taymans  <wim@fluendo.com>
25281
25282         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
25283         At least get the chain function correct, needs more
25284         fixing.
25285
25286 2005-06-25  Wim Taymans  <wim@fluendo.com>
25287
25288         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25289         (gst_basesink_handle_object), (gst_basesink_event),
25290         (gst_basesink_do_sync), (gst_basesink_handle_event),
25291         (gst_basesink_change_state):
25292         * gst/gsttask.h:
25293         Right, two problems here: ghostpads don't take locks and
25294         glib _rec_mutex_lock_full() with depth==0 still locks.
25295         Catch illegal locking and g_warn them.
25296
25297 2005-06-25  Wim Taymans  <wim@fluendo.com>
25298
25299         * check/states/sinks.c: (START_TEST), (gst_object_suite):
25300         Have to check for completion now...
25301
25302 2005-06-25  Wim Taymans  <wim@fluendo.com>
25303
25304         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25305         (gst_basesink_handle_object), (gst_basesink_event),
25306         (gst_basesink_do_sync), (gst_basesink_handle_event),
25307         (gst_basesink_change_state):
25308         * gst/gstpad.h:
25309         Unlock STREAM_LOCK whatever the recursion was.
25310
25311 2005-06-25  Wim Taymans  <wim@fluendo.com>
25312
25313         * gst/base/gstbasesink.c: (gst_basesink_set_property),
25314         (gst_basesink_preroll_queue_empty),
25315         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
25316         (gst_basesink_event), (gst_basesink_do_sync),
25317         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
25318         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
25319         (gst_basesink_change_state):
25320         Reworked the base sink, handle event and buffer serialisation
25321         correctly and removed possible deadlock.
25322         Handle EOS correctly.
25323
25324 2005-06-25  Wim Taymans  <wim@fluendo.com>
25325
25326         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
25327         (gst_pipeline_change_state):
25328         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25329         Allow elements to post EOS in the state change function.
25330         Fix up -launch, make it exit the poll loop when the
25331         pipeline actually changed state.
25332         Fix up warning parsing in -launch.
25333
25334 2005-06-25  Wim Taymans  <wim@fluendo.com>
25335
25336         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
25337         (gst_tee_sink_activate):
25338         Core takes STREAM_LOCK for us now.
25339
25340 2005-06-25  Wim Taymans  <wim@fluendo.com>
25341
25342         * gst/gstelement.c: (gst_element_get_state_func),
25343         (gst_element_set_state):
25344         * gst/gstelement.h:
25345         * gst/gstmessage.c: (gst_message_parse_error),
25346         (gst_message_parse_warning):
25347         Keep track of current target state while performing a state
25348         change so that subclasses can do something interesting.
25349         Fix parsing of warning/error messages when GError is NULL.
25350
25351 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25352
25353         * docs/gst/Makefile.am:
25354         * docs/gst/gstreamer-docs.sgml:
25355         * docs/gst/gstreamer-sections.txt:
25356         * docs/gst/gstreamer.types:
25357         * docs/gst/tmpl/gstbasesink.sgml:
25358         * docs/gst/tmpl/gstbasesrc.sgml:
25359         * docs/gst/tmpl/gstbin.sgml:
25360         * docs/gst/tmpl/gstcompat.sgml:
25361         * docs/gst/tmpl/gstfakesink.sgml:
25362         * docs/gst/tmpl/gstfakesrc.sgml:
25363         * docs/gst/tmpl/gstfilesink.sgml:
25364         * docs/gst/tmpl/gstfilesrc.sgml:
25365         * docs/gst/tmpl/gstindex.sgml:
25366         * docs/manual/appendix-quotes.xml:
25367         * gst/base/gstbasesrc.h:
25368         * gst/elements/gstfakesrc.h:
25369         * gst/gstmessage.h:
25370           start pulling in base classes and elements in our docs
25371
25372 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
25373
25374         * docs/gst/Makefile.am:
25375         * docs/libs/Makefile.am:
25376           fixed make distcheck with gtk-doc 1.3
25377
25378 2005-06-23  Wim Taymans  <wim@fluendo.com>
25379
25380         * gst/gstelement.c: (gst_element_get_state_func),
25381         (gst_element_set_state), (gst_element_change_state):
25382         When the state did not change, also report NO_PREROLL
25383         when it matters.
25384
25385 2005-06-23  Wim Taymans  <wim@fluendo.com>
25386
25387         * gst/gstpad.c: (gst_pad_event_default):
25388         * gst/gstqueue.c: (gst_queue_loop):
25389         No unsafe task pausing please.
25390
25391 2005-06-23  Wim Taymans  <wim@fluendo.com>
25392
25393         * gst/schedulers/threadscheduler.c:
25394         (gst_thread_scheduler_task_start),
25395         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25396         Ref the task before pushing it on the threadpool. This
25397         makes sure that we have a ref when the threadfunction is
25398         actually called.
25399
25400 2005-06-23  Andy Wingo  <wingo@pobox.com>
25401
25402         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25403         offset is greater than the file's size.
25404
25405         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
25406         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25407         * gst/gstobject.c (gst_object_class_init): Make the class lock
25408         recursive. Wim won't let me drop deep_notify. Decodebin works
25409         again, whoopdy doo.
25410
25411         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25412         internal pad, and hacks accordingly. Doesn't do it on the target
25413         pad because we change its caps. Probably catches all cases of
25414         interest tho.
25415         (gst_ghost_pad_set_property): Connect to notify::caps as
25416         appropritate.
25417
25418         * tests/network-clock.scm (plot-simulation): Pipe data to the
25419         elite python skript.
25420
25421         * tests/network-clock-utils.scm (define-parameter): New macro,
25422         defines a parameter that can be set via the command line.
25423         (set-parameter!, parse-parameter-arguments): Command line args
25424         parser.
25425
25426         * tests/plot-data: Simple matplotlib-based plotter, takes input on
25427         stdin.
25428
25429 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
25430
25431         * gst/elements/gsttypefindelement.c:
25432         (gst_type_find_element_handle_event):
25433           Don't restart typefinding on a discont.
25434         * gst/gstelement.c: (gst_element_set_state):
25435           Debug spelling fix.
25436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25437           Allow changing mode of an active pad.
25438           Debug output fixes.
25439         * gst/registries/gstlibxmlregistry.c: (load_feature):
25440           Don't cast a static pad template to a normal pad template.
25441
25442 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25443
25444         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25445         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25446           remove gst_strtoll completely, since it didn't actually do
25447           anything more than what g_ascii_strtoull already does.
25448           check for range errors when deserializing
25449           do a cast for the unsigned cases; but further fixing needs
25450           a decision on what the interpretation of "(int)" and
25451           deserialization should be for values that fall outside the
25452           type's boundaries (ie, refuse, or interpret as casting)
25453
25454 2005-06-23  Wim Taymans  <wim@fluendo.com>
25455
25456         * check/Makefile.am:
25457         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25458         * docs/design/part-live-source.txt:
25459         * docs/design/part-states.txt:
25460         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25461         (gst_basesrc_set_live), (gst_basesrc_is_live),
25462         (gst_basesrc_get_range), (gst_basesrc_activate),
25463         (gst_basesrc_change_state):
25464         * gst/base/gstbasesrc.h:
25465         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25466         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25467         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25468         * gst/gstelement.c: (gst_element_get_state_func),
25469         (gst_element_set_state):
25470         * gst/gstelement.h:
25471         * gst/gsttypes.h:
25472         * tools/gst-launch.c: (event_loop), (main):
25473         Added support for live sources and other elements that
25474         cannot do preroll.
25475         Updated design docs, added live-source design doc.
25476         Implemented live source functionality in basesrc
25477         Fix error condition in _bin_get_state()
25478         Implement live source handling in -launch.
25479         Added check for live sources.
25480         Fixed case in GstBin where elements were changed state
25481         multiple times.
25482
25483
25484 2005-06-23  Andy Wingo  <wingo@pobox.com>
25485
25486         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25487         borken refcounting.
25488
25489         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25490         gst_caps_replace takes care of this for us.
25491
25492         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25493         gst_pad_set_caps on the target, not just its setcaps() function.
25494
25495         * tests/network-clock.scm: 
25496         * tests/network-clock-utils.scm: A network clock simulator.
25497         Something of an algorithmic testbed before doing something in C.
25498
25499 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25500
25501         * check/Makefile.am:
25502         * check/gst/capslist.h:
25503           copy over from 0.8, and add two with bitmasks specified with
25504           (int) 0xFF...
25505         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25506           add test to parse everything from capslist.h
25507         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25508         (main):
25509           add test for structure deserialization
25510         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25511           add tests for deserialization of strings to int types
25512         * gst/gststructure.c: (gst_structure_nth_field_name):
25513         * gst/gststructure.h:
25514           add a way to get the name of a field referenced by index
25515         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25516           instead of checking if the resulting long long lies between
25517           min and max, we check if the long long would fit into
25518           a number of bytes for the final type.
25519           This fixes cases where a string represents 2^32 - 1, which
25520           when cast to int would be the (valid) -1, but is bigger than
25521           G_MAXINT
25522
25523 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25524
25525         * gst/parse/grammar.y:
25526           add a log line for type deserialization
25527
25528 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25529
25530         * check/gst/gstvalue.c: (START_TEST):
25531         * gst/gstvalue.c: (gst_value_deserialize):
25532           return long long, not int, so gint64 deserialization actually
25533           works.  Is there any flag that makes the compiler check this ?
25534           Fixes #308559
25535
25536 2005-06-22  Wim Taymans  <wim@fluendo.com>
25537
25538         * gst/gstbuffer.h:
25539         Added convenience macros for setting buffers in GValue.
25540
25541 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25542
25543         * check/gst/.cvsignore:
25544         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25545           add a test deserializing int64, and comment part out because
25546           it fails, yay !
25547
25548 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25549
25550         * check/Makefile.am:
25551         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25552         * testsuite/Makefile.am:
25553         * testsuite/caps/Makefile.am:
25554         * testsuite/caps/value_serialize.c:
25555         * testsuite/test_gst_init.c:
25556           move a value_serialize test over
25557
25558 2005-06-20  Wim Taymans  <wim@fluendo.com>
25559
25560         * gst/gstpad.c:
25561         Small doc updates.
25562         
25563         * gst/gstvalue.c: (gst_value_compare_buffer),
25564         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25565         (gst_value_compare_flags), (gst_value_serialize_flags),
25566         (gst_value_deserialize_flags), (_gst_value_initialize):
25567         Fix serialisation of buffers, they are not boxed types anymore
25568
25569 2005-06-20  Wim Taymans  <wim@fluendo.com>
25570
25571         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25572         Testcase to show error in buffer-on-caps serialisation.
25573
25574 2005-06-20  Andy Wingo  <wingo@pobox.com>
25575
25576         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25577         will be adding to later.
25578
25579         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25580         if its socks fill with rocks.
25581         (gst_system_clock_obtain): Set the name on object construction.
25582         Avoid double-checked locking.
25583
25584 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
25585
25586         * gst/gsturi.c: (gst_element_make_from_uri):
25587           Fix potential endless loop.
25588
25589 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25590
25591         * check/Makefile.am:
25592           add gsttag
25593         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25594         (main):
25595           move over from testsuite dir and clean up
25596         * configure.ac:
25597         * gst/gsttag.c:
25598         * testsuite/Makefile.am:
25599         * testsuite/tags/.cvsignore:
25600         * testsuite/tags/Makefile.am:
25601         * testsuite/tags/merge.c:
25602           remove testsuite/tags
25603
25604 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25605
25606         * docs/gst/gstreamer-sections.txt:
25607         * docs/gst/tmpl/gstenumtypes.sgml:
25608         * win32/gstenumtypes.c:
25609           clean up documentation build a little
25610
25611 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25612
25613         * check/gstcheck.h:
25614           add macros for checking refcounts on objects and caps
25615         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25616           add some more unit tests
25617         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25618         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25619           fix leaked refcounts (I hope :)) so unittest works
25620         * gst/gstpad.h:
25621           whitespace removal
25622
25623 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25624
25625         * configure.ac: back to HEAD
25626
25627 === release 0.9.1 ===
25628
25629 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25630
25631         * NEWS:
25632         * RELEASE:
25633           updated
25634
25635 2005-06-17  Andy Wingo  <wingo@pobox.com>
25636
25637         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25638         assert; it's always possible that the pad gets deactivated in
25639         between the checks in gstpad.c and the implementation. Rely on
25640         finish_preroll() to return a FLUSHING or similar instead of on the
25641         assert.
25642         
25643         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25644         clock and post an EOS message if we come out of finish_preroll in
25645         the playing state.
25646
25647 2005-06-16  David Schleef  <ds@schleef.org>
25648
25649         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25650         (gst_capsfilter_set_property): Allow NULL as possible value
25651         for filter_caps property, indicating GST_CAPS_ANY.
25652
25653 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25654
25655         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25656           fix debug output
25657         * gst/schedulers/Makefile.am:
25658           use libgst prefix
25659         * gstreamer.spec.in:
25660           fix spec for it
25661
25662 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25663
25664         * gstreamer.spec.in:
25665           clean up
25666
25667 2005-06-08  Andy Wingo  <wingo@pobox.com>
25668
25669         * gst/gstutils.c: RPAD fixes all around.
25670         (gst_element_link_pads): Refcounting fixes.
25671
25672         * tools/gst-inspect.c:
25673         * tools/gst-xmlinspect.c:
25674         * parse/grammar.y:
25675         * gst/base/gsttypefindhelper.c:
25676         * gst/base/gstbasesink.c:
25677         * gst/gstqueue.c: RPAD fixes.
25678
25679         * gst/gstghostpad.h:
25680         * gst/gstghostpad.c: New ghost pad implementation as full proxy
25681         pads. The tricky thing is they provide both source and sink
25682         interfaces, since they proxy the internal pad for the external
25683         pad, and vice versa. Implement with lower-level ProxyPad objects,
25684         with the interior proxy pad as a child of the exterior ghost pad.
25685         Should write a doc on this.
25686         
25687         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
25688         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
25689         gst_object API.
25690         
25691         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
25692         pads are real pads. No ghost pads in this file. Not documenting
25693         the myriad s/RPAD/PAD/ and REALIZE fixes.
25694         (gst_pad_class_init): Add properties for "direction" and
25695         "template". Both are construct-only, so they can't change during
25696         the life of the pad. Fixes properly deriving from GstPad.
25697         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
25698         derived objects, just set properties when creating the objects via
25699         g_object_new.
25700         (gst_pad_get_parent): Implement as a function, return NULL if the
25701         parent is not an element.
25702         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
25703         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
25704         
25705         * gst/gstobject.c (gst_object_class_init): Make name a construct
25706         property. Don't set it in the object init.
25707
25708         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
25709         with UNKNOWN direction.
25710         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
25711         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
25712         (gst_element_remove_pad): Remove ghost-pad special cases.
25713         (gst_element_pads_activate): Remove rpad cruft.
25714
25715         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
25716         catch the pad's-parent-not-an-element case.
25717
25718         * gst/gst.h: Include gstghostpad.h.
25719
25720         * gst/gst.c (init_post): No more real, ghost pads.
25721
25722         * gst/Makefile.am: Add gstghostpad.[ch].
25723
25724         * check/Makefile.am:
25725         * check/gst/gstbin.c:
25726         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
25727         into a bin creates ghost pads, and that the refcounts are right.
25728         Partly moved from gstbin.c.
25729
25730 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25731
25732         * check/gst-libs/.cvsignore:
25733         * check/gst/.cvsignore:
25734         * check/pipelines/.cvsignore:
25735           ignore more
25736         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
25737         (START_TEST), (cleanup_suite), (main):
25738           add some tests related to cleanup after running pipelines
25739
25740 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25741
25742         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
25743           add a testsuite for GstBuffer
25744
25745 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25746
25747         * gst/gstminiobject.h:
25748           add defines for accessing the refcount
25749
25750 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
25751
25752         * Makefile.am: added support for html unit test coverage reports
25753
25754 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
25755
25756         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25757           Free existing caps if the capsfilter changes. Add a FIXME about
25758           setting those caps on the pads.
25759
25760         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
25761           Before adding a ghost pad to a parent bin, check that there isn't
25762           already one for the element on the bin. Prevents infinite recursion
25763           when using decodebin in parse pipelines. Andy says he'll rewrite the
25764           way this works anyway, so ignore the hack.
25765
25766 2005-06-02  Andy Wingo  <wingo@pobox.com>
25767
25768         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
25769         file size, pass it on to the type find helper.
25770
25771         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
25772         segment_start and segment_end properly according to the seek
25773         method. Segment_end is still a bit flaky because offset can be
25774         negative for CUR and END cases, but it takes -1 as an "unset"
25775         value.
25776
25777 2005-06-02  Wim Taymans  <wim@fluendo.com>
25778
25779         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
25780         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
25781         (gst_basesink_activate):
25782         * gst/base/gstbasesink.h:
25783         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25784         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25785         (gst_pad_query), (gst_pad_start_task):
25786         * gst/gstpad.h:
25787         * gst/gstqueue.c: (gst_queue_bufferalloc),
25788         (gst_queue_handle_sink_event), (gst_queue_chain):
25789         Bufferalloc: return GstFlowReturn to more accuratly report
25790         why allocation failed.
25791
25792 2005-06-02  Wim Taymans  <wim@fluendo.com>
25793
25794         * gst/gstpipeline.c: (gst_pipeline_send_event):
25795         Take snapshot of state without blocking.
25796
25797 2005-06-02  Wim Taymans  <wim@fluendo.com>
25798
25799         * docs/design/part-TODO.txt:
25800         * docs/design/part-caps.txt:
25801         * docs/design/part-clocks.txt:
25802         * docs/design/part-negotiation.txt:
25803         * docs/design/part-preroll.txt:
25804         Small doc updates 
25805
25806 2005-05-30  Wim Taymans  <wim@fluendo.com>
25807
25808         * gst/elements/gstidentity.c: (gst_identity_event),
25809         (gst_identity_transform), (gst_identity_get_property):
25810         Protect last_message property as it is accessed from
25811         multiple threads.
25812
25813 2005-05-30  Wim Taymans  <wim@fluendo.com>
25814
25815         * gst/gstelement.c: (gst_element_init),
25816         (gst_element_pads_activate), (gst_element_change_state):
25817         Slicker pad activation code.
25818
25819 2005-05-30  Wim Taymans  <wim@fluendo.com>
25820
25821         * gst/Makefile.am:
25822         * gst/gstelement.h:
25823         * gst/gstelementfactory.h:
25824         * gst/gsttypes.h:
25825         Move elementfactory methods to separate .h file.
25826
25827 2005-05-30  Wim Taymans  <wim@fluendo.com>
25828
25829         * docs/design/part-overview.txt:
25830         * gst/gstsystemclock.h:
25831         Small typo fixes, doc updates.
25832
25833 2005-05-30  Wim Taymans  <wim@fluendo.com>
25834
25835         * gst/gst.c: (gst_init_get_popt_table), (init_post),
25836         (init_popt_callback):
25837         Remove cpu-opt flag.
25838
25839 2005-05-30  Wim Taymans  <wim@fluendo.com>
25840
25841         * gst/gstbuffer.c: (gst_subbuffer_finalize),
25842         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
25843         * gst/gstbuffer.h:
25844         Avoid typechecking in places where not needed.
25845         Added accessor for malloc_data.
25846
25847 2005-05-30  Wim Taymans  <wim@fluendo.com>
25848
25849         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
25850         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
25851         (gst_pad_configure_sink), (gst_pad_configure_src),
25852         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
25853         (gst_pad_start_task):
25854         Propagate errors from _set_caps() in configure_src/sink
25855         functions instead of returning TRUE.
25856         FLUSH events can travel up and downstream
25857
25858
25859 2005-05-30  Wim Taymans  <wim@fluendo.com>
25860
25861         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25862         (gst_basesink_activate):
25863         Handle EOS in preroll.
25864
25865 2005-05-30  Wim Taymans  <wim@fluendo.com>
25866
25867         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25868         (gst_queue_loop), (gst_queue_handle_src_event):
25869         Remove old pieces of code
25870         Flushing the queue in an upstream event is a very bad idea.
25871
25872 2005-05-26  Andy Wingo  <wingo@pobox.com>
25873
25874         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
25875         gst_value_set_mini_object so as to add a ref on the object (which
25876         will be removed when the value is unset).
25877
25878         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
25879         arg type in ::handoff.
25880
25881         * gst/gstelement.c (gst_element_change_state): Also deactivate
25882         pads in READY->NULL, just in case the element didn't make it to
25883         PAUSED. Wingo tested, Wim approved.
25884
25885 2005-05-26  Wim Taymans  <wim@fluendo.com>
25886
25887         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25888         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25889         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
25890         A flushing pad cannot be used to alloc_buffer from.
25891
25892 2005-05-26  Wim Taymans  <wim@fluendo.com>
25893
25894         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
25895         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
25896         (gst_bus_source_dispatch), (gst_bus_source_finalize),
25897         (gst_bus_create_watch), (gst_bus_add_watch_full):
25898         * gst/gstbus.h:
25899         Implement a real GSource and use g_main_context_wakeup() to
25900         signal new messages instead of the socketpair.
25901
25902 2005-05-25  Wim Taymans  <wim@fluendo.com>
25903
25904         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
25905         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
25906         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25907         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25908         (gst_pad_send_event), (gst_pad_start_task):
25909         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
25910         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25911         (gst_queue_sink_activate), (gst_queue_src_activate),
25912         (gst_queue_change_state):
25913         * gst/gstqueue.h:
25914         Fix state changes for non sinks. We now change sinks, then elements
25915         with unconnected srcpads, then the rest.
25916         More efficient queue unlocking in flush and state changes.
25917         Set the pad activate mode even if it does not have an activate
25918         function.
25919
25920 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25921
25922         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
25923           Don't go in pull mode for non-seekable sources.
25924         * gst/elements/gsttypefindelement.h:
25925         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
25926         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
25927         (free_entry), (stop_typefinding),
25928         (gst_type_find_element_handle_event), (find_peek),
25929         (gst_type_find_element_chain), (do_pull_typefind),
25930         (gst_type_find_element_change_state):
25931           Allow typefinding (w/o seeking) in push-mode, simplified version
25932           of what was in 0.8.
25933         * gst/gstutils.c: (gst_buffer_join):
25934         * gst/gstutils.h:
25935           gst_buffer_join() from 0.8.
25936
25937 2005-05-25  Wim Taymans  <wim@fluendo.com>
25938
25939         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25940         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25941         (gst_pad_send_event), (gst_pad_start_task):
25942         Disable attempt at mode switching until it is figured out.
25943
25944 2005-05-25  Wim Taymans  <wim@fluendo.com>
25945
25946         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
25947         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25948         (gst_basesink_finish_preroll), (gst_basesink_chain),
25949         (gst_basesink_loop), (gst_basesink_activate),
25950         (gst_basesink_change_state):
25951         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
25952         (gst_basesrc_get_range), (gst_basesrc_loop),
25953         (gst_basesrc_activate):
25954         * gst/elements/gsttee.c: (gst_tee_sink_activate):
25955         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25956         (gst_real_pad_init), (gst_real_pad_set_property),
25957         (gst_real_pad_get_property), (gst_pad_set_active),
25958         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
25959         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
25960         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
25961         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
25962         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25963         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
25964         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
25965         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25966         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
25967         (gst_pad_stop_task):
25968         * gst/gstpad.h:
25969         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25970         (gst_queue_loop), (gst_queue_src_activate):
25971         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
25972         (gst_task_get_state):
25973         * gst/gsttask.h:
25974         * gst/schedulers/threadscheduler.c:
25975         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
25976         Implement gst_pad_pause/start/stop_task(), take STREAM lock
25977         in task function.
25978         Remove ACTIVE pad flag, use FLUSHING everywhere
25979         Added _pad_chain(), _pad_get_range() to call chain/getrange 
25980         functions.
25981         Add locks around IS_FLUSHING when reading.
25982         Take STREAM lock in chain(), get_range() functions so plugins
25983         don't need to take it anymore.
25984         
25985
25986
25987 2005-05-25  Wim Taymans  <wim@fluendo.com>
25988
25989         * tools/gst-launch.c: (event_loop):
25990         Unref message after using its contents instead of
25991         before.
25992
25993 2005-05-24  Wim Taymans  <wim@fluendo.com>
25994
25995         * docs/design/draft-ghostpads.txt:
25996         * docs/design/draft-push-pull.txt:
25997         * docs/design/draft-query.txt:
25998         * docs/design/part-overview.txt:
25999         Docs updates, added general overview doc.
26000
26001 2005-05-21  David Schleef  <ds@schleef.org>
26002
26003         * docs/gst/tmpl/old/GstBin.sgml:
26004         * docs/gst/tmpl/old/GstBuffer.sgml:
26005         * docs/gst/tmpl/old/GstCaps.sgml:
26006         * docs/gst/tmpl/old/GstClock.sgml:
26007         * docs/gst/tmpl/old/GstCompat.sgml:
26008         * docs/gst/tmpl/old/GstData.sgml:
26009         * docs/gst/tmpl/old/GstElement.sgml:
26010         * docs/gst/tmpl/old/GstEvent.sgml:
26011         * docs/gst/tmpl/old/GstIndex.sgml:
26012         * docs/gst/tmpl/old/GstStructure.sgml:
26013         * docs/gst/tmpl/old/GstTag.sgml:
26014         * docs/gst/tmpl/old/cothreads.sgml:
26015         * docs/gst/tmpl/old/cothreads_compat.sgml:
26016         * docs/gst/tmpl/old/gettext.sgml:
26017         * docs/gst/tmpl/old/gobject2gtk.sgml:
26018         * docs/gst/tmpl/old/grammar.tab.sgml:
26019         * docs/gst/tmpl/old/gst-i18n-app.sgml:
26020         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
26021         * docs/gst/tmpl/old/gst_private.sgml:
26022         * docs/gst/tmpl/old/gstaggregator.sgml:
26023         * docs/gst/tmpl/old/gstarch.sgml:
26024         * docs/gst/tmpl/old/gstatomic_impl.sgml:
26025         * docs/gst/tmpl/old/gstbufferstore.sgml:
26026         * docs/gst/tmpl/old/gstdata_private.sgml:
26027         * docs/gst/tmpl/old/gstdisksink.sgml:
26028         * docs/gst/tmpl/old/gstdisksrc.sgml:
26029         * docs/gst/tmpl/old/gstelementfactory.sgml:
26030         * docs/gst/tmpl/old/gstextratypes.sgml:
26031         * docs/gst/tmpl/old/gstfakesink.sgml:
26032         * docs/gst/tmpl/old/gstfakesrc.sgml:
26033         * docs/gst/tmpl/old/gstfdsink.sgml:
26034         * docs/gst/tmpl/old/gstfdsrc.sgml:
26035         * docs/gst/tmpl/old/gstfilesink.sgml:
26036         * docs/gst/tmpl/old/gstfilesrc.sgml:
26037         * docs/gst/tmpl/old/gsthttpsrc.sgml:
26038         * docs/gst/tmpl/old/gstidentity.sgml:
26039         * docs/gst/tmpl/old/gstindexfactory.sgml:
26040         * docs/gst/tmpl/old/gstmarshal.sgml:
26041         * docs/gst/tmpl/old/gstmd5sink.sgml:
26042         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
26043         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
26044         * docs/gst/tmpl/old/gstpadtemplate.sgml:
26045         * docs/gst/tmpl/old/gstpipefilter.sgml:
26046         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
26047         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
26048         * docs/gst/tmpl/old/gstshaper.sgml:
26049         * docs/gst/tmpl/old/gstspider.sgml:
26050         * docs/gst/tmpl/old/gstspideridentity.sgml:
26051         * docs/gst/tmpl/old/gststatistics.sgml:
26052         * docs/gst/tmpl/old/gsttee.sgml:
26053         * docs/gst/tmpl/old/gsttimecache.sgml:
26054         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
26055         * docs/gst/tmpl/old/gstxmlregistry.sgml:
26056         * docs/gst/tmpl/old/gthread-cothreads.sgml:
26057         * docs/gst/tmpl/old/types.sgml:
26058           I didn't intend to add these or check them in.
26059
26060 2005-05-19  David Schleef  <ds@schleef.org>
26061
26062         * configure.ac: Use -no-common everywhere.  In a sane world, it
26063           would be the default in libtool, because without it, you can't
26064           build DLLs on Windows.
26065         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
26066         * docs/gst/gstreamer-sections.txt:
26067         * docs/gst/tmpl/gstcpu.sgml:
26068         * docs/gst/tmpl/gstdata.sgml:
26069         * docs/gst/tmpl/gstthread.sgml:
26070
26071 2005-05-19  David Schleef  <ds@schleef.org>
26072
26073         * gst/gstminiobject.c: (gst_value_set_mini_object),
26074         (gst_value_take_mini_object), (gst_value_get_mini_object):
26075         * gst/gstminiobject.h: Add GValue set/get functions.
26076
26077 2005-05-19  Wim Taymans  <wim@fluendo.com>
26078
26079         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
26080         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
26081         (gst_subbuffer_init), (gst_buffer_is_span_fast):
26082         * gst/gstbuffer.h:
26083         * gst/gstbus.c: (gst_bus_post):
26084         * gst/gstelement.c: (gst_element_get_random_pad):
26085         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
26086         Make subbufer unref the parent in finalize.
26087         some more debugging info.
26088
26089
26090 2005-05-19  Wim Taymans  <wim@fluendo.com>
26091
26092         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26093         (gst_basesink_init), (gst_basesink_finalize),
26094         (gst_basesink_activate), (gst_basesink_change_state):
26095         Don't free preroll queue too early.
26096
26097 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26098
26099         * gst/Makefile.am:
26100         * gst/ROADMAP:
26101           Hi, I'm outdated. Please shoot me.
26102
26103 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26104
26105         * gst/gstpipeline.c: (gst_pipeline_send_event):
26106           Do not access variables after they have been deleted.
26107
26108 2005-05-19  Wim Taymans  <wim@fluendo.com>
26109
26110         * tools/gst-inspect.c: (print_plugin_features):
26111         A plugin feature does unfortunatly not use the
26112         object name yet...
26113
26114 2005-05-18  Wim Taymans  <wim@fluendo.com>
26115
26116         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
26117         Port _span() functions to new subbuffers.
26118
26119 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26120
26121         * gst/gstbin.c: (gst_bin_add_func):
26122           Fix clock settery in bins when adding kids after the clock has
26123           been selected.
26124
26125 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26126
26127         * gst/elements/gstidentity.c: (gst_identity_class_init):
26128           Workaround until signals support GstMiniObject.
26129
26130 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
26131
26132         * gst/gstbuffer.c:
26133         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
26134
26135 2005-05-18  Wim Taymans  <wim@fluendo.com>
26136
26137         * gst/base/Makefile.am:
26138         * gst/base/gstadapter.c: (gst_adapter_base_init),
26139         (gst_adapter_class_init), (gst_adapter_init),
26140         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
26141         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
26142         (gst_adapter_flush), (gst_adapter_available),
26143         (gst_adapter_available_fast):
26144         * gst/base/gstadapter.h:
26145         Ported and added adapter to the base classes.
26146
26147 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26148
26149         * gst/gst.c:
26150         * gst/gstmessage.c:
26151           Make sure the class is reffed/unreffed once before threads can be
26152           used.  Fixes #304551.
26153
26154 2005-05-17  Wim Taymans  <wim@fluendo.com>
26155
26156         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
26157         (gst_basesink_chain_unlocked), (gst_basesink_activate):
26158         * gst/gstminiobject.c: (gst_mini_object_get_type),
26159         (gst_mini_object_free):
26160         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
26161         (gst_pad_push), (gst_pad_push_event):
26162         * gst/gstqueue.c: (gst_queue_change_state):
26163         Don't queue buffers in basesink when we are flushing.
26164         Unref buffer when flushing in basesink.
26165         Flush queue when going to READY
26166         Unref buffer when _push() returns an error.
26167         Don't free MiniObject instance when refcount is incremented
26168         in _finalize() so that we can recover objects.
26169
26170 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
26171
26172         * docs/manual/advanced-schedulers.xml:
26173         * docs/manual/appendix-checklist.xml:
26174         * docs/pwg/advanced-clock.xml:
26175         * docs/pwg/advanced-interfaces.xml:
26176         * docs/pwg/advanced-request.xml:
26177         * docs/pwg/advanced-types.xml:
26178         * docs/pwg/intro-preface.xml:
26179         * examples/plugins/example.c: (gst_example_get_type),
26180         (gst_example_class_init), (gst_example_chain),
26181         (gst_example_set_property), (gst_example_get_property),
26182         (gst_example_change_state), (plugin_init):
26183         * examples/plugins/example.h:
26184           small doc fixes
26185
26186 2005-05-17  Wim Taymans  <wim@fluendo.com>
26187
26188         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
26189         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
26190         * gst/gstqueue.c: (gst_queue_change_state):
26191         Clear queue when going to READY.
26192         Remove IN_SETCAPS flag too.
26193
26194 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
26195
26196         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
26197           Remove implicit cast from gboolean to GstElementStateReturn;
26198           make sure we still return failure in paused => ready case if
26199           the parent class fails to change state and our own stop 
26200           vfunc succeeds.
26201
26202 2005-05-17  Wim Taymans  <wim@fluendo.com>
26203
26204         * tools/gst-launch.c: (event_loop):
26205         Message was unreffed too soon.
26206
26207 2005-05-16  Andy Wingo  <wingo@pobox.com>
26208
26209         * gst/gstbin.c (sink_iterator_filter): Err... um...
26210
26211         * check/gst/gstbin.c (test_ghost_pads): New test for the
26212         ghosting-if-elements-not-in-same-bin behavior.
26213
26214 2005-05-16  David Schleef  <ds@schleef.org>
26215
26216         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
26217         accessing refcount directly.
26218
26219 2005-05-15  David Schleef  <ds@schleef.org>
26220
26221         * check/Makefile.am: remove GstData checks
26222         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
26223         * gst/Makefile.am: add miniobject, remove data
26224         * gst/gst.h: add miniobject, remove data
26225         * gst/gstdata.c: remove
26226         * gst/gstdata.h: remove
26227         * gst/gstdata_private.h: remove
26228         * gst/gsttypes.h: remove GstEvent and GstMessage
26229         * gst/gstelement.c: (gst_element_post_message): fix for API changes
26230         * gst/gstmarshal.list: change BOXED -> OBJECT
26231
26232         Implement GstMiniObject.
26233         * gst/gstminiobject.c:
26234         * gst/gstminiobject.h:
26235
26236         Modify to be subclasses of GstMiniObject.
26237         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
26238         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
26239         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
26240         (gst_subbuffer_get_type), (gst_subbuffer_init),
26241         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
26242         (gst_buffer_span):
26243         * gst/gstbuffer.h:
26244         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
26245         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
26246         (_gst_event_copy), (gst_event_new):
26247         * gst/gstevent.h:
26248         * gst/gstmessage.c: (_gst_message_initialize),
26249         (gst_message_get_type), (gst_message_class_init),
26250         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
26251         (gst_message_new), (gst_message_new_error),
26252         (gst_message_new_warning), (gst_message_new_tag),
26253         (gst_message_new_state_changed), (gst_message_new_application):
26254         * gst/gstmessage.h:
26255         * gst/gstprobe.c: (gst_probe_perform),
26256         (gst_probe_dispatcher_dispatch):
26257         * gst/gstprobe.h:
26258         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
26259         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
26260         (_gst_query_copy), (gst_query_new):
26261
26262         Update elements for GstData -> GstMiniObject changes
26263         * gst/gstquery.h:
26264         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
26265         (gst_queue_chain), (gst_queue_loop):
26266         * gst/elements/gstbufferstore.c:
26267         (gst_buffer_store_add_buffer_func),
26268         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
26269         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26270         (gst_fakesink_render):
26271         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26272         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
26273         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
26274         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
26275         (gst_filesrc_create_read):
26276         * gst/elements/gstidentity.c: (gst_identity_class_init):
26277         * gst/elements/gsttypefindelement.c:
26278         (gst_type_find_element_src_event), (free_entry_buffers),
26279         (gst_type_find_element_handle_event):
26280         * libs/gst/dataprotocol/dataprotocol.c:
26281         (gst_dp_header_from_buffer):
26282         * libs/gst/dataprotocol/dataprotocol.h:
26283         * libs/gst/dataprotocol/dp-private.h:
26284
26285 2005-05-15  David Schleef  <ds@schleef.org>
26286
26287         * gst/elements/gstelements.c: Don't include headers that were
26288         just removed.
26289
26290 2005-05-15  David Schleef  <ds@schleef.org>
26291
26292         * gst/elements/Makefile.am: Remove some elements that don't
26293         need to be in the core (or even exist at all).
26294         * gst/elements/gstaggregator.c:
26295         * gst/elements/gstaggregator.h:
26296         * gst/elements/gstmd5sink.c:
26297         * gst/elements/gstmd5sink.h:
26298         * gst/elements/gstmultifilesrc.c:
26299         * gst/elements/gstmultifilesrc.h:
26300         * gst/elements/gstpipefilter.c:
26301         * gst/elements/gstpipefilter.h:
26302         * gst/elements/gstshaper.c:
26303         * gst/elements/gstshaper.h:
26304         * gst/elements/gststatistics.c:
26305         * gst/elements/gststatistics.h:
26306         * po/POTFILES.in: Remove above files.
26307
26308 2005-05-14  Andy Wingo  <wingo@pobox.com>
26309
26310         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
26311         so as to get the refs right.
26312         (sink_iterator_filter): New function, wraps bin_element_is_sink,
26313         unreffing objects that don't pass the filter.
26314
26315         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
26316         gst_element_set_bus.
26317         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
26318         normal cases, this will destroy the bus.
26319
26320         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
26321         object.
26322
26323         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
26324         has no sinks.
26325
26326 2005-05-13  Andy Wingo  <wingo@pobox.com>
26327
26328         * gst/gstutils.c (gst_element_link_pads): Instead of calling
26329         gst_pad_link, call pad_link_maybe_ghosting,
26330         (pad_link_maybe_ghosting): Links pads, making sure that the
26331         elements being linked are in the same bin.
26332         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
26333         Helpers for pad_link_maybe_ghosting.
26334
26335 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26336
26337         * configure.ac:
26338           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
26339
26340 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26341
26342         * docs/design/part-element-source.txt:
26343           Mention GstPushSrc
26344
26345 2005-05-12  Wim Taymans  <wim@fluendo.com>
26346
26347         * gst/base/gstbasesink.c: (gst_basesink_init),
26348         (gst_basesink_activate):
26349         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
26350         (gst_basesrc_is_seekable):
26351         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
26352         (bin_element_is_sink), (gst_bin_change_state):
26353         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26354         * gst/gstelement.h:
26355         Identify sinks by their flag to avoid overly complicated
26356         checks (fow now).
26357         Do state changes even for elements not reachable from the
26358         sinks.
26359         BaseSink is a sink now :)
26360         Some more debugging info in the basesrc.
26361
26362
26363 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26364
26365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
26366           Implement _query on a bin, similar to _send_event.
26367
26368 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
26369
26370         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
26371           Discont event offset format should be GST_FORMAT_BYTES,
26372           not GST_FORMAT_TIME.
26373
26374 2005-05-12  Wim Taymans  <wim@fluendo.com>
26375
26376         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
26377         Same fix as Ronald's but without the signal. 
26378
26379 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26380
26381         * gst/gstutils.c: (gst_element_query_position):
26382           No, an element is not a pad.
26383
26384 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26385
26386         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26387         (gst_bin_get_state):
26388           If a child is removed from a bin while we remove the child from
26389           the bin and while we're retrieving its state, signal this to the
26390           get_state function so we abort the wait (instead of waiting for
26391           a timeout) and can immediately re-iterate over all other elements.
26392
26393 2005-05-12  Wim Taymans  <wim@fluendo.com>
26394
26395         * gst/base/Makefile.am:
26396         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26397         (gst_basesrc_start):
26398         * gst/base/gstbasesrc.h:
26399         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26400         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26401         (gst_pushsrc_init), (gst_pushsrc_create):
26402         * gst/base/gstpushsrc.h:
26403         Added is_seekable to BaseSrc
26404         Added simple PushSrc.
26405
26406 2005-05-11  Wim Taymans  <wim@fluendo.com>
26407
26408         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26409         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26410         (gst_element_link_pads), (gst_element_query_position),
26411         (gst_element_query_convert), (intersect_caps_func),
26412         (gst_pad_query_position), (gst_pad_query_convert):
26413         Fix refcounting in utils function.
26414         No point in trying to activate a pad when it's added, it could
26415         be added from the state change function and then we deadlock, the
26416         element has to decide what to do.
26417
26418 2005-05-10  Andy Wingo  <wingo@pobox.com>
26419
26420         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26421         *all* the arguments.
26422
26423         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26424         stream lock if it's a FLUSH_DONE; normal flushes don't get the
26425         lock (according to the docs -- if this is wrong change the docs).
26426
26427         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26428         flush messages in the NULL state.
26429
26430         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26431         message immediately and return.
26432         (gst_bus_set_flushing): New function. If a bus is flushing, it
26433         flushes out any queued messages and immediately unrefs new
26434         messages. This is so when an element goes to NULL, all of the
26435         unhandled messages coming from it can be freed, and their
26436         references to the element dropped. In other words: message source
26437         ref considered harmful :P
26438
26439         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26440         we're finished with it.
26441
26442         * gst/gstmessage.c (gst_message_new_state_changed): 
26443
26444 2005-05-10  Wim Taymans  <wim@fluendo.com>
26445
26446         * gst/gstvalue.c: (gst_value_compare_flags),
26447         (gst_value_serialize_flags), (gst_value_deserialize_flags),
26448         (_gst_value_initialize):
26449         Added flags serialize/deserialize/compare code.
26450
26451 2005-05-09  Andy Wingo  <wingo@pobox.com>
26452
26453         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26454         Intersect the peer's caps with our caps.
26455
26456 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26457
26458         * gst/base/gsttypefindhelper.c: (helper_find_peek):
26459         * gst/elements/gsttypefindelement.c: (find_peek):
26460           Handle negative offsets better. Fixes decodebin.
26461
26462 2005-05-09  Wim Taymans  <wim@fluendo.com>
26463
26464         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26465         (gst_base_transform_event):
26466         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26467         Implement accept_caps.
26468         Fix silly lock/unlock mismatch in base class.
26469
26470 2005-05-09  Wim Taymans  <wim@fluendo.com>
26471
26472         * docs/design/draft-push-pull.txt:
26473         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26474         * gst/elements/gstfilesink.c: (gst_filesink_init),
26475         (gst_filesink_query):
26476         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26477         (gst_type_find_handle_src_query), (find_element_get_length):
26478         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26479         * gst/gstelement.h:
26480         * gst/gstmessage.c:
26481         * gst/gstmessage.h:
26482         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26483         (gst_real_pad_get_caps_unlocked),
26484         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26485         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26486         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26487         (gst_real_pad_dispose), (gst_real_pad_finalize),
26488         (gst_pad_load_and_link), (gst_pad_save_thyself),
26489         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26490         (gst_pad_check_pull_range), (gst_pad_pull_range),
26491         (gst_pad_template_get_type), (gst_pad_template_class_init),
26492         (gst_pad_template_init), (gst_pad_template_dispose),
26493         (name_is_valid), (gst_static_pad_template_get),
26494         (gst_pad_template_new), (gst_static_pad_template_get_caps),
26495         (gst_pad_template_get_caps), (gst_pad_set_element_private),
26496         (gst_pad_get_element_private), (gst_pad_start_task),
26497         (gst_pad_pause_task), (gst_pad_stop_task),
26498         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26499         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26500         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26501         (gst_ghost_pad_new):
26502         * gst/gstpad.h:
26503         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26504         (gst_query_new_position), (gst_query_set_position),
26505         (gst_query_parse_position), (gst_query_new_convert),
26506         (gst_query_set_convert), (gst_query_parse_convert):
26507         * gst/gstquery.h:
26508         * gst/gstqueryutils.c:
26509         * gst/gstqueryutils.h:
26510         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26511         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26512         (gst_queue_handle_src_query):
26513         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26514         (gst_element_query_position), (gst_element_query_convert),
26515         (intersect_caps_func), (gst_pad_query_position),
26516         (gst_pad_query_convert):
26517         * gst/gstutils.h:
26518         * tools/gst-inspect.c: (print_pad_info):
26519         * tools/gst-xmlinspect.c: (print_element_info):
26520         Remove old query functions. Ported old code.
26521         Added position/convert helper functions to gstutils.
26522         Reordered gstpad.c code, grouping relevant things.
26523         Remove gst_message_new(), always need to speficy a specific
26524         message.
26525
26526
26527 2005-05-09  Andy Wingo  <wingo@pobox.com>
26528
26529         * gst/gstiterator.h: Add some includes.
26530
26531         * gst/gstqueryutils.h: Include more headers.
26532
26533         * gst/gstpad.h:
26534         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26535         some uses of gst_pad_query.
26536
26537         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26538         NULL out parameters.
26539         (gst_query_new_position): New proc, allocates a new position
26540         query.
26541
26542         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26543         gstqueryutils.c to the build.
26544
26545         * gst/gststructure.c (gst_structure_set_valist): Implement with
26546         the generic G_VALUE_COLLECT.
26547         
26548 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
26549
26550         * gst/Makefile.am: (gst_headers):
26551         Added gstqueryutils.h to the list of headers to install, that was
26552         a 'nachty' move wingo :)
26553
26554 2005-05-06  Andy Wingo  <wingo@pobox.com>
26555
26556         * gst/gstquery.h
26557         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26558         GstData, init a memchunk.
26559         (standard_definitions): Add a few query types, deprecate a few.
26560         (gst_query_get_type): New proc.
26561         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26562         implementation.
26563         (gst_query_new_application, gst_query_get_structure): New public
26564         procs.
26565
26566         * docs/design/draft-query.txt: Removed LINKS from the query types,
26567         because all the rest can be dispatched to other pads -- seemed
26568         ugly to have a query that couldn't be dispatched. internal_links
26569         is fine as a pad method.
26570
26571         * gst/gstpad.h: Add query2 as a pad method, add the new functions
26572         in gstpad.c, but maintain binary compatibility for the moment.
26573         Will fix before 0.9 is out.
26574
26575         * gst/gstqueryutils.c: 
26576         * gst/gstqueryutils.h: New files, implement 3 methods for each
26577         query type: parse_query, parse_response, and set. Probably need an
26578         allocator as well.
26579
26580         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26581
26582         * gst/elements/gstfilesink.c (gst_filesink_query2):
26583         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26584         query_types, and formats methods.
26585
26586         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26587         (gst_pad_set_query2_function): New functions.
26588         (gst_real_pad_init): Set query2_default as the default query2
26589         function. Basically just dispatches to internally linked pads.
26590
26591         Needs review!
26592         
26593         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26594         without using the atomic operations. Only one thread can possibly
26595         be accessing the data at this point. Changed so as to avoid
26596         gst_atomic operations.
26597
26598 2005-05-06  Wim Taymans  <wim@fluendo.com>
26599
26600         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26601         Also set caps if we use the fallback buffer alloc.
26602
26603 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
26604
26605         * docs/gst/Makefile.am:
26606         * docs/gst/gstreamer-docs.sgml:
26607         * docs/gst/gstreamer-sections.txt:
26608         * docs/gst/tmpl/gstatomic.sgml:
26609         * docs/gst/tmpl/gstmemchunk.sgml:
26610         * testsuite/elements/struct_i386.h:
26611         * win32/GStreamer.vcproj:
26612         * win32/Makefile:
26613           Purge GstAtomic stuff from docs and win32 makefiles as well
26614
26615 2005-05-06  Wim Taymans  <wim@fluendo.com>
26616
26617         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26618         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26619         * gst/gstpad.c: (gst_pad_peer_get_caps):
26620         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26621         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26622         (gst_queue_src_activate), (gst_queue_change_state):
26623         * gst/gstqueue.h:
26624         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26625         (intersect_caps_func):
26626         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26627         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26628         Some fixes for the peer_get_caps() change.
26629
26630 2005-05-06  Wim Taymans  <wim@fluendo.com>
26631
26632         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26633         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26634         (gst_basesink_activate):
26635         Actually do something with error codes returned from the push
26636         functions.
26637
26638 2005-05-06  Wim Taymans  <wim@fluendo.com>
26639
26640         * docs/design/part-element-sink.txt:
26641         * docs/design/part-element-source.txt:
26642         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26643         (gst_basesink_event), (gst_basesink_activate):
26644         * gst/base/gstbasesink.h:
26645         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26646         (gst_basesrc_activate):
26647         * gst/base/gstbasesrc.h:
26648         * gst/gstelement.c: (gst_element_pads_activate):
26649         Some more documentation.
26650         Fixed scheduling decision in _pads_activate().
26651
26652 2005-05-05  Andy Wingo  <wingo@pobox.com>
26653
26654         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26655         the test suite.
26656
26657 2005-05-05  Wim Taymans  <wim@fluendo.com>
26658
26659         * gst/base/Makefile.am:
26660         * gst/base/gstbasesink.h:
26661         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26662         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
26663         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
26664         (gst_collectpads_class_init), (gst_collectpads_init),
26665         (gst_collectpads_finalize), (gst_collectpads_new),
26666         (gst_collectpads_set_function), (gst_collectpads_add_pad),
26667         (find_pad), (gst_collectpads_remove_pad),
26668         (gst_collectpads_is_active), (gst_collectpads_collect),
26669         (gst_collectpads_collect_range), (gst_collectpads_start),
26670         (gst_collectpads_stop), (gst_collectpads_peek),
26671         (gst_collectpads_pop), (gst_collectpads_available),
26672         (gst_collectpads_read), (gst_collectpads_flush),
26673         (gst_collectpads_chain):
26674         * gst/base/gstcollectpads.h:
26675         * gst/elements/Makefile.am:
26676         * gst/elements/gstelements.c:
26677         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26678         (gst_fakesink_get_times), (gst_fakesink_event),
26679         (gst_fakesink_preroll), (gst_fakesink_render):
26680         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26681         (gst_filesink_init), (gst_filesink_set_location),
26682         (gst_filesink_open_file), (gst_filesink_close_file),
26683         (gst_filesink_pad_query), (gst_filesink_event),
26684         (gst_filesink_render), (gst_filesink_change_state):
26685         * gst/elements/gstfilesink.h:
26686         Added object to help in making collect pad based elements.
26687         Ported filesink.
26688         Make event function in sink baseclass return gboolean.
26689
26690 2005-05-05  Wim Taymans  <wim@fluendo.com>
26691
26692         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
26693         (gst_bin_get_by_name):
26694         * gst/gstbuffer.h:
26695         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
26696         (gst_clock_finalize):
26697         * gst/gstdata.c: (gst_data_replace):
26698         * gst/gstdata.h:
26699         * gst/gstelement.c: (gst_element_request_pad),
26700         (gst_element_pads_activate):
26701         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
26702         (gst_object_unref):
26703         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26704         (gst_pad_set_checkgetrange_function),
26705         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
26706         (gst_pad_check_pull_range), (gst_pad_pull_range),
26707         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26708         (gst_pad_pause_task), (gst_pad_stop_task):
26709         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26710         (gst_element_request_pad), (gst_pad_proxy_getcaps):
26711         Fix name lookup in GstBin.
26712         Added _data_replace() function and _buffer_replace()
26713         Use finalize method to clean up clock.
26714         Fix refcounting on request pads.
26715         Fix pad schedule mode error.
26716         Some more object refcounting debug info,
26717
26718
26719 2005-05-04  Andy Wingo <wingo@pobox.com>
26720
26721         * check/Makefile.am:
26722         * docs/gst/tmpl/gstatomic.sgml:
26723         * docs/gst/tmpl/gstplugin.sgml:
26724         * gst/base/gstbasesink.c: (gst_basesink_activate):
26725         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
26726         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
26727         (gst_basesrc_query), (gst_basesrc_set_property),
26728         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
26729         (gst_basesrc_activate):
26730         * gst/base/gstbasesrc.h:
26731         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
26732         (gst_base_transform_src_activate):
26733         * gst/elements/gstelements.c:
26734         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26735         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26736         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26737         * gst/elements/gsttypefindelement.c: (find_element_get_length),
26738         (gst_type_find_element_checkgetrange),
26739         (gst_type_find_element_activate):
26740         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
26741         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
26742         (gst_caps_load_thyself):
26743         * gst/gstelement.c: (gst_element_pads_activate),
26744         (gst_element_save_thyself), (gst_element_restore_thyself):
26745         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
26746         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
26747         * gst/gstpad.h:
26748         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
26749         (gst_xml_parse_file), (gst_xml_parse_memory),
26750         (gst_xml_get_element), (gst_xml_make_element):
26751         * gst/indexers/gstfileindex.c: (gst_file_index_load),
26752         (_file_index_id_save_xml), (gst_file_index_commit):
26753         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
26754         (read_enum), (load_pad_template), (load_feature), (load_plugin),
26755         (load_paths):
26756         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
26757         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
26758         * tools/gst-complete.c: (main):
26759         * tools/gst-compprep.c: (main):
26760         * tools/gst-inspect.c: (print_element_properties_info):
26761         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
26762         * tools/gst-xmlinspect.c: (print_element_properties):
26763         GCC 4 fixen.
26764         
26765 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26766
26767         * gst/gstplugin.c: (gst_plugin_check_module),
26768         (gst_plugin_check_file), (gst_plugin_load_file):
26769             apply patch from #172526 to make register work on MacOSX
26770
26771 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26772
26773         * docs/gst/tmpl/gstconfig.sgml:
26774         * gst/gstconfig.h.in:
26775           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
26776         * testsuite/debug/printf_extension.c: (main):
26777           Do not use GST_PTR_FORMAT on pointers to types with
26778           sizeof < sizeof(gpointer).  Fixes test on 64-bit
26779         * testsuite/elements/property.h:
26780           use correct printf format
26781
26782 2005-05-02  Wim Taymans  <wim@fluendo.com>
26783
26784         * docs/design/draft-push-pull.txt:
26785         * docs/design/draft-query.txt:
26786         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
26787         (gst_basesrc_start):
26788         Added draft for new query API.
26789         Added draft for better selecting scheduling methods.
26790         Make basesrc ignore length if the subclass does not support
26791         it.
26792
26793 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26794
26795         * gst/Makefile.am:
26796           possible fixes for automake-1.5 - _LIBADD is reserved
26797
26798 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26799
26800         * docs/faq/Makefile.am:
26801         * docs/manual/Makefile.am:
26802         * docs/manuals.mak:
26803         * docs/pwg/Makefile.am:
26804         * gst/Makefile.am:
26805           possible fixes for automake-1.5
26806
26807 2005-04-28  Wim Taymans  <wim@fluendo.com>
26808
26809         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26810         (gst_basesink_pad_getcaps), (gst_basesink_init),
26811         (gst_basesink_do_sync):
26812         * gst/gstclock.c: (gst_clock_entry_new):
26813         * gst/gstevent.c: (gst_event_discont_get_value):
26814         * gst/gstpipeline.c: (pipeline_bus_handler),
26815         (gst_pipeline_change_state):
26816         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
26817         Better debugging of clocking info.
26818         Allow NULL values when getting discont values.
26819
26820 2005-04-27  Wim Taymans  <wim@fluendo.com>
26821
26822         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26823         * check/gst/gstpad.c: (gst_pad_suite):
26824         Increase timeout for checks.
26825
26826 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26827
26828         * check/Makefile.am:
26829           fix the broken rule for cleanup.  Apparently this rule is
26830           only needed on FC2, so maybe this warrants further autotool
26831           inspection.
26832
26833 2005-04-26  Wim Taymans  <wim@fluendo.com>
26834
26835         * gst/gsttrashstack.h:
26836         Ooohh. a nasty one! After having a failed pop() from the stack,
26837         it's possible that the stack is empty. In that case, don't
26838         follow the NULL pointer.
26839
26840 2005-04-25  Wim Taymans  <wim@fluendo.com>
26841
26842         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26843         (gst_pad_set_checkgetrange_function),
26844         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
26845         (gst_pad_check_pull_range), (gst_pad_pull_range),
26846         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26847         (gst_pad_pause_task), (gst_pad_stop_task):
26848         * gst/gstplugin.c: (gst_plugin_load):
26849         * gst/gstplugin.h:
26850         Remove gst_library_load as it does more harm than good with
26851         the new g_module flags.
26852         Revert bogus caps template check in pad linking, pad caps
26853         are important when linking not the template, which is more
26854         general than the current caps.
26855
26856 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26857
26858         * gst/autoplug/.cvsignore:
26859         * gst/autoplug/Makefile.am:
26860         * gst/autoplug/gstsearchfuncs.c:
26861         * gst/autoplug/gstsearchfuncs.h:
26862         * gst/autoplug/gstspider.c:
26863         * gst/autoplug/gstspider.h:
26864         * gst/autoplug/gstspideridentity.c:
26865         * gst/autoplug/gstspideridentity.h:
26866         * gst/autoplug/spidertest.c:
26867           Die, spider, die.
26868
26869 2005-04-25  Wim Taymans  <wim@fluendo.com>
26870
26871         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26872         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26873         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
26874         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
26875         * gst/gstpad.h:
26876         Added stubs for unimplemented functions. 
26877
26878 2005-04-24  David Schleef  <ds@schleef.org>
26879
26880         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
26881         please fix.
26882
26883 2005-04-24  David Schleef  <ds@schleef.org>
26884
26885         Convert everything from GstAtomicInt to g_atomic_int_*, and
26886         remove gstatomic.
26887         * gst/Makefile.am:
26888         * gst/gstatomic.c:
26889         * gst/gstatomic.h:
26890         * gst/gstatomic_impl.h:
26891         * gst/gstbuffer.c:
26892         * gst/gstcaps.c:
26893         * gst/gstcaps.h:
26894         * gst/gstclock.c:
26895         * gst/gstclock.h:
26896         * gst/gstdata.c:
26897         * gst/gstdata.h:
26898         * gst/gstdata_private.h:
26899         * gst/gstevent.c:
26900         * gst/gstinfo.c:
26901         * gst/gstinfo.h:
26902         * gst/gstmessage.c:
26903         * gst/gstobject.c:
26904         * gst/gstobject.h:
26905         * gst/gststructure.c:
26906         * gst/gststructure.h:
26907         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
26908         * gst/gstutils.h:
26909
26910 2005-04-24  David Schleef  <ds@schleef.org>
26911
26912         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
26913         make the regressions tests work.  Remove some code that is no
26914         longer true.
26915         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
26916         Disable warning for pads without templates.
26917
26918 2005-04-24  David Schleef  <ds@schleef.org>
26919
26920         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
26921         functions that handle filtered links.
26922         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
26923         removed functions.
26924         * gst/gstutils.c: Fix/remove utility functions that handle
26925         filtered caps.
26926         * gst/gstutils.h:
26927         * gst/gstvalue.c: Add serialization/deserialization of caps
26928         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
26929         requires fixing so that the filter caps notation creates
26930         a capsfilter element and sets the filter_caps property.  I
26931         think everyone probably wants to keep the shorthand notation.
26932         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
26933         * docs/gst/tmpl/gstpad.sgml:
26934
26935         * gst/elements/gstelements.c: Register capsfilter element.
26936         * gst/Makefile.am: fix spacing
26937         * docs/random/ds/0.9-suggested-changes: random
26938
26939 2005-04-23  David Schleef  <ds@schleef.org>
26940
26941         * gst/elements/Makefile.am:
26942         * gst/elements/gstcapsfilter.c: New element that acts like an
26943         identity, but filters caps.  Will eventually replace filtered
26944         caps in pad linking.
26945         * gst/gstutils.c: (gst_element_create_all_pads): New function
26946         to create all the ALWAYS pads that are registered with an
26947         element class.  This functionality should eventually be
26948         merged in with GstElement initialization.
26949         * gst/gstutils.h:
26950         * testsuite/trigger/README: part of trigger test code that should
26951         have been checked in a long time ago.
26952
26953 2005-04-23  David Schleef  <ds@schleef.org>
26954
26955         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
26956         needed with new versions of libtool (nobody will confirm this),
26957         and hard to carry around.
26958         * gst/autoplug/Makefile.am:
26959         * gst/base/Makefile.am:
26960         * gst/elements/Makefile.am:
26961         * gst/indexers/Makefile.am:
26962         * gst/schedulers/Makefile.am:
26963         * libs/gst/bytestream/Makefile.am:
26964         * libs/gst/control/Makefile.am:
26965         * libs/gst/dataprotocol/Makefile.am:
26966         * libs/gst/getbits/Makefile.am:
26967
26968 2005-04-21  Wim Taymans  <wim@fluendo.com>
26969
26970         * docs/design/draft-push-pull.txt:
26971         * docs/design/part-MT-refcounting.txt:
26972         * docs/design/part-TODO.txt:
26973         * docs/design/part-caps.txt:
26974         * docs/design/part-events.txt:
26975         * docs/design/part-gstbus.txt:
26976         * docs/design/part-gstpipeline.txt:
26977         * docs/design/part-messages.txt:
26978         * docs/design/part-push-pull.txt:
26979         * docs/design/part-query.txt:
26980         Some more docs.
26981
26982 2005-04-21  Wim Taymans  <wim@fluendo.com>
26983
26984         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
26985         (gst_message_new), (gst_message_new_error),
26986         (gst_message_new_warning), (gst_message_new_tag),
26987         (gst_message_new_state_changed), (gst_message_new_application),
26988         (gst_message_get_structure):
26989         * gst/gstmessage.h:
26990         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26991         (gst_structure_copy_conditional):
26992         Use parent refcount in GstMessage to ensure GstStructure
26993         consistency.
26994         Cleaned up headers a bit.
26995         
26996
26997 2005-04-20  Wim Taymans  <wim@fluendo.com>
26998
26999         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27000         (gst_basesink_pad_getcaps), (gst_basesink_init),
27001         (gst_basesink_chain_unlocked):
27002         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
27003         (gst_type_find_helper):
27004         * gst/elements/gsttypefindelement.c:
27005         (gst_type_find_element_have_type), (gst_type_find_element_init),
27006         (stop_typefinding), (gst_type_find_element_handle_event),
27007         (find_suggest), (gst_type_find_element_chain),
27008         (gst_type_find_element_checkgetrange),
27009         (gst_type_find_element_getrange), (do_typefind),
27010         (gst_type_find_element_activate):
27011         * gst/gstbuffer.c: (_gst_buffer_sub_free),
27012         (gst_buffer_default_free), (gst_buffer_default_copy),
27013         (gst_buffer_set_caps):
27014         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
27015         (gst_caps_replace):
27016         * gst/gstmessage.c: (gst_message_new),
27017         (gst_message_new_state_changed):
27018         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27019         (gst_pad_set_checkgetrange_function),
27020         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
27021         (gst_pad_set_caps), (gst_pad_check_pull_range),
27022         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
27023         * gst/gstpad.h:
27024         * gst/gsttypefind.c: (gst_type_find_register):
27025         Make gst_caps_replace() work like other _replace() functions.
27026         Use _caps_replace() where possible.
27027         Make sure _message_new() initialises its field.
27028         Add gst_static_pad_template_get_caps()
27029
27030
27031 2005-04-18  Andy Wingo  <wingo@pobox.com>
27032
27033         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
27034         on the peer, not the pad. I think that was a typo. Pass an extra
27035         arg to see if random access is possible. Activate the pads as
27036         PULL_RANGE if possible.
27037
27038         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
27039
27040         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
27041         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
27042         to PROP_....
27043
27044 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27045
27046         * docs/faq/using.xml:
27047           Add note on gstreamer-properties (#154996).
27048
27049 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27050
27051         * docs/random/bbb/optional-properties:
27052           Some analysis on optional properties.
27053
27054 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27055
27056         * docs/gst/tmpl/gstelementfactory.sgml:
27057         * gst/gstelement.h:
27058         * gst/gstelementfactory.c: (gst_element_factory_init),
27059         (gst_element_factory_cleanup), (gst_element_register),
27060         (__gst_element_factory_add_static_pad_template),
27061         (gst_element_factory_get_static_pad_templates),
27062         (gst_element_factory_can_src_caps),
27063         (gst_element_factory_can_sink_caps):
27064         * gst/registries/Makefile.am:
27065         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
27066         (gst_xml_registry_class_init), (gst_xml_registry_init),
27067         (gst_xml_registry_new), (gst_xml_registry_set_property),
27068         (gst_xml_registry_get_property), (get_time), (make_dir),
27069         (gst_xml_registry_get_perms_func),
27070         (plugin_times_older_than_recurse), (plugin_times_older_than),
27071         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
27072         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
27073         (add_to_char_array), (read_string), (read_uint), (read_enum),
27074         (load_pad_template), (load_feature), (load_plugin), (load_paths),
27075         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
27076         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
27077         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
27078         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
27079         (gst_xml_registry_rebuild):
27080         * gst/registries/gstlibxmlregistry.h:
27081         * tools/gst-compprep.c: (main):
27082         * tools/gst-inspect.c: (print_pad_templates_info):
27083         * tools/gst-xmlinspect.c: (print_element_info):
27084           Use libxml2 for registry parsing, use staticpadtemplates in
27085           elementfactories. Makes gst_init() +/- 10x faster.
27086
27087 2005-04-12  Wim Taymans  <wim@fluendo.com>
27088
27089         * gst/base/Makefile.am:
27090         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27091         (gst_basesink_pad_getcaps), (gst_basesink_init),
27092         (gst_basesink_event), (gst_basesink_change_state):
27093         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27094         (gst_basesrc_init), (gst_basesrc_query),
27095         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27096         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27097         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27098         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27099         (gst_basesrc_stop), (gst_basesrc_activate),
27100         (gst_basesrc_change_state):
27101         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27102         (helper_find_suggest), (gst_type_find_helper):
27103         * gst/base/gsttypefindhelper.h:
27104         * gst/elements/Makefile.am:
27105         * gst/elements/gstelements.c:
27106         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27107         (gst_fakesink_get_times), (gst_fakesink_event),
27108         (gst_fakesink_preroll), (gst_fakesink_render):
27109         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27110         (gst_fakesrc_init), (gst_fakesrc_event_handler),
27111         (gst_fakesrc_get_property), (gst_fakesrc_create),
27112         (gst_fakesrc_start), (gst_fakesrc_stop):
27113         * gst/elements/gstfakesrc.h:
27114         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
27115         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27116         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27117         (gst_filesrc_create_read), (gst_filesrc_create),
27118         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
27119         (gst_filesrc_start):
27120         * gst/elements/gsttypefindelement.c:
27121         (gst_type_find_element_have_type), (gst_type_find_element_init),
27122         (start_typefinding), (stop_typefinding), (push_buffer_store),
27123         (gst_type_find_element_handle_event),
27124         (gst_type_find_element_chain),
27125         (gst_type_find_element_checkgetrange),
27126         (gst_type_find_element_getrange), (do_typefind),
27127         (gst_type_find_element_activate),
27128         (gst_type_find_element_change_state):
27129         * gst/elements/gsttypefindelement.h:
27130         * gst/gstpipeline.c: (pipeline_bus_handler):
27131         Added typefind helper.
27132         Small preroll fix in the base sink.
27133         Disable typefind code in basesrc.
27134         Crude port of typefindelement.
27135         Fakesrc cleanups.
27136
27137
27138 2005-04-11  Wim Taymans  <wim@fluendo.com>
27139
27140         * check/gst/gstbus.c: (gstbus_suite):
27141         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
27142         * check/gstcheck.h:
27143           Fix up the timeout so that the test does not fail.
27144
27145 2005-04-06  Wim Taymans  <wim@fluendo.com>
27146
27147         * gst/base/README:
27148         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27149         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
27150         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27151         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27152         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27153         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27154         (gst_basesrc_stop), (gst_basesrc_activate),
27155         (gst_basesrc_change_state), (basesrc_find_peek),
27156         (basesrc_find_suggest), (gst_basesrc_type_find):
27157         * gst/base/gstbasesrc.h:
27158         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
27159         (gst_filesrc_class_init), (gst_filesrc_init),
27160         (gst_filesrc_finalize), (gst_filesrc_set_location),
27161         (gst_filesrc_set_property), (gst_filesrc_get_property),
27162         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27163         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27164         (gst_filesrc_create_read), (gst_filesrc_create),
27165         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
27166         * gst/elements/gstfilesrc.h:
27167         * gst/gstelement.c: (gst_element_get_state_func),
27168         (gst_element_lost_state), (gst_element_pads_activate):
27169         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27170         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27171         (gst_pad_pull_range):
27172         * gst/gstpad.h:
27173         More work on the generic source base class, implement seeking,
27174         query.
27175         Make filesrc extend the base source class.
27176         Added gst_pad_set_checkgetrange_function to GstPad.
27177
27178 2005-04-06  Andy Wingo  <wingo@pobox.com>
27179
27180         * pkgconfig/gstreamer-base.pc.in:
27181         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
27182
27183         * pkgconfig/Makefile.am:
27184         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
27185
27186 2005-04-04  Wim Taymans  <wim@fluendo.com>
27187
27188         * gst/base/Makefile.am:
27189         * gst/base/README:
27190         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27191         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27192         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27193         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
27194         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27195         (gst_basesrc_base_init), (gst_basesrc_class_init),
27196         (gst_basesrc_init), (gst_basesrc_get_formats),
27197         (gst_basesrc_get_query_types), (gst_basesrc_query),
27198         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
27199         (gst_basesrc_set_property), (gst_basesrc_get_property),
27200         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
27201         (gst_basesrc_loop), (gst_basesrc_activate),
27202         (gst_basesrc_change_state):
27203         * gst/base/gstbasesrc.h:
27204         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
27205         (gst_fakesrc_class_init), (gst_fakesrc_init),
27206         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
27207         (gst_fakesrc_get_property), (gst_fakesrc_create):
27208         * gst/elements/gstfakesrc.h:
27209         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
27210         (gst_filesrc_open_file), (gst_filesrc_loop),
27211         (gst_filesrc_activate), (filesrc_find_peek),
27212         (gst_filesrc_type_find):
27213         Made base source class, make fakesrc extend it.
27214         Add comments to basesink class.
27215         Some filesrc cleanup.
27216
27217 2005-03-31  David Schleef  <ds@schleef.org>
27218
27219         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
27220         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
27221         expected to link against libgstreamer.
27222         * gst/base/Makefile.am: link against libgstreamer
27223         * gst/elements/Makefile.am: same
27224
27225 2005-03-31  Andy Wingo  <wingo@pobox.com>
27226
27227         * tests/instantiate/Makefile.am:
27228         * tests/instantiate/caps.c: Add test to test speed of caps copy
27229         and free.
27230
27231         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
27232         GMemChunk to be fair.
27233
27234         * gst/gsttrashstack.h: Remove warning about using the fallback
27235         trash stack implementation, it's still faster than malloc.
27236
27237 2005-03-30  Andy Wingo  <wingo@pobox.com>
27238
27239         * tests/complexity.c: Add a copyright.
27240
27241 2005-03-31  Wim Taymans  <wim@fluendo.com>
27242
27243         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
27244         (gst_base_transform_class_init), (gst_base_transform_init),
27245         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
27246         (gst_base_transform_get_property),
27247         (gst_base_transform_sink_activate),
27248         (gst_base_transform_src_activate),
27249         (gst_base_transform_change_state):
27250         * gst/base/gstbasetransform.h:
27251         * gst/elements/gstidentity.c: (gst_identity_class_init),
27252         (gst_identity_event), (gst_identity_check_perfect),
27253         (gst_identity_transform), (gst_identity_start),
27254         (gst_identity_stop):
27255         Added start/stop methods to transform base class so subclasses 
27256         don't need to deal with state changes even.
27257
27258 2005-03-31  Wim Taymans  <wim@fluendo.com>
27259
27260         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
27261         (gst_event_new_discontinuous), (gst_event_discont_get_value):
27262         * gst/gstevent.h:
27263         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27264         (gst_pad_pull_range):
27265         Added rate to the discont event to prepare for variable speed
27266         and reverse playback.
27267
27268 2005-03-29  David Schleef  <ds@schleef.org>
27269
27270         * configure.ac:
27271         * testsuite/trigger/Makefile.am:
27272         * testsuite/trigger/trigger.c: A little example program to show
27273         how trigger-based elements can work.
27274
27275 2005-03-29  Wim Taymans  <wim@fluendo.com>
27276
27277         * gst/base/Makefile.am:
27278         * gst/base/README:
27279         * gst/base/gstbasesink.c: (gst_basesink_get_type),
27280         (gst_basesink_base_init), (gst_basesink_class_init),
27281         (gst_basesink_pad_getcaps), (gst_basesink_init),
27282         (gst_basesink_activate), (gst_basesink_change_state):
27283         * gst/base/gstbasesink.h:
27284         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
27285         (gst_base_transform_base_init), (gst_base_transform_finalize),
27286         (gst_base_transform_class_init), (gst_base_transform_init),
27287         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
27288         (gst_base_transform_event), (gst_base_transform_getrange),
27289         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
27290         (gst_base_transform_set_property),
27291         (gst_base_transform_get_property),
27292         (gst_base_transform_sink_activate),
27293         (gst_base_transform_src_activate),
27294         (gst_base_transform_change_state):
27295         * gst/base/gstbasetransform.h:
27296         * gst/elements/gstidentity.c: (gst_identity_finalize),
27297         (gst_identity_class_init), (gst_identity_init),
27298         (gst_identity_event), (gst_identity_check_perfect),
27299         (gst_identity_transform), (gst_identity_set_property),
27300         (gst_identity_get_property), (gst_identity_change_state):
27301         * gst/elements/gstidentity.h:
27302         * gst/gstelement.c: (gst_element_get_state_func),
27303         (gst_element_lost_state), (gst_element_pads_activate):
27304         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27305         (gst_pad_check_pull_range), (gst_pad_pull_range):
27306         * gst/gstpad.h:
27307         Simplify pad activation.
27308         Added function to check if pull_range can be performed.
27309         Error out when pulling inactive or flushing pads.
27310         Removed const from refcounted types as it does not make sense.
27311         Simplify pad templates in basesink
27312         Added base class for simple 1-to-1 transforms.
27313         Make identity subclass the base transform.
27314
27315 2005-03-29  Andy Wingo  <wingo@pobox.com>
27316
27317         * docs/libs/gstreamer-libs-overrides.txt: 
27318         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
27319         really don't understand what's going on, but like whatever. I want
27320         green buildbot!
27321
27322         * docs/gst/Makefile.am:
27323         * docs/libs/Makefile.am: Dist the overrides files.
27324
27325         * check/Makefile.am (clean-local): Remove .libs directories.
27326
27327         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
27328         elements to EXTRA_DIST, so po/ files are happy.
27329
27330         * po/POTFILES.in: Er, remove it here.
27331
27332         * po/POTFILES: Remove gstspider.c.
27333
27334         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
27335
27336         * docs/libs/gstreamer-libs-docs.sgml: 
27337         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
27338         bytestream.
27339
27340         * tests/complexity.c (main): Set the length of the preroll queue
27341         on the sinks to prevent a lockup.
27342
27343         * libs/gst/dataprotocol/Makefile.am: 
27344         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
27345         the same as the one in check/gst-libs/gdp.c.
27346
27347         * po/, docs/gst/: Commit automatic changes to docs and po files.
27348
27349         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
27350         the versioned libgstbase.
27351
27352         * check/Makefile.am: Depend on an unversioned gst-register, seems
27353         to make autoconf happier.
27354
27355         * gst/base/Makefile.am: Make libgstbase a versioned lib.
27356
27357 2005-03-28  Wim Taymans  <wim@fluendo.com>
27358
27359         * configure.ac:
27360         * docs/design/part-gstelement.txt:
27361         * docs/design/part-negotiation.txt:
27362         * docs/design/part-preroll.txt:
27363         * docs/design/part-scheduling.txt:
27364         * docs/design/part-states.txt:
27365         * gst/Makefile.am:
27366         * gst/base/Makefile.am:
27367         * gst/base/README:
27368         * gst/base/gstbasesink.c: (gst_basesink_get_template),
27369         (gst_basesink_base_init), (gst_basesink_class_init),
27370         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27371         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27372         (gst_basesink_set_pad_functions),
27373         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
27374         (gst_basesink_set_property), (gst_basesink_get_property),
27375         (gst_base_sink_get_template), (gst_base_sink_get_caps),
27376         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
27377         (gst_basesink_preroll_queue_push),
27378         (gst_basesink_preroll_queue_empty),
27379         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27380         (gst_basesink_event), (gst_basesink_get_times),
27381         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27382         (gst_basesink_chain_unlocked), (gst_basesink_chain),
27383         (gst_basesink_loop), (gst_basesink_activate),
27384         (gst_basesink_change_state):
27385         * gst/base/gstbasesink.h:
27386         * gst/elements/Makefile.am:
27387         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27388         (gst_fakesink_class_init), (gst_fakesink_init),
27389         (gst_fakesink_set_property), (gst_fakesink_get_property),
27390         (gst_fakesink_get_times), (gst_fakesink_event),
27391         (gst_fakesink_preroll), (gst_fakesink_render),
27392         (gst_fakesink_change_state):
27393         * gst/elements/gstfakesink.h:
27394         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27395         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27396         * gst/gstelement.c: (gst_element_add_pad),
27397         (gst_element_get_state_func), (gst_element_abort_state),
27398         (gst_element_commit_state), (gst_element_lost_state),
27399         (gst_element_set_state), (gst_element_pads_activate):
27400         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27401         * gst/gstpipeline.c: (gst_pipeline_send_event),
27402         (gst_pipeline_change_state):
27403         Added state change code.
27404         Added/updated docs.
27405         Added sink base class, make fakesink extend the base class.
27406         Small cleanups in GstPipeline.
27407
27408 2005-03-26  David Schleef  <ds@schleef.org>
27409
27410         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
27411         is broken and should be implemented in a different library.
27412         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27413         * gst/gst.h: remove gstcpu.h
27414         * gst/gstcpu.c: remove
27415         * gst/gstcpu.h: remove
27416         * gst/Makefile.am.future: Remove this file.  It's ancient.
27417
27418 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27419
27420         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27421         (gst_bin_send_event):
27422           Add default event/set_manager handlers. The set_manager handler
27423           takes care that the manager is distributed over kids that were
27424           already in the bin before the manager was set. The event handler
27425           is a utility virtual function that sends the event over all sinks,
27426           so that gst_element_send_event (bin, event); has the expected
27427           behaviour.
27428         * gst/gstpad.c: (gst_pad_event_default):
27429           Re-install default event handling for discontinuities, so that
27430           seeking works without requiring hacks in applications or extra
27431           code in sinks.
27432         * gst/gstpipeline.c: (gst_pipeline_class_init),
27433         (gst_pipeline_send_event):
27434           Half hack, half utility: set a pipeline to PAUSED for seek events,
27435           since that is the only way we can guarantee a/v sync. Means that
27436           you can do gst_element_seek (pipeline, method, pos); on a pipeline
27437           and it "just works".
27438
27439 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27440
27441         * gst/gstpipeline.c: (gst_pipeline_use_clock):
27442           Lock/unlock mismatch.
27443
27444 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
27445
27446         * docs/faq/gst-uninstalled:
27447           add gst-plugins-base
27448         * docs/gst/Makefile.am:
27449           don't error out until docs are fixed
27450         * docs/gst/gstreamer.types:
27451           remove thread
27452
27453 2005-03-22  Wim Taymans  <wim@fluendo.com>
27454
27455         * check/Makefile.am:
27456         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27457         * gst/gststructure.c: (gst_structure_set_valist),
27458         (gst_structure_copy_conditional):
27459         Activated more tests.
27460         Added message test.
27461         Added G_TYPE_POINTER to GstStructure.
27462         
27463
27464 2005-03-22  Wim Taymans  <wim@fluendo.com>
27465
27466         * docs/design/part-TODO.txt:
27467         * docs/design/part-events.txt:
27468         * docs/design/part-gstbin.txt:
27469         * docs/design/part-gstbus.txt:
27470         * docs/design/part-gstpipeline.txt:
27471         * docs/design/part-messages.txt:
27472         * gst/gstbus.c:
27473         * gst/gstmessage.c:
27474         Docs updates
27475
27476 2005-03-21  Wim Taymans  <wim@fluendo.com>
27477
27478         * gst/gstbus.c: (gst_bus_post):
27479         Fix copy-and-paste error.
27480
27481 2005-03-21  Wim Taymans  <wim@fluendo.com>
27482
27483         * check/Makefile.am:
27484         * gst/Makefile.am:
27485         * gst/elements/Makefile.am:
27486         * gst/elements/gstelements.c:
27487         * gst/elements/gstfakesink.c: (gst_fakesink_init),
27488         (gst_fakesink_event), (gst_fakesink_chain):
27489         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27490         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27491         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27492         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27493         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27494         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27495         (gst_fakesrc_loop), (gst_fakesrc_activate),
27496         (gst_fakesrc_change_state):
27497         * gst/elements/gstfakesrc.h:
27498         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27499         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27500         (gst_filesrc_open_file), (gst_filesrc_loop),
27501         (gst_filesrc_activate), (gst_filesrc_change_state),
27502         (filesrc_find_peek), (filesrc_find_suggest),
27503         (gst_filesrc_type_find):
27504         * gst/elements/gstidentity.c: (gst_identity_finalize),
27505         (gst_identity_class_init), (gst_identity_init),
27506         (gst_identity_proxy_getcaps), (identity_queue_push),
27507         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27508         (gst_identity_getrange), (gst_identity_chain),
27509         (gst_identity_sink_loop), (gst_identity_src_loop),
27510         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27511         (gst_identity_set_property), (gst_identity_get_property),
27512         (gst_identity_change_state):
27513         * gst/elements/gstidentity.h:
27514         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27515         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27516         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27517         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27518         (gst_tee_sink_activate):
27519         * gst/elements/gsttee.h:
27520         * gst/gst.c: (gst_register_core_elements), (init_post):
27521         * gst/gst.h:
27522         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27523         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27524         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27525         (gst_bin_change_state):
27526         * gst/gstbin.h:
27527         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27528         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27529         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27530         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27531         (gst_bus_set_sync_handler), (gst_bus_create_watch),
27532         (bus_watch_callback), (bus_watch_destroy),
27533         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27534         (poll_timeout), (gst_bus_poll):
27535         * gst/gstbus.h:
27536         * gst/gstcaps.h:
27537         * gst/gstdata.h:
27538         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27539         (gst_element_post_message), (gst_element_message_full),
27540         (gst_element_get_state_func), (gst_element_get_state),
27541         (gst_element_abort_state), (gst_element_commit_state),
27542         (gst_element_lost_state), (gst_element_set_state),
27543         (gst_element_pads_activate), (gst_element_change_state),
27544         (gst_element_dispose), (gst_element_set_manager_func),
27545         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27546         (gst_element_set_manager), (gst_element_get_manager),
27547         (gst_element_set_bus), (gst_element_get_bus),
27548         (gst_element_set_scheduler), (gst_element_get_scheduler):
27549         * gst/gstelement.h:
27550         * gst/gstevent.c: (gst_event_new_segment_seek),
27551         (gst_event_new_flush):
27552         * gst/gstevent.h:
27553         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27554         (_gst_message_free), (gst_message_get_type), (gst_message_new),
27555         (gst_message_new_eos), (gst_message_new_error),
27556         (gst_message_new_warning), (gst_message_new_tag),
27557         (gst_message_new_state_changed), (gst_message_new_application),
27558         (gst_message_get_structure), (gst_message_parse_tag),
27559         (gst_message_parse_state_changed), (gst_message_parse_error),
27560         (gst_message_parse_warning):
27561         * gst/gstmessage.h:
27562         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27563         (gst_real_pad_set_property), (gst_pad_set_active),
27564         (gst_pad_is_active), (gst_pad_set_blocked_async),
27565         (gst_pad_set_blocked), (gst_pad_is_blocked),
27566         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27567         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27568         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27569         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27570         (gst_pad_link_filtered), (gst_pad_relink_filtered),
27571         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27572         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27573         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27574         (gst_pad_set_caps), (gst_pad_configure_sink),
27575         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27576         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27577         (gst_real_pad_dispose), (gst_real_pad_finalize),
27578         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27579         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27580         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27581         * gst/gstpad.h:
27582         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27583         (pipeline_bus_handler), (gst_pipeline_change_state),
27584         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27585         * gst/gstpipeline.h:
27586         * gst/gstprobe.h:
27587         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27588         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27589         (gst_queue_link_src), (gst_queue_bufferalloc),
27590         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27591         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27592         (gst_queue_loop), (gst_queue_handle_src_event),
27593         (gst_queue_handle_src_query), (gst_queue_src_activate),
27594         (gst_queue_change_state):
27595         * gst/gstqueue.h:
27596         * gst/gstscheduler.c: (gst_scheduler_init),
27597         (gst_scheduler_dispose), (gst_scheduler_create_task),
27598         (gst_scheduler_factory_create):
27599         * gst/gstscheduler.h:
27600         * gst/gststructure.c: (gst_structure_get_type),
27601         (gst_structure_copy_conditional):
27602         * gst/gststructure.h:
27603         * gst/gsttaginterface.h:
27604         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27605         (gst_task_init), (gst_task_dispose), (gst_task_create),
27606         (gst_task_get_state), (gst_task_start), (gst_task_stop),
27607         (gst_task_pause):
27608         * gst/gsttask.h:
27609         * gst/gstthread.c:
27610         * gst/gstthread.h:
27611         * gst/gsttypes.h:
27612         * gst/schedulers/Makefile.am:
27613         * gst/schedulers/cothreads_compat.h:
27614         * gst/schedulers/entryscheduler.c:
27615         * gst/schedulers/faircothreads.c:
27616         * gst/schedulers/faircothreads.h:
27617         * gst/schedulers/fairscheduler.c:
27618         * gst/schedulers/gstbasicscheduler.c:
27619         * gst/schedulers/gstoptimalscheduler.c:
27620         * gst/schedulers/gthread-cothreads.h:
27621         * gst/schedulers/threadscheduler.c:
27622         (gst_thread_scheduler_task_get_type),
27623         (gst_thread_scheduler_task_class_init),
27624         (gst_thread_scheduler_task_init),
27625         (gst_thread_scheduler_task_start),
27626         (gst_thread_scheduler_task_stop),
27627         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27628         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27629         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27630         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27631         (plugin_init):
27632         * libs/gst/Makefile.am:
27633         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27634         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27635         (gst_file_pad_parent_set):
27636         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27637         (gst_dp_event_from_packet):
27638         * tests/complexity.c: (main):
27639         * tests/mass_elements.c: (main):
27640         * testsuite/states/locked.c: (message_received), (main):
27641         * testsuite/states/parent.c: (main):
27642         * tools/gst-inspect.c: (print_element_flag_info),
27643         (print_implementation_info), (print_pad_info):
27644         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27645         (main):
27646         * tools/gst-md5sum.c: (event_loop), (main):
27647         * tools/gst-typefind.c: (main):
27648         * tools/gst-xmlinspect.c: (print_element_info):
27649         Next big merge.
27650         Added GstBus for mainloop integration.
27651         Added GstMessage for sending notifications on the bus.
27652         Added GstTask as an abstraction for pipeline entry points.
27653         Removed GstThread.
27654         Removed Schedulers.
27655         Simplified GstQueue for multithreaded core.
27656         Made _link threadsafe, removed old capsnego.
27657         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27658         Added pad blocking functions.
27659         Reworked scheduling functions in GstPad to prepare for
27660         scheduling updates soon.
27661         Moved events out of data stream.
27662         Simplified GstEvent types.
27663         Added return values to push/pull.
27664         Removed clocking from GstElement.
27665         Added prototypes for state change function for next merge.
27666         Removed iterate from bins and state change management.
27667         Fixed some elements, disabled others for now.
27668         Fixed -inspect and -launch.
27669         Added check for GstBus.
27670
27671 2005-03-10  Wim Taymans  <wim@fluendo.com>
27672
27673         * docs/design/part-MT-refcounting.txt:
27674         * docs/design/part-clocks.txt:
27675         * docs/design/part-gstelement.txt:
27676         * docs/design/part-gstobject.txt:
27677         * docs/design/part-standards.txt:
27678         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27679         (gst_bin_remove_func), (gst_bin_remove):
27680         * gst/gstbin.h:
27681         * gst/gstbuffer.c:
27682         * gst/gstcaps.h:
27683         * testsuite/clock/clock1.c: (main):
27684         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
27685         (main):
27686         * testsuite/dlopen/loadgst.c: (do_test):
27687         * testsuite/refcounting/bin.c: (add_remove_test1),
27688         (add_remove_test2), (main):
27689         * testsuite/refcounting/element.c: (main):
27690         * testsuite/refcounting/element_pad.c: (main):
27691         * testsuite/refcounting/pad.c: (main):
27692         * tools/gst-launch.c: (sigint_handler_sighandler):
27693         * tools/gst-typefind.c: (main):
27694         Doc updates.
27695         Added doc about clock.
27696         removed gst_bin_iterate_recurse_up(), marked methods
27697         for removal.
27698         Fix more testsuites.
27699
27700 2005-03-09  Wim Taymans  <wim@fluendo.com>
27701
27702         * gst/gstpad.c: (gst_pad_get_direction),
27703         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
27704         (gst_pad_collect_valist):
27705         * testsuite/bins/interface.c: (main):
27706         * testsuite/caps/audioscale.c: (test_caps):
27707         * testsuite/caps/caps.c: (test1), (test2), (test3):
27708         * testsuite/caps/deserialize.c: (main):
27709         * testsuite/caps/enumcaps.c: (main):
27710         * testsuite/caps/filtercaps.c: (main):
27711         * testsuite/caps/intersect2.c: (main):
27712         * testsuite/caps/random.c: (main):
27713         * testsuite/caps/renegotiate.c: (my_fixate), (main):
27714         * testsuite/caps/sets.c: (check_caps):
27715         * testsuite/caps/simplify.c: (check_caps), (main):
27716         * testsuite/caps/subtract.c: (check_caps):
27717         Fix _pad_get_direction wrt ghostpads.
27718         Fix caps testsuite.
27719
27720 2005-03-09  Wim Taymans  <wim@fluendo.com>
27721
27722         * check/Makefile.am:
27723         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
27724         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
27725         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
27726         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
27727         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
27728         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
27729         (gst_bin_remove), (gst_bin_iterate_recurse_up),
27730         (bin_element_is_sink), (gst_bin_iterate_sinks),
27731         (gst_bin_iterate_all_by_interface):
27732         * gst/gstbin.h:
27733         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
27734         (gst_element_change_state), (gst_element_dispose),
27735         (gst_element_finalize), (gst_element_set_loop_function):
27736         * gst/gstelement.h:
27737         * gst/gstiterator.c: (find_custom_fold_func):
27738         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27739         (gst_pad_collectv), (gst_pad_collect_valist),
27740         (gst_pad_template_new):
27741         * gst/gstpipeline.c: (gst_pipeline_class_init),
27742         (gst_pipeline_dispose), (gst_pipeline_set_property),
27743         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
27744         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
27745         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
27746         * gst/gstutils.h:
27747         * gst/schedulers/entryscheduler.c:
27748         * gst/schedulers/gstbasicscheduler.c:
27749         (gst_basic_scheduler_cothreaded_chain),
27750         (gst_basic_scheduler_chain_add_element):
27751         * testsuite/bins/interface.c: (main):
27752         Added GstBin test.
27753         Added GstSystemClock test.
27754         Implemented clock distribution code in GstBin.
27755         Implemented iterate sinks method for future use.
27756         Rearranged gstelement.h
27757         Fix GstIterator comparison bug.
27758         Moved some code to GstPipeline, mostly clocking related.
27759
27760 2005-03-09  Wim Taymans  <wim@fluendo.com>
27761
27762         * configure.ac:
27763         * gst/gst_private.h:
27764         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27765         (gst_bin_remove_func), (gst_bin_remove),
27766         (gst_bin_get_by_name_recurse_up):
27767         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
27768         (gst_clock_id_compare_func), (gst_clock_id_wait),
27769         (gst_clock_id_wait_async), (gst_clock_init),
27770         (gst_clock_adjust_unlocked), (gst_clock_get_time):
27771         * gst/gstelement.h:
27772         * gst/gstinfo.c: (_gst_debug_init):
27773         * gst/gstobject.h:
27774         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27775         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
27776         * gst/gstpad.h:
27777         Bump version number, we're now 0.9.0
27778         Add future debugging category.
27779         Fix NULL _unref() in _get_by_name_recurse_up
27780         Rearrange gstpad.h.
27781         Update some docs.
27782
27783 2005-03-08  Wim Taymans  <wim@fluendo.com>
27784
27785         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
27786         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
27787         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27788         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
27789         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
27790         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
27791         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
27792         * gst/elements/gstidentity.c: (gst_identity_class_init):
27793         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
27794         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
27795         * gst/elements/gstshaper.c: (gst_shaper_class_init):
27796         * gst/elements/gststatistics.c: (gst_statistics_class_init):
27797         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
27798         (gst_tee_link):
27799         * gst/gstelement.c: (gst_element_class_init),
27800         (gst_element_base_class_init), (gst_element_init),
27801         (gst_element_get_random_pad), (gst_element_wait_state_change),
27802         (gst_element_change_state), (gst_element_dispose),
27803         (gst_element_finalize), (gst_element_set_loop_function):
27804         * gst/gstelement.h:
27805         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
27806         * gst/gstthread.c: (gst_thread_class_init),
27807         (gst_thread_release_children_locks), (gst_thread_change_state):
27808         * gst/schedulers/gstbasicscheduler.c:
27809         (gst_basic_scheduler_loopfunc_wrapper),
27810         (gst_basic_scheduler_chain_wrapper),
27811         (gst_basic_scheduler_src_wrapper),
27812         (gst_basic_scheduler_remove_element):
27813         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
27814         Remove threadsafe properties. Fix elements because GObject
27815         complains when installing a property before declaring a
27816         set/get_property handler.
27817         Rearrange gstelement.h file, use STATE macros for state locks.
27818         Free mutexes in the finalize method instead of dispose.
27819
27820 2005-03-08  Wim Taymans  <wim@fluendo.com>
27821
27822         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27823         * gst/gstthread.c: (gst_thread_release_children_locks):
27824         Added parentage check.
27825         Fix build og GstThread again.
27826
27827 2005-03-08  Wim Taymans  <wim@fluendo.com>
27828
27829         * docs/design/part-MT-refcounting.txt:
27830         * docs/design/part-conventions.txt:
27831         * docs/design/part-gstobject.txt:
27832         * docs/design/part-relations.txt:
27833         * docs/design/part-standards.txt:
27834         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27835         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
27836         (gst_bin_get_by_name), (gst_bin_get_by_interface),
27837         (gst_bin_iterate_all_by_interface):
27838         * gst/gstbuffer.h:
27839         * gst/gstclock.h:
27840         * gst/gstelement.c: (gst_element_class_init),
27841         (gst_element_change_state), (gst_element_set_loop_function):
27842         * gst/gstelement.h:
27843         * gst/gstiterator.c:
27844         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
27845         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
27846         (gst_object_dispatch_properties_changed), (gst_object_set_name),
27847         (gst_object_set_parent), (gst_object_unparent),
27848         (gst_object_check_uniqueness):
27849         * gst/gstobject.h:
27850         Docs updates, clean up some headers.
27851
27852 2005-03-07  Wim Taymans  <wim@fluendo.com>
27853
27854         * check/.cvsignore:
27855         * check/Makefile.am:
27856         * check/gst-libs/.cvsignore:
27857         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
27858         * check/gst/.cvsignore:
27859         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
27860         (START_TEST), (gstbus_suite), (main):
27861         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
27862         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
27863         (gst_data_suite), (main):
27864         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
27865         (add_fold_func), (gstiterator_suite), (main):
27866         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
27867         (thread_name_object), (thread_name_object_default),
27868         (gst_object_name_compare), (gst_object_suite), (main):
27869         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
27870         (gst_pad_suite), (main):
27871         * check/gstcheck.c: (gst_check_log_message_func),
27872         (gst_check_log_critical_func), (gst_check_init):
27873         * check/gstcheck.h:
27874         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
27875         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
27876         Added checks.
27877
27878 2005-03-07  Wim Taymans  <wim@fluendo.com>
27879
27880         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
27881         (gst_list_iterator_next), (gst_list_iterator_resync),
27882         (gst_list_iterator_free), (gst_iterator_new_list),
27883         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
27884         (gst_iterator_free), (gst_iterator_push), (filter_next),
27885         (filter_resync), (filter_uninit), (filter_free),
27886         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
27887         (gst_iterator_foreach), (find_custom_fold_func),
27888         (gst_iterator_find_custom):
27889         * gst/gstiterator.h:
27890         Added missing files.
27891
27892 2005-03-07  Wim Taymans  <wim@fluendo.com>
27893
27894         * Makefile.am:
27895         * configure.ac:
27896         * docs/design/part-MT-refcounting.txt:
27897         * docs/design/part-conventions.txt:
27898         * docs/design/part-gstobject.txt:
27899         * docs/design/part-relations.txt:
27900         * examples/mixer/mixer.c: (main):
27901         * examples/thread/thread.c: (eos), (main):
27902         * gst/Makefile.am:
27903         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
27904         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
27905         (gst_spider_plug_from_srcpad):
27906         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
27907         (gst_spider_identity_change_state),
27908         (gst_spider_identity_sink_loop_type_finding):
27909         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
27910         * gst/elements/gstidentity.c: (gst_identity_init):
27911         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
27912         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
27913         * gst/elements/gsttypefindelement.c: (free_entry):
27914         * gst/gst.c:
27915         * gst/gst.h:
27916         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
27917         (gst_bin_set_clock_func), (gst_bin_auto_clock),
27918         (gst_bin_set_index), (gst_bin_set_element_sched),
27919         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
27920         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
27921         (gst_bin_iterate_elements), (iterate_child_recurse),
27922         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
27923         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
27924         (compare_interface), (gst_bin_get_by_interface),
27925         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
27926         * gst/gstbin.h:
27927         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
27928         (gst_buffer_default_free), (gst_buffer_default_copy),
27929         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
27930         (gst_buffer_create_sub):
27931         * gst/gstbuffer.h:
27932         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
27933         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
27934         (gst_caps_unref), (gst_static_caps_get),
27935         (gst_caps_remove_and_get_structure), (gst_caps_append),
27936         (gst_caps_append_structure), (gst_caps_remove_structure),
27937         (gst_caps_copy_nth), (gst_caps_set_simple),
27938         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
27939         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
27940         (gst_caps_structure_intersect_field), (gst_caps_intersect),
27941         (gst_caps_structure_subtract_field), (gst_caps_subtract),
27942         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
27943         (gst_caps_structure_figure_out_union),
27944         (gst_caps_switch_structures), (gst_caps_do_simplify),
27945         (gst_caps_replace), (gst_caps_from_string),
27946         (gst_caps_copy_conditional):
27947         * gst/gstcaps.h:
27948         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
27949         (_gst_clock_id_free), (gst_clock_id_unref),
27950         (gst_clock_id_compare_func), (gst_clock_id_wait),
27951         (gst_clock_id_wait_async), (gst_clock_class_init),
27952         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
27953         (gst_clock_get_time), (gst_clock_set_time_adjust),
27954         (gst_clock_set_property), (gst_clock_get_property):
27955         * gst/gstclock.h:
27956         * gst/gstcompat.h:
27957         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
27958         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
27959         * gst/gstdata.h:
27960         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27961         (gst_element_requires_clock), (gst_element_provides_clock),
27962         (gst_element_set_clock), (gst_element_clock_wait),
27963         (gst_element_wait), (gst_element_set_time_delay),
27964         (gst_element_is_indexable), (gst_element_add_pad),
27965         (gst_element_add_ghost_pad), (gst_element_remove_pad),
27966         (pad_compare_name), (gst_element_get_static_pad),
27967         (gst_element_request_pad), (gst_element_get_request_pad),
27968         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
27969         (gst_element_class_get_pad_template_list),
27970         (gst_element_class_get_pad_template), (gst_element_error_func),
27971         (gst_element_get_random_pad), (gst_element_get_event_masks),
27972         (gst_element_send_event), (gst_element_seek),
27973         (gst_element_get_query_types), (gst_element_query),
27974         (gst_element_get_formats), (gst_element_convert),
27975         (gst_element_is_locked_state), (gst_element_set_locked_state),
27976         (gst_element_sync_state_with_parent), (gst_element_change_state),
27977         (gst_element_finalize), (gst_element_yield),
27978         (gst_element_interrupt), (gst_element_set_scheduler),
27979         (gst_element_get_scheduler), (gst_element_set_loop_function):
27980         * gst/gstelement.h:
27981         * gst/gstevent.h:
27982         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
27983         (gst_format_get_by_nick), (gst_format_get_details),
27984         (gst_format_iterate_definitions):
27985         * gst/gstformat.h:
27986         * gst/gstindex.c: (gst_index_gtype_resolver):
27987         * gst/gstinfo.c:
27988         * gst/gstinfo.h:
27989         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
27990         (gst_mem_chunk_free):
27991         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
27992         (gst_object_ref), (gst_object_unref), (gst_object_sink),
27993         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
27994         (gst_object_dispatch_properties_changed),
27995         (gst_object_set_name_default), (gst_object_set_name),
27996         (gst_object_get_name), (gst_object_set_name_prefix),
27997         (gst_object_get_name_prefix), (gst_object_set_parent),
27998         (gst_object_get_parent), (gst_object_unparent),
27999         (gst_object_check_uniqueness), (gst_object_save_thyself),
28000         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
28001         (gst_object_set_property), (gst_object_get_property),
28002         (gst_object_get_path_string):
28003         * gst/gstobject.h:
28004         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28005         (gst_real_pad_init), (gst_real_pad_get_property),
28006         (gst_pad_custom_new), (gst_pad_get_direction),
28007         (gst_pad_set_active), (gst_pad_is_active),
28008         (gst_pad_set_event_function), (gst_pad_is_linked),
28009         (gst_pad_link_free), (gst_pad_link_intersect),
28010         (gst_pad_link_fixate), (gst_pad_set_caps),
28011         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
28012         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
28013         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
28014         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
28015         (gst_pad_get_caps), (gst_pad_peer_get_caps),
28016         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
28017         (gst_pad_realize), (gst_pad_get_allowed_caps),
28018         (gst_real_pad_dispose), (gst_real_pad_finalize),
28019         (gst_pad_collectv), (gst_pad_collect_valist),
28020         (gst_pad_template_dispose), (gst_pad_template_new),
28021         (gst_pad_get_internal_links):
28022         * gst/gstpad.h:
28023         * gst/gstpipeline.c: (gst_pipeline_dispose),
28024         (gst_pipeline_change_state):
28025         * gst/gstpipeline.h:
28026         * gst/gstplugin.c:
28027         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
28028         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
28029         * gst/gstpluginfeature.h:
28030         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
28031         * gst/gstquery.c: (_gst_query_type_initialize),
28032         (gst_query_type_register), (gst_query_type_get_by_nick),
28033         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
28034         * gst/gstquery.h:
28035         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
28036         * gst/gstscheduler.c: (gst_scheduler_add_element),
28037         (gst_scheduler_factory_create):
28038         * gst/gststructure.c: (gst_structure_set_parent_refcount),
28039         (gst_structure_free), (gst_structure_set_name),
28040         (gst_structure_id_set_value), (gst_structure_set_value),
28041         (gst_structure_set_valist), (gst_structure_remove_field),
28042         (gst_structure_remove_fields),
28043         (gst_structure_remove_fields_valist),
28044         (gst_structure_remove_all_fields), (gst_structure_foreach),
28045         (gst_structure_map_in_place),
28046         (gst_caps_structure_fixate_field_nearest_int),
28047         (gst_caps_structure_fixate_field_nearest_double):
28048         * gst/gststructure.h:
28049         * gst/gstsystemclock.c: (gst_system_clock_class_init),
28050         (gst_system_clock_init), (gst_system_clock_dispose),
28051         (gst_system_clock_async_thread),
28052         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
28053         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
28054         * gst/gstsystemclock.h:
28055         * gst/gsttag.c: (gst_tag_list_add_value_internal),
28056         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
28057         * gst/gsttaginterface.c:
28058         * gst/gstthread.c: (gst_thread_dispose),
28059         (gst_thread_release_children_locks), (gst_thread_change_state),
28060         (gst_thread_main_loop):
28061         * gst/gsttrashstack.h:
28062         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
28063         * gst/gsttypes.h:
28064         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28065         (gst_element_request_pad), (gst_element_get_pad_from_template),
28066         (gst_element_request_compatible_pad),
28067         (gst_element_get_compatible_pad_filtered),
28068         (gst_element_get_compatible_pad), (gst_element_state_get_name),
28069         (gst_element_link_pads_filtered), (gst_element_link_filtered),
28070         (gst_element_link_many), (gst_element_link),
28071         (gst_element_link_pads), (gst_element_unlink_pads),
28072         (gst_element_unlink_many), (gst_element_unlink),
28073         (gst_pad_can_link_filtered), (gst_pad_can_link),
28074         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
28075         (gst_object_default_error), (gst_bin_add_many),
28076         (gst_bin_remove_many), (gst_element_populate_std_props),
28077         (gst_element_class_install_std_props), (gst_buffer_merge),
28078         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
28079         (link_fold_func), (gst_pad_proxy_setcaps):
28080         * gst/gstutils.h:
28081         * gst/gstvalue.c: (gst_value_deserialize_string):
28082         * gst/parse/grammar.y:
28083         * gst/schedulers/gstbasicscheduler.c:
28084         (gst_basic_scheduler_cothreaded_chain),
28085         (gst_basic_scheduler_chain_recursive_add),
28086         (gst_basic_scheduler_pad_link):
28087         * gst/schedulers/gstoptimalscheduler.c:
28088         (get_group_schedule_function),
28089         (gst_opt_scheduler_state_transition),
28090         (gst_opt_scheduler_add_element), (element_get_reachables_func):
28091         * libs/gst/bytestream/bytestream.c:
28092         * libs/gst/dataprotocol/dataprotocol.c:
28093         (gst_dp_header_from_buffer):
28094         * po/nb.po:
28095         * po/ru.po:
28096         * tests/threadstate/threadstate2.c: (eos):
28097         * tools/gst-compprep.c: (main):
28098         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
28099         (print_pad_info), (print_children_info):
28100         * tools/gst-launch.c: (idle_func), (main):
28101         * tools/gst-md5sum.c: (idle_func), (main):
28102         * tools/gst-xmlinspect.c: (print_element_info):
28103         First THREADED backport attempt, focusing on adding locks and
28104         making sure the API is threadsafe. Needs more work. More docs
28105         follow this week.
28106
28107 2005-02-24  Andy Wingo  <wingo@pobox.com>
28108
28109         * tests/bench-complexity.scm:
28110         * tests/complexity.gnuplot: New files, good for running complexity
28111         benchmarks.
28112
28113         * tests/Makefile.am:
28114         * tests/complexity.c: New test, sets up N elements, at each level
28115         teeing into M streams per element. Eeeenteresting.
28116
28117         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
28118         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
28119         running bench-mass_elements.scm.
28120
28121         * tests/bench-mass_elements.scm: New script, runs mass_elements
28122         for various numbers of identities, outputting the results to a
28123         file. Requires guile 1.6. Just for testing.
28124
28125 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
28126
28127         * gst/schedulers/fairscheduler.c:
28128           compile with debug disabled
28129
28130 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28131
28132         * configure.ac:
28133           hunting season on 0.9 is now OPEN