Update .po files
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
2
3         * configure.ac:
4         * win32/common/config.h:
5         0.10.17.4 pre-release
6
7 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
8
9         Patch by: Ole André Vadla Ravnås
10             <ole dot andre dot ravnas at tandberg dot com>
11
12         * docs/gst/gstreamer-sections.txt:
13         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
14         (gst_poll_update_winsock_event_mask),
15         (gst_poll_prepare_winsock_active_sets),
16         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
17         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
18         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
19         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
20         (gst_poll_check_ctrl_commands), (gst_poll_wait):
21         * gst/gstpoll.h:
22         * win32/common/libgstreamer.def:
23         Add new function gst_poll_fd_ignored() for improved Windows
24         compatibility.
25         Various minor fixes and cleanups. See #520808.
26
27 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
28
29         * gst/gstindex.c: (gst_index_entry_free):
30         * gst/gstindex.h:
31           Don't free key strings which we don't own. Fixes crash in
32           gst_index_entry_free() (#522741).
33
34         * tests/check/Makefile.am:
35         * tests/check/gst/.cvsignore:
36         * tests/check/gst/gstindex.c: (test_index_entries),
37           (gst_index_suite), (gst_index):
38           Add unit test for the above.
39
40 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
41
42         * win32/common/libgstreamer.def:
43         Remove symbols that were removed recently. Fixes bug #521740.
44
45 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
46
47         * configure.ac:
48         * win32/common/config.h:
49         0.10.17.3 pre-release
50
51 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
52
53         Patch by: Ole André Vadla Ravnås
54             <ole dot andre dot ravnas at tandberg dot com>
55
56         * docs/gst/gstreamer-sections.txt:
57         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
58         (gst_poll_update_winsock_event_mask), (gst_poll_new),
59         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
60         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
61         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
62         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
63         (gst_poll_fd_can_write), (gst_poll_wait),
64         (gst_poll_set_controllable), (gst_poll_restart),
65         (gst_poll_set_flushing):
66         * gst/gstpoll.h:
67         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
68         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
69         (gst_net_time_provider_new):
70         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
71         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
72         * tests/benchmarks/gstpollstress.c: (main):
73         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
74         Remove GstPollMode from the API, it does not make sense to let the
75         application control this.
76         Add support for Win32.
77         Fix the testsuite. Fixes #520671.
78
79 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
80
81         Patch by: Ole André Vadla Ravnås
82             <ole dot andre dot ravnas at tandberg dot com>
83
84         * gst/gstregistrybinary.c:
85         Include io.h for write() and close() when building with MSVC. Fixes
86         bug #520877.
87
88 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
89
90         * configure.ac:
91         * gst/gst_private.h:
92         * gst/gstconfig.h.in:
93         * gst/gstregistry.h:
94         * gst/gstregistrybinary.c:
95         * win32/common/gstconfig.h:
96           Move registry backend API to private headers where we can. Add
97           fixme-0.11 comments for the others. Add stubs for the xml backend when
98           using the binary to ensure they functions exists (they should not be
99           used though). Fixes #520756.
100
101 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
102
103         * configure.ac:
104         * win32/common/config.h:
105         0.10.17.2 prelease
106
107 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
108
109         * gst/gstregistrybinary.c: (gst_registry_binary_write),
110         (gst_registry_binary_read_cache):
111         * gst/gstregistryxml.c: (gst_registry_save):
112         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
113         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
114         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
115         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
116         Switch to using portabl gsize/gssize instead of size_t/ssize_t
117         Fixes #520152
118
119 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
120
121         * gst/gstminiobject.c:
122         Import gst_private.h before any other header that might include other
123         glib headers. This fixes the build on windows using native compilers.
124
125 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
126
127         * win32/common/gstconfig.h:
128           Add here too, just for completeness.
129
130 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
131
132         * configure.ac:
133         * gst/gstconfig.h.in:
134         * gst/gstregistry.h:
135           Fix broken use of config.h-defined preprocessor directive in a public
136           header file. Add a corresponding define to gstconfig.h, since we can't
137           really remove those function declarations from the header file now
138           (or can we? and why are they there in the first place?).
139
140 2008-03-03  Andy Wingo  <wingo@pobox.com>
141
142         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
143         the new warning.
144
145         * gst/gststructure.c (gst_structure_from_string): Warn if
146         structure_from_string didn't consume the whole string, but the
147         caller did not provide an end pointer.
148
149 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
150
151         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
152
153         * gst/gstregistryxml.c: (read_string), (load_feature):
154           Strings allocated by libxml2 should be freed with xmlFree(), not
155           with g_free(). Fixes issues on windows in certain contexts (#519698).
156
157 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
158
159         * gst/gstinterface.c: (gst_element_implements_interface):
160           Don't crash if the element supports the interface queried, but does
161           not implement GstImplementsInterface. Fixes #519584.
162
163         * tests/check/Makefile.am:
164         * tests/check/gst/.cvsignore:
165         * tests/check/gst/gstinterface.c:
166           Add unit test for the above.
167
168 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
169
170         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
171         Small doc update.
172
173 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
174
175         * gst/gstsegment.c: (gst_segment_set_seek),
176         (gst_segment_to_stream_time):
177         Improve some comment.
178         Update variables where it makes more sense.
179
180 2008-02-29  Rene Stadler  <mail@renestadler.de>
181
182         * gst/gsturi.c: (gst_uri_handler_get_protocols):
183         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
184         URIHandlers implemented using language bindings.
185
186 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
187
188         * gst/gstelementfactory.h:
189         * tests/check/elements/fakesink.c:
190         * tests/check/elements/fakesrc.c: (setup_fakesrc):
191         * tests/check/elements/fdsrc.c: (setup_fdsrc):
192         * tests/check/elements/filesink.c: (setup_filesink):
193         * tests/check/elements/filesrc.c: (setup_filesrc):
194         * tests/check/elements/identity.c: (setup_identity):
195         * tests/check/elements/tee.c:
196         * tests/check/generic/sinks.c:
197         * tests/check/generic/states.c: (setup), (teardown):
198         * tests/check/gst/gst.c:
199         * tests/check/gst/gstabi.c:
200         * tests/check/gst/gstbin.c:
201         * tests/check/gst/gstbus.c: (pull_messages):
202         * tests/check/gst/gstcaps.c:
203         * tests/check/gst/gstelement.c:
204         * tests/check/gst/gstevent.c:
205         * tests/check/gst/gstghostpad.c:
206         * tests/check/gst/gstiterator.c:
207         * tests/check/gst/gstmessage.c:
208         * tests/check/gst/gstminiobject.c: (my_foo_init):
209         * tests/check/gst/gstobject.c: (thread_name_object),
210         (gst_object_suite):
211         * tests/check/gst/gstpad.c:
212         * tests/check/gst/gstplugin.c:
213         * tests/check/gst/gstpoll.c:
214         * tests/check/gst/gstquery.c:
215         * tests/check/gst/gstsegment.c:
216         * tests/check/gst/gststructure.c:
217         * tests/check/gst/gstsystemclock.c:
218         * tests/check/gst/gsttask.c:
219         * tests/check/gst/gstutils.c:
220         * tests/check/gst/gstvalue.c:
221         * tests/check/gst/struct_hppa.h:
222         * tests/check/gst/struct_i386.h:
223         * tests/check/gst/struct_ppc32.h:
224         * tests/check/gst/struct_ppc64.h:
225         * tests/check/gst/struct_x86_64.h:
226         * tests/check/libs/adapter.c: (create_and_fill_adapter):
227         * tests/check/libs/basesrc.c:
228         * tests/check/libs/controller.c: (GST_START_TEST):
229         * tests/check/libs/gdp.c:
230         * tests/check/libs/gstnetclientclock.c:
231         * tests/check/libs/gstnettimeprovider.c:
232         * tests/check/libs/libsabi.c:
233         * tests/check/libs/struct_hppa.h:
234         * tests/check/libs/struct_i386.h:
235         * tests/check/libs/struct_ppc32.h:
236         * tests/check/libs/struct_ppc64.h:
237         * tests/check/libs/struct_x86_64.h:
238         * tests/check/pipelines/cleanup.c:
239         * tests/check/pipelines/simple-launch-lines.c:
240         * tests/check/pipelines/stress.c:
241         And correct even more valid sparse warnings.
242
243         * win32/common/libgstreamer.def:
244         Add gst_poll_fd_init to the list of symbols.
245
246 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
247
248         * gst/gstconfig.h.in:
249         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
250         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
251         (gst_check_log_critical_func), (gst_check_drop_buffers),
252         (gst_check_element_push_buffer_list):
253         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
254         (gst_controller_get_type):
255         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
256         (gst_object_get_controller), (gst_object_get_control_source):
257         * libs/gst/controller/gstinterpolationcontrolsource.c:
258         (gst_interpolation_control_source_new):
259         * libs/gst/controller/gstlfocontrolsource.c:
260         (gst_lfo_control_source_new):
261         * libs/gst/dataprotocol/dataprotocol.c:
262         (gst_dp_event_from_packet_0_2):
263         * plugins/elements/gstfdsrc.c:
264         * plugins/elements/gstmultiqueue.c:
265         * plugins/elements/gsttee.c:
266         * plugins/elements/gsttypefindelement.c:
267         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
268         (gst_file_index_add_association):
269         * plugins/indexers/gstmemindex.c:
270         * tests/benchmarks/gstpollstress.c: (mess_some_more):
271         * tests/check/elements/queue.c: (setup_queue):
272         * tests/check/gst/gstpipeline.c:
273         * tests/check/libs/collectpads.c: (setup), (teardown),
274         (gst_collect_pads_suite):
275         * tests/examples/adapter/adapter_test.c:
276         * tests/examples/metadata/read-metadata.c: (make_pipeline):
277         * tests/examples/xml/createxml.c:
278         * tests/examples/xml/runxml.c:
279         * tools/gst-inspect.c:
280         * tools/gst-run.c:
281         Correct all relevant warnings found by the sparse semantic code
282         analyzer. This include marking several symbols static, using
283         NULL instead of 0 for pointers, not using variable sized arrays
284         on the stack, moving variable declarations to the beginning of
285         a block and using "foo (void)" instead of "foo ()" for declarations.
286
287 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
288
289         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
290         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
291         Don't reset GstPollFDs, this is not necessary at all.
292
293         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
294         (delayed_restart), (delayed_control):
295         Use GST_POLL_FD_INIT.
296
297 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
298
299         * gst/gstpoll.c: (gst_poll_fd_init):
300         * gst/gstpoll.h:
301         Added Since tags.
302
303         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
304         Use some more init macros.
305
306 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
307
308         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
309         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
310         Use init macros and functions.
311
312 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
313
314         * docs/gst/gstreamer-sections.txt:
315         * gst/gstpoll.c: (gst_poll_fd_init):
316         * gst/gstpoll.h:
317         Add INIT macro and _init method for initializing the GstPollFD.
318
319 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
320
321         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
322         (gst_fd_sink_update_fd):
323         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
324         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
325         (delayed_restart), (delayed_control):
326         Initialize some uninitialized variables as spotted by valgrind.
327
328 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
329
330         * tests/benchmarks/Makefile.am:
331         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
332         (main):
333         Add poll stress test.
334
335 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
336
337         Patch by: Peter Kjellerstedt <pkj at axis dot com>
338
339         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
340         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
341         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
342         * plugins/elements/gstfdsink.h:
343         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
344         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
345         (gst_fd_src_unlock_stop), (gst_fd_src_create),
346         (gst_fd_src_uri_set_uri):
347         * plugins/elements/gstfdsrc.h:
348         Port to GstPoll. See #505417.
349
350 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
351
352         * win32/common/libgstreamer.def:
353         Add new gst_poll_ symbols to win32 defs.
354
355 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
356
357         * docs/libs/gstreamer-libs-sections.txt:
358         * libs/gst/net/gstnetclientclock.c:
359         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
360         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
361         (gst_net_client_clock_thread), (gst_net_client_clock_start),
362         (gst_net_client_clock_stop), (gst_net_client_clock_new):
363         * libs/gst/net/gstnetclientclock.h:
364         * libs/gst/net/gstnettimeprovider.c:
365         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
366         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
367         (gst_net_time_provider_start), (gst_net_time_provider_stop),
368         (gst_net_time_provider_new):
369         * libs/gst/net/gstnettimeprovider.h:
370         Use a private stuct to not break ABI.
371
372 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
373
374         Patch by: Peter Kjellerstedt <pkj at axis dot com>
375
376         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
377         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
378         (gst_net_client_clock_thread), (gst_net_client_clock_start),
379         (gst_net_client_clock_stop), (gst_net_client_clock_new):
380         * libs/gst/net/gstnetclientclock.h:
381         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
382         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
383         (gst_net_time_provider_start), (gst_net_time_provider_stop),
384         (gst_net_time_provider_new):
385         * libs/gst/net/gstnettimeprovider.h:
386         Massive code removal and cleanups because of GstPoll.
387         Fixes #505417.
388
389 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
390
391         * configure.ac:
392         Add checks for poll, ppoll and pselect.
393
394         * docs/gst/gstreamer-docs.sgml:
395         * docs/gst/gstreamer-sections.txt:
396         Add docs for GstPoll.
397
398         * gst/Makefile.am:
399         * gst/gst.h:
400         * gst/gstpoll.c: (find_index), (selectable_fds),
401         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
402         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
403         (gst_poll_set_mode), (gst_poll_get_mode),
404         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
405         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
406         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
407         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
408         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
409         (gst_poll_fd_can_write), (gst_poll_wait),
410         (gst_poll_set_controllable), (gst_poll_restart),
411         (gst_poll_set_flushing):
412         * gst/gstpoll.h:
413         Add generic poll abstraction. We ideally don't want to have this in core
414         here but in glib intead...
415         This code will be used in various network elements and ultimately for
416         the nanosecond precision monotonic clock (that's why it's here in core).
417         It'll allow us to implement cancelable socket operations for windows too.
418
419         * tests/check/Makefile.am:
420         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
421         (delayed_stop), (delayed_restart), (delayed_flush),
422         (delayed_control), (gst_poll_suite):
423         Add GstPoll unit test.
424
425 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
426
427         * gst/gstfilter.c:
428           Improve documentation of gst_filter_run(). Fixes #518627.
429
430 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
431
432         * docs/README:
433           Add a few lines about the new 'check-inspected-versions' target.
434
435 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
436
437         * tests/check/gst/gstevent.c:
438           Add qos to the event test. Rename tcase/tsuite; is not only about
439           custom events.
440
441 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
442
443         * plugins/elements/gstqueue.c:
444           Ensure that buffer metadata is writeable, before modifying. Spotted by
445           Mike.
446
447 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
448
449         * plugins/elements/gstqueue.c:
450         * plugins/elements/gstqueue.h:
451           When dropping buffers in leaky modes, mark next buffers we sent as
452           DISCONT.
453
454 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
455
456         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
457           Also, if mmap() fails that would be a READ error, not OPEN_READ.
458
459 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
460
461         * plugins/elements/Makefile.am:
462         * plugins/elements/gstbufferstore.c:
463         * plugins/elements/gstbufferstore.h:
464         * plugins/elements/gsttypefindelement.h:
465           Remove GstBufferStore, no idea why we were still building it.
466           It's not used anywhere and superseded by GstAdapter.
467
468         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
469           (gst_file_src_create_mmap):
470         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
471           Printf format fixes for 64-bit integers.
472
473 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
474
475         * configure.ac:
476         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
477         We're not in 0.8 times anymore.
478
479 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
480
481         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
482         (gst_check_element_push_buffer_list):
483         * libs/gst/check/gstcheck.h:
484         Make the declaration in the header for
485         gst_check_element_push_buffer_list match the implementation.
486
487         Fix up spelling, grammar and wording of the documentation in a few
488         places, and add the Since keyword to new API functions.
489         Use g_list_delete_link instead of g_list_remove in
490         gst_check_drop_buffers, since it's immeasurably more efficient.
491
492         * tests/check/elements/fakesrc.c: (GST_START_TEST):
493         Use new gst_check_drop_buffers function where appropriate.
494
495         * win32/common/libgstbase.def:
496         * win32/common/libgstreamer.def:
497         Add new symbols gst_collect_pads_take_buffer, 
498         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
499         exports
500
501         Changelog surgery to add API keyword to new gst_check API.
502
503 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
504
505         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
506         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
507         Update pre-generated flex files with flex 2.3.34.
508
509 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
510
511         * gst/gstminiobject.c:
512           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
513           friendly to subclasses and not require them to know all internals
514           of their parent class.
515
516 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
517
518         * docs/libs/gstreamer-libs-sections.txt:
519         * libs/gst/base/gstcollectpads.c:
520         * libs/gst/base/gstcollectpads.h:
521           Add sub-buffer functions to collectpads. Fixes #516187.
522           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
523
524 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
525
526         * gst/gstbuffer.c:
527           Copy selected buffer-flags when creating subbuffers.
528           Fixes #516395.
529
530 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
531
532         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
533         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
534         * gst/gstmessage.c: (gst_message_class_init),
535         (gst_message_finalize):
536         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
537         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
538         (gst_mmap_buffer_finalize):
539         Properly chain up finalize functions to the parent class.
540
541 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
542
543         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
544
545         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
546         (gst_index_set_resolver_full):
547         * gst/gstindex.h:
548         Add new function with option to dispose of user_data in resolver.
549         Actually call the dispose function when finalizing the object and not
550         just when changing the resolver/filter.
551         API: GstIndex::gst_index_set_resolver_full()
552
553         * docs/gst/gstreamer-sections.txt:
554         Add new function to docs. Fixes #515469.
555
556 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
557
558         * gst/gstindex.c: (gst_index_finalize):
559         Chain up finalize to the parent class. Fixes leaking the GstObject
560         name and other things.
561
562 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
563
564         * configure.ac:
565         Make DISABLE_DEPRECATED defined *only* during CVS, not during
566         pre-releases or releases.
567
568         * docs/faq/gst-uninstalled:
569         Add gst-plugins-gl
570
571         * docs/random/release:
572         Change one of the steps - we only upload core & base to Gnome FTP
573
574 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
575
576         * gst/gstconfig.h.in:
577           Add 'id' for example.
578
579         * gst/gstpad.c:
580         * gst/gstutils.c:
581         * plugins/elements/gstfdsink.c:
582           Link to signals. Doc and comment fixes.
583
584 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
585
586         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
587         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
588           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
589           unused and unimplemented; finally, it is plugin features, not
590           plugins, that have ranks.
591           
592 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
593
594         * gst/gstpluginfeature.h:
595           Clarify GstRank range docs.
596
597 2008-02-05  David Schleef  <ds@schleef.org>
598
599         * gst/gst.c: Add a separate gst_deinitialized that prevents
600           gst_init() from being called after gst_deinit().  Fixes #509559
601
602 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
603
604         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
605         (gst_bin_class_init):
606         * gst/gstelement.c: (gst_element_base_class_init),
607         (gst_element_class_add_pad_template):
608         * gst/gstpadtemplate.c: (gst_pad_template_init):
609         * gst/gstpipeline.c: (gst_pipeline_get_type),
610         (gst_pipeline_base_init), (gst_pipeline_class_init):
611         * libs/gst/base/gstbasesink.c:
612         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
613         (gst_base_src_base_init), (gst_base_src_class_init):
614         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
615         (gst_capsfilter_class_init):
616         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
617         (gst_fake_sink_class_init):
618         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
619         (gst_fake_src_class_init):
620         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
621         (gst_fd_sink_class_init):
622         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
623         (gst_fd_src_class_init):
624         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
625         (gst_file_sink_class_init):
626         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
627         (gst_file_src_class_init):
628         * plugins/elements/gstidentity.c: (gst_identity_base_init),
629         (gst_identity_class_init):
630         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
631         (gst_multi_queue_class_init):
632         * plugins/elements/gstqueue.c: (gst_queue_base_init),
633         (gst_queue_class_init):
634         * plugins/elements/gsttee.c: (gst_tee_base_init),
635         (gst_tee_class_init):
636         * plugins/elements/gsttypefindelement.c:
637         (gst_type_find_element_base_init),
638         (gst_type_find_element_class_init):
639         * tests/check/gst/gstelement.c: (gst_element_suite):
640         Revert previous changes to the behaviour of GstPadTemplates, etc
641         and the possiblity to call them in class_init as it breaks too
642         many elements. Reopens bug #491501.
643
644         Should be applied again for 0.11, thus added a few FIXME 0.11 at
645         several places.
646
647 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
648
649         * tools/gst-launch.c:
650         Dump one graph per pipeline state-change and state change name
651         (if GST_DEBUG_DUMP_DOT_DIR is set).
652
653 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
654
655         * gst/gstpad.c:
656         * tests/check/gst/gstpad.c:
657         Be sure that we have a new copy of the caps and not
658         reffed caps from a template
659
660 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
661
662         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
663         * gst/gstpipeline.c: (gst_pipeline_get_type),
664         (gst_pipeline_class_init):
665         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
666         (gst_base_sink_class_init):
667         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
668         (gst_base_src_class_init):
669         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
670         (gst_base_transform_class_init):
671         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
672         (gst_collect_pads_class_init):
673         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
674         * libs/gst/net/gstnettimeprovider.c:
675         (gst_net_time_provider_base_init),
676         (gst_net_time_provider_class_init):
677         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
678         (gst_capsfilter_class_init):
679         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
680         (gst_fake_sink_class_init):
681         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
682         (gst_fake_src_class_init):
683         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
684         (gst_fd_sink_class_init):
685         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
686         (gst_fd_src_class_init):
687         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
688         (gst_file_sink_class_init):
689         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
690         (gst_file_src_class_init):
691         * plugins/elements/gstidentity.c: (gst_identity_base_init),
692         (gst_identity_class_init):
693         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
694         (gst_multi_queue_class_init):
695         * plugins/elements/gstqueue.c: (gst_queue_base_init),
696         (gst_queue_class_init):
697         * plugins/elements/gsttee.c: (gst_tee_base_init),
698         (gst_tee_class_init):
699         * plugins/elements/gsttypefindelement.c:
700         (gst_type_find_element_base_init),
701         (gst_type_find_element_class_init):
702         Don't use base_init where not absolutely necessary. For example it's
703         not necessary anymore for adding pad templates or setting element
704         details.
705
706         Leave empty base_init functions in several places as GST_BOILERPLATE
707         still defines and uses them.
708
709 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
710
711         * gst/gstelement.c: (gst_element_base_class_init),
712         (gst_element_class_add_pad_template):
713         * gst/gstpadtemplate.c:
714         Make it possible (and recommended) to set element details and add
715         pad templates in the class_init functions by copying the details/pad
716         templates in GstElement's base_init.
717
718         Also make it possible to replace existing pad templates by adding
719         a new one with the same name. This was done in a hackish fashion
720         in same elements before already.
721
722         Don't reference pad templates that are added a second time. A
723         new pad template has a refcount of one and is not floating anymore
724         and to be owned by the element's class. Make this more explicit by
725         mentioning it in the docs of gst_element_class_add_pad_template().
726
727         These changes are backwards compatible. Fixes bug #491501.
728
729         * tests/check/gst/gstelement.c:
730         Add unit test for setting element details, adding pad templates and
731         replacing them in a subclass.
732
733 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
734
735         * tools/gst-inspect.c: (print_interfaces),
736         (print_element_properties_info), (print_pad_info),
737         (print_signal_info), (print_element_info):
738         Fix a few memory leaks.
739
740 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
741
742         * docs/libs/gstreamer-libs-sections.txt:
743         * libs/gst/check/gstcheck.c:
744         * libs/gst/check/gstcheck.h:
745         Add more functions for unit testing: gst_check_drop_buffers,
746         gst_check_caps_equal, gst_check_element_push_buffer_list,
747         gst_check_element_push_buffer
748         API: gst_check_drop_buffers
749         API: gst_check_caps_equal
750         API: gst_check_element_push_buffer_list
751         API: gst_check_element_push_buffer
752
753 2008-02-01  Julien Moutte  <julien@fluendo.com>
754
755         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
756         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
757         (gst_index_finalize), (gst_index_entry_free),
758         (gst_index_add_association): Fix memory leaks.
759         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
760         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
761         (gst_mem_index_free_format), (gst_mem_index_free_id),
762         (gst_mem_index_finalize): Fix memory leaks.
763         * win32/common/config.h: Updated to CVS HEAD.
764
765 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
766
767         * docs/README:
768           Some more details about how the plugin docs works.
769
770         * docs/plugins/gstreamer-plugins-sections.txt:
771           Whitespace cleanup.
772
773 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
774
775         * gst/parse/grammar.tab.pre.c:
776         * gst/parse/grammar.tab.pre.h:
777         * gst/parse/grammar.y:
778         * gst/parse/lex._gst_parse_yy.pre.c:
779           Add delayed set-property. This allows to set properties on dynamicaly
780           created objects (pads in videomxer).
781
782 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
783
784         * gst/gstutils.c:
785         Check if caps are not NULL (fix bug #510194)
786
787 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
788
789         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
790         (gst_base_sink_get_position_paused):
791         Add fixme regarding EOS in pull mode.
792         Fix position reporting in PAUSED for negative rates.
793
794 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
795
796         * gst/gstminiobject.c: (gst_mini_object_replace):
797         When replacing a miniobject, do a quick equality check first so that we
798         can avoid a ref/unref pair.
799
800 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
801
802         * docs/design/part-synchronisation.txt:
803         Update some docs.
804
805         * docs/plugins/Makefile.am:
806         * docs/plugins/gstreamer-plugins-docs.sgml:
807         * docs/plugins/gstreamer-plugins-sections.txt:
808         * plugins/elements/gstmultiqueue.c:
809         Add multiqueue to the docs.
810
811 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
812
813         * configure.ac:
814           Back to CVS
815
816 === release 0.10.17 ===
817
818 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
819
820         * configure.ac:
821           releasing 0.10.17, "Due Negligence"
822
823 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
824
825         * gst/gstutils.c:
826         Revert caps != NULL check temporarily for 0.10.17 release.
827
828 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
829
830         * gst/gstutils.c:
831         Check if caps are not NULL (fix bug #510194)
832
833 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
834
835         * gst/gstutils.c:
836         Fix compilation on systems that have posix timers but no
837         monotonic clock.
838         Fixes: #512715
839         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
840         dot net>
841
842 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
843
844         * tools/gst-inspect.c:
845         Revert previous commit in preparation for an impromptu 0.10.17 release
846
847 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
848
849         * tools/gst-inspect.c: (print_interfaces),
850         (print_element_properties_info), (print_pad_info),
851         (print_signal_info), (print_element_info):
852         Fix a few memory leaks.
853
854 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
855
856         * configure.ac:
857         Back to CVS
858
859 === release 0.10.16 ===
860
861 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
862
863         * configure.ac:
864           releasing 0.10.16, "Special Dispensation"
865
866 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
867
868         * configure.ac:
869           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
870           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
871           not fail when trying to crosscompile on OpenEmbedded (#511750).
872
873 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
874
875         * docs/manuals.mak:
876         Use $(MAKE) instead of make to fix the build if GNU make is
877         called different. Fixes bug #510747.
878
879 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
880
881         * gst/gstplugin.c: (_gst_plugin_initialize):
882           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
883           again, which I broke two commits ago when changing the API
884           of gst_plugin_register_static(): the g_list_foreach() in
885           _gst_plugin_register_static still assumed the old function
886           signature and would therefore fail (re-fixes #510187).
887
888         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
889           (_gst_plugin_register_static), (gst_plugin_register_static):
890           Revert the (technically correct) change to call g_thread_init() from
891           the pre-main() constructor. This will break programs which call
892           g_thread_init() without an if (!g_thread_supported()) guard in their
893           main function. We could just blame it on GLib or the application, but
894           it's probably best to just avoid this altogether and simply not use
895           any GLib functions here and use plain old malloc() with a simple
896           array to store the plugins to register later when gst_init() is
897           finally called (re-fixes #510187).
898
899         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
900           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
901           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
902           (GST_START_TEST), (gst_plugin_suite):
903           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
904           works.
905
906 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
909           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
910           This makes gtk-doc complain, but results in slightly better
911           compiler errors. The old _gst_plugin_register_static() is
912           still guarded, so there'll be a compiler warning about that
913           instead. Fixes #510187 too.
914
915 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
916
917         * gst/gst.c: (init_post):
918         * gst/gstplugin.c: (_gst_plugin_register_static),
919           (gst_plugin_register_static), (_gst_plugin_initialize):
920         * gst/gstplugin.h: (GstPluginFilter):
921           Change API of gst_plugin_register_static() to not take
922           a GstPluginDesc, but rather just take all the arguments
923           in a GstPluginDesc directly. This is more intuitive and
924           avoids certain mistakes when porting code from
925           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
926           Fixes #510187.
927
928         * tests/check/gst/gstplugin.c:
929           Fix up for changed API.
930
931 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
932
933         * docs/faq/legal.xml:
934           Update FAQ, Totem actually has an exception these days.
935
936 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
937
938         * win32/common/libgstreamer.def:
939         Add new API declarations
940
941 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
942
943         * gst/gstminiobject.c:
944           Spelling fixes for the API docs.
945
946 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
947
948         * libs/gst/base/gstbasetransform.c:
949           Fix long property description for QoS.
950
951 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
952
953         * gst/gst.c:
954         _gst_trace_on is already provided by gsttrace.h, no need to declare
955         it ourselves.
956
957         * docs/libs/gstreamer-libs-sections.txt:
958         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
959         and remove strange tcase_add_test which is outputting a warning.
960
961         * libs/gst/check/gstcheck.c:
962         * libs/gst/check/gstcheck.h:
963         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
964         and define them in gstcheck.c instead of having every .c file whcih
965         includes gstcheck.h be defining its own copy and relying on symbol
966         interposing to marry them all, which doesn't work on Solaris.
967
968         * tests/check/elements/identity.c: (GST_START_TEST):
969         Don't define 'buffers' locally, it comes from libgstcheck.
970
971         * tests/check/generic/sinks.c: (send_buffer):
972         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
973
974         * tests/check/gst/gststructure.c: (GST_START_TEST):
975         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
976         * tests/check/gst/gstutils.c: (GST_START_TEST):
977         * tests/check/gst/gstvalue.c: (GST_START_TEST):
978         Add a bunch of casts to make various constants fit the types
979         they're being assigned to.
980
981 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
982
983         * gst/gstchildproxy.c:
984           Improve docs and add some ideas for making this more general-purpose.
985
986 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
987
988         * gst/gst_private.h: (GST_CAT_TYPES):
989           Add GST_CAT_TYPES, for consistency, and so that the other
990           debug categories don't make fun of it. Spotted by Saur on IRC.
991
992 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
993
994         * gst/parse/Makefile.am:
995           Move types.h from EXTRA_DIST to noinst_HEADERS.
996
997 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
998
999         * autogen.sh:
1000           Add -Wno-portability to the automake parameters to stop warnings
1001           about GNU make extensions being used. We require GNU make in almost
1002           every Makefile anyway.
1003
1004         * configure.ac:
1005           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
1006           at the same time is required for per target flags.
1007
1008 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1009
1010         * gst/gstmacros.h:
1011           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
1012           __GNUC__ is defined before using it.
1013
1014 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1015
1016         * docs/gst/gstreamer-sections.txt:
1017         * gst/gst.c: (init_post):
1018         * gst/gstplugin.c: (_gst_plugin_register_static),
1019           (gst_plugin_register_static), (_gst_plugin_initialize),
1020           (gst_plugin_register_func):
1021         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1022           API: add gst_plugin_register_static() and deprecate
1023           GST_PLUGIN_DEFINE_STATIC, since it's not portable
1024           (#498924).
1025           Also, in _gst_plugin_register_static(), make sure to call
1026           g_thread_init() before calling GLib functions such as
1027           g_list_append() if we're not initialised yet, since that
1028           may lead to random crashes with older GSlice/GLib versions.
1029
1030         * tests/check/gst/gstplugin.c:
1031           Adapt unit test to above changes.
1032
1033 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
1036         * gst/gstcaps.c: (gst_caps_to_string):
1037         * gst/gststructure.c: (GST_ASCII_IS_STRING),
1038           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
1039           Yet another gratuitous GString micro-optimisation: add a (private)
1040           function that serialises a structure appending to an existing
1041           GString, so that when we serialise caps we don't need to alloc+free
1042           a throwaway GString for each structure (each of which also entailing
1043           multiple reallocs on the way); also use g_string_sized_new() in
1044           various places with an approximate string length to avoid reallocs
1045           within GString. See #500143.
1046
1047 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1048
1049         * gst/gststructure.c: (gst_structure_id_set_value):
1050           Always check UTF-8 conformance of structure strings and not only
1051           if the debugging system is enabled; reasoning: the behaviour of
1052           the actual code shouldn't really change depending on whether the
1053           debugging system is enabled or not (#508291).
1054
1055 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
1056
1057         * Makefile.am:
1058           Remove old coverage target in favour of "make lcov".
1059
1060 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1061
1062         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1063         (gst_base_src_loop):
1064         The start segment for reverse playback goes from start to last_stop.
1065
1066 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1067
1068         Patch by: Peter Kjellerstedt <pkj axis com>
1069
1070         * gst/gstclock.h:
1071         Cast the results from the timeval/spec_to_time macros to what the
1072         docs say it casts to, a GstClockTime. fixes #508175.
1073
1074 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1075
1076         * gst/gstbuffer.c:
1077         Update some comments.
1078
1079         * tools/gst-inspect.c: (print_element_properties_info):
1080         Improve printing of flags.
1081
1082 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1083
1084         * libs/gst/base/gstbasetransform.c:
1085           (gst_base_transform_transform_size):
1086           Print element name with g_warning() if there's a problem
1087           with the unit size.
1088
1089 2008-01-07  David Schleef  <ds@schleef.org>
1090
1091         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
1092
1093         * libs/gst/controller/gstcontroller.h:
1094         * libs/gst/controller/gstcontrolsource.h:
1095         * libs/gst/controller/gstinterpolationcontrolsource.h:
1096         * libs/gst/controller/gstlfocontrolsource.h:
1097         * libs/gst/dataprotocol/dataprotocol.h:
1098           Fix empty prototypes.  Fixes bug #507957.
1099
1100 2008-01-07  David Schleef  <ds@schleef.org>
1101
1102         * docs/faq/dependencies.xml: Fix typo.
1103
1104 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1105
1106         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
1107         (gst_base_src_loop):
1108         Don't update the last_stop position in do_seek, that's the position we
1109         did a seek to.
1110         Read backwards when we have a negative rate.
1111
1112         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
1113         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
1114         (filesrc_suite):
1115         Add check for reverse reading.
1116
1117 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
1118
1119         Patch by: Alexis Ballier <aballier at gentoo org>
1120
1121         * tests/check/gst/gstabi.c:
1122         * tests/check/gst/struct_ppc64.h:
1123         * tests/check/libs/libsabi.c:
1124         * tests/check/libs/struct_ppc64.h:
1125           Decide which header to include based on the userland ABI target
1126           and not the kernel/cpu. Fix up structure sizes of ppc64 header
1127           for 64-bit userland (#503590).  Might need something similar for
1128           x86 too.
1129
1130 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1131
1132         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
1133           Log the reason why fopen fails in addition to the fact that it failed.
1134           
1135 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
1136
1137         * gst/parse/parse.l:
1138         Use "%option never-interactive" to prevent useless calls to isatty()
1139         on every input when parsing. Also use "%option noinput" to not define
1140         the static input/yyinput functions which we don't use anyway. This
1141         removes a compiler warning with gcc 4.3 and saves some bytes in the
1142         library.
1143         
1144         * gst/parse/lex._gst_parse_yy.pre.c:
1145         Regenerated for the above change.
1146
1147 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1148
1149         * gst/gstpad.c: (fixate_value):
1150         Don't crash when trying to fixate and empty list.
1151         Fixes #506643.
1152
1153 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
1154
1155         * docs/faq/gst-uninstalled:
1156         Clarify the comments to make the usage of this script and what it
1157         does easier to understand.
1158
1159 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1160
1161         * tools/gst-plot-timeline.py:
1162         Add more options to gst-plot-timeline
1163
1164 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1165
1166         * docs/design/part-synchronisation.txt:
1167         Some more info on how the stream_time in GstBaseSink is done.
1168
1169 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
1170
1171         * tests/check/generic/sinks.c: (gst_sinks_suite):
1172           Put back the tcase_set_timeout(), apparently it's needed after
1173           all; fix it up in a way that makes things work with valgrind too.
1174
1175 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1176
1177         * gst/gstdebugutils.c:
1178           Add warning when failed to open file for writing.
1179
1180 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1181
1182         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
1183
1184         * gst/gstvalue.c: (gst_value_is_fixed):
1185           Optimisation: bail out of the loop as early as possible (#500143).
1186
1187 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1188
1189         * gst/gstcaps.c: (gst_caps_to_string):
1190         * gst/gstinfo.c: (gst_debug_construct_term_color):
1191         * gst/gstparse.c: (gst_parse_launchv):
1192         * gst/gstutils.c: (gst_util_dump_mem):
1193         * gst/gstvalue.c: (gst_value_serialize_any_list),
1194           (gst_value_transform_any_list_string):
1195           Bunch of gratuitous nano-optimisations.
1196
1197 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1198
1199         * tests/check/generic/sinks.c: (async_done_func),
1200           (async_done_eos_func):
1201           Fix leak in unit test (bus sync handler must unref the message
1202           if it returns GST_BUS_DROP). Don't fiddle with the default test
1203           timeout, this is smaller than the current preconfigured value
1204           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
1205           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
1206
1207 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1208
1209         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1210
1211         * configure.ac:
1212         Check for stdio_ext.h for the filesink changes.
1213
1214         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
1215         (gst_file_sink_class_init), (gst_file_sink_init),
1216         (gst_file_sink_dispose), (gst_file_sink_set_property),
1217         (gst_file_sink_get_property), (gst_file_sink_open_file),
1218         (gst_file_sink_close_file):
1219         * plugins/elements/gstfilesink.h:
1220         Add two properties to control the buffering mode and size.
1221         API: GstFileSink::buffer-mode
1222         API: GstFileSink::buffer-size
1223         Fixes #500150.
1224
1225 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1226
1227         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
1228         Add some more docs to explain why a FIXME was wrongly added. 
1229
1230 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
1231
1232         * gst/gstobject.c:
1233           Fix typo in the gst_object_{ref,unref} documentation.
1234
1235 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1236
1237         * tests/check/libs/controller.c:
1238         * tests/check/libs/typefindhelper.c:
1239         * tests/check/pipelines/parse-launch.c:
1240           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
1241           going to be deprecated (see #498924).
1242
1243 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1244
1245         * gst/gsttypefind.c: (gst_type_find_register):
1246           Make gst_type_find_register work for static typefind functions,
1247           ie. allow passing plugin == NULL (prerequisite for #498924).
1248
1249         * gst/gstelementfactory.c: (gst_element_register):
1250           Small docs addition.
1251
1252 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1253
1254         * gst/gstpad.c: (gst_pad_dispose):
1255         Really unlink the peer pad instead of setting the peer pointer to NULL
1256         when we dispose the pad.
1257         This correctly calls the unlink functions and makes sure that the peer
1258         does not have a handle to invalid memory. See #504671.
1259
1260         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1261         Add testsuite for above case.
1262
1263 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1264
1265         Patch by: Peter Kjellerstedt <pkj axis com>
1266
1267         * libs/gst/check/gstcheck.h:
1268           Fix detection of the check version we're compiling against (would
1269           otherwise break if check goes v0.10.0); correctly report the
1270           name of the failed test again in case of failure, instead of
1271           just 'tf' (fixes #504499).
1272
1273 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1274
1275         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1276         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1277         (gst_base_src_loop), (gst_base_src_set_flushing),
1278         (gst_base_src_change_state):
1279         Allow sending EOS to the source to make it send out an EOS event from
1280         the streaming thread.
1281         Update docs and deprecate the old NULL/READY shutdown method.
1282
1283         * tests/check/libs/basesrc.c: (GST_START_TEST),
1284         (gst_basesrc_suite):
1285         Add unit test for controlled shutdown.
1286
1287 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1288
1289         * docs/design/part-synchronisation.txt:
1290         Small updates.
1291
1292         * gst/gstsegment.c: (gst_segment_set_seek),
1293         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1294         (gst_segment_to_running_time):
1295         The seek format can be different from the segment format when the start
1296         and stop values are not to be updated, when we only do a rate change for
1297         example.
1298
1299         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1300         (gst_segment_suite):
1301         Add a testcase for the rate-only seeks, checking that the format is
1302         correctly ignored when start and stop are not updated.
1303
1304 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
1305
1306         Patch by: Matthias Bolte <photon at mail dot upb dot de>
1307
1308         * win32/vs8/grammar.vcproj:
1309         * win32/vs8/libgstcontroller.vcproj:
1310         * win32/vs8/libgstreamer.vcproj:
1311         Fix compilation with VS8 and include some missing files.
1312
1313 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1314
1315         * gst/gsttaglist.c:
1316           Small docs addition: mention that the strings returned by
1317           gst_tag_list_get_string*() are in UTF-8 encoding.
1318
1319 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1320
1321         * Makefile.am:
1322           The check-exports stuff moved to common/win32.mak, so include that.
1323
1324 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1325
1326         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1327         (gst_base_src_perform_seek), (gst_base_src_get_range),
1328         (gst_base_src_set_playing), (gst_base_src_change_state):
1329         Make _wait_playing() not check any variables so that we can call this
1330         function from subclasses. Move the checks elsewhere similar to
1331         _wait_preroll() in basesink.
1332         Add some debugging.
1333         Only signal the LIVE cond when we are going back to PLAYING.
1334
1335 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1336
1337         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1338           Use g_remove() and g_rename(). Check result of g_rename(), and
1339           don't leak the open file descriptor if we error out when writing.
1340
1341         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1342           Must check the return value of close() after writing out the new
1343           registry file.  Sometimes write problems such as out-of-diskspace
1344           are only reported when the file is closed and not already during
1345           the write.  This may have caused partial/broken registry files in
1346           some rare circumstances. Should fix #503675.
1347
1348 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
1349
1350         * docs/gst/.cvsignore:
1351         * docs/libs/.cvsignore:
1352         * docs/plugins/.cvsignore:
1353         Ignore files generated by new common/* modifications
1354
1355 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1356
1357         * win32/common/libgstbase.def:
1358           Yes, you can also have a <TAB> if you want.
1359
1360 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1361
1362         * win32/common/libgstbase.def:
1363           Add new basetransform API to win export file.
1364
1365 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1366
1367         * tests/check/gst/gstbin.c:
1368           Adjust the test to the refcount change two days ago.
1369
1370 2007-12-14  David Schleef  <ds@schleef.org>
1371
1372         * docs/faq/getting.xml: Fix typo.
1373
1374 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
1375
1376         * docs/libs/gstreamer-libs-sections.txt:
1377         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1378           (gst_base_transform_prepare_output_buffer),
1379           (gst_base_transform_set_gap_aware):
1380         * libs/gst/base/gstbasetransform.h:
1381           API: Add gst_base_transform_set_gap_aware() to control whether
1382           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1383           get buffers with this flag at all. Fixes #503231.
1384
1385 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
1386
1387         * libs/gst/base/gstbasesink.c:
1388         * libs/gst/base/gstbasesrc.c:
1389         * libs/gst/base/gstbasetransform.c:
1390           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1391           thread. Correct log message in gstbasesrc.c.
1392
1393 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1394
1395         * gst/gstutils.c: (element_find_unconnected_pad):
1396           Fix possible compiler warning (#503417).
1397
1398 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1399
1400         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1401           Don't use GST_CAT_EVENT here for logging, it makes no sense.
1402
1403 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
1404
1405         * tools/gst-inspect.c: (print_element_properties_info):
1406           Add support for GstFraction properties.
1407
1408 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1409
1410         * Makefile.am:
1411           Add check-exports target and run it as part of 'make check'
1412           (see #499140 and #493983).
1413
1414         * gst/gst_private.h:
1415         * gst/gstelementfactory.h:
1416         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1417         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1418           (_priv_gst_in_valgrind):
1419         * gst/gstinfo.h: (GstLogFunction):
1420         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1421           (gst_type_find_register):
1422         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1423           (gst_type_find_factory_get_type):
1424         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1425           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1426           (gst_controller_new_valist), (gst_controller_new_list),
1427           (_gst_controller_dispose), (_gst_controller_class_init):
1428         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1429         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1430           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1431           (gst_object_get_controller), (gst_object_set_controller),
1432           (gst_object_suggest_next_sync), (gst_object_sync_values),
1433           (gst_object_set_control_source), (gst_object_get_control_source),
1434           (gst_object_get_value_arrays), (gst_object_get_value_array),
1435           (gst_object_get_control_rate), (gst_object_set_control_rate):
1436         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1437         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1438           Make some functions that should be static static; rename some
1439           private symbols so that they don't get exported; add some FIXME
1440           comments so we can move accidentally exported functions into
1441           our private section in 0.11.
1442
1443         * win32/common/libgstreamer.def:
1444           Add gst_utils_get_timestamp().
1445
1446 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1447
1448         * gst/gstvalue.c:
1449         * gst/gstvalue.h:
1450           Add more missing "Since:" tags to docs.
1451
1452 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1453
1454         * gst/gstutils.c:
1455           Add mising "Since:" to docs.
1456
1457 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1458
1459         * gst/gstplugin.c:
1460           Include "glib-compat-private.h" to fix the build on system with
1461           glib < 2.10. Fixes #503131.
1462
1463 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1464
1465         * gst/gstutils.c:
1466         * gst/gstutils.h:
1467           Actually its not PURE as it gets the time from elsewhere.
1468
1469 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1470
1471         * docs/gst/gstreamer-sections.txt:
1472         * gst/gstclock.h:
1473         * gst/gstdebugutils.c:
1474         * gst/gstinfo.c:
1475         * gst/gstutils.c:
1476         * gst/gstutils.h:
1477         * libs/gst/base/gstbasesink.c:
1478         * tools/gst-launch.c:
1479           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1480           uses as we don't have HAVE_POSIX_TIMERS in public headers.
1481           Thanks Tim for spotting.
1482           API: gst_util_get_timestamp
1483
1484 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
1485
1486         * configure.ac:
1487           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1488
1489 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
1490
1491         * gst/gststructure.c: (gst_structure_validate_name),
1492           (gst_structure_new_valist), (gst_structure_parse_value),
1493           (gst_structure_from_string):
1494           Don't crash in _from_string() if the structure name is not valid
1495           (fixes #501560).  Allow structure names to start with a number
1496           again (this apparently broke the ubuntu codec installer).
1497
1498         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1499           (GST_START_TEST):
1500           Add unit test for the crash; update unit tests for new behaviour.
1501
1502 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
1503
1504         * gst/gstutils.c:
1505         Clarify gst_element_get_compatible_pad() documentation.
1506         Fixes #500919.
1507
1508 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
1509
1510         * tests/check/Makefile.am:
1511           Don't forget to dist {gst,libs}/struct_hppa.h.
1512
1513 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1514
1515         * libs/gst/base/gstbasesink.c:
1516           Use new API to get elapsed time.
1517
1518 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1519
1520         * gst/gstdebugutils.c:
1521         * gst/gstinfo.c:
1522           Fix wrong order of args in GST_CLOCK_DIFF() usage.
1523
1524         * tools/gst-launch.c:
1525           Use new API to get elapsed time.
1526
1527 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1528
1529         * docs/gst/gstreamer-sections.txt:
1530         * gst/gstclock.h:
1531         * gst/gstdebugutils.c:
1532         * gst/gstinfo.c:
1533           Rename new API + ChangeLog surgery to remove old name from last entry..
1534
1535 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1536
1537         * docs/gst/gstreamer-sections.txt:
1538         * gst/gstclock.h:
1539         * gst/gstdebugutils.c:
1540         * gst/gstinfo.c:
1541           Now hide the different clock stuff behind a macro.
1542
1543 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1544
1545         * configure.ac:
1546         * gst/gstdebugutils.c:
1547         * gst/gstinfo.c:
1548           Apply the posix-timer check from #361155. Conditionally use the posix
1549           timer for logging. This gives better timestamp precission, less
1550           overhead and no ntp jitter.
1551
1552 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
1553
1554         * gst/gstminiobject.c: (gst_mini_object_get_type),
1555         (gst_mini_object_class_init), (gst_mini_object_copy_default),
1556         (gst_mini_object_finalize), (gst_mini_object_copy),
1557         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
1558         (gst_mini_object_replace), (param_mini_object_validate),
1559         (gst_param_spec_mini_object_get_type):
1560         Some cleanup and checking against invalid function parameters.
1561
1562 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
1563
1564         * docs/gst/gstreamer-sections.txt:
1565         * gst/gstclock.h:
1566         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1567         (gst_systemclock_suite):
1568         Start merging in the easy bits of #361155, the monotonic clock patch.
1569         This one adds a few handy macros with docs and a testsuite.
1570
1571 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
1572
1573         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
1574         Be a bit smarter when seeking, like, don't try to do a seek when it's
1575         not needed. This avoids errors when the file is not seekable.
1576         Fixes #499771.
1577
1578 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
1579
1580         * docs/gst/gstreamer-docs.sgml:
1581         * docs/gst/gstreamer-sections.txt:
1582         * docs/gst/gstreamer.types.in:
1583         * gst/Makefile.am:
1584         * gst/gst.h:
1585         * gst/gstpreset.c:
1586         * gst/gstpreset.h:
1587         * plugins/elements/gstqueue.c:
1588           Due to popular request remove preset interface again. :-(.
1589
1590 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1591
1592         * tools/gst-inspect.c:
1593           Print 'default value' for enums and flags too.
1594
1595 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1596
1597         * docs/random/ensonic/profiling.txt:
1598           More ideas.
1599
1600         * gst/gstbin.c:
1601           Fix typo and give better log output.
1602
1603         * gst/gstdebugutils.c:
1604         * gst/gstdebugutils.h:
1605           More ideas, make graphs a bit smaller and fix param name in macro.
1606
1607 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1608
1609         * gst/gstpreset.c:
1610           Try harder to use the return value from fgets().
1611
1612 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
1613
1614         * gst/gstpreset.c:
1615           For theses two fgets we handle the error below.
1616
1617 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1618
1619         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1620         Only send upstream events upstream. Fixes #498746.
1621
1622 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1623
1624         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1625
1626         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1627         (gst_identity_init), (gst_identity_transform_ip),
1628         (gst_identity_set_property), (gst_identity_get_property):
1629         * plugins/elements/gstidentity.h:
1630         Add property to disable handoff signal emission. Fixes #498694.
1631         API: GstIdentity::signal-handoffs
1632
1633 2007-11-21  Julien Moutte  <julien@fluendo.com>
1634
1635         * docs/faq/gst-uninstalled: Yet another missing library for the
1636         uninstalled script (fft)
1637
1638 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
1639
1640         * docs/faq/developing.xml:
1641         Add a question about how to submit new translations.
1642
1643         * docs/random/release:
1644         Update the contact email address for the Translation Project
1645
1646         * plugins/elements/gstfdsrc.c:
1647         The parent_class for fdsrc is pushsrc, not GstElement.
1648
1649 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1650
1651         * gst/gstpreset.c:
1652           Plug a leak and fix saving.
1653
1654 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
1655
1656         * docs/gst/gstreamer-sections.txt:
1657         Add new gst_preset__get_property_names() function to the docs
1658         to fix the build.
1659
1660 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1661
1662         * gst/gstpreset.c:
1663         * gst/gstpreset.h:
1664           Change _get_preset_names API to return a strv with copies. Add
1665           _get_property_names to allow implementations to filter and provide
1666           good default implementation.
1667
1668 2007-11-20  Julien MOUTTE  <julien@moutte.net>
1669
1670         * docs/faq/gst-uninstalled: Add another library to the uninstalled
1671         script (sdp).
1672
1673 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1674
1675         * gst/gstpreset.c:
1676           More cleanups, docs, and TODOs from comments that now slowly come in.
1677
1678 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1679
1680         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
1681         search path.
1682
1683 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1684
1685         * gst/gstpreset.c:
1686           Fix bogus warning and make the property type specific code more
1687           similar.
1688
1689 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1690
1691         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
1692         it build on OS X.
1693
1694 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
1695
1696         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1697         (gst_bin_add_func), (gst_bin_remove_func),
1698         (gst_bin_change_state_func), (gst_bin_continue_func):
1699         Change email, cleanups add some more debug and comments.
1700         Also set bus and clock on new elements when the pipeline was in error.
1701
1702 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
1703
1704         * gst/gstbin.c:
1705         * gst/gstdebugutils.c:
1706           Fix build with --disable-gst-debug. Fixes #497859.
1707           Spotted by Sameer Naik.
1708
1709 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1710
1711         * gst/gstevent.c:
1712           Little documentation improvment.
1713
1714         * gst/gstpreset.c:
1715           More TODO cleanups. Remove c++ comments.
1716
1717         * libs/gst/controller/gstcontroller.c:
1718           Add TODO and use quark from static string.
1719
1720         * tests/check/gst/gstmessage.c:
1721         * tests/check/gst/gststructure.c:
1722           Use quark from static string.
1723
1724 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1725
1726         * gst/gstpreset.c:
1727           Add some comments and TODOs.
1728
1729         * gst/gstpreset.h:
1730           Add padding for future changes.
1731
1732         * plugins/elements/gstqueue.c:
1733           Implement the iface.    
1734
1735 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1736
1737         * docs/gst/gstreamer-docs.sgml:
1738         * docs/gst/gstreamer-sections.txt:
1739         * docs/gst/gstreamer.types.in:
1740         * gst/Makefile.am:
1741         * gst/gst.h:
1742         * gst/gstpreset.c:
1743         * gst/gstpreset.h:
1744           Add the preset interface (Fixes #396779). Do some doc cleanups along.
1745
1746 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
1747
1748         * configure.ac:
1749
1750         Back to CVS
1751
1752 === release 0.10.15 ===
1753
1754 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
1755
1756         * configure.ac:
1757           releasing 0.10.15, "October"
1758
1759 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
1760
1761         * win32/vs6/libgstreamer.dsp:
1762         Convert line endings back to DOS.
1763
1764 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
1765
1766         * docs/design/draft-tagreading.txt:
1767         * docs/random/ensonic/profiling.txt:
1768         Update fast tagreading draft and performance profiling ideas.
1769
1770 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1771
1772         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
1773         Don't hold the object lock when unreffing a buffer because it could
1774         cause a deadlock when the finalize function wants to grab the object
1775         lock too. Fixes #495133.
1776
1777 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
1778
1779         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
1780         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1781         Also accumulate time correctly when doing reverse playback. Fixes
1782         #488201,
1783         When converting to running and stream time, use default values for
1784         start/stop/time/accum when comparing different formats. Fixes #494245.
1785
1786         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1787         Do running/stream time in TIME format.
1788
1789         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1790         (gst_segment_suite):
1791         2 new unit tests for segment accumulation.
1792
1793 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1794
1795         * gst/gst.c: (init_pre):
1796         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
1797           (_gst_debug_bin_to_dot_file):
1798           Move getenv() back into gst_init, so everyone can live happily
1799           ever after. Make sure the symbol isn't exported though.
1800
1801 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1802
1803         Patch by: Sebastien Moutte  <sebastien moutte net>
1804
1805         * win32/common/gstenumtypes.c:
1806         * win32/common/gstenumtypes.h:
1807           Update enum types.
1808
1809         * win32/vs6/libgstreamer.dsp:
1810           Update vs6 project files (#494343).
1811
1812 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1813
1814         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
1815         (gst_base_src_perform_seek), (gst_base_src_default_event),
1816         (gst_base_src_set_flushing), (gst_base_src_activate_push),
1817         (gst_base_src_activate_pull):
1818         Unify flushing code, remove some old unlock code that is no longer used.
1819         Take the streaming lock when seeking to avoid races. Fixes #492729.
1820         Added some more comments.
1821
1822 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1823
1824         * gst/gst.c: (_gst_disable_segtrap):
1825           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
1826           we can use gst_segtrap_is_enabled() there now that we have that API.
1827           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
1828           to do the getenv here (and export the variable).
1829
1830         * gst/gstdebugutils.c: (debug_dump_element),
1831           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
1832           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
1833
1834         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
1835           (gst_debug_log_default):
1836           Rename _gst_info_start_time to priv_gst_info_start_time so it
1837           doesn't get exported (was never in any header).
1838
1839         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
1840           (gst_plugin_loading_mutex):
1841           Make static mutex gst_plugin_loading_mutex really static (was never
1842           in any header), and use gst_segtrap_is_enabled() instead of
1843           _gst_disable_segtrap.
1844
1845         * gst/gsttrace.c: (_gst_trace_default):
1846           Make local _gst_trace_default static (was never in any header).
1847
1848 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1849
1850         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
1851
1852         * win32/common/libgstbase.def:
1853         * win32/common/libgstcontroller.def:
1854         * win32/common/libgstdataprotocol.def:
1855         * win32/common/libgstnet.def:
1856         * win32/common/libgstreamer.def:
1857           Add more missing symbols, remove some duplicates, and sort
1858           as the 'sort' command sorts it (partially fixes #493983).
1859
1860 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1861
1862         * gst/gstelement.c: (gst_element_set_state_func):
1863         Only change the state cookie if a different state was set on the
1864         element. See #492729.
1865
1866 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
1867
1868         * gst/gstvalue.c:
1869           Remove unused and uninitialised type variables that were still
1870           exported for some reason (they were never in any header files
1871           though).
1872
1873 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1874
1875         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1876         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
1877         (gst_base_sink_event), (gst_base_sink_get_position_last),
1878         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1879         (gst_base_sink_change_state):
1880         Don't try to report a 0 position when we don't know, return -1 and FALSE
1881         instead. This mostly happens when we are prerolling.
1882         Make sure we can report the right position before we post the ASYNC_DONE
1883         message so that a message handler can query position without races.
1884
1885         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
1886         (async_done_handoff), (async_done_func), (send_buffer),
1887         (async_done_eos_func), (gst_sinks_suite):
1888         Add two tests for the above.
1889
1890 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
1891
1892         * MAINTAINERS:
1893         Update with new email address.
1894
1895         * docs/design/part-TODO.txt:
1896         Add some more info about future pad-block and negotiation changes.
1897
1898         * docs/design/part-buffering.txt:
1899         Add some ideas about buffering reporting.
1900
1901 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
1902
1903         * tests/check/gst/gstobject.c:
1904         Disable silly racy test that always fails on this combination of CPU
1905         and kernel.
1906
1907 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1908
1909         Patch by: Murray Cumming  <murrayc@murrayc.com>
1910
1911         * gst/gstobject.c:
1912           Corrected the registration of the parent-set and parent-unset
1913           signals: The parameter is a GstObject, not a GObject (#493134).
1914
1915 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1916
1917         * gst/gst_private.h:
1918         * gst/gstbuffer.h:
1919         * gst/gstevent.h:
1920         * gst/gstformat.h:
1921         * gst/gstmessage.h:
1922         * gst/gstplugin.h:
1923         * gst/gstquery.h:
1924         * gst/gsttaglist.h:
1925         * gst/gstvalue.h:
1926           Move declaration of private _gst_foo_initialize() functions into
1927           our private header file where they should have been all along.
1928
1929 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1930
1931         * docs/plugins/gstreamer-plugins-sections.txt:
1932         * gst/gstdebugutils.h:
1933         * gst/gstxml.h:
1934         * plugins/elements/gstqueue.c:
1935           gtk-doc fixes; trailing-comma-in-enum fix.
1936
1937 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1938
1939         * gst/gst.c: (gst_deinit):
1940           Clean up on deinit (not the external ones though, doesn't seem to be
1941           needed for some reason).
1942
1943 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1944
1945         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
1946           Remove __declspec(dllimport) for MSVC that was copied over into core
1947           from a plugin, obviously without ever having been tested (note the
1948           single underscore in _declspec in the initial commit), and that doesn't
1949           really make sense.  See #492077.
1950
1951 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1952
1953         * gst/gst.c: (init_post):
1954         * gst/gstevent.c: (_gst_event_initialize):
1955         * gst/gstquery.c: (_gst_query_initialize):
1956         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
1957           g_type_class_ref() other types as well, see #349410 and #64764.
1958
1959         * gst/gstbuffer.c: (_gst_buffer_initialize):
1960         * gst/gstmessage.c: (_gst_message_initialize):
1961           Simplify existing g_type_class_ref().
1962
1963 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1964
1965         * gst/gstformat.c: (_gst_format_initialize):
1966           g_type_class_ref() our GstFormat type to make sure we avoid the
1967           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
1968           bug #64764. Should fix intermittent tee unit test failures (#474823).
1969
1970 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
1971
1972         * tests/check/elements/tee.c: (test_num_buffers):
1973           Simplify, simplify, simplify - or not.  Rewrite unit test
1974           not to use gst_parse_launch(); allow N sub-streams. Increasing
1975           the number of sub-streams seems to reproduce #474823 more easily.
1976
1977 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
1978
1979         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
1980
1981         * gst/gsttrace.c:
1982         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
1983         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1984         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
1985           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
1986           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
1987           so use _pipe() directly (#492077).
1988
1989         * win32/common/dirent.c: (_treaddir):
1990           Add a couple of casts to make it build without warnings with MSVC.
1991
1992         * win32/common/libgstreamer.def:
1993           Add some more symbols that need to be exported.
1994
1995 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
1996
1997         * tests/examples/metadata/read-metadata.c: (message_loop):
1998           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
1999           arriving in a second or third tag message are added to
2000           the tag list as well.
2001
2002 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
2003
2004         * libs/gst/base/gstbasesrc.c:
2005           Its "Since:" and not "@Since:". And remove an superflous cast.
2006
2007 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
2008
2009         * docs/libs/gstreamer-libs-sections.txt:
2010         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2011         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
2012         (gst_base_sink_get_property), (gst_base_sink_render_object),
2013         (gst_base_sink_preroll_object),
2014         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2015         (gst_base_sink_change_state):
2016         * libs/gst/base/gstbasesink.h:
2017         Add a new last-buffer property that contains the last buffer used in
2018         basesink for preroll or rendering. useful for making snapshots.
2019         API: gst_base_sink_get_last_buffer()
2020         API: GstBaseSink::last-buffer
2021
2022 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2023
2024         * docs/gst/running.xml:
2025         * gst/gst.c:
2026         * gst/gstdebugutils.c:
2027         * gst/gstdebugutils.h:
2028         * tools/gst-launch.c:
2029           Improve bin graph dumping, by using the envvar to specify a path.
2030           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2031
2032 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
2033
2034         * plugins/elements/gsttypefindelement.c:
2035           (gst_type_find_element_handle_event),
2036           (gst_type_find_element_activate):
2037           Post special error message if we can't determine the type of a stream
2038           because it's empty.
2039
2040 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2041
2042         * docs/gst/running.xml:
2043         * gst/gstdebugutils.c:
2044           Document new env-var. Add one log-line after dumpng a graph.
2045
2046 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2047
2048         * configure.ac:
2049           Ugly hack to put the (recently removed and non-portable, apparently)
2050           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
2051           GNU ld, because without that 'make check' fails miserably on my debian
2052           stable box.  Someone with more knowledge of linker intricacies and
2053           portability issues than me fix this properly please.
2054
2055 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
2056
2057         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2058         Reset last seen position after flushing so that we don't report the old
2059         position anymore.
2060
2061 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2062
2063         * gst/gstelementfactory.c: (gst_element_register):
2064         * gst/gsturi.h:
2065         Patch from Alessandro Decina adding get_type_full and
2066         get_protocols_full private vfuncs to the URIHandler interface
2067         to allow bindings to support creating URI handlers. 
2068         Partially fixes: #339279
2069         API: GstURIHandlerInterface::get_type_full
2070         API: GstURIHandlerInterface::get_protocols_full
2071
2072 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2073
2074         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2075         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
2076         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
2077         Make it so that pads are considered linked until a buffer is pushed
2078         and discovered otherwise. This avoids problems with decodebin2 hanging
2079         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
2080         case.
2081
2082         Make sure we lock the multiqueue when updating the max-size properties.
2083         
2084         Fix a crash on Solaris in a debug statement in get_request_pad that
2085         passes a NULL string to GST_DEBUG. 
2086
2087         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2088         (run_output_order_test):
2089         Fix the test to allow the first buffer on not-linked pads to come out
2090         of sequence while multiqueue discovers that they are not-linked.
2091
2092 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2093
2094         * configure.ac:
2095         * libs/gst/check/Makefile.am:
2096         Use a custom export symbol regex for libgstcheck, as it needs
2097         to export symbols that don't match the standard GStreamer gst_*
2098         pattern, and  --export-dynamic is not portable (only works on 
2099         GNU ld)
2100
2101         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2102         (gst_check_setup_sink_pad):
2103         Make sure to pass a message parameter to the fail_* macros.
2104
2105         * tests/check/gst/gstinfo.c: (GST_START_TEST):
2106         Fix some compiler warnings.
2107
2108 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
2109
2110         * tests/check/gst/gststructure.c: (test_to_string):
2111           Disable test that checks that white spaces are not allowed
2112           in structure names or field names, since we need to
2113           support that for now for backwards compatibility reasons.
2114
2115 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2116
2117         * docs/gst/gstreamer-sections.txt:
2118         * gst/gsttaglist.c:
2119         * gst/gsttaglist.h:
2120           API: add GST_TAG_ARTIST_SORTNAME
2121           API: add GST_TAG_ALBUM_SORTNAME
2122           API: add GST_TAG_TITLE_SORTNAME
2123           Add tag variants for sorting (#414539).
2124
2125 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2126
2127         * gst/gststructure.c:
2128           Also allow white space for names so we don't break
2129           backwards compatibility.
2130
2131 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
2132
2133         * docs/design/part-TODO.txt:
2134         * docs/design/part-segments.txt:
2135         * docs/design/part-streams.txt:
2136         Small updates.
2137
2138 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2139
2140         * docs/gst/gstreamer-sections.txt:
2141          Fixed documentation from my previous commit (added new API add
2142          gst_value_set_structure(), add gst_value_get_structure() and
2143          GST_VALUE_HOLDS_STRUCTURE).
2144
2145 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
2146
2147         * gst/gstdebugutils.c:
2148           Reflow code to fix uninitialized variable warning.
2149
2150 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2151
2152         * gst/gstcaps.c: (gst_caps_to_string),
2153         (gst_caps_from_string_inplace):
2154         * gst/gststructure.c: (gst_structure_get_abbrs),
2155         (gst_structure_to_string), (gst_structure_from_string):
2156         * gst/gstvalue.c: (gst_value_set_structure),
2157         (gst_value_get_structure), (gst_value_serialize_structure),
2158         (gst_value_deserialize_structure), (_gst_value_initialize):
2159         * gst/gstvalue.h:
2160         * tests/check/gst/gststructure.c: (GST_START_TEST),
2161         (gst_structure_suite):
2162         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2163          Added GstStructure to gst_value_table and its related functions.
2164          Changed gst_structure_to_string to print ';' in the end.
2165          Changed gst_caps_to_string to not print ';' beteween its
2166          fields (structures) anymore and remove the lastes ';' from latest
2167          structure. Now it is possible to have nested structures.
2168          In addition, backward compatibilty is assured by accepting '\0' as
2169          end delimiter. Fixes: #487969.
2170          API: add gst_value_set_structure()
2171          API: add gst_value_get_structure()
2172          API: add GST_VALUE_HOLDS_STRUCTURE
2173
2174 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
2175
2176         * gst/gstbus.c:
2177           When no GSource callback has been set up, tell developer
2178           to use a function that actually exists.
2179
2180 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
2181
2182         * docs/gst/gstreamer-sections.txt:
2183         * gst/Makefile.am:
2184         * gst/gst.c:
2185         * gst/gst.h:
2186         * gst/gstdebugutils.c:
2187         * gst/gstdebugutils.h:
2188         * gst/gstinfo.c:
2189         * gst/gstinfo.h:
2190         * tools/gst-launch.c:
2191           Allow dumping pipelines as dot graphs. Fixes #456573.
2192
2193 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2194
2195         * gst/gststructure.c:
2196           Allow '+' as well, it can be part of media or mime types
2197           such as image/svg+xml.
2198
2199 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2200
2201         * docs/gst/gstreamer-sections.txt:
2202         * gst/gstbus.c:
2203         * gst/gstbus.h:
2204           API: add gst_bus_pop_filtered
2205           API: add gst_bus_timed_pop_filtered
2206           Two new functions for waiting for specific message types on the
2207           bus for a specified amount of time without iterating any main
2208           loops or main contexts.
2209
2210         * tests/check/gst/gstbus.c:
2211           Some tests for the new functions.
2212
2213 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2214
2215         * docs/libs/gstreamer-libs-sections.txt:
2216           Make gtk-doc ignore stuff it should ignore.
2217
2218 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2219
2220         * libs/gst/check/gstcheck.c:
2221         * libs/gst/check/gstcheck.h:
2222           Allow runtime selection of unit tests to run via the GST_CHECKS
2223           environment variable (test case function names, comma-separated).
2224
2225 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2226
2227         * gst/gststructure.c:
2228         * tests/check/gst/gststructure.c:
2229           Revert serialisation change and constrain structure-names after
2230           consensus on irc. Update api documentation to reflect the change.
2231
2232 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2233
2234         * gst/gststructure.c:
2235           Improve serialization and fix tests.
2236
2237         * tests/check/gst/gststructure.c:
2238           Add another test that covers why I actually did the previous structure
2239           change.
2240
2241 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2242
2243         * tools/gst-inspect.c: (print_element_info):
2244         Don't crash when inspecting an element.
2245
2246 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2247
2248         * tests/check/gst/gststructure.c:
2249           Add unit test for escaping of structure name when serialising
2250           and deserialising to/from strings.
2251
2252 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2253
2254         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2255         (gst_single_queue_new):
2256         * plugins/elements/gstqueue.c: (gst_queue_init),
2257         (gst_queue_push_one):
2258         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2259         upstream is tricked into thinking it can suggest a format downstream
2260         while downstream does not support that format. The real problem is that
2261         core calls acceptcaps when pushing a buffer with new caps, for which we
2262         do a little workaround by setting the caps on the srcpad ourselves
2263         before pushing the buffer (until this is figured out). Fixes #486758.
2264
2265 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2266
2267         * gst/gststructure.c:
2268         * gst/gstvalue.c:
2269           Add some more comments and debug output. Quote structure name to fix
2270           deserialisation of some strings.
2271
2272 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2273
2274         * gst/gstbuffer.h:
2275           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2276           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2277
2278 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2279
2280         * tools/gst-inspect.c:
2281           Save approx. 400 1 byte allocs when printing. Use API to acces element
2282           details.
2283
2284         * tools/gst-run.c:
2285           Avoid a strdup.
2286
2287         * tools/gst-xmlinspect.c:
2288           Use API to acces element details.
2289
2290 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2291
2292         * gst/gstinfo.c:
2293           Fix some spelling errors.
2294
2295 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
2296
2297         * gst/gstbin.c: (bin_handle_async_done):
2298         Correctly set the next state if all of our async children commited their
2299         state. This makes sure we can actually cancel the state change in
2300         progress. Fixes a regression in Rhythmbox when seeking.
2301
2302 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2303
2304         * gst/gstbin.c:
2305           Don't shadow local variable.
2306
2307         * gst/gstinfo.c:
2308           Don't shadow global function name.
2309
2310 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2311
2312         * gst/gstelementfactory.c:
2313         * gst/gstpluginfeature.c:
2314         * gst/gstpluginfeature.h:
2315         * gst/gstregistrybinary.c:
2316         * gst/gstregistryxml.c:
2317         * gst/gsttypefind.c:
2318           Use already-interned string for the private GstPluginFeature
2319           plugin_name field.
2320
2321 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2322
2323         * docs/libs/gstreamer-libs-sections.txt:
2324           Add new API to docs; fixes the build.
2325
2326 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
2327         
2328         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2329
2330         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2331         (gst_base_sink_event):
2332         * libs/gst/base/gstbasesink.h:
2333         Add function to wait for EOS, subclasses can use this to correctly wait
2334         for devices to drain before performing the EOS logic. Fixes #485343.
2335         API: gst_base_sink_wait_eos()
2336
2337 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         * gst/gstplugin.h:
2340           Cast description string constants in GST_PLUGIN_DEFINE macros
2341           to a (gchar*) to make C++ code using these macros compile
2342           without warning with g++-4.2 (see #462737).  Even if slightly
2343           ugly, this seems preferable to putting the description strings
2344           into the GLib quark table or making the structure member a
2345           const gchar * and doing casts in core code that allocs and
2346           frees these strings, or requiring a cast in the C++ code.
2347
2348 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * gst/gstinfo.h:
2351           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2352           to print the entire class/function signature into the log
2353           file for C++ code.  This only affects C++ code, for C code
2354           everything remains the same.
2355
2356 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
2357
2358         * gst/gstbin.c: (remove_from_queue):
2359         Work around a problem with pipelines containing (semi)loops until a
2360         proper, more complicated solution is ready. See #475455.
2361
2362 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2363
2364         * gst/gstplugin.c:
2365         * gst/gstplugin.h:
2366         * gst/gstregistrybinary.c:
2367         * gst/gstregistryxml.c:
2368           Put more strings into the GLib quark table. No need to keep
2369           a hundred-something copies of identical version strings,
2370           license strings, package name strings and package origin
2371           strings around. 
2372
2373 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2374
2375         * docs/manual/advanced-dataaccess.xml:
2376           Don't imply that it's okay to unconditionally change
2377           buffer data or buffer metadata in a pad probe callback,
2378           and a bunch of other comments. Fixes #430031.
2379
2380 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2381
2382         * win32/common/gstenumtypes.c:
2383         * win32/common/gstenumtypes.h:
2384         * win32/common/gstversion.h:
2385           Update generated files.
2386
2387 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2388
2389         * docs/manual/advanced-autoplugging.xml:
2390           Prefix section with broken code with a warning (see #342432).
2391
2392 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2393
2394         * docs/manual/appendix-integration.xml:
2395         * docs/manual/basics-init.xml:
2396           Call g_thread_init() before g_option_context_new() to
2397           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2398
2399 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2400
2401         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2402         (gst_base_sink_queue_object_unlocked),
2403         (gst_base_sink_queue_object), (gst_base_sink_event),
2404         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2405         When we received EOS and are waiting for when to post the EOS message,
2406         our state is prerolled and we should not return ASYNC.
2407         Reorganize some code paths to implement this behavior.
2408
2409         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2410         (gst_sinks_suite):
2411         Add unit test to verify above EOS fix.
2412
2413 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2414
2415         * plugins/elements/gsttypefindelement.c:
2416         (gst_type_find_element_have_type), (gst_type_find_element_init),
2417         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2418         Move detecting the input caps of the sinkpad to the setcaps function.
2419         This allows us to update the output caps when we receive new input caps
2420         instead of always using the first detected caps.
2421
2422 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2423
2424         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2425         (gst_base_sink_get_position):
2426         Don't try to preroll non-async elements after a flush.
2427         Subtract latency form clock times when reporting position.
2428
2429 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2430
2431         * gst/gstpad.c: (gst_pad_pause_task):
2432         * gst/gstutils.c:
2433         Small comment and documentation update.
2434
2435 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2436
2437         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2438         (gst_base_src_set_live), (gst_base_src_is_live),
2439         (gst_base_src_query_latency), (gst_base_src_perform_seek),
2440         (gst_base_src_default_event), (gst_base_src_wait),
2441         (gst_base_src_do_sync), (gst_base_src_get_range),
2442         (gst_base_src_pad_get_range), (gst_base_src_loop),
2443         (gst_base_src_unlock), (gst_base_src_unlock_stop),
2444         (gst_base_src_set_flushing), (gst_base_src_set_playing),
2445         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2446         (gst_base_src_change_state):
2447         Rework the locking of basesrc in a similar fashion to basesink. We
2448         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2449         us to handle live sources and semi live ones much better.
2450         Simplify flushing.
2451         Fix unlocking when seeking, shutting down and pausing in live sources.
2452
2453 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2454
2455         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2456         Fix compilation again.
2457
2458 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2459
2460         * gst/gstelement.c:
2461           Use meaningful categories for the logs to clean the default one.
2462
2463 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2464
2465         * tests/check/pipelines/cleanup.c:
2466           Print message name and not just number.
2467
2468 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2469
2470         * docs/design/draft-tagreading.txt:
2471           Add some more thoughts.
2472
2473 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2474
2475         * tests/check/pipelines/simple-launch-lines.c:
2476           Print message name and not just number.
2477
2478 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2479
2480         * libs/gst/base/gsttypefindhelper.c:
2481           Speedup typefinding. This is work in progress (see #459862).
2482
2483 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2484
2485         * gst/gstplugin.c:
2486           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2487           Spotted by Josep Torra Valles <josep@fluendo.com>.
2488
2489 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2490
2491         * gst/gstclock.h:
2492           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2493           field has moved to GstObject.
2494
2495 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
2496
2497         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2498         (gst_base_src_get_range), (gst_base_src_change_state):
2499         Call unlock for live sources so that they can't get stuck in _create and
2500         produce a buffer before they are set back to PLAYING.
2501
2502 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
2503
2504         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2505         (gst_queue_locked_dequeue):
2506         Comment the segment-related code... in the PROPER function.
2507         See #482147 and my commit from yesterday.
2508
2509 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
2510
2511         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2512         Also initialize the counter that calculates the first timestamp on a
2513         buffer correctly for non-live sources.
2514
2515 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
2516
2517         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2518         Disable code that's breaking the current-time-level reporting.
2519         See #482147
2520
2521 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
2522
2523         * docs/gst/gstreamer-sections.txt:
2524         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
2525         as they shouldn't show up. Fixes the docs build.
2526
2527 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
2528         
2529         * gst/gstinfo.h:
2530         Add an explicit variable importation needed on VS6 (only for MSC_VER)
2531         Define M_PI which is used in files which are including gstinfo.h. 
2532         VS6 includes doesn't define it.
2533         * win32/common/libgstbase.def:
2534         * win32/common/libgstcontroller.def:
2535         * win32/common/libgstreamer.def:
2536         Add new exported functions and variables.
2537         * win32/vs6/libgstcontroller.dsp:
2538         * win32/vs6/libgstreamer.dsp:
2539         Update the list of files to build.
2540         
2541 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2542
2543         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2544
2545         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
2546         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
2547         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
2548         Improve debugging. Fixes #480858.
2549
2550 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2551
2552         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2553
2554         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2555         First patch of code cleanups, use the macros and right arguments in the
2556         macros to signal and lock the queue. See #480858.
2557
2558 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
2559
2560         * gst/gstbus.c: (poll_func):
2561         Improve debugging when dealing with _poll().
2562
2563 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2564
2565         * gst/gstregistryxml.c:
2566           Fix memory leak I introduced a few days ago.
2567
2568 2007-09-26  Michael Smith <msmith@fluendo.com>
2569
2570         * gst/gstbuffer.c: (gst_buffer_finalize):
2571           Make it once again possible to free GstBuffers in the default
2572           build.
2573           The poisoning scribbles on parts of the miniobject we need in
2574           order to free it.
2575           Fixes #480341
2576
2577 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2578
2579         * docs/gst/gstreamer-sections.txt:
2580         * gst/gsttaglist.c:
2581         * gst/gsttaglist.h:
2582         API: add GST_TAG_COMPOSER, fixes #459809.
2583
2584 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
2585
2586         * gst/gstplugin.c:
2587         * gst/gstplugin.h:
2588         Add the 3-clause BSD license and the MIT/X11 license to the license
2589         list. Fixes #479784.
2590
2591 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * docs/faq/getting.xml:
2594           Add Q+A about different GStreamer versions (#364056).
2595
2596 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2597
2598         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2599         (gst_base_sink_event), (gst_base_sink_change_state):
2600         Return correct gboolean from query function.
2601
2602 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2603
2604         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2605         (gst_base_sink_event), (gst_base_sink_query),
2606         (gst_base_sink_change_state):
2607         Simplify latency query.
2608         When not synchronizing, we can report latency without querying the peer
2609         element.
2610
2611 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2612
2613         * gst/gstobject.h:
2614         * gst/gstvalue.c:
2615         Fix small typos in the docs.
2616
2617 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2618
2619         * docs/design/draft-latency.txt:
2620         * docs/design/draft-push-pull.txt:
2621         * docs/design/draft-tagreading.txt:
2622         * docs/design/part-MT-refcounting.txt:
2623         * docs/design/part-activation.txt:
2624         * docs/design/part-block.txt:
2625         * docs/design/part-element-source.txt:
2626         * docs/design/part-events.txt:
2627         * docs/design/part-gstbin.txt:
2628         * docs/design/part-gstelement.txt:
2629         * docs/design/part-gstobject.txt:
2630         * docs/design/part-gstpipeline.txt:
2631         * docs/design/part-messages.txt:
2632         * docs/design/part-preroll.txt:
2633         * docs/design/part-push-pull.txt:
2634         * docs/design/part-qos.txt:
2635         * docs/design/part-query.txt:
2636         * docs/design/part-scheduling.txt:
2637         * docs/design/part-seeking.txt:
2638         * docs/design/part-segments.txt:
2639         * docs/design/part-states.txt:
2640         Documentation updates and typo fixes.
2641
2642 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2643
2644         * plugins/elements/gstfakesink.c:
2645           Add some debug text to error message to indicate that
2646           we errored out on request.
2647
2648         * tools/gst-launch.c:
2649           When the state change to PLAYING fails, check for an
2650           error message on the bus and print it.
2651
2652 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2653
2654         translated by: Jorge González González <aloriel@gmail.com>
2655
2656         * po/LINGUAS:
2657         * po/es.po:
2658           Added Spanish translation.
2659
2660 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
2661
2662         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2663         Fix printf arguments.
2664
2665 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2666
2667         * tests/check/generic/states.c:
2668           Improved state change unit test.
2669
2670 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2671
2672         * gst/gstbin.h:
2673           Move priv to the right place.
2674
2675         * gst/gstsystemclock.c:
2676           Add FIXME: and improve log.
2677
2678         * tests/check/Makefile.am:
2679         * tests/examples/manual/Makefile.am:
2680           Work with all types of registries.
2681
2682 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
2683
2684         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2685         Don't unref the event after pushing it. Fixes #478401.
2686
2687 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2688
2689         * .cvsignore:
2690         * tests/examples/manual/.cvsignore:
2691           Ignore registries in any format.
2692
2693 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
2694
2695         * gst/glib-compat-private.h:
2696           Add compatibility macro for g_intern_string() for
2697           GLib-2.8 (any reason we can't just bump the
2698           requirement to at least 2.10?)
2699
2700         * gst/gstpadtemplate.h:
2701         * gst/gstelementfactory.c:
2702         * gst/gstregistryxml.c:
2703         * gst/gstregistrybinary.c:
2704           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
2705           up the internal code accordingly.  This shouldn't be a problem, since
2706           there is no reason external code could ever assume the string in such
2707           a structure is dynamically allocated unless it did that itself;  the
2708           use of g_strdup() is private to element factories.  The new code also
2709           saves some memory by putting pad template name strings into the GLib
2710           quark table instead of allocating them dynamically.
2711           Declaring this field constant fixes warnings with g++-4.2 when using
2712           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2713
2714 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2715
2716         * gst/gstelementfactory.c:
2717           Release static caps. Fixes #475723.
2718
2719 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
2720
2721         * gst/gstinfo.c:
2722         * gst/gstinfo.h:
2723           Make some internal API take const gchar * instead of just
2724           gchar * to avoid compiler warnings with g++-4.2.2 when
2725           passing string constants (partially fixes #478092).
2726
2727 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2728
2729         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
2730         A latency query fails when one of the sinks fail.
2731
2732         * gst/gstelement.c: (gst_element_set_base_time):
2733         Improve debugging.
2734
2735 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
2736
2737         * gst/gstbin.c: (gst_bin_continue_func):
2738         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2739         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
2740         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
2741
2742         Fix minor compilation warnings shown with Forte.
2743
2744 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2745
2746         * plugins/elements/gstqueue.c: (apply_buffer),
2747         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
2748         Measure queue level based on the diff between head and tail timestamps
2749         even when pushing the first buffer.
2750
2751 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2752
2753         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2754         (gst_base_sink_event), (gst_base_sink_change_state):
2755         Sinks that don't preroll can always be queried for the latency.
2756         Don't post ASYNC start when we are not async.
2757
2758 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2759
2760         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2761         (gst_queue_handle_sink_event), (gst_queue_chain),
2762         (gst_queue_push_one), (gst_queue_handle_src_query),
2763         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
2764         * plugins/elements/gstqueue.h:
2765         When downstream returns UNEXPECTED from pushing a buffer, don't try to
2766         push more buffers but allow pushing of EOS and NEWSEGMENT.
2767         Add some more debug info here and there. Fixes #476514.
2768
2769 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2770
2771         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2772         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
2773         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
2774         (gst_base_sink_set_flushing), (gst_base_sink_query),
2775         (gst_base_sink_change_state):
2776         Latency query is allowed after we are prerolled. Introduce a new flag
2777         for this and stop abusing other variables.
2778
2779 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2780
2781         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2782         Push OOB events downstream when we get them in send_event. This allows
2783         the application to insert events in the pipeline.
2784         Add some more comments.
2785
2786 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2787
2788         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
2789         (do_bin_latency), (gst_bin_change_state_func):
2790         * gst/gstpipeline.c: (gst_pipeline_change_state):
2791         Move latency query from GstPipeline to GstBin so that we can also
2792         use it when async-handling is enabled on bins.
2793
2794 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2795
2796         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2797         (gst_base_src_do_sync), (gst_base_src_change_state):
2798         Update docs.
2799         Clean up the timestamping and syncing code for pseudo live sources.
2800
2801 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
2802
2803         Patch by: Steve Fink  <sphink gmail com>
2804
2805         * docs/manual/appendix-checklist.xml:
2806           Mention less -R switch in the section about debug output (#474055).
2807
2808 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
2809
2810         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2811         Queue can latency to the pipeline up to the configured max size in time.
2812         Report this fact in the latency query.
2813
2814 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2815
2816         Patch by: Sebastien Moutte <sebastien at moutte dot net>
2817
2818         * libs/gst/controller/gstinterpolation.c:
2819         * libs/gst/controller/gstlfocontrolsource.c:
2820         Use gst_guint64_to_gdouble() when converting from a uint64 or
2821         GstClockTime to double to fix the build on win32. Fixes #474371.
2822
2823 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2824
2825         * gst/gstbuffer.c: (gst_buffer_finalize):
2826         Implement poisoning for GstBuffer if --enable-poisoning is specified.
2827         When finalizing a buffer the complete struct is filled with 0xff,
2828         thus making a use of the buffer after the final unref impossible.
2829
2830 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
2831
2832         * tests/check/libs/controller.c: (GST_START_TEST):
2833         Use fail_unless_equals_int(a, b) instead of
2834         fail_unless_equals (a == b) to get better output on failures.
2835
2836 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2837
2838         * tests/check/gst/gsturi.c:
2839           Also check for the other file URI variant on win32.
2840
2841 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * gst/gsturi.c: (gst_uri_get_location):
2844           If there's no hostname, we want to return 'c:/foo/bar.txt'
2845           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
2846
2847         * tests/check/gst/gsturi.c:
2848           Unit test for the above and a few more things.
2849
2850 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
2851
2852         * docs/design/part-live-source.txt:
2853         Add docs on how live sources should timestamp.
2854
2855         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2856         Add some more debug info.
2857         For subclasses that are live and like to sync, add aditional startup
2858         latency to sync time and timestamps so that we timstamp according to the
2859         design doc.
2860
2861 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
2862
2863         * gst/gstbuffer.c:
2864           Also do a g_type_class_ref() for the subbuffer type in
2865           the init function.
2866
2867 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
2868
2869         * docs/gst/gstreamer-sections.txt:
2870         * gst/gstpad.c: (gst_pad_peer_query):
2871         * gst/gstpad.h:
2872         Add function to perform a query on the peer of a pad.
2873         API: gst_pad_peer_query()
2874
2875 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
2876
2877         * tests/check/gst/gstsystemclock.c:
2878           Cleanup the test a little (use gst-logging and not g_message). Improve
2879           test to check if a wait reached the target.
2880
2881 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
2882
2883         * docs/libs/gstreamer-libs-sections.txt:
2884           Add new API to docs and fix the build.
2885
2886 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
2887
2888         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2889         (gst_base_src_init), (gst_base_src_set_do_timestamp),
2890         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
2891         (gst_base_src_get_property), (gst_base_src_do_sync):
2892         * libs/gst/base/gstbasesrc.h:
2893         Add property to make the basesrc timestamp buffers based on the current
2894         running time.
2895         API: GstBaseSrc::do-timestamp
2896         API: gst_base_src_set_do_timestamp()
2897         API: gst_base_src_get_do_timestamp()
2898
2899 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
2900
2901         * docs/random/release:
2902           Really make sure translations are up-to-date before
2903           a release (#465010).
2904
2905 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
2906
2907         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2908         Always destroy the timer, also in error cases.
2909
2910 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
2911
2912         * docs/manual/highlevel-xml.xml:
2913         Fix XML example code. Fixes #472714.
2914
2915 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
2916
2917         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2918         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
2919         (gst_base_sink_query):
2920         Protect eos and have_preroll with the OBJECT lock so we don't need to
2921         take the PREROLL lock when querying the latency. Fixes #473846.
2922
2923 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
2924
2925         * gst/gstelement.c:
2926           Give some log-messages a category.
2927
2928 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
2929
2930         * gst/gststructure.c:
2931         (gst_structure_fixate_field_nearest_fraction):
2932         Fix fraction list fixation code. Take the fraction with the smallest
2933         difference with the target instead of the first one in the list.
2934
2935         * tests/check/gst/gststructure.c: (GST_START_TEST),
2936         (gst_structure_suite):
2937         Added test to verify correct fraction list fixation behaviour.
2938
2939 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
2940
2941         * win32/common/libgstreamer.def:
2942           Export gst_bus_add_signal_watch too.
2943
2944 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
2945
2946         * docs/libs/gstreamer-libs-sections.txt:
2947         Add new methods to docs.
2948
2949         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2950         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
2951         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
2952         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
2953         * libs/gst/base/gstbasesink.h:
2954         Add ts-offset property to fine-tune the synchronisation.
2955         API: GstBaseSink::ts-offset property
2956         API: gst_base_sink_set_ts_offset()
2957         API: gst_base_sink_get_ts_offset()
2958
2959 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
2960
2961         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2962         (gst_base_sink_init), (gst_base_sink_set_sync),
2963         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2964         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
2965         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
2966         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
2967         (gst_base_sink_get_property), (gst_base_sink_change_state):
2968         * libs/gst/base/gstbasesink.h:
2969         Add async property to instruct the sink never to inform the parent about
2970         ASYNC state changes, update docs.
2971         Check argument with g_return_* for the public functions.
2972         API: GstBaseSink::async property
2973         API: gst_base_sink_set_async_enabled()
2974         API: gst_base_sink_is_async_enabled()
2975
2976 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
2977
2978         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
2979         Improve debugging.
2980
2981         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2982         (gst_base_src_default_query), (gst_base_src_wait),
2983         (gst_base_src_do_sync), (gst_base_src_change_state):
2984         Rearrange some code so that we can add support for measuring the 
2985         startup latency.
2986
2987 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
2988
2989         * docs/random/ensonic/dynlink.txt:
2990           More thoughs on this.
2991
2992         * plugins/elements/gstcapsfilter.c:
2993           Add bugzilla ticket number to FIXME comment.
2994
2995 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
2996
2997         * docs/design/part-TODO.txt:
2998         * docs/design/part-block.txt:
2999         Update some docs.
3000
3001 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3002
3003         * gst/Makefile.am:
3004           Revert patch which uses $(gst_headers) instead of $^ because it
3005           breaks make dist.
3006
3007 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3008
3009         * tests/check/gst/gstbin.c: (GST_START_TEST):
3010           Fix leaks in the new unit test.
3011
3012 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
3013
3014         * gst/gst.c:
3015           Don't use GST_INFO before the debug system is actually initialised
3016           (shouldn't do any harm, but won't print anything either, so we can
3017           just as well remove it).
3018
3019         * gst/gstinfo.h:
3020           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
3021           compilers that don't support variadic macros (such as MSVC), should
3022           check for debug_level <= __gst_debug_min as well, since that's the
3023           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
3024           inline helper functions. Should improve performance a bit, but also
3025           makes sure uses of GST_INFO et.al are ignored if the debugging
3026           system isn't initialised yet (instead of printing an assertion
3027           failure).
3028
3029 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
3030
3031         patch by: David Nečas <yeti@physics.muni.cz>
3032
3033         * gst/Makefile.am:
3034           Replace some non portable makefile constructs.
3035
3036 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
3037
3038         * common/gtk-doc-plugins.mak:
3039           Grrrrr. Don't remove the types file on make clean.
3040
3041 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
3042
3043         * tools/gst-launch.1.in:
3044         Add colorspace to example pipeline. Fixes #458274.
3045
3046 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
3047
3048         * docs/random/release:
3049           The release manager should run 'make download-po' before making a
3050           release to make sure translations are up-to-date.
3051
3052         * po/LINGUAS:
3053         * po/be.po:
3054         * po/pl.po:
3055         * po/rw.po:
3056           Add some new translations.
3057
3058 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
3059
3060         * tools/gst-launch.c: (event_loop), (main):
3061         Don´t try to do any state management when a live pipeline posts
3062         buffering messages.
3063         Also make the buffering string translatable.
3064
3065 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3066
3067         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
3068         (bin_handle_async_start), (gst_bin_handle_message_func):
3069         Improve debugging.
3070         When adding elements, insert messages into the bus of the newly added
3071         element and make sure the element is the source of the message. This
3072         allows the parent bin to intercept the message and do the
3073         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
3074         messages to the app (which is not allowed).
3075         Update some docs.
3076
3077         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3078         Fix testsuite so that is does not work around messages that should not
3079         have been posted in the first place.
3080
3081 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3082
3083         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
3084         (update_degree), (gst_bin_sort_iterator_next):
3085         Fix annoying bug in the sorted iterator where a sink that is not really
3086         a sink (when it has downstream links) screwed up the iterator.
3087
3088         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3089         Unit test to verify the fix.
3090
3091 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3092
3093         * gst/gstmessage.h:
3094         Add some more docs for the messages.
3095
3096         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3097         (gst_base_sink_query):
3098         Add some more debugging.
3099
3100         * tools/gst-launch.c: (event_loop):
3101         When interrupting, don't try to set pipeline to PAUSED twice.
3102
3103 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3104
3105         
3106         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
3107         (bin_handle_async_start), (gst_bin_handle_message_func):
3108         Move ASYNC_START message posting to where it belongs, similar to
3109         async_done. 
3110         Don't post ASYNC_START when we are in error. 
3111         Post ASYNC_START when we added an async element to a bin.
3112
3113 2007-08-14  Julien MOUTTE  <julien@moutte.net>
3114
3115         * gst/gstindex.c: (gst_index_add_association): Fix index entry
3116         generation from vargs. Fixes #466595.
3117
3118 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3119
3120         * gst/gstbin.c: (gst_bin_element_set_state):
3121         Always change the state of a NO_PREROLL element even if it has ASYNC
3122         elements inside (in case of a bin).
3123
3124         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
3125         Unit test for this case.
3126
3127 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
3128
3129         * libs/gst/check/gstbufferstraw.c:
3130         * libs/gst/check/gstcheck.h:
3131         * libs/gst/controller/gstcontroller.c:
3132         * libs/gst/controller/gstcontrolsource.h:
3133         * libs/gst/controller/gstlfocontrolsource.h:
3134         * plugins/elements/gstcapsfilter.h:
3135         * plugins/elements/gstfdsink.h:
3136         * plugins/elements/gstfdsrc.h:
3137           Add more missing docs.
3138
3139 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3140
3141         * gst/gststructure.c:
3142         Add Since tag to docs.
3143
3144 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3145
3146         * docs/gst/gstreamer-sections.txt:
3147         * gst/gststructure.c: (gst_structure_get_uint):
3148         * gst/gststructure.h:
3149         Add function to get uint from a structure.
3150         API: gst_structure_get_uint()
3151
3152 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3153
3154         * gst/gstcaps.c: (gst_caps_set_simple_valist),
3155         (gst_caps_intersect):
3156         Fix proper check for simple caps.
3157
3158 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
3159
3160         * docs/gst/Makefile.am:
3161         * docs/libs/Makefile.am:
3162           Remove cruft and do some cleanups.
3163
3164         * docs/gst/gstreamer-docs.sgml:
3165         * docs/libs/gstreamer-libs-docs.sgml:
3166           Prepare for comming gtkdoc features (rebase against online docs).
3167
3168 2007-08-10  Michael Smith <msmith@fluendo.com>
3169
3170         * docs/gst/gstreamer-sections.txt:
3171           Add gst_registry_add_path to docs.
3172
3173 2007-08-10  Michael Smith <msmith@fluendo.com>
3174
3175         * gst/gstregistry.h:
3176           Add gst_registry_add_path, which was missing from this header.
3177
3178 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3179
3180         * libs/gst/controller/gstlfocontrolsource.c:
3181           Printf format fix.
3182
3183 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
3184
3185         * libs/gst/base/gstbasesink.c:
3186           Don't send an async_start message during downwards state change if 
3187           target state is less than READY
3188
3189 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         translated by: Gabor Kelemen <kelemeng@gnome.hu>
3192
3193         * po/LINGUAS:
3194         * po/hu.po:
3195           Added Hungarian translation.
3196
3197 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3198
3199         * po/fi.po:
3200         * po/it.po:
3201         * po/nl.po:
3202         * po/sv.po:
3203         * po/uk.po:
3204           Updated translations.
3205
3206 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3207
3208         * libs/gst/controller/Makefile.am:
3209         Dist gstlfocontrolsourceprivate.h
3210
3211 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3212
3213         * docs/libs/gstreamer-libs.types:
3214         Don't register the enum type gst_lfo_waveform_get_type() in the
3215         .types file - only GObject derived types belong.
3216
3217 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3218
3219         Patch by: <arenevier at fdn dot fr>
3220
3221         * gst/gstbuffer.h:
3222         Remove comma from last element in enum to avoid compile errors when
3223         using -pendantic. Fixes #464366.
3224
3225 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3226
3227         * docs/design/part-TODO.txt:
3228         Add some more TODO items
3229
3230         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
3231         Improve debugging.
3232
3233         * gst/gstcaps.c: (gst_caps_intersect):
3234         Optimize trivial intersection case between identical caps pointers.
3235
3236         * gst/gstelement.c: (gst_element_continue_state),
3237         (gst_element_set_state_func):
3238         * gst/gstpad.c:
3239         Fix spelling and grammar mistakes.
3240
3241 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
3242
3243         * po/POTFILES.in:
3244         * po/POTFILES.skip:
3245           Update POTFILES. Fixes #461599.
3246
3247 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3248
3249         * gst/gst.c:
3250         Fix confusing typo in debug output.
3251
3252 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3253
3254         reviewed by: Stefan Kost <ensonic@users.sf.net>
3255
3256         * libs/gst/controller/Makefile.am:
3257         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3258         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3259         (gst_lfo_control_source_new),
3260         (gst_lfo_control_source_set_waveform),
3261         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3262         (gst_lfo_control_source_finalize),
3263         (gst_lfo_control_source_dispose),
3264         (gst_lfo_control_source_set_property),
3265         (gst_lfo_control_source_get_property),
3266         (gst_lfo_control_source_class_init):
3267         * libs/gst/controller/gstlfocontrolsource.h:
3268         * libs/gst/controller/gstlfocontrolsourceprivate.h:
3269         API: Add GstLFOControlSource, a control source that gives values
3270         for specific timestamps based on several periodic waveforms.
3271         Fixes #459717.
3272
3273         * tests/check/libs/controller.c: (GST_START_TEST),
3274         (gst_controller_suite):
3275         * docs/libs/gstreamer-libs-docs.sgml:
3276         * docs/libs/gstreamer-libs-sections.txt:
3277         * docs/libs/gstreamer-libs.types:
3278         Add documentation and unit tests for GstLFOControlSource.
3279
3280 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
3281
3282         * configure.ac:
3283         Back to CVS
3284
3285 === release 0.10.14 ===
3286
3287 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
3288
3289         * configure.ac:
3290           releasing 0.10.14, "Breathing Vacuum"
3291
3292 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
3293
3294         * gst/gstelement.c: (gst_element_class_set_details_simple):
3295         * gst/gstelement.h:
3296           Make strings passed to gst_element_class_set_details_simple()
3297           constant, as they should be (#462752).
3298
3299 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
3300
3301         * gst/gstbin.c: (gst_bin_change_state_func),
3302         (bin_handle_async_done), (gst_bin_handle_message_func):
3303         Don't forget about the fact that some element went ASYNC even after a
3304         resync. This makes us post the ASYNC_DONE message correctly.
3305         Fixes #462558.
3306
3307 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3308
3309         * gst/gstregistry.c: (gst_registry_add_feature):
3310         When replacing an existing feature in the registry, make sure to
3311         continue holding a reference until we've replaced the name string
3312         within our feature hash table. Make sure to use g_hash_table_replace
3313         instead of g_hash_table_insert to ensure the new name string is used
3314         as a key instead of the old one that we're about to free.
3315         Fixes: #462085
3316
3317 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3318
3319         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3320         (gst_plugin_feature_set_name):
3321         Revert patch from #459466 until after the release and we can work
3322         out exactly what the problem is (if any).
3323
3324 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3325
3326         * docs/gst/gstreamer-sections.txt:
3327         * gst/gsttaglist.c:
3328         * gst/gsttaglist.h:
3329           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3330
3331 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3332
3333         * docs/libs/Makefile.am:
3334         Include our build-prefix libs and includes before the generic ones to
3335         avoid linking against the installed libs when we want the build-tree
3336         ones.
3337
3338 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3339
3340         Patch by: Steve Fink  <sphink gmail com>
3341
3342         * docs/pwg/building-testapp.xml:
3343           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3344           if people try to build or install the example from the plugin
3345           template against a GStreamer from package using the configure
3346           defaults.
3347
3348 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
3349
3350         Patch by: Steve Fink  <sphink gmail com>
3351
3352         * tools/gst-inspect.1.in:
3353           Document --print-all and --print-plugin-auto-install-info command
3354           line options in man page.
3355
3356 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3357
3358         * docs/gst/gstreamer-sections.txt:
3359         Add docs for new api function.
3360
3361 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3362
3363         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3364         * gst/gstelementfactory.h:
3365         API: gst_element_factory_has_interface()
3366         Added method to check if an element factory implements a named
3367         interface.
3368
3369 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
3370
3371         * configure.ac:
3372         * docs/gst/gstreamer.types.in:
3373           Another conditional doc check.
3374
3375         * gst/gstmessage.c:
3376         * gst/gstparamspecs.h:
3377         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3378         * gst/gstvalue.c:
3379         * gst/gstxml.h:
3380           API-doc fixes.
3381
3382 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3383
3384         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3385         (gst_registry_binary_load_feature),
3386         (gst_registry_binary_load_plugin),
3387         (gst_registry_binary_read_cache):
3388           Print error just once and with additional info.
3389
3390 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3391
3392         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3393         (helper_find_suggest), (helper_find_get_length),
3394         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3395         (gst_type_find_helper_for_buffer):
3396           Cleanup the typefindhelper code and add private doc comments.
3397
3398 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
3399
3400         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3401         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3402         Fix capsfilter for cases where the caps set on capsfilter will provide
3403         additional information.
3404         Fixes #449197
3405
3406 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3407
3408         * gst/gsttypefindfactory.c:
3409           Fix docs that recommened wrong function to use.
3410
3411 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3412
3413         * tools/gst-inspect.c: (print_plugin_features):
3414           Also give media-type for typefinders in element output.
3415
3416 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3417
3418         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3419         (gst_registry_remove_features_for_plugin_unlocked),
3420         (gst_registry_add_feature), (gst_registry_remove_feature),
3421         (gst_registry_lookup_feature_locked):
3422         * gst/gstregistry.h:
3423           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3424           Fixes #459501.
3425
3426 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3427
3428         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3429         (gst_plugin_feature_set_name):
3430           Avoid double memory usage for pluginfeature names. Fixes #459466.
3431
3432 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3433
3434         * gst/gstpad.h:
3435           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3436           driving the pipeline may need to explicitly check for NOT_LINKED as
3437           well, since IS_FATAL doesn't cover that.
3438
3439 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * docs/pwg/advanced-types.xml:
3442           Fix typo and duplicate entry in video formats list.
3443
3444 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
3445
3446         * libs/gst/controller/gstinterpolation.c:
3447         Also round to the nearest int when using cubic interpolation.
3448
3449 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
3450
3451         * libs/gst/controller/gstinterpolation.c:
3452         When linearly interpolating integer types, round to the nearest int
3453         by adding 0.5. Don't do it for float/double types.
3454         Fixes the failing controller test on my machine, which is somehow
3455         rounding differently than on the buildbots.
3456
3457 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3458
3459         * tools/gst-plot-timeline.py:
3460           Better log parsing (categories can have -). Adjust text vs. lines, so
3461           that they span the same y-range.        
3462
3463 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3464
3465         * docs/random/ensonic/audiobaseclasses.txt:
3466         * docs/random/ensonic/dynlink.txt:
3467         * docs/random/ensonic/profiling.txt:
3468           Save my thoughts.
3469
3470         * docs/random/moving-plugins:
3471           Add note to use g_assert type macros.
3472
3473 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3474
3475         * configure.ac:
3476         * libs/gst/check/Makefile.am:
3477           Add libm check as we use in for plugins.
3478
3479 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
3480
3481         * gst/gstbin.c: (gst_bin_continue_func):
3482         Check that the state_cookie hasn't changed since the continue_func
3483         was scheduled. Avoids problems where the state changes back to
3484         something it shouldn't be because it was changed in the meantime.
3485
3486 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
3487
3488         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3489         (gst_registry_binary_save_string),
3490         (gst_registry_binary_save_pad_template),
3491         (gst_registry_binary_save_feature),
3492         (gst_registry_binary_save_plugin),
3493         (gst_registry_binary_load_feature),
3494         (gst_registry_binary_load_plugin),
3495         (gst_registry_binary_read_cache):
3496           Fix memory leak. Be less verbose in the log.
3497
3498 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3499
3500         * tests/check/elements/.cvsignore:
3501         Add file to cvsignore as commanded.
3502
3503 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3504
3505         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3506         (mq_dummypad_event), (run_output_order_test):
3507         Use a GStaticMutex to protect all cases where libcheck
3508         fail_if/fail_unless macros might be called from multiple threads
3509         simultaneously to avoid errors like:
3510           "check_pack.c:107: :-1081725400:Bad message type arg"
3511
3512 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3513
3514         * tests/check/pipelines/stress.c: (GST_START_TEST):
3515         Make sure we set the pipeline back to the NULL state before
3516         dropping our final reference.
3517
3518 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3519
3520         * tests/check/elements/tee.c: (GST_START_TEST):
3521         Make the tee stress-test a little less stressful so it doesn't just
3522         time out on slow-machines, and remove a small race when it's starting 
3523         up by adding a get_state() call.
3524
3525 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
3526
3527         * gst/gst.c:
3528           Avoid reading registry twice on startup. Fixes #457322.
3529
3530 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3531
3532         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3533         * pkgconfig/gstreamer-check.pc.in:
3534         Substitute the CFLAGS for libcheck into our .pc file too so that
3535         dependent modules will pick it up properly if libcheck is installed
3536         into some other prefix.
3537
3538 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3539
3540         * configure.ac:
3541         Revert the pkg-config check for libcheck, since it pulls in the
3542         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
3543         a proper solution, either from the check project, or something else.
3544
3545 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
3546
3547         * configure.ac:
3548           Use pkg-config to locate check.
3549
3550 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
3551
3552         * gst/gsttaglist.c:
3553           Fix doc syntax.
3554
3555         * gst/gstutils.c:
3556         * gst/gstutils.h:
3557           Add deprecation guards.
3558
3559         * libs/gst/base/gstcollectpads.h:
3560           Don't document object (this is implicitly private).
3561
3562 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
3563
3564         * gst/gststructure.c: (gst_structure_parse_value):
3565           When deserialising foo=bar without a type cast, check if it's a
3566           boolean before falling back to a string type, otherwise things like
3567           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
3568           because the filtercaps end up having a signed=(string)true field,
3569           which causes problems later when intersection caps.
3570
3571         * tests/check/gst/gststructure.c: (GST_START_TEST):
3572           Add a unit test for this.
3573
3574 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
3575
3576         Reviewed by: Stefan Kost <ensonic@users.sf.net>
3577
3578         * libs/gst/controller/Makefile.am:
3579         * libs/gst/controller/gstcontroller.c:
3580         (gst_controlled_property_add_interpolation_control_source),
3581         (gst_controlled_property_new), (gst_controlled_property_free),
3582         (gst_controller_find_controlled_property),
3583         (gst_controller_new_valist), (gst_controller_new_list),
3584         (gst_controller_new), (gst_controller_remove_properties_valist),
3585         (gst_controller_remove_properties_list),
3586         (gst_controller_remove_properties),
3587         (gst_controller_set_property_disabled),
3588         (gst_controller_set_disabled), (gst_controller_set_control_source),
3589         (gst_controller_get_control_source), (gst_controller_get),
3590         (gst_controller_sync_values), (gst_controller_get_value_array),
3591         (_gst_controller_dispose), (gst_controller_get_type),
3592         (gst_controlled_property_set_interpolation_mode),
3593         (gst_controller_set), (gst_controller_set_from_list),
3594         (gst_controller_unset), (gst_controller_unset_all),
3595         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
3596         * libs/gst/controller/gstcontroller.h:
3597         * libs/gst/controller/gstcontrollerprivate.h:
3598         * libs/gst/controller/gstcontrolsource.c:
3599         (gst_control_source_class_init), (gst_control_source_init),
3600         (gst_control_source_get_value),
3601         (gst_control_source_get_value_array), (gst_control_source_bind):
3602         * libs/gst/controller/gstcontrolsource.h:
3603         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
3604         (gst_object_get_control_source):
3605         * libs/gst/controller/gstinterpolation.c:
3606         (gst_interpolation_control_source_find_control_point_node),
3607         (gst_interpolation_control_source_get_first_value),
3608         (_interpolate_none_get), (interpolate_none_get),
3609         (interpolate_none_get_boolean_value_array),
3610         (interpolate_none_get_enum_value_array),
3611         (interpolate_none_get_string_value_array),
3612         (_interpolate_trigger_get), (interpolate_trigger_get),
3613         (interpolate_trigger_get_boolean_value_array),
3614         (interpolate_trigger_get_enum_value_array),
3615         (interpolate_trigger_get_string_value_array):
3616         * libs/gst/controller/gstinterpolationcontrolsource.c:
3617         (gst_control_point_free), (gst_interpolation_control_source_reset),
3618         (gst_interpolation_control_source_new),
3619         (gst_interpolation_control_source_set_interpolation_mode),
3620         (gst_interpolation_control_source_bind),
3621         (gst_control_point_compare), (gst_control_point_find),
3622         (gst_interpolation_control_source_set_internal),
3623         (gst_interpolation_control_source_set),
3624         (gst_interpolation_control_source_set_from_list),
3625         (gst_interpolation_control_source_unset),
3626         (gst_interpolation_control_source_unset_all),
3627         (gst_interpolation_control_source_get_all),
3628         (gst_interpolation_control_source_get_count),
3629         (gst_interpolation_control_source_init),
3630         (gst_interpolation_control_source_finalize),
3631         (gst_interpolation_control_source_dispose),
3632         (gst_interpolation_control_source_class_init):
3633         * libs/gst/controller/gstinterpolationcontrolsource.h:
3634         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3635         API: Refactor GstController into the core controller which can take
3636         a GstControlSource for providing actual values for timestamps.
3637         Implement a interpolation control source and use this for backward
3638         compatibility, deprecate a bunch of functions that are now handled
3639         by GstControlSource or GstInterpolationControlSource.
3640         Make it possible to disable the controller completely or only for
3641         specific properties. Fixes #450711.
3642         * docs/libs/gstreamer-libs-docs.sgml:
3643         * docs/libs/gstreamer-libs-sections.txt:
3644         * docs/libs/gstreamer-libs.types:
3645         Add new functions and classes to the docs.
3646         * tests/check/libs/controller.c: (GST_START_TEST),
3647         (gst_controller_suite):
3648         * tests/examples/controller/audio-example.c: (main):
3649         Port unit test and example to the new API and add some new
3650         unit tests.
3651
3652 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
3653
3654         Patch by: Mark Nauwelaerts <manauw at skynet be>
3655
3656         * plugins/elements/gstmultiqueue.c:
3657         (gst_multi_queue_get_internal_links), (apply_buffer),
3658         (single_queue_overrun_cb), (gst_single_queue_new):
3659         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
3660         the pipeline layout can be tracked correctly. Fixes #453732.
3661
3662 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
3663
3664         * docs/gst/Makefile.am:
3665         * docs/libs/Makefile.am:
3666         * docs/plugins/Makefile.am:
3667           Simplify --extra-dir as gtkdoc scans recursively.
3668
3669 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3670
3671         * tools/gst-launch.c: (main):
3672         When we got an error, there is no point in waiting for preroll when
3673         shutting down.
3674
3675 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3676
3677         * plugins/elements/gsttee.c: (gst_tee_base_init),
3678         (gst_tee_request_new_pad), (gst_tee_release_pad),
3679         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
3680         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
3681         (gst_tee_chain):
3682         Be a lot smarter when deciding what srcpad to use for proxying
3683         the buffer_alloc. Also handle pad added/removed when doing so.
3684         Fixes #357959.
3685         Keep track of what pads we already pushed on in case we have pads
3686         added/removed while pushing. Fixes #374639 
3687
3688         * tests/check/Makefile.am:
3689         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
3690         (tee_suite):
3691         Added unit test for pad resync.
3692
3693 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3694
3695         * po/nl.po:
3696         * po/sv.po:
3697           Updated translations.
3698
3699 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
3702
3703         * po/LINGUAS:
3704         * po/fi.po:
3705           Added new Finnish translation.
3706
3707 2007-06-28  Wim Taymans  <wim@fluendo.com>
3708
3709         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3710         (single_queue_overrun_cb):
3711         When figuring out when a queue is filled, use our internal time estimate
3712         based on segments, just like check_full does.
3713
3714 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3715
3716         * gst/gstminiobject.c: (gst_mini_object_get_type):
3717           Remove 3 do-nothing methods.
3718
3719 2007-06-27  Wim Taymans  <wim@fluendo.com>
3720
3721         Patch by: Tim Angus <tim at ngus dot net>
3722
3723         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3724         (gst_capsfilter_set_property):
3725         Take a reference instead of a copy when setting "caps".
3726         Fix documentation to clarify this behaviour. Fixes #449414.
3727
3728 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3729
3730         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3731         * gst/gstplugin.c: (gst_plugin_init):
3732         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
3733         * gst/gstquery.c: (gst_query_get_type):
3734         * gst/gstregistry.c: (gst_registry_init):
3735         * gst/gsturi.c: (gst_uri_handler_base_init):
3736           Remove empty instance_init() functions to save relocs and lessen the
3737           noise. Remove some of the function prototypes that are doubled by
3738           G_DEFINE_TYPE.
3739           
3740 2007-06-27  Wim Taymans  <wim@fluendo.com>
3741
3742         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
3743
3744         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
3745         Add peer and direction in the XML serialisation of ghostpads.
3746         Fixes #449226.
3747
3748 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3749
3750         * configure.ac:
3751           Preserve useful information, thanks Tim.
3752
3753 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
3754
3755         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3756         (gst_single_queue_flush), (apply_segment), (apply_buffer),
3757         (gst_single_queue_push_one), (gst_multi_queue_loop),
3758         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3759         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
3760         (compute_high_id), (gst_single_queue_new):
3761         * plugins/elements/gstmultiqueue.h:
3762         Take the multiqueue lock when updating the fill level so we don't get
3763         confused. 
3764
3765         After applying a buffer or event on the src pad segment, make sure to
3766         call gst_data_queue_limits_changed() to get the data queue to unblock
3767         and check the filled state again.
3768         
3769         Rework the not-linked pad handling so the logic is that not-linked 
3770         pads can push as fast as they like, but only so they never get 
3771         ahead of any linked pads.
3772
3773         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
3774         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
3775         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
3776
3777         Add a test to check that not-linked pads always stay behind
3778         linked pads.
3779
3780         Fixes: #430682
3781
3782 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
3783
3784         * docs/random/release:
3785           Some updates to the release procedure.
3786
3787 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3788
3789         * gst/gstelementfactory.c: (__gst_element_details_clear):
3790           Microoptimization that saves stunning 80 bytes.
3791
3792 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
3793
3794         * docs/plugins/gstreamer-plugins.args:
3795         * docs/plugins/inspect/plugin-coreelements.xml:
3796         * docs/plugins/inspect/plugin-coreindexers.xml:
3797           Update docs with caps info.
3798
3799 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3800
3801         * po/it.po:
3802           Updated Italian translation.
3803
3804 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3805
3806         * ChangeLog:
3807         * po/vi.po:
3808           Update Vietnamese translations.
3809
3810 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3811
3812         * libs/gst/base/gstbasesink.c:
3813           Remove unused signal enum.
3814
3815 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3816
3817         * docs/gst/gstreamer-sections.txt:
3818         * gst/gstelement.c:
3819         * gst/gstutils.c: (gst_type_register_static_full):
3820         Beef up and include the docs for gst_type_register_static_full and
3821         gst_element_class_set_details_simple and add the API keyword
3822         in the ChangeLog.
3823
3824 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
3825
3826         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3827         (update_time_level), (gst_single_queue_push_one),
3828         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
3829         (single_queue_overrun_cb), (single_queue_underrun_cb),
3830         (single_queue_check_full):
3831         Fix setting max-* properties after adding queues.
3832         Use IS_FILLED for checking visible items.
3833         Signal overrun if multiple queues overrun.
3834         Add extra debug output.
3835         Patch by: Wim Taymans <wim@fluendo.com>
3836
3837 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
3838
3839         * gst/gstelement.c: (gst_element_class_set_details_simple):
3840         * gst/gstelement.h:
3841         * gst/gstutils.c: (gst_type_register_static_full):
3842         * gst/gstutils.h:
3843         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
3844         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
3845         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
3846         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
3847         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
3848         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
3849         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
3850         * plugins/elements/gstidentity.c: (gst_identity_base_init):
3851         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
3852         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3853         (apply_buffer), (gst_queue_chain):
3854         * plugins/elements/gsttee.c: (gst_tee_base_init):
3855         * plugins/elements/gsttypefindelement.c:
3856         (gst_type_find_element_base_init),
3857         (gst_type_find_element_class_init):
3858           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
3859           API: add gst_type_register_static_full
3860           API: add gst_element_class_set_details_simple
3861
3862 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3863
3864         * docs/pwg/advanced-types.xml:
3865           Fix typo in iana.org URI.
3866
3867 2007-06-19  Andy Wingo  <wingo@pobox.com>
3868
3869         * tests/check/pipelines/simple-launch-lines.c
3870         (test_state_change_returns): Enable pull-mode tests now that
3871         basesink has been fixed.
3872
3873         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
3874         Changed from gst_base_sink_is_prerolled, reversing the sense of
3875         the return value. Returns FALSE also if the sink is in pull mode,
3876         in which case it needs no preroll.
3877         (gst_base_sink_query, gst_base_sink_change_state): Update for
3878         needs_preroll change.
3879         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
3880         chaining up, in which we return SUCCESS directly if we activated
3881         in pull mode instead of ASYNC. Involves countering an async_start
3882         message sent before chaining up; not sure if this is correct, in
3883         an ideal world we only send async-start when activating in push
3884         mode.
3885
3886         * tests/check/pipelines/simple-launch-lines.c
3887         (test_state_change_returns): New test, partially disabled until
3888         basesink is fixed.
3889
3890 2007-06-19  Wim Taymans  <wim@fluendo.com>
3891
3892         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3893         (gst_multi_queue_sink_event):
3894         Fix event leak.
3895
3896 2007-06-19  Wim Taymans  <wim@fluendo.com>
3897
3898         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3899         (gst_bin_change_state_func), (bin_push_state_continue),
3900         (bin_handle_async_start), (bin_handle_async_done),
3901         (gst_bin_handle_message_func):
3902         Move the common code for posting state-change messages into
3903         one function.
3904         Broadcast the state signal after we posted the messages.
3905         Mark the bin as busy when it's doing a state-change.
3906         Make sure async-start/done messages don't interfere with the bin's
3907         state when it's busy.
3908         After the state change, let the bin check which elements completed the
3909         state change while it was busy so that it can update its state.
3910
3911 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
3912
3913         * docs/random/release:
3914         Add a note about updating the doap file to the release checklist
3915
3916 2007-06-18  Wim Taymans  <wim@fluendo.com>
3917
3918         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3919         (gst_single_queue_push_one), (gst_multi_queue_chain),
3920         (gst_multi_queue_sink_event):
3921         Make sure we don't reference the buffer/event after we have given away
3922         ownership in the queue.
3923
3924 2007-06-18  Wim Taymans  <wim@fluendo.com>
3925
3926         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
3927         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
3928         Update queue state _after_ adding the item in the queue because else we
3929         could end up being full without the element added yet.
3930
3931 2007-06-18  Wim Taymans  <wim@fluendo.com>
3932
3933         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
3934         (gst_bin_remove_func), (gst_bin_get_state_func),
3935         (gst_bin_element_set_state), (gst_bin_continue_func),
3936         (bin_push_state_continue), (bin_handle_async_start),
3937         (bin_handle_async_done), (gst_bin_handle_message_func):
3938         * gst/gstbin.h:
3939         Immediatly commit the toplevel bin state when receiving an async-done
3940         message. This enables us to avoid spawning a thread to commit the state
3941         in some common cases and it also avoids some races.
3942         Avoid spawning a state thread when adding/removing async elements to a
3943         toplevel bin. Instead we immediatly update the bin state.
3944         Get rid of iterating all the children when getting the state in the bin
3945         because it is now always up-to-date.
3946         Fix bug where locked elements would always return _SUCCESS even it they
3947         returned NO_PREROLL before being locked.
3948         Fix the order of the state_change, async-start/done messages that was
3949         sometimes incorrect.
3950         Mark the state_dirty field as deprecated, we don't need it anymore as we
3951         are always up-to-date.
3952
3953         * gst/gstelement.c: (gst_element_get_state_func),
3954         (gst_element_continue_state):
3955         Small debug inprovements.
3956         Return the previous element state return when nothing is pending instead
3957         of blindly returning SUCCESS.
3958
3959         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
3960         (gst_sinks_suite):
3961         Add a whole bunch of new testcases.
3962
3963 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3964
3965         * po/uk.po:
3966         * po/vi.po:
3967           Update translations.
3968
3969 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
3970
3971         * gst/gstpad.c:
3972         Fix typo in the docs.
3973
3974 2007-06-15  Wim Taymans  <wim@fluendo.com>
3975
3976         * docs/libs/gstreamer-libs-sections.txt:
3977         Add docs for new methods.
3978
3979 2007-06-15  Wim Taymans  <wim@fluendo.com>
3980
3981         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
3982         (gst_multi_queue_item_new):
3983         Don't use GSlice because we don't depend on >= 2.10 yet.
3984
3985 2007-06-15  Wim Taymans  <wim@fluendo.com>
3986
3987         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
3988         (update_time_level), (apply_segment), (apply_buffer),
3989         (gst_single_queue_push_one), (gst_multi_queue_item_new),
3990         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
3991         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
3992         (single_queue_underrun_cb), (single_queue_check_full):
3993         Remove debug printf.
3994
3995 2007-06-15  Wim Taymans  <wim@fluendo.com>
3996
3997         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
3998         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
3999         (gst_data_queue_set_flushing), (gst_data_queue_push),
4000         (gst_data_queue_pop), (gst_data_queue_drop_head),
4001         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
4002         * libs/gst/base/gstdataqueue.h:
4003         Various cleanups.
4004         Added methods to get the current levels and to inform the queue that the
4005         'full' limits changed.
4006
4007         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4008         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4009         (gst_single_queue_flush), (update_time_level), (apply_segment),
4010         (apply_buffer), (gst_single_queue_push_one),
4011         (gst_multi_queue_item_steal_object),
4012         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4013         (gst_multi_queue_loop), (gst_multi_queue_chain),
4014         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4015         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
4016         (gst_multi_queue_src_query), (single_queue_overrun_cb),
4017         (single_queue_underrun_cb), (single_queue_check_full),
4018         (gst_single_queue_new):
4019         Keep track of time in the queue by measuring the difference between
4020         running_time on input and output. This gives more accurate results and
4021         can compensate for segments correctly.
4022         Make a queue by default only 5 buffers deep. We will now increase the
4023         buffer size depending on the filledness of the other queues.
4024         Factor out commong flush code.
4025         Make sure we don't add additional refcounts to buffers when we can avoid
4026         it.
4027         Propagate GstFlowReturn differently.
4028         Use GSlice for intermediate GstMultiQueueItems.
4029         Keep track of EOS.
4030         Resize queues on over and underruns based on filled level of other
4031         queues.
4032         When checking if the queue is filled, prefer to measure in time if we
4033         can and fall back to bytes when no time is known.
4034
4035         * plugins/elements/gstqueue.c:
4036         Fix return value.
4037
4038 2007-06-15  Wim Taymans  <wim@fluendo.com>
4039
4040         * libs/gst/base/gstbasetransform.c:
4041         (gst_base_transform_sink_event):
4042         Work around the brokenness of the event vmethod in basetransform. Prefer
4043         to return TRUE when the subclass returned FALSE (meaning don't forward
4044         the event). 
4045
4046         * libs/gst/base/gstbasetransform.h:
4047         Clarify the docs.
4048
4049 2007-06-15  Wim Taymans  <wim@fluendo.com>
4050
4051         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4052         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4053         (gst_base_src_default_query), (gst_base_src_get_range),
4054         (gst_base_src_start):
4055         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
4056         Improve debugging.
4057
4058 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4059
4060         * docs/pwg/advanced-types.xml:
4061           Added more formats to caps table.
4062
4063 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4064
4065         * tools/gst-launch.c: (main):
4066           Remove crufy code. GOption does not need this workaround.
4067
4068 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4069
4070         * libs/gst/controller/gstcontroller.c:
4071         (gst_controlled_property_set_interpolation_mode):
4072           Fix wrong getter for enums in controller.
4073
4074 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4075
4076         * libs/gst/check/gstcheck.c: (gst_check_init):
4077           Intercept criticals and warnings in the Gst-Phonon log domain, so
4078           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
4079           well.
4080         
4081 2007-06-14  Edward Hervey  <edward@fluendo.com>
4082
4083         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
4084         Since this file doesn't include "gst.h" it will not go through the
4085         macros that disable GST_LOG if debugging was disabled.
4086
4087 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4088
4089         * libs/gst/check/Makefile.am:
4090         * libs/gst/check/gstcheck.h:
4091         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4092         * pkgconfig/gstreamer-check.pc.in:
4093           Ugly 'fix' for the controller unit test on the p5 bot: in
4094           fail_unless_equals_float() check whether the values are 'almost
4095           equal' by allowing a small absolute error, which should be good
4096           enough for our use cases (normal numbers and values close to 0).
4097           Proper fixage left to floating point arithmetic aficionados.
4098
4099 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4100
4101         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4102         (gst_base_sink_render_object), (gst_base_sink_get_position):
4103           Add two breaks thats where missing.
4104
4105 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4106
4107         * docs/libs/gstreamer-libs-sections.txt:
4108         * libs/gst/check/gstcheck.h:
4109           API: add fail_unless_equals_float() and assert_equals_float().
4110           Add documentation for some of the macros.
4111
4112         * tests/check/libs/controller.c: (GST_START_TEST):
4113           Use newly-added asserts.
4114
4115 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4116
4117         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
4118           Show the caps change in the log to help spotting the case of not
4119           exactly matching caps.
4120
4121 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4122
4123         * docs/pwg/building-boiler.xml:
4124           Fix typos, spotted by Thijs Vermeir (#447190).
4125
4126 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4127
4128         * docs/plugins/tmpl/.cvsignore:
4129         Ignore file to keep the buildbots happy
4130
4131 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4132
4133         * docs/plugins/Makefile.am:
4134         * docs/plugins/gstreamer-plugins-docs.sgml:
4135         * docs/plugins/gstreamer-plugins-sections.txt:
4136         Pull fdsink into the docs too.
4137
4138 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
4139
4140         * libs/gst/controller/gstinterpolation.c:
4141         Actually use the new functions with min/max checks for the trigger and
4142         none interpolation modes for get() and get_value_array() instead of
4143         just the latter.
4144
4145 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
4146
4147         * libs/gst/controller/gstcontroller.c:
4148         (gst_controlled_property_free):
4149         Unset the minimum and maximum GValues when freeing the corresponding
4150         GstControllerProperty struct.
4151
4152 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
4153
4154         * libs/gst/controller/gstcontroller.c:
4155         (gst_controlled_property_new):
4156         * libs/gst/controller/gstcontrollerprivate.h:
4157         * libs/gst/controller/gstinterpolation.c:
4158         (gst_controlled_property_find_control_point_node),
4159         (interpolate_none_get), (interpolate_none_get_enum_value_array),
4160         (interpolate_none_get_string_value_array),
4161         (interpolate_trigger_get),
4162         (interpolate_trigger_get_enum_value_array),
4163         (interpolate_trigger_get_string_value_array):
4164         Protect against values larger or smaller than the minimum or maximum
4165         allowed value for the property when using values that can be compared.
4166
4167         Optimize trigger interpolator a bit by taking the last requested value
4168         into account instead of always looping through the complete list.
4169
4170         Fix coding style a bit, everywhere else we use "return foo" instead
4171         of "return (foo)".
4172         
4173         * tests/check/libs/controller.c: (GST_START_TEST),
4174         (gst_controller_suite):
4175         Add unit test for the protection against too large or too small
4176         values.
4177
4178 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
4179
4180         * docs/random/slomo/controller.txt:
4181         Add some thoughts about the future of the controller.
4182
4183 2007-06-08  Wim Taymans  <wim@fluendo.com>
4184
4185         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4186         Don't overflow in retimestamping code.
4187
4188 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
4189
4190         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
4191         Use gst_util_guint64_to_gdouble for conversions.
4192         * win32/common/libgstreamer.def:
4193         Add new exported functions.
4194
4195 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
4196
4197         * gst/gstutils.c:
4198           Small docs addition.
4199
4200 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4201
4202         * README:
4203           Remove that test line again.
4204
4205 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4206
4207         * README:
4208           Test commit mail sending.
4209
4210 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4211
4212         * configure.ac:
4213           Fix typo and test commit mail sending.
4214
4215 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4216
4217         * tests/examples/controller/audio-example.c:
4218           Improve comment and test commit mail sending.
4219
4220 2007-06-07  Wim Taymans  <wim@fluendo.com>
4221
4222         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
4223         (gst_bin_remove_func), (gst_bin_element_set_state),
4224         (bin_handle_async_start), (bin_handle_async_done),
4225         (gst_bin_handle_message_func):
4226         Add helper function to find messages.
4227         Generate the async-done messages together with the state change
4228         messages.
4229         Small cleanups in handling toplevel bins.
4230
4231 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4232
4233         * libs/gst/base/gstdataqueue.c:
4234         * libs/gst/base/gstdataqueue.h:
4235         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4236         (gst_multi_queue_item_new), (gst_multi_queue_chain),
4237         (gst_multi_queue_sink_event):
4238         * tests/check/elements/multiqueue.c: (multiqueue_suite):
4239           Fix multiqueue leaking buffers and events when downstream or the
4240           queue are flushing. Make refcounting assumptions explicit and
4241           document them (shouldn't break existing code that uses it other than
4242           maybe leak miniobjects, but that already happens anyway). Add unit
4243           test for the most common flushing case. Fixes #423700.
4244           
4245 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4246
4247         * libs/gst/controller/gstcontroller.c:
4248         Clarify docs: The get_all, get_value_array(s) functions
4249         don't modify the GObject properties.
4250
4251 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4252
4253         * libs/gst/controller/gstcontroller.c:
4254         (gst_controlled_property_set_interpolation_mode),
4255         (gst_controlled_property_prepend_default),
4256         (gst_controlled_property_new), (gst_controller_set_unlocked),
4257         (gst_controller_set), (gst_controller_set_from_list),
4258         (gst_controller_unset), (gst_controller_unset_all):
4259         * libs/gst/controller/gstcontrollerprivate.h:
4260         * libs/gst/controller/gstinterpolation.c:
4261         Factor out the 'set' logic into gst_controller_set_unlocked for the
4262         gst_controller_set and gst_controller_set_from_list functions.
4263
4264         To make life of the interpolators easier always add a control point
4265         at timestamp zero with the default value.
4266
4267         In the linear interpolator make things more obvious by better variable
4268         naming (slope).
4269
4270         Implement cubic interpolation mode (by using a natural cubic spline)
4271         and map the quadratic interpolation mode to this too (as quadratic
4272         doesn't make much sense, see discussion on the list).
4273
4274         * tests/check/libs/controller.c: (GST_START_TEST),
4275         (gst_controller_suite):
4276         Add unit test for the cubic interpolation mode and check everywhere
4277         if the interpolation mode could be set as expected.
4278
4279 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4280
4281         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4282           Don't use GLib-2.10 functions, we still depend on
4283           GLib-how-old-is-it-again-2.8.
4284
4285 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4286
4287         * docs/gst/gstreamer-sections.txt:
4288         * gst/Makefile.am:
4289         * gst/gst.c:
4290         * gst/gst.h:
4291         * gst/gstparamspecs.c: (_gst_param_fraction_init),
4292         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4293         (_gst_param_fraction_values_cmp),
4294         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4295         * gst/gstparamspecs.h:
4296         * gst/gstvalue.c:
4297         * tests/check/Makefile.am:
4298         * tests/check/gst/.cvsignore:
4299         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4300         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4301         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4302         (GST_START_TEST), (gst_param_spec_suite):
4303           API: add GstParamSpecFraction, so elements can have fraction
4304           properties without lots of painful string parsing (#444648).
4305
4306 2007-06-05  Wim Taymans  <wim@fluendo.com>
4307
4308         * gst/gstobject.c: (gst_object_class_init):
4309         Fix signal signature.
4310
4311         * gst/gstsegment.c:
4312         Add small clarification in the api docs.
4313
4314         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4315         States are protected with object lock.
4316
4317 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4318
4319         * AUTHORS:
4320         I should probably be listed as an author by now.
4321
4322         * docs/random/release:
4323         Update the release doc
4324
4325 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
4326
4327         * gst/gstvalue.c:
4328           Make docs for gst_value_compare() mention return enums that
4329           actually exist.
4330
4331 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4332
4333         * configure.ac:
4334           Back to CVS
4335
4336 === release 0.10.13 ===
4337
4338 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
4339
4340         * configure.ac:
4341           releasing 0.10.13, "With or without you"
4342
4343 2007-05-25  Wim Taymans  <wim@fluendo.com>
4344
4345         * gst/gstbin.c: (bin_handle_async_done):
4346         Make sure that the child bin stops after completing the async state
4347         change so that the parent can continue the state change to PLAYING.
4348         Fixes #441159.
4349
4350 2007-05-25  Wim Taymans  <wim@fluendo.com>
4351
4352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4353         (unref_data), (gst_collect_pads_remove_pad),
4354         (gst_collect_pads_check_pads):
4355         Use additional refcounting to avoid crashes when dynamically adding and
4356         removing pads. Fixes #420206.
4357
4358 2007-05-24  Wim Taymans  <wim@fluendo.com>
4359
4360         * tools/gst-launch.c: (event_loop):
4361         When buffering goes from a two digit to a single digit number, make sure
4362         to remove the old second digit by writing a blank over it.
4363
4364 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4365
4366         * libs/gst/base/gstdataqueue.c:
4367           Eliminate tabs and trailing comma in enum list; fix some typos.
4368
4369 2007-05-24  Wim Taymans  <wim@fluendo.com>
4370
4371         * tests/check/gst/gstbin.c: (GST_START_TEST):
4372         Allow refcount of 3 and 4 because some state thread might still be busy
4373         with it.
4374
4375 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4376
4377         * plugins/elements/Makefile.am:
4378         * plugins/elements/gstmultiqueue.h:
4379         * plugins/elements/gstqueue.h:
4380           These are not installed headers, no need for padding.
4381
4382 2007-05-24  Wim Taymans  <wim@fluendo.com>
4383
4384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4385         (gst_bin_continue_func):
4386         Enable latency for next release.
4387         Restore STATE_LOCK around recalc_state that was left out during the
4388         rewrite and could result in racy behaviour when _get_state and
4389         recalc_state are run concurrently. See #440463.
4390
4391 2007-05-23  Wim Taymans  <wim@fluendo.com>
4392
4393         * tests/check/gst/gstsystemclock.c: (store_callback),
4394         (GST_START_TEST):
4395         Improve test_async_order to also work when both timers are already
4396         expired when we get scheduled to check it.
4397
4398 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4399
4400         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4401         (gst_bin_set_property), (gst_bin_get_property),
4402         (gst_bin_remove_func), (gst_bin_handle_message_func):
4403         * gst/gstbin.h:
4404           'private' is a c++ keyword, let's not use that in header files,
4405           otherwise c++ compilers will throw a tantrum.
4406
4407 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4408
4409         * plugins/elements/gstelements.c:
4410         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4411         (gst_file_sink_get_current_offset):
4412         * plugins/indexers/gstindexers.c: (plugin_init):
4413           Use #ifdef for HAVE_XYZ for consistency.
4414
4415         * tests/check/Makefile.am:
4416         * tests/check/elements/.cvsignore:
4417         * tests/check/elements/filesink.c: (setup_filesink),
4418         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4419           Add some unit tests for filesink.
4420
4421 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4422
4423         Patch by: Mark Nauwelaerts <manauw at skynet be>
4424
4425         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4426         (gst_file_sink_query), (gst_file_sink_do_seek),
4427         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4428         * plugins/elements/gstfilesink.h:
4429           Fix position reporting; rename data_written member to current_pos to
4430           reflect its real meaning (fixes #412648).
4431
4432 2007-05-22  Edward Hervey  <edward@fluendo.com>
4433
4434         * docs/gst/gstreamer-sections.txt:
4435         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4436         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4437         (gst_bin_remove_func), (gst_bin_handle_message_func):
4438         * gst/gstbin.h:
4439         Add a property for bins that handle the state change of their childs.
4440         Fixes #435880
4441
4442 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
4443
4444         * libs/gst/controller/gstinterpolation.c:
4445         Use an array of the correct type when using _get_value_array with
4446         linear interpolation.
4447
4448 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
4449
4450         * gst/gstelement.c (gst_element_requires_clock,
4451           gst_element_provides_clock, gst_element_request_pad,
4452           gst_element_class_set_details, gst_element_class_set_details_simple,
4453           gst_element_default_send_event, gst_element_abort_state,
4454           gst_element_continue_state, gst_element_set_state,
4455           gst_element_set_state_func, iterator_activate_fold_with_resync):
4456         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4457           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4458           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4459           gst_pad_get_range, gst_pad_pull_range):
4460         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4461           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4462           GstPadActivateModeFunction, GstPadChainFunction,
4463           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4464           GstPadFixateCapsFunction, GstPadTemplate):
4465         * gst/gstpipeline.c (gst_pipeline_change_state,
4466           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4467           gst_pipeline_set_clock, gst_pipeline_auto_clock,
4468           gst_pipeline_get_delay):
4469           Whitespace and docs fixes.
4470
4471 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4472
4473         * libs/gst/controller/gstinterpolation.c:
4474         (interpolate_trigger_get_enum_value_array),
4475         (interpolate_trigger_get_string_value_array):
4476         Add support for retrieving value arrays when using the trigger
4477         interpolation mode. 
4478
4479 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4480
4481         * libs/gst/controller/gstcontroller.c:
4482         (gst_controller_get_value_array):
4483         * libs/gst/controller/gstcontroller.h:
4484         Clarify the docs of gst_controller_get_value_array(): The array where
4485         the values should be written to must be allocated as there seems to be
4486         no way to get the size of a random GType. This doesn't change any
4487         behaviour. Also fix some typos all over the place and remove an unused,
4488         commented function that is not necessary as g_object_set() could be
4489         used instead.
4490         * tests/check/libs/controller.c: (GST_START_TEST),
4491         (gst_controller_suite):
4492         Add unit test for gst_controller_get_value_array().
4493
4494 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
4495
4496         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4497
4498         Disable part of the gst_buffer_try_new_and_alloc test, because
4499         it can happily succeed on 64-bit systems where there's more address
4500         space available.
4501
4502 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4503
4504         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4505         Add unit test for the improved caps checking from bug #421543.
4506
4507 2007-05-21  Wim Taymans  <wim@fluendo.com>
4508
4509         * docs/design/part-synchronisation.txt:
4510         Small addition.
4511
4512         * gst/gstbin.c: (gst_bin_query):
4513         * plugins/elements/gstqueue.c: (apply_segment):
4514         Improve debugging.
4515
4516         * gst/gstmessage.h:
4517         Improve docs.
4518
4519 2007-05-21  Wim Taymans  <wim@fluendo.com>
4520
4521         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4522         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4523         (gst_pad_configure_src):
4524         Added simple version of improved caps checking. It was previously
4525         assumed that a setcaps function would check the validity of the caps but
4526         people prefer us to check caps against the template automatically. 
4527         Fixes #421543.
4528
4529 2007-05-21  Wim Taymans  <wim@fluendo.com>
4530
4531         * libs/gst/base/gstbasetransform.h:
4532         Fix macro for locking/unlocking the transform lock.
4533
4534 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4535
4536         * docs/plugins/tmpl/.cvsignore:
4537           Ignore more.
4538
4539 2007-05-18  Edward Hervey  <edward@fluendo.com>
4540
4541         * plugins/elements/gstqueue.c: (gst_queue_loop):
4542         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
4543         for the subtle art of warning a potentially blocking thread that it
4544         should check the source pad return value, and relay the information
4545         upstream.
4546
4547 2007-05-18  Edward Hervey  <edward@fluendo.com>
4548
4549         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4550         Release the queue lock !
4551
4552 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4553
4554         * docs/libs/gstreamer-libs-sections.txt:
4555         Add the two new controller functions to the appropiate places.
4556
4557 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4558
4559         reviewed by: Stefan Kost <ensonic@users.sf.net>
4560
4561         * libs/gst/controller/gstcontroller.c:
4562         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
4563         (_gst_controller_get_property), (_gst_controller_set_property),
4564         (_gst_controller_init), (_gst_controller_class_init):
4565         * libs/gst/controller/gstcontroller.h:
4566         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
4567         (gst_object_get_control_rate), (gst_object_set_control_rate):
4568         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
4569         Add API that provides sync suggestion timestamps for elements that
4570         call gst_object_sync_values() from which those elements can subdivide
4571         their processing loop to get the best results for the controlled
4572         properties. For now it just suggests last_sync + control_rate as
4573         new timestamp but this will be improved in the future.
4574
4575         While doing that change the control-rate property to a GstClockTime
4576         from guint and change it's meaning from samples to nanoseconds as
4577         the GstController doesn't know anything about sampling rate. Strictly
4578         speaking this breaks ABI but as the control-rate property didn't do
4579         anything in the past and as such couldn't be used this should be no
4580         problem.        
4581
4582 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4583
4584         reviewed by: Stefan Kost <ensonic@users.sf.net>
4585
4586         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4587         (gst_controller_unset_all):
4588         * libs/gst/controller/gstcontrollerprivate.h:
4589         * libs/gst/controller/gstinterpolation.c:
4590         (gst_controlled_property_find_control_point_node):
4591         Save last synced value from the list to continue searching from there
4592         in future syncs. This speeds everything up a bit.
4593         
4594 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4595
4596         reviewed by: Stefan Kost <ensonic@users.sf.net>
4597
4598         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
4599         (gst_control_point_find), (gst_controlled_property_new),
4600         (gst_control_point_free), (gst_controlled_property_free),
4601         (gst_controller_set), (gst_controller_set_from_list),
4602         (gst_controller_unset), (gst_controller_unset_all),
4603         (gst_controller_sync_values):
4604         * libs/gst/controller/gstcontroller.h:
4605         * libs/gst/controller/gstcontrollerprivate.h:
4606         * libs/gst/controller/gstinterpolation.c:
4607         (gst_controlled_property_find_control_point_node),
4608         (interpolate_none_get), (interpolate_trigger_get):
4609         Add a new private GstControlPoint struct which "inherits" from
4610         GstTimedValue to allow different interpolators to store internal
4611         values next to each control point. From the outside everything is
4612         still a GstControlPoint so we don't loose binary compatibility.
4613         Also fixup all the GValue handling to not leak GValues or list nodes.
4614         * tests/check/libs/controller.c: (GST_START_TEST):
4615         Free the list nodes and GValues in the controller_misc test.
4616
4617 2007-05-17  Edward Hervey  <edward@fluendo.com>
4618
4619         * gst/gstsegment.c:
4620         Small doc fix.
4621
4622 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
4623
4624         * gst/gstplugin.c: (gst_plugin_load_file):
4625           If we fail to load a plugin because of unresolved symbols or missing
4626           libraries and spew a warning to stderr, we may just as well mention
4627           which plugin it was that failed to load.
4628
4629 2007-05-13  David Schleef  <ds@schleef.org>
4630
4631         * docs/Makefile.am: the gtk-doc makefile snippet correctly
4632           handles the case when ENABLE_GTK_DOC is false, and installs
4633           the prebuilt documentation.  So gtk-doc subdirs are 
4634           unconditionally enabled.  Fixes: #349099.
4635
4636 2007-05-13  David Schleef  <ds@schleef.org>
4637
4638         * gst/gstutils.h: Reword some documentation.
4639
4640 2007-05-12  David Schleef  <ds@schleef.org>
4641
4642         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
4643           do anything with the passed "module" parameter, so remove it.
4644           Allows removal of additional vestigal code.
4645
4646 2007-05-12  David Schleef  <ds@schleef.org>
4647
4648         * gst/gstplugin.c:
4649           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
4650           Switch to using g_stat() because it's more portable.
4651
4652 2007-05-12  David Schleef  <ds@schleef.org>
4653
4654         * gst/gst.c:
4655           Add GST_DISABLE_OPTION_PARSING, in order to disable option
4656           parsing for embedded systems.
4657         * gst/gstelementfactory.c:
4658           Allow gst_element_register() to be called with plugin==NULL.
4659           Did nobody notice that static elements were broken?
4660
4661 2007-05-12  Wim Taymans  <wim@fluendo.com>
4662
4663         * tools/gst-launch.c: (event_loop):
4664         Give more interesting info when buffering starts and stops.
4665         Fix case where buffering starts but we fail to update the buffering flag
4666         because the target state is not PLAYING.
4667
4668 2007-05-12  Wim Taymans  <wim@fluendo.com>
4669
4670         * plugins/elements/gstqueue.c: (gst_queue_init),
4671         (gst_queue_finalize), (update_time_level), (apply_segment),
4672         (apply_buffer), (gst_queue_locked_flush),
4673         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
4674         (gst_queue_handle_sink_event), (gst_queue_chain),
4675         (gst_queue_push_one), (gst_queue_loop):
4676         * plugins/elements/gstqueue.h:
4677         Refactor an cleanup queue a bit.
4678         Do better time level calculations that also work when the srcpad is not
4679         yet running.
4680         Remove some unneeded debug lines.
4681
4682         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
4683         Added testcase for time level measurement.
4684         Try to make some stuff more racefree.
4685
4686 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4687
4688         * gst/gsturi.c: (gst_element_make_from_uri):
4689           Don't leak plugin feature.
4690
4691         * tests/check/Makefile.am:
4692         * tests/check/gst/.cvsignore:
4693         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
4694           Add brain-dead unit test.
4695
4696 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4697
4698         Patch by: Jeroen Wouters <woutersj at gmail com>
4699
4700         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
4701           Treat protocol strings in a case-insensitive way (#437563).
4702
4703 2007-05-11  Michael Smith <msmith@fluendo.com>
4704
4705         * gst/gstplugin.c: (gst_plugin_load_file):
4706         * gst/gstregistry.c: (gst_registry_scan_path_level):
4707           Don't print a g_warning for any failure to load a shared object.
4708           Instead, push this down into gstplugin.c, and warn _only_ if we
4709           failed to open the module (i.e. failure to link).
4710           Avoids warnings on normal, working, non-plugin .so files.
4711
4712 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
4713
4714         * gst/gstplugin.c (gst_plugin_load_file):
4715         * gst/gstregistry.c (GST_CAT_DEFAULT,
4716           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
4717           Print a g_warning if there was an error when loading a plugins during
4718           registry scan. The shuld help beginners starting with gst-plugin
4719           template.
4720
4721 2007-05-10  Wim Taymans  <wim@fluendo.com>
4722
4723         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4724         (update_time_level), (gst_queue_locked_flush),
4725         (gst_queue_handle_sink_event), (gst_queue_chain),
4726         (gst_queue_push_one), (gst_queue_loop):
4727         * plugins/elements/gstqueue.h:
4728         Be smarter when calculating the current amount of data in the queue by
4729         measuring the difference between start and end timestamps (in running
4730         time) inside the queue. Fixes #432876.
4731         API: GstQueue::pushing to notify elements that we are pushing data again
4732         since the running signal is rather broken for this purpose.
4733
4734 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
4735
4736         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
4737           gst_queue_base_init, gst_queue_init):
4738           use GST_BOILERPLATE
4739
4740 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
4741
4742         * win32/common/libgstreamer.def:
4743         Add new exported functions.
4744         * win32/vs6/grammar.dsp:
4745         Use grammar pre-generated files.
4746
4747 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4748
4749         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
4750
4751         * gst/Makefile.am:
4752         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
4753         * gst/gstparse.h:
4754         * gst/gstutils.c: (gst_parse_bin_from_description):
4755         * gst/gstutils.h:
4756           Maintain API and ABI when --disable-parse is used. Now that
4757           we have an appropriate error code, we can just return NULL and the
4758           appropriate error when gst_parse_launch() is used despite it having
4759           been disabled (#342564).
4760
4761         * tests/check/Makefile.am:
4762         * tests/check/pipelines/.cvsignore:
4763         * tests/check/pipelines/parse-disabled.c:
4764           Make sure these functions exist and return NULL plus a GError when
4765           --disable-parse is used.
4766
4767 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4768
4769         * tests/benchmarks/complexity.c: (main):
4770         * tests/benchmarks/mass-elements.c: (main):
4771           Set a good example and don't leak messages.
4772
4773 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
4774
4775         * docs/gst/Makefile.am:
4776         * docs/libs/Makefile.am:
4777           Correct fixxrefs options.
4778
4779         * docs/plugins/Makefile.am:
4780         * docs/plugins/gstreamer-plugins-docs.sgml:
4781         * docs/plugins/gstreamer-plugins-sections.txt:
4782         * plugins/elements/Makefile.am:
4783         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
4784         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
4785           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
4786           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
4787           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
4788           _GstCapsFilterClass, trans_class):
4789         * plugins/elements/gstelements.c (name, rank, type, _elements):
4790         * plugins/elements/gstidentity.c
4791           (gst_identity_check_imperfect_timestamp,
4792           gst_identity_check_imperfect_offset):
4793           Document capsfilter and add doc-blurb to identity.
4794
4795 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
4796
4797         * libs/gst/controller/gstcontroller.c:
4798         (gst_controlled_property_set_interpolation_mode):
4799         * libs/gst/controller/gstinterpolation.c:
4800           Don't crash if someone tries to set an interpolation mode that
4801           is invalid or that isn't supported yet. Fixes #422295.
4802
4803         * tests/check/libs/controller.c: (GST_START_TEST),
4804         (gst_controller_suite):
4805           Add a test case for the above.
4806
4807 2007-05-03  Edward Hervey  <edward@fluendo.com>
4808
4809         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
4810         Properly set the last_stop position on GstSegment. This will only happen
4811         if there is a buffer to push out.
4812
4813 2007-05-03  Wim Taymans  <wim@fluendo.com>
4814
4815         * libs/gst/base/gstbasetransform.c:
4816         (gst_base_transform_buffer_alloc):
4817         always_in_place does not mean that the sink and source caps are the
4818         same! Make sure we don't blindly proxy the buffer_alloc in this case.
4819
4820 2007-05-03  Wim Taymans  <wim@fluendo.com>
4821
4822         * docs/libs/gstreamer-libs-sections.txt:
4823         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4824         (gst_base_src_default_query), (gst_base_src_get_range):
4825         * libs/gst/base/gstbasesrc.h:
4826         API: gst_base_src_query_latency(). Added method so that subclasses can
4827         easily get the latency values of the base source class.
4828
4829 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
4830
4831         * tools/gst-inspect.c (print_implementation_info):
4832         Remove 0.8 cruft.
4833
4834 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
4835
4836         * tools/Makefile.am:
4837         * tools/gst-launch.1.in:
4838           Don't create a customised man page based on the host architecture,
4839           describe the default registry path generically. That way the man
4840           page is the same for all architectures and packagers have one
4841           multilib issue less to deal with. Fixes #434926.
4842
4843 2007-05-02  Wim Taymans  <wim@fluendo.com>
4844
4845         * gst/gstpad.c:
4846         Fix documentation as spotted by rg on IRC. 
4847
4848 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
4849
4850         * gst/gstutils.c:
4851           Improve docs for gst_element_{link,unlink}.
4852
4853 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
4854
4855         * docs/design/part-events.txt:
4856         * docs/design/part-overview.txt:
4857         * gst/gstevent.c:
4858         * gst/gsturi.c:
4859         * gst/gsturi.h:
4860         * libs/gst/base/gstbasesink.c:
4861           Typo fixes; minor docs addition.
4862
4863 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4864
4865         * docs/gst/gstreamer-sections.txt:
4866         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
4867         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
4868         * gst/gsturi.h:
4869         API: Add gst_uri_protocol_is_supported(), which checks if a sink
4870         or src that supports a given URI protocol exists.
4871
4872 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4873
4874         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4875         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4876         Set the location to NULL if "file://" is set as URI. Otherwise
4877         some random previous URI would still be set if "file://" is
4878         set on an already used filesink/filesrc.
4879
4880 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
4881
4882         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4883         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4884         Special case the "file://" URI as as this is used by some
4885         applications to test with gst_element_make_from_uri if there's
4886         an element that supports the URI protocol.
4887         Also move the g_path_is_absolute() check for the location part
4888         of the URI to also check this for "file://localhost/bla" URIs.
4889
4890 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
4891
4892         * docs/gst/gstreamer-sections.txt:
4893         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
4894         * gst/gstbuffer.h:
4895         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4896         (gst_buffer_suite):
4897           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
4898
4899 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
4900
4901         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
4902         (gst_registry_binary_load_pad_template),
4903         (gst_registry_binary_load_plugin),
4904         (gst_registry_binary_read_cache):
4905         * gst/gstregistrybinary.h:
4906           Implement no-mmap alternative for registry reading. Do code cleanups.
4907           Add more comments about avoiding strdups for all text data. Comments
4908           welcome.
4909
4910 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
4911
4912         * gst/gstregistrybinary.h (GstBinaryPluginElement,
4913           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
4914           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
4915           Comment structs and reformat to fix the build (that stuff should go
4916           into a priv. header).
4917
4918 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
4919
4920         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
4921         (gst_registry_binary_load_feature):
4922         * gst/gstregistrybinary.h:
4923           Refactor so that we can implement multiple features. Add support for
4924           TypeFindFactory features.
4925
4926 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
4927
4928         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
4929
4930         * configure.ac:
4931           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
4932
4933 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
4934
4935         * gst/gstbin.c: (gst_bin_element_set_state),
4936         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
4937         (bin_handle_async_done), (gst_bin_handle_message_func):
4938           Fix build with --gst-disable-gst-debug
4939
4940 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
4941
4942         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
4943           Make sure streaming has finished before calling the ::stop() vfunc,
4944           since that vfunc might clear state which is being used in the
4945           streaming thread. This fixes a race that caused crashes in
4946           audioresample when shutting down a pipeline (#420106).
4947
4948 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4949
4950         * docs/gst/gstreamer-sections.txt:
4951           That was one byte missing.
4952
4953 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4954
4955         * configure.ac:
4956         * docs/gst/gstreamer-sections.txt:
4957         * gst/Makefile.am:
4958         * gst/gstconfig.h.in:
4959         * gst/gstobject.c: (gst_object_class_init),
4960         (gst_signal_object_class_init):
4961         * gst/gstobject.h:
4962           2nd attempt to have a xml-less build as a joined effort of #413123
4963           and #421480.
4964
4965 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
4966
4967         * docs/design/draft-tagreading.txt:
4968           Added open issues/thoughts to draft.
4969
4970 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4971
4972         * gst/parse/grammar.tab.pre.c:
4973         * gst/parse/grammar.tab.pre.h:
4974         * gst/parse/lex._gst_parse_yy.pre.c:
4975         Update the prebuild parser sources.
4976
4977 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4978
4979         * gst/parse/Makefile.am:
4980         And now fix the building of the flex sources. Now everything should
4981         work as expected.
4982
4983 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4984
4985         * gst/parse/Makefile.am:
4986         Now hopefully fix the build failures by setting proper rule
4987         dependencies and moving instead of copying.
4988
4989 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4990
4991         * tests/benchmarks/complexity.gnuplot:
4992         * tests/benchmarks/complexity.scm:
4993         * tests/benchmarks/mass-elements.gnuplot:
4994         * tests/benchmarks/mass-elements.scm:
4995           Total licensification.
4996
4997 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4998
4999         * gst/parse/Makefile.am:
5000           Fix the build by correcting the rule that gave wrong files to flex.
5001
5002 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5003
5004         * tests/benchmarks/complexity.c:
5005         * tests/benchmarks/mass-elements.c:
5006           Change licence to LGPL as granted by Benjamin and Andy.
5007
5008 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5009
5010         * gst/parse/Makefile.am:
5011         Add correct grammar.tab.h dependency if compiling without new enough
5012         flex. Fixes #431150.
5013
5014 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5015
5016         * gst/parse/Makefile.am:
5017         Fix typo and use outdated sources if the flex/bison sources are newer
5018         than the pregenerated ones but flex is too old. Print a warning in
5019         that case. This should fix the build on the build bot.
5020
5021 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5022
5023         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
5024         * gst/parse/Makefile.am:
5025         * gst/parse/grammar.y:
5026         * gst/parse/parse.l:
5027         Make the parser reentrant and recursively callable. This requires flex
5028         >= 2.5.31, for older versions pregenerated sources are used as we
5029         can't bump the build dependency. Finally fixes #349180.
5030
5031         * gst/gstparse.c: (gst_parse_launch):
5032         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
5033         now anyway.
5034
5035         * docs/gst/Makefile.am:
5036         * docs/gst/Makefile.am:
5037         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
5038         (__gst_parse_strfree), (__gst_parse_link_new),
5039         (__gst_parse_link_free), (__gst_parse_chain_new),
5040         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
5041         (gst_parse_element_set), (gst_parse_free_link),
5042         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
5043         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
5044         (_gst_parse_launch):
5045         * gst/parse/grammar.tab.pre.h:
5046         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
5047         (yy_get_previous_state), (yy_try_NUL_trans), (input),
5048         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
5049         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
5050         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
5051         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
5052         (_gst_parse_yypop_buffer_state),
5053         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
5054         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
5055         (yy_fatal_error), (_gst_parse_yyget_extra),
5056         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
5057         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
5058         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
5059         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
5060         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
5061         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
5062         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
5063         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
5064         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
5065         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
5066         (_gst_parse_yyfree):
5067         If the installed flex version is too old use pre-generated parser
5068         sources. These pre-generated parser sources are always updated when
5069         the actual flex/bison sources change but require everybody who wants
5070         to change something in the parser to have flex >= 2.5.31 installed.
5071
5072 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
5073
5074         * common/m4/gst-gettext.m4:
5075         * gst/gst-i18n-lib.h:
5076           Make --disable-nls to work
5077
5078 2007-04-17  Wim Taymans  <wim@fluendo.com>
5079
5080         * gst/gstconfig.h.in:
5081         Revert previous change that broke the build.
5082
5083 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
5084
5085         * configure.ac:
5086         * gst/Makefile.am:
5087         * gst/gstconfig.h.in:
5088           Drop libxml2 dependency when building with 
5089           --enable-binary-registry --disable-loadsave
5090
5091 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
5092
5093         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5094         (gst_registry_binary_read_cache):
5095         * gst/gstregistrybinary.h:
5096           Remove unnecessary <sys/mman.h> include which broke the win32 build
5097           with MingW; move includes from header file to .c file, even if the
5098           header file isn't installed; use g_strerror() where UTF-8 strings
5099           are expected, such as in GST_DEBUG messages.
5100
5101 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5102
5103         * docs/libs/gstreamer-libs-sections.txt:
5104         Remove bogus addition for API I didn't end up keeping.
5105
5106         * libs/gst/base/gstbasesrc.h:
5107         Mention Since: 0.10.13 in the documentation.
5108
5109         Add the API keyword to the previous ChangeLog entry.
5110
5111 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5112
5113         * docs/libs/gstreamer-libs-sections.txt:
5114         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5115         (gst_base_src_default_prepare_seek_segment),
5116         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
5117         * libs/gst/base/gstbasesrc.h:
5118         Allow basesrc derived classes to execute seeks in other formats
5119         by providing a prepare_seek_segment vmethod. Sub-classes can choose
5120         to prepare the GstSegment in any format that their perform_seek method
5121         will be able to understand. The default implementation provides the
5122         old behaviour of attempting to convert the seek offsets to the 
5123         configured native format.
5124
5125         API: basesrc::prepare_seek_segment vmethod.
5126
5127 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5128
5129         * gst/gstelement.c: (gst_element_get_state_func):
5130         Don't output the same debug statement twice.
5131
5132         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
5133         (gst_adapter_peek), (gst_adapter_take_buffer):
5134         Optimise the case where we have buffers at the head of the queue that
5135         can be joined quickly (because they're contiguous sub-buffers) by
5136         merging them together rather than copying data out into new memory.
5137
5138         * gst/parse/grammar.y:
5139         * tests/check/pipelines/parse-launch.c:
5140         Fix a leak in an error path for parse_launch, and add a check 
5141         for it to the testsuite.
5142
5143 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5144
5145         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5146           Don't deadlock when releasing a pad - gst_pad_set_active may try
5147           and take the multiqueue lock too.
5148
5149 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
5150
5151         * gst/gsterror.c: (_gst_core_errors_init):
5152         * gst/gsterror.h:
5153           API: add GST_CORE_ERROR_DISABLED (#392804).
5154
5155 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5156
5157         * docs/faq/gst-uninstalled:
5158           don't get empty paths on the PATH variables
5159         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
5160           Don't format for the uncommon terminal width of 84 characters.
5161
5162 2007-04-06  Wim Taymans  <wim@fluendo.com>
5163
5164         * gst/gstpipeline.c: (reset_stream_time),
5165         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
5166         Only try to select a different pipeline clock when we went back to
5167         PAUSED and not when we merely got flushed.
5168
5169 2007-04-05  Michael Smith  <msmith@fluendo.com>
5170
5171         * tools/gst-launch.1.in:
5172           fractions are better supported in gstreamer than ractions, so
5173           suggest using those.
5174
5175 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5176
5177         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
5178
5179         * po/LINGUAS:
5180         * po/da.po:
5181           Added Danish translation.
5182
5183 2007-04-05  Wim Taymans  <wim@fluendo.com>
5184
5185         * libs/gst/base/gstbasesink.c:
5186         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5187         Fix leak caused when refusing newsegment after EOS.
5188
5189         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5190         (gst_fake_sink_init), (gst_fake_sink_set_property),
5191         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
5192         (gst_fake_sink_render), (gst_fake_sink_change_state):
5193         * plugins/elements/gstfakesink.h:
5194         Add num-buffers property to make the element generate EOS after a
5195         configurable amount of buffers.
5196         API: fakesink::num-buffers property.
5197
5198         * tests/check/elements/fakesink.c: (GST_START_TEST),
5199         (fakesink_suite):
5200         Fix GstBus leak in test.
5201         Test for fakesink num-buffers.
5202
5203 2007-04-05  Wim Taymans  <wim@fluendo.com>
5204
5205         * libs/gst/base/gstbasesink.c:
5206         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5207         (gst_base_sink_change_state):
5208         Don't accept anything after an EOS, return UNEXPECTED instead.
5209
5210         * tests/check/elements/fakesink.c: (GST_START_TEST),
5211         (fakesink_suite):
5212         Unit test for new EOS behaviour.
5213
5214 2007-04-05  Wim Taymans  <wim@fluendo.com>
5215
5216         * gst/gstelement.c: (gst_element_get_request_pad):
5217         Make padtemplates also work when they don't contain %s or %d.
5218
5219 2007-04-05  Wim Taymans  <wim@fluendo.com>
5220
5221         * docs/gst/gstreamer-sections.txt:
5222         * gst/gstclock.c: (gst_clock_adjust_unlocked),
5223         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
5224         * gst/gstclock.h:
5225         Improve _adjust_unlocked() so that it overflows less.
5226         Add gst_clock_unadjust_unlocked to convert from external time to
5227         internal time based on calibration.
5228         Add some more debug.
5229         API: GstClock::gst_clock_unadjust_unlocked()
5230
5231 2007-04-03  Wim Taymans  <wim@fluendo.com>
5232
5233         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5234
5235         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5236         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
5237         when releasing sink pad. Fixes #425400.
5238
5239 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
5240
5241         * docs/random/ensonic/dynlink.txt:
5242           More work on proposal for new core api.
5243
5244         * docs/libs/gstreamer-libs-sections.txt:
5245         * libs/gst/base/gstbasetransform.h:
5246           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5247           
5248         * libs/gst/controller/gstcontroller.c:
5249         (on_object_controlled_property_changed),
5250         (gst_controller_sync_values),
5251         (gst_controller_set_interpolation_mode):
5252         * libs/gst/controller/gstcontroller.h:
5253           Less verbose logging add docs for unimplemented parts and correctly
5254           return when using unavailable parts.
5255
5256 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5257
5258         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5259         Move all the debug to the CLOCK category, and associate it with
5260         the clock object.
5261
5262 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5263
5264         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5265         Make take_buffer a bit quicker by removing redundant checks
5266         caused by calling gst_adapter_take.
5267
5268 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5269
5270         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5271           Don't leak GCond.
5272
5273         * tests/check/Makefile.am:
5274         * tests/check/elements/.cvsignore:
5275         * tests/check/elements/multiqueue.c: (setup_multiqueue),
5276         (GST_START_TEST), (multiqueue_suite):
5277           Add some dead simple unit tests for the 'multiqueue' element
5278           (some bits don't work yet and are disabled for now).
5279
5280 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5281
5282         * gst/gstelement.c: (gst_element_get_request_pad),
5283         (gst_element_class_get_request_pad_template):
5284           Make gst_element_get_request_pad() create request pads only for
5285           request pad templates and not for, say, sometimes pad templates.
5286
5287 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
5288
5289         * docs/design/draft-klass.txt:
5290           Add example that needs more thinking.
5291         
5292         * docs/design/draft-missing-plugins.txt:
5293           More thoughts about wrapper plugins.
5294         
5295         * docs/random/ensonic/embedded.txt:
5296         * docs/random/ensonic/profiling.txt:
5297           More design work.
5298
5299 2007-03-25  Wim Taymans  <wim@fluendo.com>
5300
5301         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5302         (gst_base_src_loop):
5303         Only push the segment events in the PLAYING state for live sources.
5304
5305 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
5306
5307         * gst/gstpipeline.c: (gst_pipeline_change_state):
5308         Modify the clock distribution path in PAUSED->PLAYING so that we 
5309         never attempt to choose a new clock unless we're actually leaving
5310         the PAUSED state for the first time. This prevents choosing a
5311         different clock when the state_change gets called for a 2nd time due
5312         to some element doing an async state change.
5313
5314 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5315
5316         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5317         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5318         (gst_pad_chain_unchecked), (gst_pad_push):
5319         Revert last commit. This needs some more thoughts.
5320
5321 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5322
5323         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5324         (gst_pad_chain_unchecked), (gst_pad_push):
5325         Check in set_caps if the caps are compatible with the pad and remove
5326         two functions that are redundant now. Fixes #421543.
5327
5328 2007-03-22  Wim Taymans  <wim@fluendo.com>
5329
5330         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5331         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5332         Unref some more to make valgrind happy.
5333
5334 2007-03-22  Wim Taymans  <wim@fluendo.com>
5335
5336         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5337         (gst_system_clock_id_wait_jitter),
5338         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5339         Fix anoying regression that survived a few releases. When adding an
5340         async entry while blocking on a sync entry, the sync entry will unblock
5341         but still be busy, so it should continue to wait instead of returning
5342         _BUSY to the app.
5343         Add some comments here and there.
5344
5345         * tests/check/gst/gstsystemclock.c: (mixed_thread),
5346         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5347         Add testcase for this.
5348
5349 2007-03-22  Wim Taymans  <wim@fluendo.com>
5350
5351         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5352         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5353         WRONG_STATE and can silently pause the task. All other cases should
5354         error out.
5355
5356 2007-03-22  Wim Taymans  <wim@fluendo.com>
5357
5358         Patch by: Ville Syrjala <syrjala at sci dot fi>
5359
5360         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5361         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
5362         Improve debugging.
5363
5364 2007-03-21  Michael Smith  <msmith@fluendo.com>
5365
5366         * docs/pwg/advanced-types.xml:
5367           Fix some errors in the typefinding docs pointed out on irc.
5368
5369 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
5370
5371         * libs/gst/base/gstbasesrc.c:
5372         Clarify FIXME comment in the face of having added unlock_stop()
5373
5374 2007-03-21  Wim Taymans  <wim@fluendo.com>
5375
5376         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5377         Prepare for release where we warn against possible app breakage in the
5378         case of live pipelines along with an env var to enable/disable live
5379         preroll mode (GST_COMPAT=[no-]live-preroll).
5380
5381 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5382
5383         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5384         So we should use correct constants for checking for None offset.
5385
5386 2007-03-20  Wim Taymans  <wim@fluendo.com>
5387
5388         * docs/design/part-block.txt:
5389         Mention the fact that the newly switched element should be set to at
5390         least PAUSED.
5391
5392 2007-03-20  Wim Taymans  <wim@fluendo.com>
5393
5394         * gst/gst.c:
5395         Fix compilation with registry disabled as spotted by Saur.
5396
5397 2007-03-20  Wim Taymans  <wim@fluendo.com>
5398
5399         Patch by: Olivier Crete <tester at tester dot ca>
5400
5401         * gst/gstelement.c: (gst_element_sync_state_with_parent):
5402         Look at the pending state too when syncing the element state to the
5403         parent. Fixes #420133.
5404
5405 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
5406
5407         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5408         (gst_base_sink_change_state):
5409         * libs/gst/base/gstbasesink.h:
5410         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5411         (gst_base_src_default_event), (gst_base_src_unlock_stop),
5412         (gst_base_src_deactivate):
5413         * libs/gst/base/gstbasesrc.h:
5414         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5415         for sub-classes to correctly clear any state they set trying to
5416         unlock, such as clearing out unlock commands from a command fd.
5417         API: basesrc::unlock_stop
5418         API: basesink::unlock_stop
5419
5420         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5421         (gst_fd_sink_render), (gst_fd_sink_unlock),
5422         (gst_fd_sink_unlock_stop):
5423         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5424         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5425         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5426
5427         Implement unlock_stop in fdsrc and fdsink.
5428         Implement seeking in fdsrc when a seekable fd is passed, as in
5429         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5430
5431 2007-03-19  Wim Taymans  <wim@fluendo.com>
5432
5433         Patch by: Evan Nemerson <evan at coeus dash group dot com>
5434
5435         * gst/gstelement.c: (gst_element_class_init):
5436         Fix pad-added and pad-removed signal signatures so that the pad type is
5437         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5438
5439 2007-03-19  Wim Taymans  <wim@fluendo.com>
5440
5441         * docs/gst/gstreamer-sections.txt:
5442         Add new element field and method.
5443
5444         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5445         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5446         (gst_bin_recalc_state), (gst_bin_get_state_func),
5447         (gst_bin_element_set_state), (gst_bin_change_state_func),
5448         (gst_bin_continue_func), (bin_bus_handler),
5449         (bin_push_state_continue), (bin_handle_async_start),
5450         (bin_handle_async_done), (gst_bin_handle_message_func):
5451         Make async state changes a bit smarter by using new ASYNC_START and
5452         ASYNC_DONE messages. This reduces the number of times we run the state
5453         recalculation thread.
5454         Don't change state of element with a pending ASYNC_START message.
5455         Deprecate STATE_DIRTY messages.
5456         
5457         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5458         (gst_element_get_state_func), (gst_element_continue_state),
5459         (gst_element_lost_state), (gst_element_set_state_func),
5460         (gst_element_change_state):
5461         * gst/gstelement.h:
5462         Keep the state that was last set by the app in a new element field.
5463         Don't allow state changes when handling an element event.
5464         Post ASYNC_START and ASYNC_DONE messages.
5465         Change lost_state so that we go to PAUSED and wait for the parent to set
5466         us to PLAYING again (so latency calculation can be performed)
5467         Export gst_element_change_state() method so that subclasses can use it.
5468         API: gst_element_change_state()
5469         API: GST_STATE_TARGET
5470
5471         * gst/gstpipeline.c: (gst_pipeline_class_init),
5472         (reset_stream_time), (gst_pipeline_change_state),
5473         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5474         Using the new ASYNC_START message we can reset the base_time when
5475         needed. This can then be used to implement base_time redistribution in
5476         flushing seeks so that we can remove the explicit seek handling.
5477         Perform latency query and configuration when going to PLAYING.
5478
5479         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5480         (gst_base_sink_query), (gst_base_sink_change_state):
5481         Post new ASYNC_START/ASYNC_DONE messages.
5482
5483         * tests/check/generic/sinks.c: (GST_START_TEST):
5484         Fix test because the bin will not set the async element to PLAYING right
5485         away.
5486
5487         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5488         Make the message check a little stronger.
5489         Handle ASYNC messages.
5490
5491         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5492         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5493         Expect ASYNC_DONE messages.
5494
5495 2007-03-19  Wim Taymans  <wim@fluendo.com>
5496
5497         * docs/gst/gstreamer-sections.txt:
5498         * gst/gstmessage.c: (gst_message_new_async_start),
5499         (gst_message_new_async_done), (gst_message_parse_info),
5500         (gst_message_parse_async_start):
5501         * gst/gstmessage.h:
5502         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5503         support.
5504
5505 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5506
5507         * tools/gst-inspect.c:
5508         (print_plugin_automatic_install_info_codecs):
5509           Now that we don't check for the 'Codec' keyword any longer in the
5510           klass, we shouldn't spew a warning if the klass isn't a decoder or
5511           encoder (since it might be a Source/Network, for example).
5512
5513 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5514
5515         * tools/gst-inspect.c:
5516         (print_plugin_automatic_install_info_codecs):
5517           Don't require decoder/demuxer/depayloader elements or
5518           encoder/muxer/paylader elements to have 'Codec' as part of their
5519           factory class string when introspecting a plugin's capabilities.
5520           draft-klass.txt mentions that it might be removed in future, and
5521           flump3dec doesn't have it as part of its class string, so chances
5522           are others might also not have it.
5523
5524 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * po/af.po:
5527         * po/az.po:
5528         * po/bg.po:
5529         * po/ca.po:
5530         * po/cs.po:
5531         * po/de.po:
5532         * po/en_GB.po:
5533         * po/fr.po:
5534         * po/it.po:
5535         * po/nb.po:
5536         * po/nl.po:
5537         * po/ru.po:
5538         * po/sq.po:
5539         * po/sr.po:
5540         * po/sv.po:
5541         * po/tr.po:
5542         * po/uk.po:
5543         * po/vi.po:
5544         * po/zh_CN.po:
5545         * po/zh_TW.po:
5546           Update translations from translation project
5547
5548 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
5549
5550         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
5551         (gst_child_proxy_set_property):
5552           Invert precondition check to be alike the ones in the mimiced gobject
5553           api.
5554
5555 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
5556
5557         * docs/design/draft-tagreading.txt:
5558         * docs/random/ensonic/audiobaseclasses.txt:
5559           Do some Architect work.
5560
5561         * gst/gstobject.c: (gst_object_set_name):
5562           Add a WARNING.
5563
5564         * gst/gstpad.c:
5565           Add docs that point from gst_pad_get_range to gst_pad_pull_range
5566
5567 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
5568
5569         * gst/gstsystemclock.c: (gst_system_clock_init),
5570         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
5571         Defer starting the async system clock thread until the first async
5572         wait is scheduled. Fixes #414986.
5573
5574 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
5575
5576         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
5577         (gst_single_queue_free):
5578           Fix small leak (free GstSingleQueue structure too, not only contents).
5579
5580 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
5581
5582         * gst/gstbin.c:(gst_bin_add):
5583         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
5584         * win32/common/libgstbase.def:
5585         * win32/common/libgstreamer.def:
5586         Add new exported functions.
5587
5588 2007-03-09  Wim Taymans  <wim@fluendo.com>
5589
5590         * docs/plugins/gstreamer-plugins-sections.txt:
5591         Fix GstTee docs.
5592
5593 2007-03-09  Wim Taymans  <wim@fluendo.com>
5594
5595         * docs/gst/gstreamer-sections.txt:
5596         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
5597         * gst/gstbuffer.h:
5598         Add metadata copy functions. Fixes #393099.
5599         API: gst_buffer_copy_metadata()
5600
5601         * gst/gstutils.c: (gst_buffer_stamp):
5602         * libs/gst/base/gstbasetransform.c:
5603         (gst_base_transform_prepare_output_buffer):
5604         Use new metadata copy functions.
5605
5606 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5607
5608         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5609         (gst_identity_init), (gst_identity_check_perfect),
5610         (gst_identity_check_imperfect_timestamp),
5611         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
5612         (gst_identity_set_property), (gst_identity_get_property):
5613         * plugins/elements/gstidentity.h:
5614         Separate out check-imperfect-timestamp and check-imperfect-offset.
5615         Put back check-perfect as it was to keep compatibility.
5616
5617 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
5618
5619         * gst/gstelement.c: (gst_element_dispose):
5620         There's no need to warn if VOID_PENDING is not NONE here, as
5621         long as the state is NULL it's ok, and that's checked immediately
5622         above.
5623
5624 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5625
5626         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5627         Fix check for perfect stream to ignore buffers with -1 
5628         offsets/offset ends when checking data contiguity.
5629
5630 2007-03-08  Wim Taymans  <wim@fluendo.com>
5631
5632         * tools/gst-launch.c: (event_loop):
5633         Print INFO messages.
5634
5635 2007-03-08  Wim Taymans  <wim@fluendo.com>
5636
5637         * libs/gst/base/gstbasetransform.c:
5638         (gst_base_transform_sink_eventfunc),
5639         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5640         (gst_base_transform_activate):
5641         * libs/gst/base/gstbasetransform.h:
5642         Add support for dropping buffers with custom GstFlowReturn.
5643         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
5644         buffers or dropped buffers.
5645
5646         * docs/libs/gstreamer-libs-sections.txt:
5647         docs for new custom return code.
5648
5649         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5650         Use drop support in base class to implement drop-probability.
5651
5652 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5653
5654         * gst/gst.c: (load_plugin_func):
5655         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
5656         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5657         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
5658           Remove newlines at end of debug log strings.
5659
5660 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5661
5662         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5663         Only post bus message at max, once per buffer received.
5664
5665 2007-03-07  Wim Taymans  <wim@fluendo.com>
5666
5667         * docs/design/Makefile.am:
5668         * docs/design/part-synchronisation.txt:
5669         Add doc about synchronisation
5670
5671         * docs/design/draft-latency.txt:
5672         * docs/design/part-TODO.txt:
5673         * docs/design/part-clocks.txt:
5674         * docs/design/part-events.txt:
5675         * docs/design/part-gstbus.txt:
5676         * docs/design/part-gstpipeline.txt:
5677         * docs/design/part-live-source.txt:
5678         * docs/design/part-messages.txt:
5679         * docs/design/part-overview.txt:
5680         * docs/design/part-streams.txt:
5681         * docs/design/part-trickmodes.txt:
5682         Documentation updates.
5683
5684 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5685
5686         * gstreamer.doap:
5687         Update the doap file.
5688
5689 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5690
5691         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5692         Rename non-perfect to imperfect for Mike and for the sanctity of the
5693         language.
5694         Also make sure bus message gets emitted for data-incontiguities.
5695
5696 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5697
5698         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
5699         (gst_identity_start):
5700         * plugins/elements/gstidentity.h:
5701         Emit bus message if check-perfect is true and we encounter a
5702         non-perfect stream between 2 consecutive buffers.
5703         Fixes #415394.
5704
5705 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5706
5707         * configure.ac:
5708         Back to CVS
5709
5710 === release 0.10.12 ===
5711
5712 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
5713
5714         * configure.ac:
5715           releasing 0.10.12, "Inevitable Demise"
5716
5717 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
5718
5719         * configure.ac:
5720          Version 0.10.11.2 (0.10.12 pre-release)
5721          Bump libtool versioning.
5722
5723 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
5724
5725         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5726           Log flow-names and not numbers.
5727
5728 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5729
5730         * configure.ac:
5731           Convert to new AG_GST style.
5732
5733 2007-02-28  Wim Taymans  <wim@fluendo.com>
5734
5735         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
5736         Don't unref query twice.
5737
5738 2007-02-28  Wim Taymans  <wim@fluendo.com>
5739
5740         * gst/gstvalue.c: (gst_value_transform_object_string),
5741         (_gst_value_initialize):
5742         Implement GstObject -> string transform so we print object names
5743         when serializing GValues containing GstObjects.
5744
5745 2007-02-28  Wim Taymans  <wim@fluendo.com>
5746
5747         * docs/gst/gstreamer-sections.txt:
5748         Add new stuff to docs.
5749
5750 2007-02-28  Wim Taymans  <wim@fluendo.com>
5751
5752         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5753         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
5754         (gst_base_sink_change_state):
5755         Improve latency query code.
5756         Don't leak latency events.
5757
5758         * tests/check/gst/gstbin.c: (GST_START_TEST):
5759         Improve debugging.
5760
5761 2007-02-28  Wim Taymans  <wim@fluendo.com>
5762
5763         * gst/gstelement.c: (gst_element_message_full),
5764         (gst_element_get_state_func):
5765         * gst/gstelement.h:
5766         Improve docs a little. Added Since: for new macro.
5767
5768         * gst/gstobject.c: (gst_object_sink):
5769         * gst/gstpipeline.c: (gst_pipeline_change_state),
5770         (gst_pipeline_set_new_stream_time):
5771         * gst/gstpipeline.h:
5772         Improve debugging and docs.
5773
5774         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5775         Improve debugging.
5776
5777 2007-02-28  Wim Taymans  <wim@fluendo.com>
5778
5779         * gst/gstelement.c: (gst_element_message_full),
5780         (gst_element_set_locked_state), (gst_element_get_state_func),
5781         (gst_element_change_state):
5782         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
5783         Documentation updates.
5784         Small code cleanups.
5785
5786         * gst/gstmessage.c: (gst_message_new_info),
5787         (gst_message_parse_info):
5788         * gst/gstmessage.h:
5789         API: gst_message_new_info()
5790         API: gst_message_parse_info()
5791         Add INFO message create and parse code.
5792
5793 2007-02-28  Wim Taymans  <wim@fluendo.com>
5794
5795         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
5796         (bin_query_latency_done):
5797         Also report the live parameter of a latency query.
5798
5799 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5800
5801         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
5802           Copy the current generic/states example from -base and adapt so
5803           we can use the exact same code everywhere.
5804           Check a STATES_IGNORE_ELEMENTS env var which can be used
5805           to ignore certain element factories for this test, which is
5806           what is being done in -base
5807         * tests/check/Makefile.am:
5808           Mention this environment variable.
5809
5810 2007-02-27  Wim Taymans  <wim@fluendo.com>
5811
5812         * docs/gst/gstreamer-sections.txt:
5813         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
5814         (gst_bus_timed_pop), (gst_bus_pop):
5815         * gst/gstbus.h:
5816         API: gst_bus_timed_pop()
5817         Implement gst_bus_timed_pop() to do a blocking timed wait for a
5818         message to arrive on the bus.
5819
5820         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
5821         (gst_bus_suite):
5822         Two unit tests for new _timed_pop() function.
5823
5824 2007-02-23  Wim Taymans  <wim@fluendo.com>
5825
5826         * gst/gstpipeline.c: (gst_pipeline_change_state),
5827         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
5828         Don't ref a NULL clock in _provide_clock_func().
5829         Don't allow an INVALID delay.
5830         Don't try to calculate base_time with an invalid start_time.
5831         Also distribute and notify a NULL clock when it was selected.
5832
5833         * tools/gst-launch.c: (event_loop):
5834         Don't crash when a NULL clock was selected in the pipeline.
5835
5836 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5837
5838         * docs/design/Makefile.am:
5839         * docs/design/draft-missing-plugins.txt:
5840         * docs/random/draft-missing-plugins.txt:
5841           Some small updates: update plugin system identifier prefix
5842           ('gstreamer.net' to 'gstreamer'), mention our new install
5843           API in libgstbaseutils rather than libgimme-codec, add
5844           reference to the online docs.
5845
5846 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         * win32/common/config.h:
5849           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
5850           use moap cl ci to only check in what is mentioned in the ChangeLog.
5851
5852 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * docs/gst/gstreamer-sections.txt:
5855         * gst/gstelement.h:
5856           Fix up documentation to link to the correct GstGError section.
5857           Add GST_ELEMENT_INFO macro since someone else added a Info message.
5858
5859 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5860
5861         * tools/gst-launch.c: (event_loop):
5862           Make sure that we actually show the important message part of a
5863           warning message.
5864           No need to check if the gerror is not NULL to free; first of all
5865           g_free accepts NULL; and second the default error handler would
5866           segfault if gerror was NULL.
5867
5868 2007-02-21  Wim Taymans  <wim@fluendo.com>
5869
5870         * docs/gst/gstreamer-sections.txt:
5871         Removed docs as well.
5872
5873 2007-02-21  Wim Taymans  <wim@fluendo.com>
5874
5875         * gst/gstmessage.c: (gst_message_parse_duration):
5876         * gst/gstmessage.h:
5877         Remove new messages for release.
5878
5879 2007-02-20  Wim Taymans  <wim@fluendo.com>
5880
5881         * docs/design/part-gstghostpad.txt:
5882         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
5883         (gst_ghost_pad_new_full):
5884         Make the ghostpad a parent of the internal pad again for better backward
5885         compatibility. Don't write code that relies on this however.
5886
5887         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
5888         (gst_pad_link_check_hierarchy):
5889         Require that parents should be GstElements in the hierarchy check.
5890
5891 2007-02-20  Wim Taymans  <wim@fluendo.com>
5892
5893         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
5894         (gst_bin_change_state_func), (bin_query_min_max_init),
5895         (bin_query_latency_fold), (bin_query_latency_done),
5896         (gst_bin_query):
5897         Improve debug info.
5898         Implement latency query.
5899
5900 2007-02-20  Wim Taymans  <wim@fluendo.com>
5901
5902         * docs/design/part-gstghostpad.txt:
5903         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
5904         (gst_ghost_pad_internal_do_activate_push),
5905         (gst_ghost_pad_internal_do_activate_pull),
5906         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
5907         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
5908         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
5909         Do not set the internal pad as a parent anymore so we can avoid
5910         hierarchy linking errors when the ghostpad has no parent yet. This also
5911         fixes failed activation because of unlinked internal pads, which in
5912         turn fixes the impossible case where you have to activate a pad before
5913         you can add it to a running element.
5914         Also fix the docs.
5915
5916         * gst/gstpad.c: (pre_activate), (post_activate),
5917         (gst_pad_set_active), (gst_pad_activate_pull),
5918         (gst_pad_activate_push), (gst_pad_check_pull_range):
5919         Add some more debug info.
5920         Mark activation mode in pre_activate so that we don't try to activate in
5921         endless loops. Fixes #385084.
5922
5923 2007-02-19  Wim Taymans  <wim@fluendo.com>
5924
5925         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5926         (gst_base_transform_check_get_range):
5927         Implement a checkgetrange function instead of relying on the default
5928         core behaviour that assumes we can operate in pull mode if we have a
5929         getrange function. First step at fixing #385084.
5930
5931 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
5932
5933         * gst/gstchildproxy.h:
5934         * libs/gst/base/gstbasesink.h:
5935         * libs/gst/base/gstbasesrc.h:
5936         * libs/gst/base/gstbasetransform.h:
5937         More docs coverage and some ChangeLog surgery (add missing names)
5938
5939 2007-02-15  Wim Taymans  <wim@fluendo.com>
5940
5941         * docs/design/part-TODO.txt:
5942         * docs/design/part-activation.txt:
5943         * docs/design/part-block.txt:
5944         * docs/design/part-buffering.txt:
5945         * docs/design/part-clocks.txt:
5946         * docs/design/part-element-source.txt:
5947         * docs/design/part-events.txt:
5948         * docs/design/part-gstbin.txt:
5949         * docs/design/part-gstbus.txt:
5950         * docs/design/part-gstpipeline.txt:
5951         * docs/design/part-live-source.txt:
5952         * docs/design/part-messages.txt:
5953         * docs/design/part-overview.txt:
5954         * docs/design/part-qos.txt:
5955         * docs/design/part-query.txt:
5956         * docs/design/part-states.txt:
5957         * docs/design/part-trickmodes.txt:
5958         Some doc updates. Start renaming from stream_time to running_time where
5959         it was used wrongly.
5960
5961 2007-02-15  Wim Taymans  <wim@fluendo.com>
5962
5963         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
5964         Answer LATENCY query.
5965
5966 2007-02-15  Wim Taymans  <wim@fluendo.com>
5967
5968         * tests/check/gst/gstevent.c: (event_probe), (test_event),
5969         (GST_START_TEST):
5970         Improve debugging.
5971
5972 2007-02-15  Wim Taymans  <wim@fluendo.com>
5973
5974         * gst/gstpad.c: (gst_pad_get_internal_links_default),
5975         (gst_pad_dispatcher):
5976         Improve debugging of default pad dispatcher and query functions.
5977
5978 2007-02-15  Wim Taymans  <wim@fluendo.com>
5979
5980         * docs/gst/gstreamer-sections.txt:
5981         Remove old unused method.
5982
5983 2007-02-13  Wim Taymans  <wim@fluendo.com>
5984
5985         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5986         Fix check
5987
5988 2007-02-13  Wim Taymans  <wim@fluendo.com>
5989
5990         * docs/design/part-seeking.txt:
5991         Some small update.
5992
5993         * gst/gstsegment.c: (gst_segment_set_seek):
5994         Revert old bogus change that should make seeking work again.
5995
5996 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
5997
5998         * docs/random/ensonic/dynlink.txt:
5999         * docs/random/ensonic/interfaces.txt:
6000         * docs/random/ensonic/receipies.txt:
6001           Possible dynamic reconnection api, plus some type fixes the other two
6002           docs.
6003
6004 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
6005
6006         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6007         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6008         Also check for an absolute path following file:// in the filesrc
6009         element. Remove redundant check and call g_path_is_absolute() on the
6010         unescaped location.
6011
6012 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6013
6014         * docs/design/draft-klass.txt:
6015           Add existing category analysis.
6016           
6017         * gst/gstcaps.c:
6018           Fix doc example, framerate is a fraction.
6019
6020 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6021
6022         * configure.ac:
6023         * docs/gst/Makefile.am:
6024         * docs/gst/gstreamer-sections.txt:
6025         * docs/libs/Makefile.am:
6026           Erm, forgot a bunch of --extra-dir.
6027
6028 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6029
6030         * configure.ac:
6031         * docs/gst/Makefile.am:
6032         * docs/libs/Makefile.am:
6033         * docs/plugins/Makefile.am:
6034           Add crossreferences to glib/gobject docs.
6035
6036 2007-02-12  Wim Taymans  <wim@fluendo.com>
6037
6038         * docs/design/draft-latency.txt:
6039         Small update.
6040
6041         * docs/libs/gstreamer-libs-sections.txt:
6042         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6043         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
6044         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
6045         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
6046         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
6047         (gst_base_sink_get_position), (gst_base_sink_query),
6048         (gst_base_sink_change_state):
6049         * libs/gst/base/gstbasesink.h:
6050         API: gst_base_sink_query_latency() to let subclasses query the upstream
6051         latency.
6052         API: gst_base_sink_get_latency() to let subclasses query the configured
6053         latency in the sink.
6054         Implement query and set latency.
6055         Update some docs.
6056         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
6057         don't continue preroll when we are flushing. Fixes #405284.
6058
6059         * tests/check/pipelines/stress.c: (change_state_timeout),
6060         (quit_timeout), (GST_START_TEST), (stress_suite):
6061         Test for #405284.
6062
6063 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         Patch by: René Stadler <mail at renestadler de>
6066
6067         * docs/gst/gstreamer-sections.txt:
6068         * gst/gsttaglist.c: (_gst_tag_initialize):
6069         * gst/gsttaglist.h:
6070           API: add GST_TAG_REFERENCE_LEVEL (#403597).
6071
6072 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
6073
6074         * docs/libs/Makefile.am:
6075           Fix path to core docs.
6076
6077         * gst/gstbin.c: (gst_bin_get_by_interface),
6078         (gst_bin_iterate_all_by_interface):
6079           Refix docs by also renaming 'interface' to 'iface' in implementation.
6080
6081         * docs/gst/gstreamer-sections.txt:
6082         * gst/gstcaps.c:
6083         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
6084         * gst/gstchildproxy.h:
6085         * gst/gstelementfactory.c:
6086         * gst/gstpadtemplate.h:
6087         * libs/gst/controller/gstcontroller.c:
6088         (gst_controlled_property_new):
6089           Document more.
6090
6091 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
6092
6093         * gst/gstbin.h:(gst_bin_get_by_interface),
6094         (gst_bin_iterate_all_by_interface):
6095         Replace interface parameter name by iface as interface is 
6096         a reserved keyword in Visual Studio for C++ projects so it removes
6097         a build error for application developpers using VS.
6098         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
6099         Fix a bug on Windows in uri format check. Now the prefix checked
6100         is file:// and next we check if the path after file:// is absolute.
6101         * win32/common/libgstbase.def:
6102         * win32/common/libgstdataprotocol.def:
6103         * win32/common/libgstgstreamer.def:
6104         Add new exported functions.
6105
6106 2007-02-09  Andy Wingo  <wingo@pobox.com>
6107
6108         * tests/check/pipelines/simple-launch-lines.c
6109         (simple_launch_lines_suite, test_tee): Disable tee test until I
6110         have time to fix it :-(
6111
6112         * tests/check/Makefile.am (noinst_HEADERS): 
6113         * tests/check/libs/libsabi.c: 
6114         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
6115         * tests/check/gst/gstabi.c: 
6116         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
6117
6118         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
6119         tests for push and pull tee behavior.
6120
6121         * plugins/elements/gsttee.h: 
6122         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
6123         mark as deprecated as well as unimplemented. It was a crack idea.
6124         Add support for tee operating in pull mode, off by default.
6125
6126         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
6127         normal-case logs down to LOG, raise errors to WARNING.
6128         (gst_registry_xml_read_cache): Don't log before calling a function
6129         that logs.
6130
6131         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
6132         exit (registry finalize).
6133         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
6134         DEBUG log when we emit signals that people don't even have the
6135         chance to connect to.
6136         (gst_registry_scan_path_level): Less logging in the normal case.
6137
6138 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6139
6140         Patch by: Michal Benes <michal dot benes at itonis dot tv>
6141
6142         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6143         Correctly generate EOS for non-seekable files. We don't have a total
6144         length for them and would get an unexpected end of file if we only
6145         special-cased for regular files. (Fixes: #404569)
6146
6147 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6148
6149         * tests/check/elements/filesrc.c: (GST_START_TEST),
6150         (filesrc_suite):
6151         Add unit test for the GstURIHandler interface in filesrc. This also
6152         tests the newly added file://localhost/foo/bar support.
6153
6154 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
6155
6156         * gst/gstelementfactory.h:
6157           The klass string is not a hierarchy. Add reference to the design doc
6158           for more information and common types.
6159
6160 2007-02-02  Wim Taymans  <wim@fluendo.com>
6161
6162         * gst/gstquery.c: (gst_query_new_latency):
6163         Remove old structure field.
6164
6165 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
6166
6167         * tools/gst-launch.1.in:
6168           Give example for network streaming (#351998)
6169
6170 2007-02-02  Wim Taymans  <wim@fluendo.com>
6171
6172         * docs/gst/gstreamer-sections.txt:
6173         Add docs for new methods.
6174
6175         * gst/gstevent.c: (gst_event_new_latency),
6176         (gst_event_parse_latency):
6177         * gst/gstevent.h:
6178         Add new LATENCY event to configure latency in a pipeline.
6179         API: gst_event_new_latency
6180         API: gst_event_parse_latency
6181
6182         * gst/gstmessage.c: (gst_message_new_buffering),
6183         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
6184         (gst_message_new_latency), (gst_message_parse_buffering),
6185         (gst_message_parse_lost_preroll):
6186         * gst/gstmessage.h:
6187         Added messages used in draft-latency.
6188         API: gst_message_new_lost_preroll
6189         API: gst_message_parse_lost_preroll
6190         API: gst_message_new_prerolled
6191         API: gst_message_new_latency
6192
6193         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
6194         (gst_query_parse_latency):
6195         * gst/gstquery.h:
6196         Implemented new latency query as in design doc.
6197         API: gst_query_new_latency
6198         API: gst_query_set_latency
6199         API: gst_query_parse_latency
6200
6201 2007-02-02  Wim Taymans  <wim@fluendo.com>
6202
6203         * docs/design/draft-latency.txt:
6204         Slight redesign to allow for dynamic latency adjustments.
6205
6206         * docs/design/part-negotiation.txt:
6207         Fix some typos.
6208
6209 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
6210
6211         reviewed by: Wim Taymans <wim@fluendo.com>
6212
6213         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6214         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6215         Allow file://localhost/foo/bar URLs and correctly fail for every other
6216         hostname that one sets. This was gnomevfssrc is linked for those if
6217         installed as it can handle it (#403172)
6218
6219 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6220
6221         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6222
6223         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6224         (unref_data), (gst_collect_pads_add_pad_full):
6225         * libs/gst/base/gstcollectpads.h:
6226         Don't put the previously added destroy notify in the GstCollectData
6227         struct as all it's padding is already used and we don't want to break
6228         ABI. Instead put in the pad's GObject data for now. This should be
6229         cleaned up for 0.11 (#402393).
6230
6231 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6232
6233         reviewed by: Wim Taymans <wim@fluendo.com>
6234
6235         * docs/libs/gstreamer-libs-sections.txt:
6236         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6237         (unref_data), (gst_collect_pads_add_pad),
6238         (gst_collect_pads_add_pad_full):
6239         * libs/gst/base/gstcollectpads.h:
6240         API: Add function to specify a destroy notification for custom
6241         GstCollectData when adding new pads in GstCollectPads (#402393).
6242
6243 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
6244
6245         * po/sv.po:
6246           Update Swedish translation (#378255).
6247
6248 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6249
6250         * docs/design/draft-klass.txt:
6251           Fix the previous change, this is a list of categories and not a hierarchy.
6252
6253 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6254
6255         * docs/design/draft-klass.txt:
6256           Add info about how to get a list of used classes.
6257
6258 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
6259
6260         * plugins/elements/gsttypefindelement.c:
6261         (gst_type_find_element_chain_do_typefinding),
6262         (gst_type_find_element_change_state):
6263           Don't leak found caps in chain function (no idea why that never
6264           showed up as a leak anywhere).
6265
6266 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
6267
6268         * gst/gstplugin.h:
6269           Fix and expand GstPluginDesc API docs.
6270
6271 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6272
6273         * gst/gstcaps.c:
6274         * gst/gstelementfactory.c:
6275         * gst/gstpadtemplate.h:
6276           api doc fixes
6277
6278         * libs/gst/controller/gstcontroller.c:
6279         (gst_controlled_property_new):
6280         * tests/examples/controller/audio-example.c:
6281           comment fixes
6282
6283 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6284
6285         * configure.ac:
6286           comment about refining the xml deps
6287
6288         * docs/manuals.mak:
6289           comments about moving away from jade for docs
6290         
6291         * gst/gst.c:
6292           recommit the ifdefs to use the binary registry
6293         
6294         * gst/gstbin.c: (gst_bin_change_state_func):
6295           this break is obsolete
6296
6297         * gst/gstelementfactory.h:
6298           better GST_ELEMENT_DETAILS docs, add comment about translation
6299
6300         * gst/gstinfo.h:
6301           remove eol slash
6302
6303         * gst/gstobject.c: (gst_signal_object_get_type):
6304           add G_UNLIKELY as usual
6305
6306         * gst/gstpad.c: (gst_pad_event_default):
6307           add fall trhu comment
6308
6309         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6310         (gst_registry_binary_initialize_magic),
6311         (gst_registry_binary_save_string),
6312         (gst_registry_binary_save_pad_template),
6313         (gst_registry_binary_save_feature),
6314         (gst_registry_binary_save_plugin),
6315         (gst_registry_binary_write_cache),
6316         (gst_registry_binary_check_magic),
6317         (gst_registry_binary_load_pad_template),
6318         (gst_registry_binary_load_feature),
6319         (gst_registry_binary_load_plugin),
6320         (gst_registry_binary_read_cache):
6321           comment typo and formatting
6322
6323         * gst/gstutils.c: (gst_element_state_get_name),
6324         (gst_element_state_change_return_get_name):
6325           remove obsolete breaks
6326
6327         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6328           add FIXME 0.11 and remove cpp comment
6329
6330 2007-01-29  Edward Hervey  <edward@fluendo.com>
6331
6332         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6333         Fix print statement in an even more portable way.
6334
6335 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
6336
6337         * docs/gst/gstreamer-sections.txt:
6338         * gst/gstutils.h:
6339           API: add GST_ROUND_DOWN_* macros (#401781).
6340
6341 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
6342
6343         * docs/gst/gstreamer.types.in:
6344         * gst/gstregistry.c: (gst_registry_class_init):
6345           Document registry signals and make gtk-doc pick them up (#401381).
6346
6347 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6348
6349         * docs/pwg/building-testapp.xml:
6350           Add some audioconverts and audioresample to the pipeline, and some
6351           more comments and error handling.
6352
6353 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6354
6355         * docs/manual/manual.xml:
6356         * docs/pwg/pwg.xml:
6357           Fix typo (#400987).
6358
6359 2007-01-26  Wim Taymans  <wim@fluendo.com>
6360
6361         * gst/gstcaps.c: (gst_static_caps_get):
6362         Init caps flags too.
6363
6364 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
6365
6366         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6367
6368         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6369         If not using mmap'ed files try to seek to the end instead of the
6370         start to determine whether we can seek at all. This fixes the case
6371         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6372         seeks for everything afterwards fail. Fixes #400656
6373
6374 2007-01-25  Wim Taymans  <wim@fluendo.com>
6375
6376         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6377         Add some refcount debugging.
6378         Make gst_static_caps_get threadsafe, which is needed when autoplugging
6379         in multiple streaming threads.
6380
6381 2007-01-25  Wim Taymans  <wim@fluendo.com>
6382
6383         Patch by: David Schleef <ds at schleef dot org>
6384
6385         * docs/libs/gstreamer-libs-sections.txt:
6386         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6387         * libs/gst/base/gstadapter.h:
6388         API: gst_adapter_copy() that can reduce the amount of memcpy when
6389         getting data from the adapter. Fixes #388201.
6390
6391 2007-01-25  Edward Hervey  <edward@fluendo.com>
6392
6393         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6394         In print statements, "%x" is for guint. Fixes build on macosx.
6395
6396 2007-01-24  Edward Hervey  <edward@fluendo.com>
6397
6398         * plugins/elements/gstmultiqueue.c:
6399         (gst_multi_queue_loop):
6400         Small fix.
6401         (single_queue_overrun_cb), (single_queue_underrun_cb),
6402         (single_queue_check_full), (gst_single_queue_new):
6403         Implement single queue growth system.
6404         This uses the extra-size properties, and will grow single queues by
6405         that much if one goes full whereas there are others empty. This is
6406         called extra-mode in the code.
6407         When a single queue's levels go back below the initial max-size
6408         limits, it is no longer in extra-mode. This is to ensure we don't
6409         consume too much memory.
6410         Fixes #399875
6411
6412 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * gst/gst.c: (gst_init_get_option_group):
6415           Make warning about late g_thread_init() calls a bit more explicit,
6416           so that it's more obvious to application developers what they need
6417           to do if a user files a bug against their application.
6418
6419 2007-01-22  Edward Hervey  <edward@fluendo.com>
6420
6421         * plugins/elements/gstmultiqueue.c:
6422         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6423         Remove previous hack of unsetting the flushing flag for the source pad
6424         instead of activating it. Instead, fix the source pad activate function
6425         so that it no longer depends on having a parent set or not.
6426
6427 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
6428
6429         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6430
6431         * docs/manual/basics-bus.xml:
6432           Fix example code, gst_element_unref() doesn't exist any longer.
6433
6434 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
6435
6436         Patch by: Mark Nauwelaerts <manauw at skynet be>
6437
6438         * gst/gstpad.c:
6439           Fix two docs typoes (#399094).
6440
6441 2007-01-19  Edward Hervey  <edward@fluendo.com>
6442
6443         * docs/faq/gst-uninstalled:
6444         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6445         depending on libgstbaseutils can work in uninstalled environment.
6446
6447 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
6448
6449         * gst/gsttaglist.h:
6450         * gst/gsttagsetter.c:
6451         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6452         statement for new tag.
6453
6454 2007-01-17  Edward Hervey  <edward@fluendo.com>
6455
6456         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6457         When dynamically creating single queues, activate sinkpad before adding
6458         it.
6459         We should be doing the same thing for the source pad, but we can't
6460         since it would call a method which needs the parent to be set in order
6461         to work propertly. Instead of activating the source pad, we just unset
6462         the flushing flag, which is the minimal requirement for adding a pad
6463         to an element in a state greater than READY.
6464
6465 2007-01-17  Edward Hervey  <edward@fluendo.com>
6466
6467         * docs/faq/gst-uninstalled:
6468         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6469         Mac OS X.
6470
6471 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
6472
6473         * tests/check/gst/gstabi.c:
6474         * tests/check/gst/struct_hppa.h:
6475         * tests/check/libs/libsabi.c:
6476         * tests/check/libs/struct_hppa.h:
6477           Add ABI structs for HPPA (see #393796).
6478
6479 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
6480
6481         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6482           Actually write ABI structs to the file specified in the GST_ABI
6483           environment variable, as the message we print claims we would.
6484
6485 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6486
6487         * tests/check/gst/gsttask.c:
6488           Fix header comment.
6489
6490 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6491
6492         * gst/gsttaglist.c: (_gst_tag_initialize):
6493           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6494           previous two entries.
6495
6496 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6497
6498         * docs/gst/gstreamer-sections.txt:
6499         * gst/gsttaglist.c: (_gst_tag_initialize):
6500         * gst/gsttaglist.h:
6501           Add tag support for beat-per-minute.
6502
6503 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6504
6505         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6506         (gst_registry_binary_initialize_magic),
6507         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6508         (gst_registry_binary_save_pad_template),
6509         (gst_registry_binary_save_feature),
6510         (gst_registry_binary_save_plugin),
6511         (gst_registry_binary_write_cache),
6512         (gst_registry_binary_check_magic),
6513         (gst_registry_binary_load_pad_template),
6514         (gst_registry_binary_load_feature),
6515         (gst_registry_binary_load_plugin),
6516         (gst_registry_binary_read_cache):
6517         * gst/gstregistrybinary.h:
6518           Use glib types, cleanup comments, impement interfaces and uri-types.
6519
6520 2007-01-13  Andy Wingo  <wingo@pobox.com>
6521
6522         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6523         getrange() to return buffers with other caps, while we fix
6524         demuxers and typefind, or otherwise change part-negotiation.txt.
6525
6526 2007-01-12  Andy Wingo  <wingo@pobox.com>
6527
6528         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
6529         Factor start/stop into this private function instead of partially
6530         in activate functions and partially in the change_state function.
6531         Fixes setup before the element has changed from READY->PAUSED, as
6532         is the case in pull-mode pipelines.
6533         (gst_base_transform_sink_activate_push)
6534         (gst_base_transform_src_activate_pull): Refactor to use
6535         gst_base_transform_activate().
6536         (gst_base_transform_change_state): Removed, not needed any more.
6537
6538         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6539         Truncate before fixating.
6540         
6541         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6542         Don't set_caps() if the result of fixating is ANY, as it's not
6543         supported, and not necessary in the case of a link with no
6544         template caps on either side. Fixes tests/check/libs/basesrc in
6545         some pull-mode tests.
6546
6547         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
6548         (gst_base_transform_init, gst_base_transform_sink_activate_push)
6549         (gst_base_transform_src_activate_pull): 
6550         Track the activation mode.
6551         (gst_base_transform_setcaps): In pull mode, when activating the
6552         src pad, after activating the sink pad, activate the sink pad's
6553         peer, as discussed in part-negotiation.txt.
6554
6555         * libs/gst/base/gstbasesrc.h: 
6556         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
6557         vmethod, as in basesink.
6558
6559         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
6560
6561         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
6562         mode, first proxy the setcaps to the peer pad.
6563         (gst_base_sink_pad_fixate): Add a fixate function that calls the
6564         new fixate vmethod.
6565         (gst_base_sink_default_activate_pull): Rename from
6566         gst_base_sink_activate_pull.
6567         (gst_base_sink_negotiate_pull): New function, performs negotiation
6568         in pull mode before calling ::activate_pull().
6569         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
6570         vmethod instead of the default implementation. I have no idea how
6571         this worked before. Negotiate before calling activate_pull.
6572
6573         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
6574         sink pads in pull mode. In addition to being correct, fixes
6575         filesrc ! decodebin ! identity ! fakesink.
6576         (gst_pad_get_range, gst_pad_pull_range): Don't call
6577         gst_pad_set_caps() if the caps changes; instead error out with
6578         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
6579
6580 2007-01-12  Andy Wingo  <wingo@pobox.com>
6581
6582         * docs/design/part-negotiation.txt: Update with more policy.
6583
6584 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6585
6586         * libs/gst/check/gstbufferstraw.h:
6587         * libs/gst/check/gstcheck.h:
6588           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
6589           belongs.
6590
6591 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6592
6593         * tests/check/Makefile.am:
6594         * tests/check/gst/.cvsignore:
6595         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
6596         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
6597         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
6598         (GST_START_TEST), (gst_tag_setter_suite):
6599           Add minimal unit test for beforementioned GstTagSetter bug.
6600
6601 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6602
6603         Patch by: René Stadler <mail at renestadler dot de>
6604
6605         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
6606           gst_tag_list_merge() returns a new list, so it's not the best idea
6607           to ingore its return value. Effectively meant that tags could only
6608           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
6609           Also add function guard to require a non-NULL taglist as input (has
6610           always been so due to gst_tag_list_copy(), just making it explicit).
6611
6612 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6613
6614         * docs/random/draft-missing-plugins.txt:
6615           Some additions: mention new API that is supposed to be used at the
6616           various stages; short blob about new gst-inspect introspection
6617           option; mention potential future problem with plugins that have
6618           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
6619
6620 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6621
6622         * tools/gst-inspect.c:
6623         (print_plugin_automatic_install_info_codecs),
6624         (print_plugin_automatic_install_info_protocols),
6625         (print_plugin_automatic_install_info), (main):
6626         Add --print-plugin-auto-install-info option to gst-inspect, so we can
6627         introspect plugin files and get machine-parsable output that corresponds
6628         to the last bit of the missing-plugin installer string (small gotcha:
6629         doesn't take into account ranks).
6630
6631 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
6632
6633         * configure.ac:
6634         * docs/gst/gstreamer-sections.txt:
6635         * gst/Makefile.am:
6636         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
6637         (gst_registry_lookup_locked):
6638         * gst/gstregistry.h:
6639         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6640         (gst_registry_binary_initialize_magic),
6641         (gst_registry_binary_save_string),
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         * gst/gstregistryxml.c: (load_feature),
6653         (gst_registry_xml_read_cache):
6654           commit binary registry (disabled by default, see #359653)
6655
6656 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6657
6658         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
6659           Fix 'make check' too.
6660
6661 2007-01-10  Andy Wingo  <wingo@pobox.com>
6662
6663         * docs/design/part-negotiation.txt: Fix a typo, add a couple
6664         notes.
6665         
6666         * docs/design/part-negotiation.txt: Update with, um, one way that
6667         pull-mode negotiation might work?
6668
6669         * gst/gstpad.h: 
6670         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
6671         that the pad must be a src pad; makes sense to call it the other
6672         way in pull mode, and the logic is symmetric anyway.
6673
6674 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
6675
6676         * plugins/elements/gstfilesink.c:
6677           Include <stdio.h> for fseeko().
6678
6679 2007-01-10  Wim Taymans  <wim@fluendo.com>
6680
6681         * gst/gstevent.c:
6682         * gst/gstevent.h:
6683         Reserve LATENCY event.
6684
6685 2007-01-09  Wim Taymans  <wim@fluendo.com>
6686
6687         * docs/design/draft-latency.txt:
6688         Updates.
6689
6690 2007-01-09  Wim Taymans  <wim@fluendo.com>
6691
6692         * docs/design/draft-latency.txt:
6693         Updates.
6694
6695         * gst/gstelement.h:
6696         * gst/gststructure.c:
6697         * gst/gsttrace.c:
6698         Small typo fixes.
6699
6700 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6701
6702         * tests/check/.cvsignore:
6703           Ignore test-registry.xml as well.
6704
6705 2007-01-09  Wim Taymans  <wim@fluendo.com>
6706
6707         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6708         unref data at the end when we are done with the pad.
6709
6710 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6711
6712         * docs/gst/gstreamer-sections.txt:
6713         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
6714         (init_post), (gst_deinit), (gst_update_registry):
6715         * gst/gst.h:
6716           API: add gst_update_registry() (#391296).
6717
6718         * tests/check/Makefile.am:
6719         * tests/check/gst/gstregistry.c:
6720         * tests/check/gst/.cvsignore:
6721           Simple unit test for the above.
6722
6723 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6724
6725         * gst/gstregistry.c: (gst_registry_scan_path_level):
6726           Plugin extension on HP-UX is .sl, add that to the list of approved
6727           plugin extensions (see #393796).
6728
6729         * tests/check/gst/gstpad.c: (GST_START_TEST):
6730           ulong => gulong. Fixes compilation with HP-UX compiler.
6731
6732         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6733           Fix compilation if valgrind headers are not available.
6734
6735 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
6736
6737         * win32/common/libgstreamer.def: 
6738           Add new exported function.
6739         * win32/vs6/libgstbase.dsp: 
6740           Add gstdataqueue.c to the build.
6741         * win32/vs6/libgstcoreelements.dsp:
6742           Add gstmultiqueue.c to the build.
6743         
6744 2007-01-06  Andy Wingo  <wingo@pobox.com>
6745
6746         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
6747         activate_pull(), providing for a way to specialize the process of
6748         spawning a thread to pull on the sink pad. There is a default
6749         implementation.
6750
6751         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
6752         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
6753         (gst_base_sink_init): Renamed pad activation functions (inserting
6754         "_pad" in their names). Refactor to use the new activate_pull
6755         vmethod, as appropriate.
6756         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
6757         default activate_pull function to start a task pulling from the
6758         sink pad, as before.
6759
6760         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
6761         on the pads if necessary, as in push()/chain(). Update docs.
6762         Shouldn't affect existing pull() usage as it is currently only
6763         being used on buffers without caps.
6764
6765 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6766
6767         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6768         (init_pre):
6769           Call g_thread_init() first thing in gst_init() / gst_check_init().
6770           When initialisation is done via gst_init_get_option_group() and
6771           GOption parsing, issue a warning if the GLib thread system has not
6772           been initialised yet by the time gst_init_get_option_group() is
6773           called, as it's quite likely other GLib functions such as
6774           g_option_context_new() have been called already then, and
6775           g_thread_init() must be called before any other GLib function. The
6776           application in question must be fixed in that case, since memory
6777           corruption might happen otherwise.
6778           We issue the warning because even if the GLib folks decide to work
6779           around the problem on their end in future, this is still an issue
6780           with all GLib versions >= 2.10.0, so we should warn until we depend
6781           on a GLib version we know to be safe.
6782           Update documentation as well.
6783           Closes bug #391278.
6784
6785 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6786
6787         * tools/gst-inspect.c: (main):
6788         * tools/gst-launch.c: (main):
6789         * tools/gst-typefind.c: (main):
6790         * tools/gst-xmlinspect.c: (main):
6791           Call g_thread_init() really really early, before any other GLib
6792           function (see #342564 and recent discussion on gtk-devel-list).
6793
6794 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6795
6796         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
6797
6798         * gst/gst_private.h:
6799         * gst/gstconfig.h.in:
6800         * gst/gstinfo.h:
6801           On win32, all the __declspec stuff for symbol exporting is
6802           apparently only needed with MSVC, but doesn't work with MingW.
6803           Fixes compilation with MingW and #391909.
6804
6805 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6806
6807         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
6808           Change some GST_ERROR_OBJECT that aren't really errors to
6809           GST_WARNING_OBJECT in order to reduce terminal spam.
6810
6811 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6812
6813         * tests/check/Makefile.am:
6814           disable test again, as there seem to be still race problems
6815
6816 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
6817
6818         * tests/check/Makefile.am:
6819         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6820         (GST_START_TEST), (queue_suite):
6821           enable queue test again, add tests for the leaky behaviour
6822
6823 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
6824
6825         * configure.ac:
6826         * tests/examples/Makefile.am:
6827           Compile adapter test/example only if the required headers are
6828           available (fixes #391915).
6829
6830 2007-01-01  David Schleef  <ds@schleef.org>
6831
6832         * gst/gstplugin.c:
6833           Restore the previous signal handler for SIGSEGV instead of
6834           setting to default, since we may have stolen it away from
6835           someone.  (i.e., Mono)
6836
6837 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6838
6839         * docs/random/draft-missing-plugins.txt:
6840           Some small additions and clarifications.
6841
6842 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
6843
6844         * gst/gstregistryxml.c: (gst_registry_save_escaped):
6845           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
6846           since that can lead to random memory corruptions and crashes
6847           (may or may not be related to #383244, #386711, and #386711).
6848
6849 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6850
6851         * tests/check/.cvsignore:
6852         * tests/check/Makefile.am:
6853           sync .cvsignome and CLEANFILES
6854
6855 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6856
6857         * tests/check/Makefile.am:
6858           fix distcheck
6859
6860 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6861
6862         * docs/design/part-states.txt:
6863           two tiny additional comments
6864         
6865         * gst/gststructure.c:
6866           doc fixing
6867
6868         * tests/check/Makefile.am:
6869         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6870         (GST_START_TEST):
6871           disable test for now, unless it gets fixed
6872
6873 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6874
6875         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6876         (GST_START_TEST):
6877           fix race in underrun test
6878
6879 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6880
6881         * tests/check/elements/.cvsignore:
6882           ignore more
6883
6884         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6885         (GST_START_TEST):
6886           try to narrow test failure
6887
6888 2006-12-21  David Schleef  <ds@schleef.org>
6889
6890         * plugins/elements/gstfakesrc.c:
6891           Use g_random_int_range(), since it produces better random
6892           numbers in a range than almost-correct floating point code.
6893
6894 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
6895
6896         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6897         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6898         (gst_check_teardown_sink_pad):
6899           do not automatically (de)activate pads
6900
6901         * tests/check/Makefile.am:
6902         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
6903         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
6904           add new, yet simple tests for queue
6905
6906         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
6907         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
6908         * tests/check/elements/filesrc.c: (cleanup_filesrc),
6909         (GST_START_TEST):
6910         * tests/check/elements/identity.c: (cleanup_identity):
6911           consistent pad (de)activation
6912
6913 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
6914
6915         Patch by: Sebastian Dröge  <slomo ubuntu com>
6916
6917         * libs/gst/base/gstcollectpads.c:
6918           Fix two doc typos (#387866).
6919
6920 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
6921
6922         * docs/manual/advanced-dparams.xml:
6923           Fix typo (g_object_control_properties() doesn't exist).
6924
6925 2006-12-19  Edward Hervey  <edward@fluendo.com>
6926
6927         * gst/gstsegment.c: (gst_segment_set_seek):
6928         Fine tune the cases where the segment start/stop values are really
6929         updated.
6930         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6931         Add tests for the return values of gst_segment_set_seek().
6932
6933 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
6934
6935         * gst/gst.c:
6936           Docs typo fix.
6937
6938         * plugins/elements/gstqueue.c: (gst_queue_class_init),
6939         (gst_queue_init):
6940           Fix incorrect documentation and flesh it out a bit more.
6941           Set default values for the max properties on the GParamSpec as well,
6942           so it shows up correctly in gst-inspect.
6943
6944 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
6945
6946         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6947           Correct docs of queue, add more detail and crosslink it more.
6948
6949 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6950
6951         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6952           Print additional debug info when the stream isn't perfectly
6953           timestamped; don't try to use invalid durations.
6954
6955 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6956
6957         * docs/design/Makefile.am:
6958           Dist new design docs.
6959
6960 2006-12-16  Wim Taymans  <wim@fluendo.com>
6961
6962         Patch by: Sjoerd Simons <sjoerd at luon dot net>
6963
6964         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
6965         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6966         (gst_collect_pads_stop), (gst_collect_pads_event),
6967         (gst_collect_pads_chain):
6968         * libs/gst/base/gstcollectpads.h:
6969         Add refcounting to the collectpads data so we can track when it's safe
6970         to free the data. Fixes #383382.
6971
6972 2006-12-15  Wim Taymans  <wim@fluendo.com>
6973
6974         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6975         (gst_collect_pads_remove_pad):
6976         Automatically activate/deactivate pads when they are added to a
6977         started/stoped collectpads.
6978
6979 2006-12-15  Wim Taymans  <wim@fluendo.com>
6980
6981         * gst/gstelement.c: (gst_element_add_pad):
6982         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6983         * gst/gstpad.c: (gst_pad_init):
6984         Set pads to FLUSHING when they are created. Check, warn and fix when a
6985         demuxer adds an inactive pad to itself when running. Fixes #339326.
6986
6987 2006-12-15  Wim Taymans  <wim@fluendo.com>
6988
6989         * gst/gstelement.c: (gst_element_class_init),
6990         (gst_element_default_send_event), (gst_element_send_event),
6991         (gst_element_default_query), (gst_element_query):
6992         Expose default element send_event and query handling as vmethods that
6993         subclasses can chain up to.
6994
6995 2006-12-15  Wim Taymans  <wim@fluendo.com>
6996
6997         * gst/gstelement.c: (gst_element_set_state_func):
6998         Small documentation fixes.
6999
7000 2006-12-15  Wim Taymans  <wim@fluendo.com>
7001
7002         * docs/design/draft-latency.txt:
7003         Checked in draft for handling latency in pipelines.
7004
7005 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7006
7007         * Makefile.am:
7008         * gstreamer.doap:
7009         * gstreamer.spec.in:
7010           adding .doap file
7011
7012 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
7013
7014         * gst/gst.c: (init_pre), (init_post):
7015           init_pre() and init_post() might be called via our GOptionGroup or
7016           from gst_init(), and we should skip both of them if we've already
7017           been initialised, otherwise we will init some things twice or add
7018           two default log functions.
7019
7020 2006-12-13  Edward Hervey  <edward@fluendo.com>
7021
7022         * docs/manual/basics-bus.xml:
7023         No, gst_main_loop does not exist. Its g_main_loop.
7024         Discovered by somebody who abused the copy-paste technique of coding :)
7025
7026 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
7027
7028         * gst/gstghostpad.c:
7029           Log ghostpad debug stuff to the GST_PADS category as well rather
7030           than just to the default category.
7031
7032 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
7033
7034         * configure.ac:
7035         * gst/gst.c: (init_pre):
7036           Add some basic system details such as OS and architecture
7037           to the debug output if possible, courtesy of uname().
7038
7039 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7040
7041         * docs/gst/running.xml:
7042           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
7043           environment variables.
7044
7045 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7046
7047         * tests/check/gst/gstbin.c: (GST_START_TEST):
7048         It is acceptable to have a refcount of 2 or 3 at this point in the
7049         test, because the pipeline might be just posting its state_change
7050         message. The next line then waits for that message to appear using
7051         bus_poll, so that should be fine too.
7052
7053 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7054
7055         * gst/gst.c: (ensure_current_registry_forking):
7056         Ignore EINTR when reading from the child registry pipe.
7057         Explicitly ignore the return value from close, since it makes no
7058         difference.
7059
7060         * gst/gstminiobject.c: (gst_mini_object_ref),
7061         (gst_mini_object_unref):
7062         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
7063
7064         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
7065         When removing cached plugins, remove their features too, so they're
7066         not visible after they've disappeared.
7067
7068         * gst/gstutils.c: (prepare_link_maybe_ghosting):
7069         In the unlikely case that we are linking pads with no parents, don't
7070         crash trying to get the non-existent parent bin.
7071
7072         * gst/parse/grammar.y:
7073         Output debug in the PIPELINE category
7074
7075 2005-03-08  Wim Taymans  <wim@fluendo.com>
7076
7077         Patch by: René Stadler <mail at renestadler dot de>
7078
7079         * gst/gstclock.c: (gst_clock_new_periodic_id):
7080         Reject invalid clock times for interval of periodic ids.
7081         Fixes ##383506.
7082
7083 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7084
7085         * gst/gstelementfactory.c: (gst_element_factory_create):
7086         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7087         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7088         * tools/gst-inspect.c: (print_element_info):
7089         Fix refcounting of gst_plugin_feature_load to match the docs. 
7090         Fixes: #380129
7091
7092 2006-12-07  Wim Taymans  <wim@fluendo.com>
7093
7094         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
7095         (gst_base_sink_get_position):
7096         Improve debugging of events.
7097
7098 2006-12-07  Wim Taymans  <wim@fluendo.com>
7099
7100         Patch by: René Stadler <mail at renestadler dot de>
7101
7102         * gst/gstclock.c: (gst_clock_id_wait):
7103         Make period ids add the interval to the origial requested time instead
7104         of the possibly updated time which can be wrong when there are multiple
7105         waiters for the same id. Fixes #382592.
7106
7107         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
7108         (gst_system_clock_id_wait_jitter_unlocked),
7109         (gst_system_clock_id_wait_jitter):
7110         Fix restart in the async notify thread when an async entry is added to
7111         the front of the list. Fixes #381492. 
7112
7113         * tests/check/gst/gstsystemclock.c: (store_callback),
7114         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
7115         Added test for multiple async waits.
7116         Added test for async wait order.
7117
7118 2006-12-07  Wim Taymans  <wim@fluendo.com>
7119
7120         * gst/gstbin.c: (gst_bin_query):
7121         Add some more docs about the POSITION query.
7122
7123 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7124
7125         * configure.ac:
7126         Bump version nano - back to CVS.
7127
7128 === release 0.10.11 ===
7129
7130 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
7131
7132         * configure.ac:
7133           releasing 0.10.11, "Love never runs on time"
7134
7135 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
7136
7137         * win32/common/libgstbase.def:
7138         * win32/common/libgstreamer.def:
7139         * win32/vs8/libgstbase.vcproj:
7140         * win32/vs8/libgstcoreelements.vcproj:
7141         * win32/vs8/libgstreamer.vcproj:
7142         Fix compilation on win32 under VS8
7143         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7144         Partially fixes #381175
7145
7146 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7147
7148         * gst/gstvalue.c: (gst_value_compare_fraction):
7149         If someone is foolish enough to compare 2 fractions with denominator =
7150         0, return UNORDERED rather than aborting.
7151
7152 2006-11-28  Edward Hervey  <edward@fluendo.com>
7153
7154         * libs/gst/base/Makefile.am:
7155         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
7156         (gst_data_queue_base_init), (gst_data_queue_class_init),
7157         (gst_data_queue_init), (gst_data_queue_new),
7158         (gst_data_queue_cleanup), (gst_data_queue_finalize),
7159         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
7160         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
7161         (gst_data_queue_is_empty), (gst_data_queue_is_full),
7162         (gst_data_queue_set_flushing), (gst_data_queue_push),
7163         (gst_data_queue_pop), (gst_data_queue_drop_head),
7164         (gst_data_queue_set_property), (gst_data_queue_get_property):
7165         * libs/gst/base/gstdataqueue.h:
7166         New GstDataQueue object for threadsafe queueing. Most useful for
7167         elements that need some queueing functionnality.
7168         * docs/libs/gstreamer-libs-docs.sgml:
7169         * docs/libs/gstreamer-libs-sections.txt:
7170         Insert documentation for GstDataQueue
7171         * plugins/elements/Makefile.am:
7172         * plugins/elements/gstelements.c:
7173         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
7174         (gst_multi_queue_class_init), (gst_multi_queue_init),
7175         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7176         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
7177         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
7178         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7179         (gst_multi_queue_loop), (gst_multi_queue_chain),
7180         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7181         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
7182         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
7183         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
7184         (wake_up_next_non_linked), (compute_next_non_linked),
7185         (single_queue_overrun_cb), (single_queue_underrun_cb),
7186         (single_queue_check_full), (gst_single_queue_new):
7187         * plugins/elements/gstmultiqueue.h:
7188         New multiqueue element, using GstDataQueue. Used for queuing multiple
7189         streams.
7190         Closes #344639 and #347785
7191
7192 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
7193
7194         * docs/pwg/advanced-types.xml:
7195           add more missing type details
7196
7197         * tools/gst-run.c: (main):
7198           remove unused variable
7199
7200 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
7201
7202         * docs/libs/Makefile.am:
7203         * docs/libs/gstreamer-libs.types:
7204           add types of base classes to enable gobject specific stuff in the docs
7205
7206         * docs/random/ensonic/embedded.txt:
7207           more ideas about isolating platform specific things
7208
7209 2006-11-20  Wim Taymans  <wim@fluendo.com>
7210
7211         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
7212
7213         * libs/gst/check/gstcheck.h:
7214         Fix compilation and running against 0.9.4. Fixes #377332.
7215
7216 2006-11-20  Wim Taymans  <wim@fluendo.com>
7217
7218         * gst/gstsegment.c: (gst_segment_set_seek),
7219         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7220         (gst_segment_to_running_time):
7221         Fix boundary checking in to_running_time() and to_stream_time().
7222         Fixes #377183.
7223
7224         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7225         stream and running time can now be calculated for the complete
7226         clipped segment.
7227
7228 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
7229
7230         * gst/gstpad.c: (gst_pad_push_event):
7231           Can't access event structure after giving away ownership of
7232           the event.
7233
7234 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
7235
7236         * docs/random/ensonic/embedded.txt:
7237         * docs/random/ensonic/profiling.txt:
7238         * docs/random/ensonic/receipies.txt:
7239           more thinking
7240
7241 2006-11-13  Wim Taymans  <wim@fluendo.com>
7242
7243         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7244
7245         * gst/gstpad.c:
7246         Fix documentation for gst_pad_dispatcher. Fixes #374475.
7247
7248 2006-11-13  Wim Taymans  <wim@fluendo.com>
7249
7250         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7251
7252         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7253         Store new length in segment duration so we don't keep on calling the
7254         potentially expensize get_size() call. Fixes #370865.
7255
7256 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
7257
7258         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
7259
7260         * win32/common/libgstreamer.def:
7261           Add two missing symbols (#366492).
7262
7263 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
7264
7265         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7266         (gst_adapter_take_buffer):
7267         Fix format string to use all its arguments.
7268         Remove useless >= check on a guint
7269
7270 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7271
7272         * tests/examples/adapter/.cvsignore:
7273         Ignore build file as commanded by the build-bot
7274
7275 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7276
7277         * tests/examples/adapter/Makefile.am:
7278         * tests/examples/adapter/adapter_test.c: (run_test_take),
7279         (run_test_take_buffer), (run_tests), (main):
7280
7281         Add new files from the previous commit
7282
7283 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7284
7285         * Makefile.am:
7286         * configure.ac:
7287         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7288         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7289         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7290         * libs/gst/base/gstadapter.h:
7291         * tests/check/libs/adapter.c: (create_and_fill_adapter),
7292         (GST_START_TEST), (gst_adapter_suite):
7293         * tests/examples/Makefile.am:
7294         Do some optimisation work in GstAdapter to avoid copies in more cases.
7295         It could still do slightly better by merging buffers when
7296         gst_buffer_is_span_fast is true, but is already faster. 
7297
7298         Also, avoid traversing a single-linked list to append each incoming 
7299         buffer inside the adapter.
7300
7301         Add simple test app that times the adapter behaviour in different
7302         situations, and extend the unit test to check that bytes enter and
7303         exit the adapter in their original order.
7304
7305 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7306
7307         * docs/random/draft-missing-plugins.txt:
7308           Update: use element message instead of adding a new message
7309           type to the core; don't provide GStreamer API to initiate the
7310           plugin download, just provide API to compose the strings needed
7311           and let an external libgimmestuff handle the rest.
7312
7313 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
7314
7315         * tools/gst-inspect.c: (print_element_properties_info):
7316         Print a string instead of 'unknown type' for GValueArray properties
7317
7318 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
7319
7320         * docs/random/draft-missing-plugins.txt:
7321         More small fixes.
7322
7323 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7324
7325         * tests/examples/typefind/typefind.c: (type_found), (main):
7326           Make typefind element example work again (#371894); add a
7327           license header.
7328
7329 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7330
7331         * docs/random/draft-missing-plugins.txt:
7332           Commit initial draft about how to deal with missing plugins,
7333           needs work (API too).
7334
7335 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * docs/pwg/advanced-types.xml:
7338           documents the new caps elements (see #363118)
7339
7340 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7341
7342         * gst/gstplugin.c: (gst_plugin_load_file):
7343         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7344         (gst_file_src_map_region), (gst_file_src_start):
7345         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7346         (gst_file_index_commit):
7347           Use g_strerror() instead of strerror() - we want UTF-8.
7348
7349 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7350
7351         Patch by: Peter Kjellerstedt <pkj at axis com>
7352
7353         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7354           Another printf fix (#371493).
7355
7356 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7357
7358         * tests/check/gst/gsttag.c:
7359           relicence (okay with author=company)
7360
7361 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7362
7363         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7364         (gst_pad_push_event):
7365           Enhance debug and improve docs
7366         
7367         * gst/gsturi.c:
7368           Fix docs
7369
7370 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * docs/random/ensonic/distributed.txt:
7373         * docs/random/ensonic/profiling.txt:
7374           more ideas
7375
7376 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7377
7378         * docs/gst/gstreamer-sections.txt:
7379           add new API and fix the build
7380           
7381         * gst/gstbin.c: (gst_bin_recalc_state):
7382         * gst/gstelement.c: (gst_element_message_full),
7383         (gst_element_get_state_func), (gst_element_set_state_func):
7384           use new API and improve logging
7385         
7386         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7387         * gst/gstutils.h:
7388           API: add function to get StateChangereturn names to improve logs 
7389
7390 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7391
7392         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7393           I'm considering shooting the next person to put strerror stuff
7394           in the translateable part of the message.
7395
7396 2006-11-03  Wim Taymans  <wim@fluendo.com>
7397
7398         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7399         Get the type and printf conversion specifiers right.
7400
7401 2006-11-03  Wim Taymans  <wim@fluendo.com>
7402
7403         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7404
7405         * gst/gstpad.c: (gst_pad_init), (pre_activate),
7406         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7407         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7408         Some small cleanups. Improve debugging.
7409         * gst/gstpad.h:
7410         Signal all waiting threads with a broadcast instead of just one.
7411         Fixes #369942.
7412
7413 2006-11-03  Wim Taymans  <wim@fluendo.com>
7414
7415         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7416         (gst_fd_src_create):
7417         Add some debugging. 
7418         Only update fd when it's different from the old.
7419
7420 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7421
7422         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7423           Printf fixes for PPC/OSX, take two (#369366).
7424
7425 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7426
7427         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
7428
7429         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7430         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7431         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7432           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7433           don't cast to long long for portability reasons, but use
7434           GLib's types instead.
7435
7436 2006-10-30  Michael Smith  <msmith@fluendo.com>
7437
7438         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7439           Get the arguments to lseek() the right way around.
7440           Fixes 367677.
7441
7442 2006-10-30  Wim Taymans  <wim@fluendo.com>
7443
7444         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7445
7446         * gst/gstinfo.h:
7447         _declspec should be __declspec (two underscores, not one). Fixes 366572.
7448
7449 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7450
7451         Patch by: Kjartan Maraas  <kmaraas at gnome org>
7452
7453         * docs/design/part-MT-refcounting.txt:
7454         * docs/random/wtay/capsnego2-docs:
7455         * gst/gstclock.c:
7456         * gst/gstxml.c:
7457           Typo fixes (#366212).
7458
7459 2006-10-28  Wim Taymans  <wim@fluendo.com>
7460
7461         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7462
7463         * gst/gst.c:
7464         * win32/common/libgstbase.def:
7465         * win32/common/libgstreamer.def:
7466         * win32/vs8/libgstbase.vcproj:
7467         * win32/vs8/libgstcontroller.vcproj:
7468         Add needed entries in .def files.
7469         Use HAVE_UNISTD_H.
7470         Rearrange def files in vs8 solutions. Fixes #366286.
7471
7472 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7473
7474         * win32/common/gstconfig.h:
7475           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7476           hand-made win32 gstconfig.h. Fixes #366321.
7477
7478 2006-10-27  Wim Taymans  <wim@fluendo.com>
7479
7480         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7481         (gst_ghost_pad_new_full):
7482         Make acceptcaps return TRUE when we don't have a target, just like
7483         setcaps does.
7484
7485 2006-10-27  Wim Taymans  <wim@fluendo.com>
7486
7487         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7488         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7489
7490 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
7491
7492         * gst/gststructure.c: (gst_structure_id_set_value):
7493           If someone tries to set a non-UTF8 string field on a structure,
7494           don't just print a warning, but also ignore the request and do
7495           not change/add that field to the structure.
7496
7497         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7498           Test for the above.
7499
7500 2006-10-25  David Schleef  <ds@schleef.org>
7501
7502         * gst/gstinfo.c:
7503           g_hash_table_insert() needs a cast to a non-const pointer duh.
7504
7505 2006-10-25  David Schleef  <ds@schleef.org>
7506
7507         * gst/gstinfo.c:
7508         * gst/gstinfo.h:
7509           Change name parameter of _gst_debug_register_funcptr to const
7510           to reflect the constness of its use in the function as well
7511           as to quiet a gcc warning.
7512
7513 2006-10-25  Edward Hervey  <edward@fluendo.com>
7514
7515         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7516         Don't push the buffer if it's empty.
7517         Closes #363095
7518
7519 2006-10-24  Wim Taymans  <wim@fluendo.com>
7520
7521         * gst/gstevent.h:
7522         Add small comment.
7523
7524         * libs/gst/base/gstbasetransform.c:
7525         (gst_base_transform_sink_eventfunc):
7526         Debug segment values *after* updating them as this is more
7527         interesting.
7528
7529 2006-10-23  Wim Taymans  <wim@fluendo.com>
7530
7531         * docs/design/part-events.txt:
7532         Update some docs.
7533
7534         * docs/design/part-block.txt:
7535         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7536         (gst_pad_push_event):
7537         Revert BLOCKING patch, it tries to be smart without really having a
7538         clear idea what or how. So, now we discard all FLUSHING events again on
7539         a blocking pad. Should fix gnonlin again.
7540
7541 2006-10-23  Wim Taymans  <wim@fluendo.com>
7542
7543         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7544
7545         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7546         (gst_base_src_start), (gst_base_src_activate_push):
7547         Make sure size is always initialized. Fixes #364388.
7548
7549 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
7550
7551         * docs/random/ensonic/distributed.txt:
7552           add some ideas about doing distributed processing
7553
7554         * docs/random/ensonic/profiling.txt:
7555           get_rusage look promising
7556
7557 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7558
7559         * docs/manual/basics-helloworld.xml:
7560           Add a cast in example to fix compile warning
7561
7562 2006-10-18  Wim Taymans  <wim@fluendo.com>
7563
7564         * gst/gstsegment.c: (gst_segment_set_last_stop),
7565         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7566         Relax arg checking again, -1 is allowed.
7567
7568 2006-10-18  Wim Taymans  <wim@fluendo.com>
7569
7570         * gst/gstsegment.c: (gst_segment_set_last_stop),
7571         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7572         _set_last_stop() must be with a value != -1
7573         A _TYPE_SET to -1 means seek to 0.
7574         Calc last_stop correctly for negative rates.
7575         Make sure we work with positive durations when updating a segment.
7576
7577 2006-10-18  Wim Taymans  <wim@fluendo.com>
7578
7579         * docs/design/part-live-source.txt:
7580         * gst/gstclock.h:
7581         Small docs fixes.
7582
7583 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
7584
7585         * gst/gstbuffer.h:
7586           Add an explicit cast to GstBuffer** to keep old code that added an
7587           explicit cast to GstMiniObject** for gst_mini_object_replace()
7588           compiling without warning.
7589
7590 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7591
7592         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
7593           check for validity of dates
7594
7595 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7596
7597         * docs/gst/gstreamer-sections.txt:
7598           Forgot this one, makes gtk-doc shut up.
7599
7600 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7601
7602         Patch by: Peter Kjellerstedt <pkj at axis com>
7603
7604         * gst/gstobject.h:
7605           Don't define xmlNodePtr to gpointer if the core was built with
7606           --disable-loadsave and --disable-registry, this will break
7607           applications that want to use libxml2 but are buildling against a
7608           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
7609           instead so we don't have to mess with the libxml2 namespace
7610           (#361675).
7611
7612 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7613
7614         * gst/gstbuffer.h:
7615           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
7616           type-punned pointer warnings.
7617
7618 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
7619
7620         * gst/gstelement.h:
7621           Add casts to the correct return type to state <=> state transition
7622           macros.
7623
7624 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
7625
7626         * docs/design/part-live-source.txt:
7627           describe howto handle latency
7628         
7629         * docs/random/ensonic/profiling.txt:
7630           more ideas
7631
7632         * tools/gst-plot-timeline.py:
7633           fix log parsing for solaris, remove unused function
7634
7635 2006-10-16  Wim Taymans  <wim@fluendo.com>
7636
7637         * docs/design/part-trickmodes.txt:
7638         * gst/gstevent.c:
7639         Update some docs regarding reverse playback.
7640
7641 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7642
7643         Patch by: Marcus Granado  <mrc dot gran at gmail com>
7644
7645         * win32/vs8/grammar.vcproj:
7646           Error out with a warning if glib-genmarshal.exe is not in path,
7647           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
7648
7649 2006-10-13  Wim Taymans  <wim@fluendo.com>
7650
7651         * gst/gstsegment.c: (gst_segment_set_seek):
7652         When seeking to stop -1, set last_stop (current position) to the
7653         duration of the segment.
7654
7655 2006-10-13  Wim Taymans  <wim@fluendo.com>
7656
7657         * gst/gstelement.h:
7658         Clarify _NO_PREROLL a bit more.
7659
7660         * gst/gstevent.c:
7661         Fix docs.
7662
7663         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
7664         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
7665         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
7666         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
7667         due to wrong locking order. Fixes #361769.
7668         Remove some redundant/misplaced checks in pad_block.
7669
7670         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7671         For negative rates, count backwards from the duration.
7672
7673 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7674
7675         * gst/gsterror.c: (_gst_library_errors_init):
7676           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
7677           up with something better).
7678
7679 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7680
7681         * win32/vs6/libgstreamer.dsp:
7682         * win32/vs7/libgstreamer.vcproj:
7683         * win32/vs8/libgstreamer.vcproj:
7684           Don't reference glib-compat.c which is currently not used and not
7685           disted; add gstquark.c which was recently added. Fixes #361730.
7686
7687 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7688
7689         * win32/common/libgstbase.def:
7690         * win32/common/libgstcontroller.def:
7691         * win32/common/libgstreamer.def:
7692           Add gst_caps_merge() and a bunch of other recently-added functions.
7693           Fixes #361732.
7694
7695 2006-10-11  Wim Taymans  <wim@fluendo.com>
7696
7697         * docs/plugins/gstreamer-plugins.args:
7698         * docs/plugins/inspect/plugin-coreelements.xml:
7699         * docs/plugins/inspect/plugin-coreindexers.xml:
7700         Update element args.
7701
7702         * gst/gstsystemclock.c:
7703         Small comment update.
7704
7705         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7706         (gst_tee_request_new_pad), (gst_tee_release_pad),
7707         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
7708         (gst_tee_sink_activate_pull):
7709         * plugins/elements/gsttee.h:
7710         Some tee loving:
7711         Add default property defines.
7712         Implement release pad function.
7713         Give properties better blubs etc.
7714         Activate pads before adding them to a running tee.
7715         Do simple buffer_alloc on the first requested pad.
7716         Post error when activation fails.
7717
7718 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7719
7720         * gst/gst.c: (ensure_current_registry_forking):
7721           Check return value of write() to make compiler happy.
7722
7723 2006-10-11  Wim Taymans  <wim@fluendo.com>
7724
7725         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7726
7727         * plugins/elements/gstqueue.c: (gst_queue_chain):
7728         Recheck queue filledness after signalling the overrun when we're about
7729         to leak downstream because we released the lock when emitting the signal
7730         and the queue could be empty again. Fixes #352345.
7731
7732 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7733
7734         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
7735           Fix refcounting here too, just like we did for _new_valist() a few
7736           days ago (#357180) (thanks to René Stadler). Also remove all those
7737           'Since: 0.9' from the gtk-doc blobs.
7738
7739         * tests/check/libs/controller.c: (controller_refcount_new_list),
7740         (gst_controller_suite):
7741           Unit test for the above.
7742
7743 2006-10-10  Wim Taymans  <wim@fluendo.com>
7744
7745         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
7746
7747         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7748         (gst_pad_save_thyself):
7749         Update some docs.
7750         Write pad direction in XML output. Fixes #345496.
7751
7752 2006-10-10  Wim Taymans  <wim@fluendo.com>
7753
7754         Patch by: René Stadler <mail at renestadler dot de>
7755
7756         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7757         (gst_controller_new_list), (_gst_controller_dispose),
7758         (_gst_controller_finalize), (_gst_controller_class_init):
7759         Take ref to controlled object so that it cannot disappear. 
7760         Fixes #357432.
7761
7762 2006-10-10  Wim Taymans  <wim@fluendo.com>
7763
7764         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7765         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7766         (gst_check_teardown_sink_pad):
7767         Activate/deactivate pads in setup/teardown respectively.
7768
7769 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7770
7771         Patch by: Josep Torra Valles <josep@fluendo.com>
7772
7773         * gst/Makefile.am:
7774         Cast values when making gstenumtypes.h.  This pacifies Forte
7775         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
7776         in the enumeration.
7777
7778 2006-10-09  Wim Taymans  <wim@fluendo.com>
7779
7780         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
7781         Rename some more @cur to @start to fix docs. 
7782
7783         * gst/gstsegment.c: (gst_segment_set_seek):
7784         Fix typo.
7785         time and start must always stay in sync as defined in design doc.
7786
7787         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7788         Rename param to fix docs.
7789
7790         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7791         Check that start and time are in sync.
7792
7793         * tests/check/pipelines/parse-launch.c:
7794         (gst_parse_test_element_change_state):
7795         Activate pad before adding to the element.
7796
7797 2006-10-09  Wim Taymans  <wim@fluendo.com>
7798
7799         * docs/design/part-qos.txt:
7800         Fix typo.
7801
7802         * gst/gstevent.c:
7803         * gst/gstevent.h:
7804         Update seek event docs regarding negative rates.
7805         Rename @cur to @start. 
7806
7807         * gst/gstsegment.c: (gst_segment_set_seek):
7808         * gst/gstsegment.h:
7809         Update set_seek docs regarding negative rates.
7810         Correctly update last_stop to @stop when dealing with negative
7811         rates.
7812         Rename @cur to @start. 
7813
7814         * tests/check/gst/gstpad.c: (GST_START_TEST):
7815         Activate pads before trying to use them.
7816
7817         * tests/check/gst/gstsegment.c: (GST_START_TEST),
7818         (gst_segment_suite):
7819         Add simple check for segments and negative rates.
7820
7821 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
7822
7823         * gst/gsttaglist.c: (gst_tag_list_is_empty):
7824         * gst/gsttaglist.h:
7825         * docs/gst/gstreamer-sections.txt:
7826           API: add gst_tag_list_is_empty() (#360467).
7827
7828         * tests/check/gst/gsttag.c: (GST_START_TEST):
7829           And a test case.
7830
7831 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7832
7833         * gst/gstmessage.h:
7834         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
7835         a value that doesn't fit on enumeration.
7836
7837 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7838
7839         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7840         Remove local debugging system and use Gstreamer's instead.
7841
7842 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7843
7844         Patch by: Josep Torra Valles <josep@fluendo.com>
7845
7846         * common/m4/gst-error.m4:
7847         Disable warning of statement not reached on Forte.
7848         * gst/gstmessage.h:
7849         Fix warning on Forte (value doesn't fit on enumeration).
7850         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
7851         Fix warning on Forte (value doesn't fit on enumeration).
7852         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7853         DEBUG macro says it takes minimum of 2 args and so Forte
7854         complains about the use with just 1 arg.
7855         * plugins/elements/gstfdsink.c:
7856         * plugins/elements/gstfdsrc.c:
7857         * plugins/elements/gstfilesink.c:
7858         * plugins/elements/gstfilesrc.c:
7859         Use correct return type for the uri handler implementations.
7860
7861         All these fix warnings in Forte.  Fixes bug #360860.
7862
7863 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
7864
7865         * gst/gstelement.h:
7866           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
7867           format string, so don't use G_GNUC_PRINTF for those versions.
7868
7869 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
7870
7871         * gst/gsttaglist.c: (gst_is_tag_list):
7872         * gst/gsttaglist.h:
7873           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
7874
7875         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7876           Small test for the above.
7877
7878 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
7879
7880         * gst/gsttaglist.h:
7881           Less tabs, more spaces.
7882
7883 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
7884
7885         * gst/gstinfo.h:
7886           Those two function declarations do actually belong there, revert
7887           commit from yesterday that turned them intro macros.
7888
7889 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7890
7891         Patch by: Josep Torra Valles <josep@fluendo.com>
7892
7893         * gst/gst.c: (gst_init_get_option_group):
7894         Fix empty declaration and type mismatch.
7895         * gst/gstbin.c: (gst_bin_change_state_func):
7896         Fix type mismatch.
7897         * gst/gstelement.c: (gst_element_continue_state),
7898         (gst_element_set_state_func), (gst_element_change_state),
7899         (gst_element_change_state_func):
7900         Fix type mismatches.
7901         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
7902         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
7903         Cast as appropriate.
7904         * gst/gstobject.c: (gst_class_signal_connect):
7905         Cast as appropriate.  The function pointer parameter really
7906         has the wrong type but would break API if we change it.
7907         * gst/gstquery.c:
7908         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
7909         order of including string.h.
7910         * gst/gstutils.c: (gst_element_state_get_name):
7911         Remove unreachable line.
7912         * gst/gstxml.c: (gst_xml_parse_doc):
7913         Fix type mismatch.
7914         All these caught by Forte.
7915
7916 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7917
7918         Patch by: Josep Torra Valles <josep@fluendo.com>
7919
7920         * common/m4/gst-error.m4:
7921         Fixed bug #360151.
7922         We need to disable warnings on Forte for empty declarations
7923         due to gst-indent adding ;s to lines that just use macros
7924         where the macro actually doesn't need a ; at end to end
7925         statement.
7926
7927 2006-10-06  Wim Taymans  <wim@fluendo.com>
7928
7929         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7930         (gst_file_sink_close_file), (gst_file_sink_event),
7931         (gst_file_sink_render):
7932         Add some FIXME for the NEWSEGMENT handling.
7933
7934 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7935
7936         * gst/parse/grammar.y:
7937         Remove static function gst_parse_element_lock as all it does
7938         is return.  Looks like cruft from 0.8.
7939
7940 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7941
7942         Patch by: Josep Torra Valles <josep@fluendo.com>
7943
7944         * common/m4/gst-error.m4:
7945         * configure.ac:
7946         * libs/gst/net/Makefile.am:
7947         Fix a compilation issue with Forte on Solaris.  inet_aton is in
7948         libresolv.
7949
7950 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
7951
7952         * gst/gstpad.c: (pre_activate):
7953         * gst/gstregistry.c: (gst_registry_scan_path_level):
7954         * gst/gstregistryxml.c: (load_plugin):
7955         * libs/gst/controller/gstcontroller.c:
7956         (gst_controlled_property_set_interpolation_mode):
7957         * libs/gst/dataprotocol/dataprotocol.c:
7958         (gst_dp_packet_from_event_1_0):
7959         * libs/gst/net/gstnetclientclock.c:
7960         (gst_net_client_clock_observe_times):
7961         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7962           Printf fixes.
7963
7964 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
7965
7966         * configure.ac:
7967         * docs/gst/gstreamer-sections.txt:
7968         * gst/gstconfig.h.in:
7969         * gst/gstelement.h:
7970         * gst/gstinfo.h:
7971           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
7972           whether we can use G_GNUC_PRINTF in other header files and at
7973           least check the printf format/arguments of debug messages and
7974           GST_ELEMENT_ERROR messages when the printf extension is not
7975           being used.
7976           Replace more tabs with spaces in gstinfo.h and remove two spurious
7977           function declarations in GST_DISABLE_DEBUG part with macros.
7978
7979 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
7980
7981         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
7982           More docs for the sync-message signal (mention that it is not
7983           emitted by default); log message structures of messages posted on
7984           the bus as well.
7985
7986 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
7987
7988         * gst/gst.c: (ensure_current_registry_forking):
7989         Use a pipe pair to receive status results from the forked child, and
7990         ignore the result from waitpid. Fixes #355499
7991
7992 2006-10-02  Wim Taymans  <wim@fluendo.com>
7993
7994         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7995         (gst_ghost_pad_suite):
7996         Fix leak in check.
7997
7998 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7999
8000         * gst/gstpad.c:
8001           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
8002
8003 2006-10-02  Edward Hervey  <edward@fluendo.com>
8004
8005         * docs/design/part-block.txt:
8006         Further explain the use of flushing on blocked pads.
8007         * docs/gst/gstreamer-sections.txt:
8008         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8009         (gst_pad_push_event):
8010         * gst/gstpad.h:
8011         Added new GstPadFlag : GST_PAD_BLOCKING.
8012         Adds the notion of pads really blocking, which enables to properly
8013         handle FLUSH_START/FLUSH_STOP events on blocked pads.
8014         Fixes #358999
8015         API: gst_pad_is_blocking()
8016         API: GST_PAD_IS_BLOCKING() macro
8017         API: GST_PAD_BLOCKING GstPadFlag
8018         
8019 2006-10-02  Wim Taymans  <wim@fluendo.com>
8020
8021         Patch by: mrcgran <mrc.gran at gmail dot com>
8022
8023         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
8024         Filter the proxied caps against the padtemplate if we have one.
8025
8026         * gst/gstquery.c: (gst_query_new_segment):
8027         Add include for gstinfo.h so that compilation with
8028         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
8029
8030 2006-10-02  Wim Taymans  <wim@fluendo.com>
8031
8032         Patch by: Alessandro Decina  <alessandro at nnva org>
8033
8034         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
8035         (gst_file_sink_set_location), (gst_file_sink_open_file),
8036         (gst_file_sink_close_file), (gst_file_sink_event),
8037         (gst_file_sink_render):
8038         Set file to NULL when closing filesink so that we can set a new filename
8039         in READY. Fixes #358613.
8040
8041 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8042
8043         Patch by: Alessandro Decina  <alessandro at nnva org>
8044
8045         * gst/gstevent.c: (_gst_event_copy):
8046           Fix gst_mini_object_make_writable() and gst_event_copy() for events
8047           with event structures by setting the parent refcount address of the
8048           copied structure to the address of the refcount member of the newly
8049           copied event rather than the address of the refcount member of the
8050           original event. Fixes #358737.
8051
8052         * tests/check/gst/gstevent.c: (GST_START_TEST):
8053           Unit test for the above.
8054
8055 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
8056
8057         * docs/design/Makefile.am:
8058           Dist some more files.
8059
8060 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * tests/check/libs/controller.c: (GST_START_TEST),
8063         (gst_controller_suite):
8064           Add test for the previous fix; add some more tests
8065           for correct refcounting behaviour; fix a few leaks
8066           in test cases; call gst_controller_init() at start
8067           of all tests.
8068
8069 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8070
8071         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8072         (gst_controller_set_from_list):
8073           Don't g_return_val_if_fail() on timed values with invalid timestamps
8074           inside a critical section without unlocking the mutex. Spotted by
8075           René Stadler. (#357617)
8076           Also, fix up refcounting properly: when returning an existing
8077           controller, we should increase the reference only once and not
8078           once per property and when trying to control a property again
8079           we should also increase the refcount.
8080
8081 2006-09-29  Wim Taymans  <wim@fluendo.com>
8082
8083         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8084         * libs/gst/net/gstnettimeprovider.c:
8085         (gst_net_time_provider_thread):
8086         Stop reading commands when EOF as well.
8087
8088         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8089         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8090         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8091         Unify description of the dump property.
8092
8093 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8094
8095         * tests/examples/manual/.cvsignore:
8096         OK, so it's actually cvsignore that needs changing. Stop laughing.
8097
8098 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8099
8100         * tests/examples/manual/Makefile.am:
8101         Gah, declare vars *before* using them
8102
8103 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8104
8105         * gst/gst.c: (init_pre), (scan_and_update_registry),
8106         (ensure_current_registry_nonforking),
8107         (ensure_current_registry_forking), (ensure_current_registry),
8108         (init_post), (gst_debug_help), (gst_deinit):
8109         * gst/gst_private.h:
8110         * gst/gstregistry.c: (gst_registry_finalize),
8111         (gst_registry_remove_features_for_plugin_unlocked),
8112         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8113         (gst_registry_scan_path),
8114         (_priv_gst_registry_remove_cache_plugins),
8115         (_priv_gst_registry_cleanup):
8116         * gst/gstregistry.h:
8117         Re-commit the registry changes, along with an extra fix:
8118           When a cached plugin is encountered at a different file path,
8119           update the stored path in the registry cache so that the parent
8120           process knows where it actually is now when it re-reads the registry
8121           cache. Fixes the thing that broke distcheck with the previous commit.
8122
8123         * tests/check/Makefile.am:
8124         Clean up files named 'core' too when running make clean.
8125
8126         * tests/examples/manual/Makefile.am:
8127         Set up a registry path for running these tests, and clean it properly
8128         for distcheck.
8129
8130 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8131
8132         * configure.ac:
8133         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
8134         want gmodule-no-export-2.0.pc instead so that we don't drag in
8135         --export-dynamic on every project that links to GStreamer.
8136
8137         Also, make our export regex only match the start of symbols, rather 
8138         than any symbol that contains '_gst' somewhere.
8139
8140         * libs/gst/check/Makefile.am:
8141         The libgstcheck we build does however need export-dynamic, as it
8142         produces some symbols that don't match our _gst... style regex.
8143         Fixes: #318031
8144
8145 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8146
8147         * gst/gst.c: (init_pre), (scan_and_update_registry),
8148         (ensure_current_registry_nonforking),
8149         (ensure_current_registry_forking), (ensure_current_registry),
8150         (init_post), (gst_debug_help), (gst_deinit):
8151         * gst/gst_private.h:
8152         * gst/gstregistry.c: (gst_registry_finalize),
8153         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8154         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
8155         (_gst_registry_cleanup):
8156         * gst/gstregistry.h:
8157           Revert previous change until I figure out why it breaks distcheck.
8158
8159 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8160
8161         * gst/gst.c: (init_pre), (scan_and_update_registry),
8162         (ensure_current_registry_nonforking),
8163         (ensure_current_registry_forking), (ensure_current_registry),
8164         (init_post), (gst_debug_help), (gst_deinit):
8165
8166           Make init_pre and init_post take the full complement of GOptionFunc
8167           args so they can return useful GErrors. Make the registry updating
8168           functions do so.
8169
8170           Call _priv_gst_registry_remove_cache_plugins after scanning files to
8171           ensure that the registry we're about to write out doesn't contain
8172           stale information about old-deleted plugin files.
8173
8174           Make _priv_gst_registry_remove_cache_plugins return a boolean so
8175           that deletion of plugin files is considered a registry change.
8176
8177         * gst/gst_private.h:
8178         * gst/gstregistry.c: (gst_registry_finalize),
8179         (gst_registry_remove_features_for_plugin_unlocked),
8180         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8181         (gst_registry_scan_path),
8182         (_priv_gst_registry_remove_cache_plugins),
8183         (_priv_gst_registry_cleanup):
8184         * gst/gstregistry.h:
8185         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
8186         by adding _priv prefix, so that they won't appear in the global
8187         symbol table. They still do atm though because of #318031. Move the
8188         prototypes to gst_private.h
8189
8190         When removing a plugin, remove all features for that plugin too. 
8191         Fixes #340878.
8192
8193 2006-09-27  Wim Taymans  <wim@fluendo.com>
8194
8195         * docs/random/moving-plugins:
8196         Make it clear that the "compiled-in descriptions" really mean
8197         the element details.
8198
8199         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8200         (gst_base_sink_wait_preroll):
8201         Update docs.
8202
8203         * docs/libs/gstreamer-libs-sections.txt:
8204         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8205         (gst_base_src_get_range), (gst_base_src_activate_push):
8206         * libs/gst/base/gstbasesrc.h:
8207         Added function to block while waiting for PLAYING, this function
8208         is used by live sources that block on the clock.
8209         API: gst_base_src_wait_playing()
8210
8211 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8212
8213         Patch by: Peter Kjellerstedt <pkj at axis com>
8214
8215         * Makefile.am:
8216           gst-element-check.m4 is generated and should therefore be
8217           copied from the build dir rather than the source dir (#357593).
8218           'make distcheck' hasn't noticed this because we were disting
8219           the file as well, so stop doing that.
8220
8221 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8222
8223         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8224           Add some tests for gst_caps_intersect().
8225
8226         * tools/gst-launch.c: (event_loop):
8227           Print all buffering percentages we get, even the 100% one.
8228
8229 2006-09-26  Wim Taymans  <wim@fluendo.com>
8230
8231         * tools/gst-inspect.c: (print_element_properties_info),
8232         (print_signal_info):
8233         Fix printing of flags to match the look of enums.
8234
8235 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8236
8237         * gst/gstelementfactory.c:
8238           Fix typo in docs blurb.
8239
8240 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8241
8242         * gst/gsturi.c: (search_by_entry):
8243           Don't assert/crash here if a uri handler doesn't return any
8244           supported protocols. The list of protocols could be generated
8245           dynamically at runtime or at plugin registration, and an error
8246           in the underlying library shouldn't be fatal (#353301).
8247
8248 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8249
8250         * gst/gstinfo.c:
8251           Fix warning if HAVE_PRINTF_EXTENSION is undefined
8252           (spotted by Peter Kjellerstedt).
8253
8254 2006-09-23  Wim Taymans  <wim@fluendo.com>
8255
8256         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8257
8258         * libs/gst/base/gstbasesrc.c:
8259         (gst_base_src_default_check_get_range), (gst_base_src_start),
8260         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8261         (gst_base_src_change_state):
8262         Match _start/_stop calls in the activate functions. Remove redundant
8263         _stop call from the state change function. Fixes #356910.
8264         Turn failure DEBUG into ERROR. 
8265
8266 2006-09-22  Wim Taymans  <wim@fluendo.com>
8267
8268         * docs/design/part-buffering.txt:
8269         * gst/gstmessage.c: (gst_message_new_buffering),
8270         (gst_message_parse_buffering):
8271         Update docs about buffering.
8272
8273         * docs/design/part-trickmodes.txt:
8274         Fix typo.
8275
8276 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
8277
8278         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8279         (gst_controller_new_list):
8280           Ref instances when returning them again (fixes #357180)
8281
8282 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8283
8284         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8285           Don't forget to release proxy lock when there's an error.
8286
8287 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
8288
8289         * gst/gstcaps.h:
8290           Add extra initialisers for Caps things, to fix some plugin warnings
8291           when using -Wextra
8292
8293 2006-09-18  Wim Taymans  <wim@fluendo.com>
8294
8295         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8296           Also set template on the internal pad so that a getcaps from the 
8297           target pad returns the template caps.
8298
8299 2006-09-18  Wim Taymans  <wim@fluendo.com>
8300
8301         * gst/gstelement.c: (gst_element_post_message),
8302         (gst_element_dispose):
8303         Use _DEBUG_OBJECT some more.
8304
8305         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8306         Avoid typechecks.
8307
8308         * tools/gst-launch.c: (main):
8309         If the toplevel element is not a GstPipeline, it must be put in a
8310         pipeline so that a bus and clock is selected.
8311
8312 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8313
8314         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8315           JITTER, RATE, and LATENCY query should be handled by the
8316           default case and not by the CONVERT query code.
8317
8318 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8319
8320         * gst/gstformat.c: (gst_format_register):
8321           Fix locking order (must take lock before using n_values).
8322
8323         * gst/gstvalue.c: (gst_value_serialize_enum),
8324         (gst_value_deserialize_enum_iter_cmp),
8325         (gst_value_deserialize_enum):
8326           Fix serialisation/deserialisation of custom registered GstFormats.
8327
8328         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8329           Unit test for custom format serialisation/deserialisation.
8330
8331 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
8332
8333         * docs/pwg/building-boiler.xml:
8334         * plugins/elements/gstcapsfilter.c:
8335         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8336         section.
8337
8338 2006-09-16  Edward Hervey  <edward@fluendo.com>
8339
8340         * libs/gst/base/gstbasetransform.c:
8341         (gst_base_transform_buffer_alloc):
8342         Check if requested caps are the same as the sinks caps IF
8343         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8344         is FALSE.
8345         This fixes the renegotiation issues stated in #352827.
8346
8347 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8348
8349         * configure.ac:
8350         * docs/manual/advanced-autoplugging.xml:
8351         * tests/examples/Makefile.am:
8352         * tests/examples/manual/.cvsignore:
8353         * tests/examples/manual/Makefile.am:
8354         * tests/examples/manual/extract.pl:
8355           Extract the manual examples again like we used to do.
8356           Fix one of them.
8357
8358 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8359
8360         * win32/common/config.h:
8361           update for version
8362
8363 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
8364
8365         * gst/gsterror.c:
8366           Documents how to receive errors.
8367
8368 2006-09-15  Wim Taymans  <wim@fluendo.com>
8369
8370         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8371         (event_loop), (main):
8372         Added some comments here and there.
8373         Post an application message when an interrupt is caught instead of doing
8374         an uncontrolled state change.
8375         Clean up the event loop.
8376         Handle buffering messages, pause/resume the pipeline.
8377         Make shutdown because of an interrupt more reliable.
8378
8379 2006-09-15  Wim Taymans  <wim@fluendo.com>
8380
8381         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8382         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8383         (gst_base_sink_preroll_object):
8384         Make sure that our internal state is correct when we commit our state
8385         asynchronously. This solves a race where a state change to PLAYING
8386         could cause the sink to remain blocked in preroll in some situations.
8387
8388 2006-09-15  Wim Taymans  <wim@fluendo.com>
8389
8390         * tools/gst-inspect.c: (print_element_properties_info),
8391         (print_signal_info):
8392         List flags as hex so it's easier to deal with.
8393
8394 2006-09-15  Wim Taymans  <wim@fluendo.com>
8395
8396         * docs/libs/gstreamer-libs-sections.txt:
8397         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8398         (gst_base_sink_do_sync):
8399         * libs/gst/base/gstbasesink.h:
8400         Expose logic to wait for preroll so that subclasses such as audiosink
8401         can also use this method.
8402         API: gst_base_sink_wait_preroll()
8403
8404 2006-09-15  Wim Taymans  <wim@fluendo.com>
8405
8406         * gst/gstobject.c: (gst_object_set_parent):
8407         * gst/gstpipeline.c: (do_pipeline_seek):
8408         Small cleanups in docs and code.
8409
8410         * gst/gstsegment.c: (gst_segment_clip):
8411         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8412         if stop == start and start is in the segment, no clipping should be
8413         done. Also add a test for this.
8414
8415 2006-09-15  Wim Taymans  <wim@fluendo.com>
8416
8417         * docs/design/part-buffering.txt:
8418         * docs/gst/gstreamer-sections.txt:
8419         * gst/gstmessage.c: (gst_message_new_buffering),
8420         (gst_message_parse_buffering):
8421         * gst/gstmessage.h:
8422         Added methods to create and parse BUFFERING messages.
8423         Added preliminary docs about buffering.
8424         API: gst_message_new_buffering
8425         API: gst_message_parse_buffering
8426
8427 2006-09-06  Wim Taymans  <wim@fluendo.com>
8428
8429         * gst/gstbin.c:
8430         Update documentation.
8431
8432         * gst/gstelement.c: (gst_element_class_init),
8433         (gst_element_release_request_pad), (gst_element_set_clock),
8434         (gst_element_get_index), (gst_element_add_pad),
8435         (gst_element_remove_pad), (gst_element_get_random_pad),
8436         (gst_element_send_event), (gst_element_get_query_types),
8437         (gst_element_query), (gst_element_post_message),
8438         (gst_element_message_full), (gst_element_continue_state),
8439         (gst_element_lost_state), (gst_element_save_thyself),
8440         (gst_element_restore_thyself):
8441         Documentation updates.
8442         Rename last bit of the new-pad -> pad-added signal rename.
8443         Fix the case where an element query would only work if the source
8444         pad was linked.
8445         Avoid some useless type checking in message handling.
8446
8447         * gst/gstevent.c:
8448         * gst/gstevent.h:
8449         * gst/gstutils.c:
8450         Documentation updates.
8451
8452 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8453
8454         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8455           add an INFO line for when we actually update the fd
8456
8457 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8458
8459         * configure.ac:
8460           back to TRUNK
8461
8462 === release 0.10.10 ===
8463
8464 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
8465
8466         * configure.ac:
8467           releasing 0.10.10, "Pais"
8468
8469 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
8470
8471         * docs/manual/advanced-position.xml:
8472           Fix typo in sample code.
8473
8474 2006-09-05  Wim Taymans  <wim@fluendo.com>
8475
8476         * libs/gst/net/gstnetclientclock.c: (inet_aton),
8477         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8478         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8479         * libs/gst/net/gstnetclientclock.h:
8480         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8481         * libs/gst/net/gstnettimepacket.h:
8482         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8483         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8484         (gst_net_time_provider_thread), (gst_net_time_provider_new):
8485         * libs/gst/net/gstnettimeprovider.h:
8486         Make stuff compile on windows. Fixes #345295.
8487
8488 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8489
8490         * gst/gst.c: (ensure_current_registry_forking):
8491           Print better details when child was terminated by signal.
8492
8493 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8494
8495         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8496           Print a warning rather than g_assert() if a plugin feature
8497           is a URI handler but returns no protocols (#353976).
8498
8499 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
8500
8501         * docs/random/moving-plugins:
8502         Fix two typos.         
8503
8504 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8505
8506         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8507           Fix locking order, handle NULL function values properly.
8508
8509         * gst/gstinfo.h:
8510           Fix docs.
8511
8512         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8513           Initialise variable before using it and fix debug statement to
8514           print the address of the function rather than the address of the
8515           variable on the stack holding the address of the function.
8516
8517 2006-09-01  Wim Taymans  <wim@fluendo.com>
8518
8519         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8520         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8521         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8522         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8523         (gst_ghost_pad_parent_unset),
8524         (gst_ghost_pad_internal_do_activate_push),
8525         (gst_ghost_pad_internal_do_activate_pull),
8526         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8527         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8528         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8529         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
8530         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
8531         (gst_ghost_pad_new_no_target_from_template),
8532         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8533         More cleanups.
8534         Avoid needless typechecking in macros.
8535         Since the internal pad is always present and never changes, there is
8536         no need to locking or ref when retrieving it.
8537         Improve debugging a bit.
8538         Handle link errors when setting the target. Fixes #341029.
8539
8540 2006-09-01  Wim Taymans  <wim@fluendo.com>
8541
8542         * docs/libs/gstreamer-libs-sections.txt:
8543         * docs/plugins/gstreamer-plugins-sections.txt:
8544         Fix docs some more.
8545
8546         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8547         (gst_collect_pads_event):
8548         * libs/gst/base/gstcollectpads.h:
8549         Documentation updates.
8550         Free queued buffer when removing a pad.
8551
8552 2006-08-31  Michael Smith  <msmith@fluendo.com>
8553
8554         * gst/gstutils.c: (gst_element_link_pads),
8555         (gst_element_link_pads_filtered):
8556           Ensure that we set a capsfilter to NULL if we failed to link it
8557           when doing filtered linking, to avoid criticals.
8558
8559           No need to check for unreffing srcpad, which is explicly NULLed
8560           above (a trivial code cleanup).
8561
8562 2006-08-31  Wim Taymans  <wim@fluendo.com>
8563
8564         * docs/design/part-gstghostpad.txt:
8565         Update ascii art in documentation.
8566
8567         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
8568         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
8569         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8570         (gst_ghost_pad_internal_do_activate_push),
8571         (gst_ghost_pad_internal_do_activate_pull),
8572         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8573         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8574         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
8575         (gst_ghost_pad_set_target):
8576         Small cleanups and leak fixes.
8577         Remove some checks now that the internal pad is never NULL.
8578         Fix the case where linking pads without a target would create nasty
8579         criticals. Fixes #341029.
8580         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
8581         value of _set_target().
8582
8583         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8584         (gst_ghost_pad_suite):
8585         Some more tests for creating and linking untargeted ghostpads.
8586
8587 2006-08-31  Edward Hervey  <edward@fluendo.com>
8588
8589         * docs/gst/gstreamer-sections.txt:
8590         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
8591         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8592         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
8593         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
8594         (gst_ghost_pad_new_from_template),
8595         (gst_ghost_pad_new_no_target_from_template):
8596         * gst/gstghostpad.h:
8597         Refactored *_new() functions.
8598         Templates are now used as a g_object_new() parameter.
8599         Use template in _do_getcaps() if we don't have a target.
8600         Small documentation cleanups.
8601         Added two new constructors:
8602         gst_ghost_pad_new_from_template()
8603         gst_ghost_pad_new_no_target_from_template()
8604         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8605         (gst_ghost_pad_suite):
8606         Added tests for new ghostpad instanciation functions.
8607
8608         API additions: gst_ghost_pad_new_from_template,
8609         gst_ghost_pad_new_no_target_from_template
8610
8611 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
8612
8613         * docs/random/ensonic/profiling.txt:
8614           Ideas about qos profiling.
8615
8616 2006-08-29  Wim Taymans  <wim@fluendo.com>
8617
8618         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
8619         Code cleanups.
8620         Fix memleak.
8621
8622 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
8623
8624         * gst/gstxml.c:
8625           Improve and detypofy docs.
8626
8627         * tests/check/Makefile.am:
8628         * tests/check/gst/.cvsignore:
8629         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
8630           Add a basic test suite for GstXML.
8631
8632 2006-08-29  Wim Taymans  <wim@fluendo.com>
8633
8634         * gst/gstelement.c: (activate_pads), (clear_caps),
8635         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8636         Clear the pad caps when the element shut down all of the pads and
8637         is not streaming data that could modify the caps. 
8638         Fixes #352958.
8639
8640 2006-08-28  Michael Smith  <msmith@fluendo.com>
8641
8642         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8643           Revert previous change; I misunderstood single-segment mode.
8644
8645 2006-08-28  Michael Smith  <msmith@fluendo.com>
8646
8647         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8648           Unset DISCONT on buffers when using single-segment mode.
8649
8650 2006-08-28  Wim Taymans  <wim@fluendo.com>
8651
8652         * gst/gstcaps.c: (gst_caps_merge_structure):
8653         * gst/gstcaps.h:
8654         Fix docs and indentation again.
8655
8656         * tests/check/gst/gstquery.c: (GST_START_TEST):
8657         Fix leak in tests and add some more tests.
8658
8659 2006-08-28  Edward Hervey  <edward@fluendo.com>
8660
8661         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8662         Inform GstSegment of the last stop position in order for the current
8663         segment to have a proper duration if it doesn't have a specific stop
8664         position from which a duration could be calculated.
8665         This bug was noticeable when a non-flushing, non-update new segment was
8666         followed by another segment (all buffers from the new segment were being
8667         dropped).
8668
8669 2006-08-28  Wim Taymans  <wim@fluendo.com>
8670
8671         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
8672         Small comment update.
8673
8674         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8675         (gst_identity_transform_ip):
8676         Drop-probability is broken, mention this in the code with a 
8677         FIXME and also in the property description.
8678         Make silent also be silent about the drop messages.
8679
8680 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
8681
8682         * docs/manual/appendix-win32.xml:
8683           Remove mention of popt, we don't depend on that any
8684           longer (#353136). Add some comments pointing out that
8685           this section is slightly outdated.
8686
8687 2006-08-28  Wim Taymans  <wim@fluendo.com>
8688
8689         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8690
8691         * gst/gstquery.c: (gst_query_new_segment):
8692         * tests/check/gst/gstquery.c: (GST_START_TEST):
8693         Initialize variables when creating a new segment query.
8694         Fixes #353121.
8695
8696 2006-08-28  Wim Taymans  <wim@fluendo.com>
8697
8698         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8699
8700         * gst/gstelement.c: (gst_element_get_bus):
8701         * tests/check/gst/gstelement.c: (GST_START_TEST):
8702         Check for NULL before _reffing the bus. Fixes #353122.
8703
8704 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
8705
8706         * docs/manual/basics-bus.xml:
8707           Docs update: fix wrong callback return value explanation; add
8708           some lines about the implicit relationship between main loop
8709           and main context; remove duplicate main loop variable declaration.
8710
8711 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
8712
8713         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8714           Don't leak caps in unit test; add a few more simple
8715           checks. 
8716
8717 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
8718
8719         * docs/gst/gstreamer-sections.txt:
8720         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
8721         (gst_caps_structure_is_subset), (gst_caps_merge),
8722         (gst_caps_merge_structure):
8723         * gst/gstcaps.h:
8724         * libs/gst/base/gstbasetransform.c:
8725         (gst_base_transform_transform_caps):
8726         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8727           implement caps merging (fixes #352580)
8728
8729 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
8730
8731         * tools/Makefile.am:
8732         * tools/gst-plot-timeline.py:
8733           add debug-log plotting developer tool (#340674)
8734
8735 2006-08-23  Wim Taymans  <wim@fluendo.com>
8736
8737         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
8738         (gst_pad_stop_task):
8739         Improve debugging for task functions.
8740
8741         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
8742         (gst_task_start), (gst_task_pause), (gst_task_join):
8743         Make sure that the task function started and finished after a 
8744         join(). 
8745         Don't try to push the task function on the threadpool multiple
8746         times.
8747         Improve the g_warning message with some useful suggestions
8748         about how to fix the problem. 
8749
8750 2006-08-23  Wim Taymans  <wim@fluendo.com>
8751
8752         * gst/gstutils.c: (gst_pad_proxy_getcaps):
8753         Handle RESYNC correctly in _proxy_getcaps.
8754
8755 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
8756
8757         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
8758         (gst_xml_parse_memory), (gst_xml_get_element):
8759           Chain up to parent class in dispose function and also
8760           unref the elements in the toplevel_elements GList.
8761           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
8762           Always return a reference in gst_xml_get_element() rather
8763           than only sometimes.
8764
8765         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8766           Don't leak GstXml object.
8767
8768 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
8769
8770         * docs/gst/gstreamer-sections.txt:
8771         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
8772         (gst_caps_merge):
8773         * gst/gstcaps.h:
8774         * libs/gst/base/gstbasetransform.c:
8775         (gst_base_transform_transform_caps):
8776           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
8777           in a better way
8778
8779 2006-08-21  Edward Hervey  <edward@fluendo.com>
8780
8781         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
8782         Implement GObject::dispose virtual method in GstXML so we can free the
8783         top_elements GList.
8784
8785 2006-08-21  Wim Taymans  <wim@fluendo.com>
8786
8787         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
8788         (gst_buffer_create_sub):
8789         Copy duration/offset_end/caps when creating a subbuffer of the
8790         complete parent.
8791         Make the subbuffer read-only when we make the metadata writable for
8792         now. Fixes #351768.
8793
8794         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8795         Added check for metadata copy when creating subbuffers.
8796
8797 2006-08-21  Edward Hervey  <edward@fluendo.com>
8798
8799         * libs/gst/base/gstbasetransform.c:
8800         (gst_base_transform_buffer_alloc):
8801         Only call downstream buffer_alloc if transform element is passthrough
8802         or always_in_place. Closes #350449.
8803
8804 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8805
8806         * ChangeLog:
8807           ChangeLog surgery to add comments to previous changes
8808
8809 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8810
8811         * gst/gst.c:
8812           Add comments
8813
8814         * gst/gstpad.c: (gst_pad_set_active):
8815           Be more verbose in the log
8816
8817         * libs/gst/base/gstbasetransform.c:
8818         (gst_base_transform_transform_caps):
8819           Simplify caps to get rid of duplicates, fixes #345444
8820
8821 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8822
8823         * gst/gstvalue.c:
8824         * gst/gstvalue.h:
8825           Use these optimizations only internally.
8826
8827 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
8828
8829         * gst/gstvalue.c: (gst_value_compare_list),
8830         (gst_value_compare_fraction_range),
8831         (gst_value_intersect_fraction_fraction_range),
8832         (gst_value_intersect_fraction_range_fraction_range),
8833         (gst_value_subtract_fraction_fraction_range),
8834         (gst_value_subtract_fraction_range_fraction_range),
8835         (gst_value_get_compare_func), (gst_value_compare),
8836         (gst_value_compare_with_func):
8837         * gst/gstvalue.h:
8838           Saves the expensive lookup of the compare function in many cases
8839          (#345444)
8840
8841 2006-08-18  Edward Hervey  <edward@fluendo.com>
8842
8843         * tests/check/gst/gstinfo.c: (gst_info_suite):
8844         Disable test that require gstdebug if it wasn't built in core.
8845
8846 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8847
8848         * docs/random/ensonic/logging.txt:
8849           update ideas
8850           
8851         * gst/gstinfo.c: (gst_debug_log_default):
8852           reorder fields, save some columns, add optional color codes for log
8853           levels
8854
8855 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
8856
8857         * docs/random/ensonic/logging.txt:
8858           add ideas about making the logs a bit more useful
8859
8860 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
8861
8862         * docs/pwg/advanced-events.xml:
8863         * docs/pwg/titlepage.xml:
8864           Update for 0.10 API (#340627). Add myself
8865           to authors list.
8866
8867 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
8868
8869         * docs/libs/gstreamer-libs-docs.sgml:
8870         * docs/libs/gstreamer-libs-sections.txt:
8871         * libs/gst/check/gstbufferstraw.c:
8872           Make gstcheck stuff show up in docs (still needs to
8873           be documented properly though).
8874
8875 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
8876
8877         * docs/gst/gstreamer-sections.txt:
8878         * gst/Makefile.am:
8879         * gst/gst.c: (init_post):
8880         * gst/gst_private.h:
8881         * gst/gstquark.c: (_priv_gst_quarks_initialize):
8882         * gst/gstquark.h:
8883         * gst/gstquery.c: (gst_query_new_position),
8884         (gst_query_set_position), (gst_query_parse_position),
8885         (gst_query_new_duration), (gst_query_set_duration),
8886         (gst_query_parse_duration), (gst_query_new_convert),
8887         (gst_query_set_convert), (gst_query_parse_convert),
8888         (gst_query_new_segment), (gst_query_set_segment),
8889         (gst_query_parse_segment), (gst_query_new_seeking),
8890         (gst_query_set_seeking), (gst_query_parse_seeking):
8891         Add internal helpers for pre-registering quarks from static strings
8892         and using the quark values directly instead of looking them up when
8893         creating and parsing queries. Can be used for event construction too.
8894         Closes #350432.
8895
8896 2006-08-16  Wim Taymans  <wim@fluendo.com>
8897
8898         * gst/gstbin.c:
8899         Fix bogus docs.
8900
8901 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8902
8903         * gst/gstutils.c: (gst_util_set_value_from_string):
8904           Fix memleak (#351502).
8905
8906         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8907           Add unit test for most of gst_util_set_value_from_string()
8908           (not that one would want to encourage use of this function).
8909
8910 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8911
8912         * libs/gst/check/gstcheck.h:
8913           Use const gchar * variables in fail_unless_equals_string
8914           macro to avoid compiler warnings (and don't use tabs for
8915           indenting).
8916
8917 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8918
8919         * tools/gst-launch.c: (print_tag):
8920           More space on the left for the tag names, to cater
8921           for the 'extended comment' tag (not touching the
8922           string for the first line since it's translated).
8923
8924 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
8925
8926         * libs/gst/check/gstcheck.h:
8927           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
8928           print something when they fail.
8929
8930 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8931
8932         * docs/gst/gstreamer-sections.txt:
8933         * gst/gsttaglist.c: (_gst_tag_initialize):
8934         * gst/gsttaglist.h:
8935           API: add GST_TAG_EXTENDED_COMMENT (#350935).
8936           Also change merge function for GST_TAG_COMMENT to
8937           use_first.
8938
8939 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8940
8941         * gst/gstinfo.c: (gst_debug_print_object):
8942           Make GST_PTR_FORMAT print messages as well.
8943
8944         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
8945         (GST_START_TEST), (gst_info_suite):
8946           More tests.
8947
8948 2006-08-14  Edward Hervey  <edward@fluendo.com>
8949
8950         * gst/gstelementfactory.c: (gst_element_register):
8951         If the GstElementClass doesn't have a GstElementDetails with all fields
8952         filled up correctly (longname, description AND author), then error out
8953         nicely instead of crashing.
8954
8955 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
8956
8957         * gst/gststructure.c:
8958           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
8959
8960         * gst/gstvalue.h:
8961           Expand on the difference between arrays and lists as we use them.
8962           
8963 2006-08-14  Wim Taymans  <wim@fluendo.com>
8964
8965         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8966         If the parent state change function failed, don't assume we can safely
8967         stop the source, this will be done when the pads are deactivated.
8968
8969 2006-08-14  Wim Taymans  <wim@fluendo.com>
8970
8971         * gst/gstbuffer.c:
8972         * gst/gsttask.c: (gst_task_join):
8973         Small doc updates.
8974
8975         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8976         (gst_pad_stop_task):
8977         When pad (de)activation failed for some reason, restore the old
8978         activation mode and set the pad to flushing instead of assuming the
8979         pad is deactivated.
8980         If the _task_join() failed, reinstall the task on the pad so that it can
8981         be stopped later and return an error.
8982
8983 2006-08-11  Andy Wingo  <wingo@pobox.com>
8984
8985         * configure.ac:
8986         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
8987         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
8988         is only for users of API that don't want to see deprecated
8989         functions in the headers; people that want to compile out
8990         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
8991         CFLAGS. Fixes the build of multifdsink, or will soon..
8992
8993 2006-08-11  Wim Taymans  <wim@fluendo.com>
8994
8995         * docs/gst/gstreamer-sections.txt:
8996         Add GstClockClass vmethod docs.
8997
8998         * gst/gstcaps.h:
8999         Mark #endif with comment for associated #if
9000
9001         * gst/gstclock.c: (gst_clock_id_wait):
9002         * gst/gstclock.h:
9003         Add vmethod wait_jitter to avoid an unneeded _get_time() for
9004         most clock implementations.
9005         Document vmethods.
9006         Flesh out docs about resolution methods.
9007         API: GstClockClass::wait_jitter
9008
9009         * gst/gstsystemclock.c: (gst_system_clock_class_init),
9010         (gst_system_clock_async_thread),
9011         (gst_system_clock_id_wait_jitter_unlocked),
9012         (gst_system_clock_id_wait_jitter):
9013         Use base class wait_jitter variant for improved performance
9014         due to less clock polling.
9015
9016 2006-08-11  Edward Hervey  <edward@fluendo.com>
9017
9018         * gst/gst.c: (gst_init_check), (init_post):
9019         Set gst as being initialized before scanning/updating the registry,
9020         since there might be my python plugin loader that calls gst_init() and
9021         we don't want to loop back in.
9022         Closes #350879
9023
9024 2006-08-11  Wim Taymans  <wim@fluendo.com>
9025
9026         * docs/design/part-qos.txt:
9027         Bring docs in line with the code. Mostly the sign of the jitter was
9028         wrong in the docs. Fixes #349943.
9029
9030         * gst/gstclock.c:
9031         Fix the docs for the jitter.
9032
9033         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
9034         (gst_event_parse_tag), (gst_event_new_buffer_size),
9035         (gst_event_parse_buffer_size), (gst_event_parse_qos),
9036         (gst_event_new_seek), (gst_event_parse_seek),
9037         (gst_event_new_navigation):
9038         Make sure the GstStructure has no parent when creating custom
9039         events.
9040         Add some more argument checking so that we avoid 0.0 rates.
9041         Flesh out the docs for the QoS event some more.
9042
9043 2006-08-11  Wim Taymans  <wim@fluendo.com>
9044
9045         * docs/gst/gstreamer-sections.txt:
9046         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9047         (ensure_current_registry_forking), (ensure_current_registry),
9048         (parse_one_option), (parse_goption_arg), (gst_deinit),
9049         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
9050         * gst/gst.h:
9051         Doc updates.
9052         Added API and command line option to disable registry forking in
9053         addition to the environment variable.
9054         Constify some static arrays.
9055         Added some more debug.
9056         Don't deinit twice.
9057         API: gst_registry_fork_is_enabled()
9058         API: gst_registry_fork_set_enabled()
9059         API: --gst-disable-registry-fork command line option
9060         Fixes #348918.
9061
9062 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
9063
9064         * gst/gst.c: (gst_init):
9065           Fix typo in error message.
9066
9067 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9068
9069         * libs/gst/controller/gstcontroller.h:
9070           fix ABI size-correction
9071
9072         * tests/check/libs/gdp.c: (gst_dp_suite):
9073           make tests that use deprecated API conditional
9074
9075 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9076
9077         * docs/libs/gstreamer-libs-sections.txt:
9078         * libs/gst/controller/gstcontroller.c:
9079         (_gst_controller_get_property), (_gst_controller_set_property),
9080         (_gst_controller_init), (_gst_controller_class_init):
9081         * libs/gst/controller/gstcontroller.h:
9082         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
9083         (gst_object_set_control_rate):
9084           API: add gst_object_{s,g}et_control_rate(), add private data section,
9085           fix docs
9086
9087         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9088         * libs/gst/dataprotocol/dataprotocol.h:
9089           add deprecation guards to make gtk-doc happy and allow disabling cruft
9090
9091 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9092
9093         * tests/check/Makefile.am:
9094         * tests/check/gst/.cvsignore:
9095           Let's enable the new unit test as well.
9096
9097 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9098
9099         * configure.ac:
9100         * docs/gst/gstreamer-sections.txt:
9101         * gst/gstconfig.h.in:
9102         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
9103         (_gst_info_printf_extension_ptr),
9104         (_gst_info_printf_extension_segment):
9105           API: add GST_SEGMENT_FORMAT, which is a printf extension we
9106           register that lets us easily dump GstSegments into debug
9107           logs (#350419).
9108
9109         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
9110         (info_segment_format_printf_extension), (gst_info_suite):
9111           Add simple unit test that logs a bunch of different segments (not
9112           valgrinded at the moment because of leaks in
9113           gst_debug_add_log_function).
9114
9115 2006-08-09  Edward Hervey  <edward@fluendo.com>
9116
9117         * libs/gst/base/gstbasetransform.c:
9118         (gst_base_transform_buffer_alloc):
9119         Even if we can't figure out the proper format to request downstream,
9120         call buffer_alloc() downstream with the input parameters without setting
9121         the caps on the srcpad. This will force negotiation in the chain
9122         function.
9123         Closes #350449
9124
9125 2006-08-08  Edward Hervey  <edward@fluendo.com>
9126
9127         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9128         Unlinking from a pad without a target is now a perfectly valid case
9129         which should NOT raise an assertion.
9130         This case would happen if a linked ghostpad its target set to NULL after
9131         it was previously linked.
9132
9133 2006-08-08  Edward Hervey  <edward@fluendo.com>
9134
9135         * tests/check/libs/gdp.c:
9136         Also comment out the test (see below).
9137
9138 2006-08-08  Edward Hervey  <edward@fluendo.com>
9139
9140         * tests/check/libs/gdp.c: (gst_dp_suite):
9141         Use the architecture information from config.h and not gcc macros
9142         in order to properly disable a test that fails on PPC64.
9143
9144 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
9145
9146         * gst/gstelement.c: (gst_element_remove_pad):
9147           Don't crash printing the warning if the pad has no parent.
9148
9149 2006-08-02  Wim Taymans  <wim@fluendo.com>
9150
9151         * libs/gst/dataprotocol/dataprotocol.c:
9152         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9153         (gst_dp_crc), (gst_dp_header_payload_length),
9154         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
9155         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
9156         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
9157         (gst_dp_event_from_packet), (gst_dp_validate_header),
9158         (gst_dp_validate_payload):
9159         Make debug category static
9160         Constify the crc table.
9161         Do some more arg checking in public functions.
9162         Fix some docs and do some small cleanups.
9163
9164         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
9165         Add some more checks to see if GDP deals with bogus input.
9166
9167 2006-07-31  Wim Taymans  <wim@fluendo.com>
9168
9169         * gst/gstvalue.c: (gst_value_compare_list):
9170         Fix GstValueList comparison code. Fixes #347293.
9171
9172         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9173         Check to test GstValueList comparison.
9174
9175 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9176
9177         * gst/gstelementfactory.c: (gst_element_factory_create):
9178         Remove unnecessary ref/unref pair
9179
9180         * gst/parse/grammar.y:
9181         Make sure to free the parse buffer on all code paths.
9182         Move a g_free up to the error handler where it's easier to see.
9183
9184         * tests/check/gst/gstevent.c: (test_event):
9185         Extending timeout for downstream travelling events to 10 seconds to
9186         hopefully avoid intermittent failure on the buildbots.
9187
9188         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
9189         Don't manually set the state of the src element - it will happen as a
9190         natural consequence of the pipeline changing state, and that way it
9191         will do it in the right order too.
9192
9193 2006-07-31  Wim Taymans  <wim@fluendo.com>
9194
9195         * libs/gst/base/gstbasetransform.c:
9196         (gst_base_transform_buffer_alloc):
9197         Use OBJECT_LOCK and refcounting to get the pad caps in the
9198         buffer_alloc function because the caps could change while we are
9199         busy with them. Fixes #349105
9200
9201 2006-07-31  Wim Taymans  <wim@fluendo.com>
9202
9203         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
9204         Protect _PAD_CAPS with OBJECT_LOCK.
9205
9206 2006-07-31  Wim Taymans  <wim@fluendo.com>
9207
9208         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9209         (gst_pad_get_property), (gst_pad_activate_pull),
9210         (gst_pad_activate_push), (gst_pad_set_blocked_async),
9211         (gst_pad_set_activate_function),
9212         (gst_pad_set_activatepull_function),
9213         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
9214         (gst_pad_set_getrange_function),
9215         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
9216         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9217         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
9218         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
9219         (gst_pad_set_acceptcaps_function),
9220         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9221         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
9222         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
9223         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
9224         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
9225         (gst_pad_configure_sink), (gst_pad_configure_src),
9226         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
9227         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
9228         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
9229         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
9230         (gst_pad_send_event):
9231         Use _DEBUG_OBJECT when it makes sense.
9232         Protect GST_PAD_CAPS with the OBJECT_LOCK.
9233         Small cleanups and code reflows.
9234         Avoid caps refcounting in _accept_caps.
9235         Refactor alloc_buffer so that the code performed on the peer is in a
9236         separate function. Also if the pad does not implement a buffer alloc
9237         function, we should still check if the pad is flushing before falling
9238         back to the default allocator.
9239
9240 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9241
9242         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9243         Make all uses of identity and fakesink have silent=true to avoid
9244         serialising every passing data structure, which is breaking tests
9245         on FC4 for some unknown reason.
9246
9247 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9248
9249         * gst/parse/Makefile.am:
9250         * gst/parse/grammar.y:
9251         * gst/parse/parse.l:
9252           Reverted previous patch as it required to bump the flex dependency to
9253           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9254
9255 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9256
9257         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9258
9259         * gst/parse/Makefile.am:
9260         * gst/parse/grammar.y:
9261         * gst/parse/parse.l:
9262           push & pop the state of the lexer for reentrant use case
9263           Fixes #349180
9264
9265 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
9266
9267         * libs/gst/base/gstbasesrc.h:
9268           Note in the docs that the ::newsegment vfunc is not actually used by
9269           GstBaseSrc.
9270
9271 2006-07-28  Wim Taymans  <wim@fluendo.com>
9272
9273         * libs/gst/base/gstcollectpads.c:
9274         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9275         (gst_collect_pads_clear), (gst_collect_pads_flush),
9276         (gst_collect_pads_event), (gst_collect_pads_chain):
9277         When flushing a pad, also clear the queued buffer so that we don't
9278         accidentally use it when we shouldn't.
9279         Fix leaks by inreffing incomming buffer.
9280         Flush out queued buffers in case of errors.
9281         Fixes #347452.
9282
9283 2006-07-28  Wim Taymans  <wim@fluendo.com>
9284
9285         * docs/random/phonon-gst:
9286         Random notes about a Phonon backend.
9287
9288 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9289
9290         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9291         Extra debug output
9292         * tests/check/libs/gdp.c: (gst_dp_suite):
9293         Take a whack at fixing the ppc compile using a different define to
9294         disable the broken test.
9295
9296         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9297         Remove excess g_print()
9298
9299 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9300
9301         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9302         Oops, meant to uncomment this line too to dampen the noise a bit.
9303
9304 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9305
9306         * gst/parse/grammar.y:
9307         * gst/parse/parse.l:
9308         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9309         (GST_START_TEST), (parse_suite):
9310         Fix some of the leaks exposed by extending the parse-launch testsuite,
9311         and move the 3 I can't figure out into a separate test that won't run
9312         the pipelines unless the appropriate line is uncommented.
9313
9314 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9315
9316         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9317           Requesting 0 bytes before the end of the file should result in
9318           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9319           unit test.
9320
9321 2006-07-27  Wim Taymans  <wim@fluendo.com>
9322
9323         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9324         Fix useless assert, a uint is always positive.
9325
9326         * gst/gststructure.c: (gst_structure_nth_field_name),
9327         (gst_structure_foreach), (gst_structure_map_in_place):
9328         Check input arguments for public functions to avoid obvious crashes.
9329
9330         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9331         * plugins/elements/gstfakesink.h:
9332         Do less useless typechecking.
9333
9334 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9335
9336         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9337           Do not use mmap() by default since there are a number of error
9338           conditions that we would like to handle in a non-fatal way that
9339           will result in a SIGBUS if we use mmap(). Examples: external
9340           devices (USB harddrive, portable music player) being unplugged
9341           while in use; file on mounted CD/DVD that can't be read because
9342           the medium is partly damaged. Fixes #348455 and #348475.
9343
9344 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9345
9346         * gst/gstquery.h:
9347         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9348         rates are a gdouble
9349
9350 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
9351
9352         * gst/gstregistry.c:
9353           Move big documentation comment into class section header, so that it
9354           appears in the API docs.
9355
9356 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9357
9358         * docs/gst/gstreamer-sections.txt:
9359         Oops. Commit the docs additions too for new API.
9360         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9361
9362 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9363
9364         * gst/gststructure.c: (gst_structure_id_set),
9365         (gst_structure_id_set_valist):
9366         * gst/gststructure.h:
9367         Add API for setting values into structures without performing
9368         a quark lookup, if the appropriate quark is already known.
9369
9370         API: gst_structure_id_set
9371         API: gst_structure_id_set_valist
9372
9373         * gst/parse/grammar.y:
9374         * gst/parse/parse.l:
9375         Remove some dead code shown by the coverage information.
9376         Don't throw a critical g_warning when encountering a syntax error,
9377         just warn and let the normal error path handle it.
9378
9379         * plugins/elements/gstelements.c:
9380         Bump the rank of filesink up to PRIMARY so that it is preferred over
9381         gnomevfssink for file:// sink uri's
9382
9383         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9384         (GST_START_TEST), (run_delayed_test),
9385         (gst_parse_test_element_base_init),
9386         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9387         (gst_parse_test_element_change_state),
9388         (gst_register_parse_element), (parse_suite):
9389         Beef up the tests for parse syntax to check that more error cases
9390         fail as they are supposed to. Increases the test coverage a bit.
9391
9392 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
9393
9394         * docs/manual/basics-elements.xml:
9395           Fix gst_element_link() example.
9396
9397         * gst/gstutils.c:
9398           Mention in API docs that one should usually gst_bin_add()
9399           elements to a bin or pipeline before doing the linking.
9400           
9401 2006-07-26  Wim Taymans  <wim@fluendo.com>
9402
9403         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9404         (gst_subbuffer_get_type), (gst_buffer_create_sub):
9405         Avoid function call for known types by keeping the buffer and
9406         subbuffer GType global.
9407
9408         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9409         Random silly optimisations in read() path.
9410
9411 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9412
9413         * tools/gst-launch.c: (main):
9414           If the top-level of the parse is a normal bin, it doesn't do the
9415           right logic to run as a top-level element, so place it inside a
9416           pipeline.
9417
9418 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
9419
9420         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9421           Remove superfluous g_object_notify() calls, GObject does
9422           that for us automatically.
9423
9424 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
9425
9426         * gst/gstinfo.h:
9427           on Win32, use dllspec to export the debug category symbols
9428
9429 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
9430
9431         * gst/gsttaglist.c: (_gst_tag_initialize):
9432           Allow more than one GST_TAG_IMAGE per taglist.
9433
9434 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9435
9436         * gst/gstminiobject.c:
9437           update docs
9438         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9439         (gst_fd_src_create):
9440           log recurring events at LOG level
9441           add more debug for when the fd gets set
9442
9443 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9444
9445         * gst/gstparse.c: (gst_parse_launch):
9446           Also remove reentrance checks if flex is MT safe (#348179)
9447          Fix my empty ChangeLog entry below
9448
9449 2006-07-21  Andy Wingo  <wingo@pobox.com>
9450
9451         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9452
9453         * libs/gst/check/Makefile.am
9454         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9455         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
9456         * libs/gst/check/gstbufferstraw.h:
9457         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9458         functions, thus proving I am still a GStreamer haxor. OK I wrote
9459         them a long time ago, but anyways.
9460
9461 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9462
9463         * configure.ac:
9464         * gst/gstparse.c: (gst_parse_launch):
9465           Check for flex version and omit mutex if we have a MT save flex
9466           (fixes #348179)
9467
9468 2006-07-21  Wim Taymans  <wim@fluendo.com>
9469
9470         * gst/gstparse.c: (gst_parse_launch):
9471         Protect recursive calls to _parse with a recursive mutex
9472         and busy flag.
9473
9474 2006-07-21  Wim Taymans  <wim@fluendo.com>
9475
9476         * tests/check/gst/gstpad.c: (GST_START_TEST):
9477         Fix leak in test.
9478
9479 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
9480
9481         * gst/gstparse.c: (gst_parse_launch):
9482           Do not hang on recursive usage of gst_parse_launch()
9483
9484 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9485
9486         * gst/gsttaglist.c:
9487           Add some more docs, comments and FIXME 0.11s here and there
9488           and also fix some typos.
9489
9490 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9491
9492         * gst/gstsegment.h:
9493           Convert tabs to spaces for better readability. 
9494
9495 2006-07-20  Edward Hervey  <edward@fluendo.com>
9496
9497         * tests/check/libs/gdp.c: (gst_dp_suite):
9498         the test_buffer test fails at line 140 on ppc64 at the following
9499         check:
9500         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9501                 GST_BUFFER_FLAG_IN_CAPS),
9502                 "GST_BUFFER_IN_CAPS flag should have been copied !");
9503         See bug #348114 for more details.
9504
9505 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
9506
9507         * docs/pwg/advanced-scheduling.xml:
9508         * gst/gstpad.c:
9509           Fix typos (#348000).
9510
9511 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
9512
9513         * docs/pwg/intro-basics.xml:
9514           Fix wrong links (#347927).
9515
9516 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
9517
9518         * gst/gstregistry.h:
9519         * gst/gstregistryxml.c: (load_feature),
9520         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9521         * win32/common/config.h:
9522           make --disable-index work (#342564)
9523
9524 2006-07-18  Wim Taymans  <wim@fluendo.com>
9525
9526         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9527
9528         * gst/Makefile.am:
9529         * gst/gsttrace.h:
9530         The attached patch adds two missing defines to gsttrace.h when tracing
9531         is disabled.  It also corrects one existing define.
9532         Fixes #347756.
9533
9534 2006-07-17  Wim Taymans  <wim@fluendo.com>
9535
9536         * docs/gst/gstreamer-sections.txt:
9537         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
9538         * gst/gst.h:
9539         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
9540         Add two functions to check and change the SIGSEGV behaviour
9541         when loading plugins.
9542         Don't mess with the SIGSEGV handler when we were told not to.
9543         Fixes #347794.
9544         API: gst_segtrap_is_enabled
9545         API: gst_segtrap_set_enabled
9546
9547 2006-07-14  Wim Taymans  <wim@fluendo.com>
9548
9549         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9550         * tests/check/elements/filesrc.c: (GST_START_TEST):
9551         Revert fix for regression in #347408 after release.
9552
9553 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         Patch by: Antoine Tremblay <hexa00 at gmail com>
9556
9557         * gst/gstutils.c: (gst_element_unlink):
9558           Free iterator when done (#347311).
9559
9560         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9561           And add a test case for this.
9562
9563 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
9564
9565         * configure.ac:
9566         Bump nano back to CVS
9567
9568 === release 0.10.9 ===
9569
9570 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
9571
9572         * configure.ac:
9573           releasing 0.10.9, "On the road again"
9574
9575 2006-07-13  Wim Taymans  <wim@fluendo.com>
9576
9577         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9578         * tests/check/elements/filesrc.c: (GST_START_TEST):
9579         Revert pull-0 fix for release. Disable check. Fixes #347408.
9580
9581 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * libs/gst/dataprotocol/dataprotocol.c:
9584         (gst_dp_event_from_packet_1_0):
9585           Fixes #347337: failure to deserialize event packets with
9586           empty payload (only event type)
9587
9588 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9589
9590         * gst/Makefile.am:
9591           do not install a .c file in the header directory
9592
9593 2006-07-13  Edward Hervey  <edward@fluendo.com>
9594
9595         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9596         GhostPad no longer implicitely use the padtemplates of the targets.
9597         Fixes #347384
9598
9599 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
9600
9601         * gst/gstvalue.c: (gst_value_compare_list),
9602         (gst_value_compare_array), (_gst_value_initialize):
9603         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9604         Make GstValueArray comparison be order dependent as designed.
9605         Add checks for value lists and value array comparisons.
9606         Fixes #347221
9607
9608 2006-07-11  Edward Hervey  <edward@fluendo.com>
9609
9610         * gst/gstbin.c: (activate_pads),
9611         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
9612         (gst_bin_change_state_func):
9613         (de)activate src pads before calling state_change on the childs.
9614         This is to avoid the case where a src ghostpad is blocked (holding the
9615         stream lock), which would block the deactivation of the ghostpad's
9616         target pad.
9617         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
9618         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
9619         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
9620         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9621         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9622         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9623         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9624         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
9625         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
9626         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9627         (gst_ghost_pad_class_init),
9628         (gst_ghost_pad_internal_do_activate_push),
9629         (gst_ghost_pad_internal_do_activate_pull),
9630         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9631         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9632         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
9633         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
9634         GhostPads now create their internal GstProxyPad at creation (and not
9635         when they're linked, as it was being done previously).
9636         The internal and target pads are linked straight away.
9637         The data will also travel through the other pad in order to make
9638         pad blocking and probes non-hackish (the probe/block now really happens
9639         on the GhostPad and not on the target).
9640         * gst/gstpad.c: (gst_pad_set_blocked_async),
9641         (gst_pad_link_prepare), (gst_pad_push_event):
9642         Remove previous ghostpad cruft.
9643         * gst/gstutils.c: (gst_pad_add_data_probe),
9644         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9645         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9646         (gst_pad_remove_buffer_probe):
9647         Remove previous ghost pad cruft.
9648         Added more detailed debug statements.
9649         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9650         Fix the testsuite for refcounting changes.
9651         The comments about who has references were correct, but the refcount
9652         being checked wasn't the same (!?!).
9653
9654         Fixes #341029
9655
9656 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9657
9658         * docs/gst/gstreamer-sections.txt:
9659         * gst/gstconfig.h.in:
9660         More docs for configuration options, add docs to gtk-doc.
9661
9662 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9663
9664         * gst/Makefile.am:
9665         * gst/gstconfig.h.in:
9666         * win32/common/config.h:
9667         Fix build when disabling tracing (fixes #344016). Also start to document
9668         the defines that disable the sub-systems.
9669
9670 2006-07-10  Edward Hervey  <edward@fluendo.com>
9671
9672         * gst/gst.c: (ensure_current_registry_forking):
9673         let's make valgrind happy...
9674
9675 2006-07-09  Wim Taymans  <wim@fluendo.com>
9676
9677         * gst/gstelement.c: (activate_pads),
9678         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9679         Better pad activation code: Reset the collect value too on resync.
9680         Add some comments.
9681
9682 2006-07-09  Wim Taymans  <wim@fluendo.com>
9683
9684         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
9685         (gst_pad_activate_push):
9686         Use some more macros where it makes sense.
9687         Allow pad mode switching instead of asserting. When a pad
9688         is activated in one mode and we activate it in another, 
9689         deactivate it first before activating it in a different mode.
9690         Fixes #329198.
9691
9692 2006-07-08  Andy Wingo  <wingo@pobox.com>
9693
9694         * tools/gst-launch.c (main): Handle err == NULL.
9695
9696         * gst/gst.c (init_post, ensure_current_registry)
9697         (ensure_current_registry_forking)
9698         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
9699         factoring out the registry scanning into separate functions. Don't
9700         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
9701         Better environment var name/interface suggestions accepted.
9702
9703 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9704
9705         * gst/gstobject.c: (gst_object_set_name_default),
9706         (gst_object_set_name):
9707           Random micro-optimisation: don't use a hash table
9708           with strings as keys and the usual strdup/strcmp
9709           involved, but rather just use the GQuark of the
9710           type name as key, since it needs to be looked up
9711           anyway to get the type name string.
9712
9713         * tests/check/gst/gstobject.c: (GST_START_TEST):
9714           Fix various leaks.
9715
9716 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9717
9718         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
9719         (gst_bin_iterate_all_by_interface):
9720           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
9721           GTypes are gulongs and thus the top 4 bytes might be cut
9722           off on some platforms when doing GPOINTER_TO_INT, leading
9723           to invalid GTypes and bad things happening (see RH bug #179654).
9724           Also add a check to make sure the type passed in is really
9725           an interface type.
9726
9727 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9728
9729         * .cvsignore:
9730           Ignore more.
9731
9732 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9733
9734         * Makefile.am:
9735         * configure.ac:
9736         * gst-element-check.m4:
9737         * gst-element-check.m4.in:
9738           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
9739           instead of the unversioned gst-inspect (#324176, #168659).
9740
9741 2006-07-06  Wim Taymans  <wim@fluendo.com>
9742
9743         * gst/gstmessage.h:
9744         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
9745         warnings.
9746
9747 2006-07-06  Wim Taymans  <wim@fluendo.com>
9748
9749         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9750         (gst_base_src_wait), (gst_base_src_update_length),
9751         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
9752         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
9753         (gst_base_src_loop), (gst_base_src_start),
9754         (gst_base_src_activate_pull):
9755         Update docs.
9756         blocksize == 0 now means the default blocksize when working in push
9757         based mode.
9758         Remove some pointless asserts in _wait function.
9759         Fix offset/length calculations and EOS handling. We can now pull 0
9760         bytes as well, which is allowed.
9761         use _check_get_range() to decide if we can operate in _pull based
9762         mode.
9763         Fix refcounting leak when check_get_range function was not 
9764         implemented.
9765         API GstBaseSrc::blocksize range can be 0 too now (default)
9766
9767         * tests/check/elements/filesrc.c: (GST_START_TEST),
9768         (filesrc_suite):
9769         Added check to test _get_range() behaviour.
9770
9771 2006-07-06  Wim Taymans  <wim@fluendo.com>
9772
9773         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
9774         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
9775         (gst_pad_pull_range):
9776         * gst/gstpad.h:
9777         Lots of comments and docs added to the pad functions.
9778         Flesh out the expected behaviour of the get_range() functions.
9779
9780 2006-07-06  Wim Taymans  <wim@fluendo.com>
9781
9782         * gst/gstbus.h:
9783         * gst/gstclock.h:
9784         * gst/gstevent.h:
9785         * gst/gstiterator.h:
9786         * gst/gstpad.h:
9787         * gst/gstplugin.h:
9788         * gst/gsttask.h:
9789         Remove comma at end of enumerator list. 
9790
9791 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
9792
9793         * win32/common/libgstbase.def:
9794         * win32/common/libgstdataprotocol.def:
9795         * win32/common/libsgtreamer.def:
9796         Add new exported functions.
9797
9798 2006-07-05  Wim Taymans  <wim@fluendo.com>
9799
9800         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
9801         Add some more docs here and there.
9802
9803 2006-07-05  Wim Taymans  <wim@fluendo.com>
9804
9805         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
9806         (gst_base_sink_loop), (gst_base_sink_get_position):
9807         When operating in pull mode update the offset so that we
9808         read sequentially.
9809
9810 2006-07-05  Wim Taymans  <wim@fluendo.com>
9811
9812         * gst/gstregistryxml.c: (read_string):
9813         Avoid strdup. (will happen in libxml, but hey!)
9814
9815         * gst/gsturi.c:
9816         Add some more docs.
9817
9818 2006-07-05  Wim Taymans  <wim@fluendo.com>
9819
9820         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
9821         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9822         (gst_buffer_suite):
9823         No point in checking if the size of the subbuffer > 0, the
9824         code handles it correclty as demonstrated by unit test.
9825         Also add a unit test for the zero sized _new_and_alloc and
9826         _copy. Fixes #346663.
9827
9828 2006-07-05  Wim Taymans  <wim@fluendo.com>
9829
9830         * libs/gst/base/gstbasetransform.c:
9831         (gst_base_transform_prepare_output_buffer),
9832         (gst_base_transform_buffer_alloc),
9833         (gst_base_transform_handle_buffer):
9834         Make sure the buffer we pass to transform_ip has a refcount of
9835         1 and thus is writable. Fixes #343196
9836
9837 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
9838
9839         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9840         (gst_file_src_init), (gst_file_src_set_property),
9841         (gst_file_src_get_property), (gst_file_src_map_region):
9842         * plugins/elements/gstfilesrc.h:
9843         Add "sequential" property, off by default, to use madvise and hint
9844         to the kernel that sequential access is desired.
9845         Touch all retrieved pages by default to ensure they are pulled
9846         into memory. (Closes #345720)
9847
9848 2006-07-03  Wim Taymans  <wim@fluendo.com>
9849
9850         * docs/design/part-block.txt:
9851         * docs/design/part-dynamic.txt:
9852         Small docs updates.
9853
9854 2006-07-03  Wim Taymans  <wim@fluendo.com>
9855
9856         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
9857         (gst_caps_unref), (gst_static_caps_get),
9858         (gst_caps_append_structure):
9859         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
9860         Use GSlice when the glib we build against is >= 2.10
9861
9862 2006-07-03  Wim Taymans  <wim@fluendo.com>
9863
9864         * gst/gstelement.c: (gst_element_pads_activate):
9865         Small cleanup in pad activation code.
9866
9867 2006-07-03  Wim Taymans  <wim@fluendo.com>
9868
9869         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9870
9871         * gst/gst-i18n-app.h:
9872         * gst/gst-i18n-lib.h:
9873         * tools/gst-inspect.c: (print_signal_info):
9874         The attached patch will make the inclusion of gettext.h unconditional in
9875         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
9876         libintl.h in tools/gst-inspect.c.
9877         This allows use of --disable-nls again and fixes #344642.
9878
9879 2006-07-03  Edward Hervey  <edward@fluendo.com>
9880
9881         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
9882         Implement pad blocking on events according to part-block.txt.
9883         More comments on behaviour.
9884         * tests/check/gst/gstevent.c: (test_event):
9885         Send event to peer pad of blocked pad (else it will block).
9886
9887 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9888
9889         * libs/gst/check/gstcheck.c: (gst_check_message_error),
9890         (gst_check_run_suite):
9891           if we get the wrong message, give us the types as string
9892         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9893           Fix a translatable
9894         * tests/check/elements/filesrc.c: (GST_START_TEST):
9895           add a test for trying to open a non-existing file
9896
9897 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9898
9899         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9900           add a test for adding self
9901
9902 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9903
9904         * libs/gst/check/gstcheck.h:
9905           add some assert_ as alias for fail_unless_*
9906         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
9907           increase test coverage
9908
9909 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * Makefile.am:
9912           include lcov.mak for lcov coverage generation
9913         * tools/Makefile.am:
9914           add to CLEANFILES
9915
9916 2006-07-02  Edward Hervey  <edward@fluendo.com>
9917
9918         * tests/check/elements/.cvsignore:
9919         moaping
9920
9921 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9922
9923         * configure.ac:
9924           don't set CFLAGS and friends for gcov, done from GST_GCOV now
9925         * tests/check/Makefile.am:
9926           clean up gcov files
9927
9928 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9929
9930         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
9931           remove gst_caps_simplify; it was not declared and not used
9932           and deprecated in 0.8
9933
9934 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9935
9936         * docs/faq/gst-uninstalled:
9937           don't put empty paths on PYTHONPATH
9938         * docs/gst/gstreamer-sections.txt:
9939           remove some symbols that are not there
9940
9941 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * gst/gstcaps.c: (gst_caps_compare_structures):
9944           whitespace fixes
9945         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9946         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9947           add more tests
9948
9949 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * libs/gst/dataprotocol/Makefile.am:
9952           build dataprotocol test by linking to the lib, instead of
9953           compiling the source, so we get coverage
9954         * tests/check/Makefile.am:
9955         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
9956         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
9957           add a test for filesrc
9958
9959 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9960
9961         * tests/check/gst/gststructure.c: (GST_START_TEST),
9962         (gst_structure_suite):
9963           Push coverage from 59.04% to 70.00%
9964
9965 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9966
9967         * tests/check/Makefile.am:
9968           gst-inspect every element; this makes sure that we also get
9969           coverage on element's get/set functions
9970
9971 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9972
9973         * configure.ac:
9974           set CFLAGS and friends to -O0 if gcov is being used
9975           add GCOV LIBS
9976         * gst/Makefile.am:
9977         * libs/gst/base/Makefile.am:
9978         * libs/gst/check/Makefile.am:
9979         * libs/gst/controller/Makefile.am:
9980         * libs/gst/dataprotocol/Makefile.am:
9981         * libs/gst/net/Makefile.am:
9982         * plugins/elements/Makefile.am:
9983         * plugins/indexers/Makefile.am:
9984           add makefile rules to generate gcov data and clean up
9985         * tests/check/Makefile.am:
9986           add a coverage target that generates an html overview
9987           of coverage data
9988
9989 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * tests/check/elements/fakesink.c:
9992         * tests/check/elements/fakesrc.c:
9993         * tests/check/elements/fdsrc.c:
9994         * tests/check/elements/identity.c:
9995         * tests/check/generic/sinks.c: (gst_sinks_suite):
9996         * tests/check/generic/states.c:
9997         * tests/check/gst/gst.c:
9998         * tests/check/gst/gstabi.c:
9999         * tests/check/gst/gstbin.c:
10000         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
10001         * tests/check/gst/gstbus.c: (gst_bus_suite):
10002         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10003         * tests/check/gst/gstelement.c:
10004         * tests/check/gst/gstevent.c: (gst_event_suite):
10005         * tests/check/gst/gstghostpad.c:
10006         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
10007         * tests/check/gst/gstmessage.c: (gst_message_suite):
10008         * tests/check/gst/gstminiobject.c:
10009         * tests/check/gst/gstobject.c:
10010         * tests/check/gst/gstpad.c:
10011         * tests/check/gst/gstpipeline.c:
10012         * tests/check/gst/gstplugin.c:
10013         * tests/check/gst/gstquery.c: (gst_query_suite):
10014         * tests/check/gst/gstsegment.c: (gst_segment_suite):
10015         * tests/check/gst/gststructure.c:
10016         * tests/check/gst/gstsystemclock.c:
10017         * tests/check/gst/gsttag.c:
10018         * tests/check/gst/gsttask.c: (gst_task_suite):
10019         * tests/check/gst/gstutils.c:
10020         * tests/check/gst/gstvalue.c:
10021         * tests/check/libs/adapter.c:
10022         * tests/check/libs/basesrc.c:
10023         * tests/check/libs/collectpads.c:
10024         * tests/check/libs/controller.c:
10025         * tests/check/libs/gdp.c: (gst_dp_suite):
10026         * tests/check/libs/gstnetclientclock.c:
10027         * tests/check/libs/gstnettimeprovider.c:
10028         * tests/check/libs/libsabi.c: (libsabi_suite):
10029         * tests/check/libs/typefindhelper.c:
10030         * tests/check/pipelines/cleanup.c:
10031         * tests/check/pipelines/parse-launch.c:
10032         * tests/check/pipelines/simple-launch-lines.c:
10033         * tests/check/pipelines/stress.c: (stress_suite):
10034           use the new macro
10035
10036 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10037
10038         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
10039         * libs/gst/check/gstcheck.h:
10040           create a macro and function so that the simple unit test
10041           case can be just one macro to create main()
10042
10043 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
10044
10045         * gst/gstbin.c: (gst_bin_restore_thyself):
10046         * gst/gstxml.c: (gst_xml_make_element):
10047           Fix deserialisation from XML. Set parent manually
10048           instead of using gst_bin_add(), since gst_bin_add()
10049           will unlink all pads of the element being added.
10050           Fixes #341667.
10051
10052 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
10053
10054         Patch by: Peter Kjellerstedt <pkj at axis com>
10055
10056         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
10057           Fix missing g_strdup() and double free when using the
10058           --gst-plugin-load command line option (#346097).
10059
10060 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10061
10062         * gst/gstinfo.c:
10063           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
10064
10065         * libs/gst/net/gstnetclientclock.c:
10066         * libs/gst/net/gstnettimeprovider.c:
10067           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
10068
10069 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10070
10071         * docs/manual/advanced-dataaccess.xml:
10072           Fix buffer probe example compilation in
10073           ADM (#345708).
10074         
10075 2006-06-22  Edward Hervey  <edward@fluendo.com>
10076
10077         * gst/gstelement.c: (gst_element_pads_activate):
10078         We need to deactivate src pads first and then sink pads.
10079         The reason is the src pads might be blocking while holding the streaming
10080         lock, so we need to deactivate them first so that deactivating the sink
10081         pads doesn't block (since it will require the streaming lock).
10082
10083 2006-06-22  Wim Taymans  <wim@fluendo.com>
10084
10085         * libs/gst/base/gstbasetransform.c:
10086         (gst_base_transform_buffer_alloc):
10087         Forgot to remove two unneeded unrefs.
10088         Simplify a check _is_equal allready checks the obvious case.
10089
10090 2006-06-22  Wim Taymans  <wim@fluendo.com>
10091
10092         * docs/design/part-block.txt:
10093         Some docs about what pad_block should do.
10094
10095 2006-06-22  Wim Taymans  <wim@fluendo.com>
10096
10097         * gst/gstcaps.c: (gst_caps_replace):
10098         Fix crasher when passed NULL. Doc clarification.
10099         Optimize for the trivial case.
10100
10101         * gst/gstpipeline.c: (gst_pipeline_change_state):
10102         Small cleanups.
10103
10104         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10105         Small documentation cleanup.
10106
10107         * libs/gst/base/gstbasetransform.c:
10108         (gst_base_transform_buffer_alloc):
10109         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
10110         is what we need and it avoids a whole lot of redundant 
10111         refcount operations.
10112
10113 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
10114
10115         Patch by: Philip Jägenstedt  <philip at lysator liu se>
10116
10117         * docs/manual/advanced-dataaccess.xml:
10118           Fix 'Embedding static elements' section to use
10119           GST_PLUGIN_DEFINE_STATIC (#345607).
10120
10121 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10122
10123         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
10124           Attempt to 'fix' spuriously failing test case: it seems like the
10125           timeout of half a second is simply too small when the system is under
10126           load otherwise, and the timeout doesn't really seem to serve any
10127           particular purpose here. Give the pipeline a few seconds to preroll
10128           first, and then give it another half a second to go from PAUSED to
10129           PLAYING and marshal the message into the main thread.
10130
10131 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10132
10133         * tools/gst-feedback-m.m:
10134           Don't only use unversioned tools, try versioned tools as well
10135           (#345086).
10136
10137 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10138
10139         * gst/gstbus.c: (gst_bus_class_init):
10140           Fix some typos, make docs more explicit.
10141
10142 2006-06-20  Wim Taymans  <wim@fluendo.com>
10143
10144         * tests/check/gst/gstghostpad.c: (block_callback),
10145         (GST_START_TEST), (gst_ghost_pad_suite):
10146         Added some more ghostpad tests, mainly blocking
10147         and probes.
10148
10149 2006-06-16  Wim Taymans  <wim@fluendo.com>
10150
10151         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10152         (gst_file_sink_close_file), (gst_file_sink_do_seek),
10153         (gst_file_sink_event), (gst_file_sink_render):
10154         * plugins/elements/gstfilesink.h:
10155         Check if we can seek in the file instead of assuming
10156         we always can. Post an error when we are asked to seek in a
10157         non-seekable file (like a fifo). Fixes #343312.
10158         Some cleanups.
10159
10160 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10161
10162         * tools/gst-launch.1.in:
10163           Un-garble (fourcc) bit in filtered caps section.
10164
10165 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10166
10167         * docs/manual/advanced-autoplugging.xml:
10168         * docs/manual/basics-helloworld.xml:
10169         * docs/manual/highlevel-components.xml:
10170           Don't leak bus reference in sample code.
10171
10172 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
10173
10174         * autogen.sh:
10175           Add default for new --enable-plugin-docs switch.
10176
10177         * configure.ac:
10178           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
10179           Fixes #344039.
10180
10181         * docs/Makefile.am:
10182           Use new ENABLE_PLUGIN_DOCS conditional.
10183
10184 2006-06-14  Wim Taymans  <wim@fluendo.com>
10185
10186         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
10187         Make it clear with a FIXME and a real define what the #if 0
10188         previously disabled.
10189
10190 2006-06-14  Wim Taymans  <wim@fluendo.com>
10191
10192         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10193         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10194         * libs/gst/base/gstbasetransform.c:
10195         (gst_base_transform_sink_eventfunc):
10196         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10197         Don't randomly and silently reset a segment when the format 
10198         changes as this is a bug somewhere upstream. Fixes #330379.
10199
10200 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
10201
10202         Patch by: Wouter Paesen  <wouter at kangaroot net>
10203
10204         * libs/gst/controller/gstcontroller.c:
10205         (gst_controlled_property_new):
10206           Fix controlling of float properties (#344849).
10207
10208         * tests/check/libs/controller.c:
10209         (gst_test_mono_source_get_property),
10210         (gst_test_mono_source_set_property),
10211         (gst_test_mono_source_class_init), (GST_START_TEST):
10212           While we're at it, add some float stuff to unit test.
10213
10214 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10215
10216         * docs/README:
10217         * docs/images/gdp-header.svg:
10218           add a gdp image
10219         * docs/libs/Makefile.am:
10220         * docs/libs/gdp-header.png:
10221         * libs/gst/dataprotocol/dataprotocol.c:
10222           add it to the API docs
10223         * docs/manual/intro-motivation.xml:
10224           fix typo
10225
10226 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10227
10228         * gst/gst.c: (scan_and_update_registry), (init_post):
10229           If the fork()'ed child process can't write the updated registry cache
10230           file to disk for some reason, make it exit with a failure exit code,
10231           so that the parent can then re-scan the plugins itself and update the
10232           registry structures in memory and work with that (rather than failing
10233           when creating elements because seemingly no plugins are available).
10234           Refactor registry scanning code into separate function for this and
10235           also separate fork() and non-fork() code paths. Fixes #344748.
10236
10237 2006-06-13  Wim Taymans  <wim@fluendo.com>
10238
10239         * docs/manual/advanced-dataaccess.xml:
10240         Fix wrong PluginDesc. Fixes #344755.
10241
10242 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10243
10244         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10245           Fix silly bug that prevented us from creating
10246           ~/.gstreamer-0.10 and writing the registry in one
10247           go (the first call to g_mkstemp() would overwrite the
10248           placeholder in the template string, so the second call
10249           to g_mkstemp() after creating the missing directory
10250           would then error out with 'invalid argument').
10251
10252 2006-06-13  Edward Hervey  <edward@fluendo.com>
10253
10254         * gst/gst.c: (init_post):
10255         Free string.
10256
10257 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10258
10259         * gst/glib-compat-private.h:
10260         * gst/glib-compat.c:
10261         * gst/glib-compat.h:
10262         * gst/gstvalue.c: (gst_value_serialize_flags):
10263           remove GLib 2.6 compatibility code
10264
10265 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
10266
10267         * gst/parse/Makefile.am:
10268           Fix build with 'make -j N' even more (#340016).
10269
10270 2006-06-12  Wim Taymans  <wim@fluendo.com>
10271
10272         * docs/gst/gstreamer-sections.txt:
10273         Fix docs.
10274
10275 2006-06-12  Wim Taymans  <wim@fluendo.com>
10276
10277         * gst/gstsegment.c: (gst_segment_set_duration),
10278         (gst_segment_set_last_stop), (gst_segment_set_seek),
10279         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10280         (gst_segment_to_running_time), (gst_segment_clip):
10281         Use G_UNLIKELY to help the compiler a bit.
10282
10283 2006-06-12  Wim Taymans  <wim@fluendo.com>
10284
10285         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10286
10287         * gst/gstevent.c: (gst_event_get_type):
10288         * gst/gstmessage.c:
10289         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10290         (gst_pad_push):
10291         constify quark registration strings. Fixes #344115
10292         Avoid unneeded type checking is _pad_push() by internally
10293         calling gst_pad_chain_unchecked().
10294
10295 2006-06-12  Wim Taymans  <wim@fluendo.com>
10296
10297         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10298         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10299         (gst_subbuffer_finalize), (gst_buffer_create_sub),
10300         (gst_buffer_is_span_fast), (gst_buffer_span):
10301         Init _type for consistency.
10302         Use _FLAGS macro to avoid type check.
10303         Avoid unneeded type checks in subbufer code.
10304
10305 2006-06-12  Wim Taymans  <wim@fluendo.com>
10306
10307         * gst/gst.c: (gst_debug_help):
10308         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10309         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10310         (gst_plugin_feature_list_free):
10311         * gst/gstregistry.c: (gst_registry_add_plugin),
10312         (gst_registry_add_feature), (gst_registry_plugin_filter),
10313         (gst_registry_feature_filter), (gst_registry_find_plugin),
10314         (gst_registry_find_feature), (gst_registry_get_plugin_list),
10315         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10316         * gst/gstregistryxml.c: (load_feature),
10317         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10318         * gst/gstminiobject.c: (gst_mini_object_unref),
10319         (gst_mini_object_replace), (gst_value_mini_object_free),
10320         (gst_value_mini_object_copy):
10321         Use _CAST macros to avoid unneeded type checking.
10322         Added some more G_UNLIKELY.
10323
10324 2006-06-12  Wim Taymans  <wim@fluendo.com>
10325
10326         * gst/gstbuffer.h:
10327         Avoid unneeded type checking.
10328         API: GST_BUFFER_IS_DISCONT
10329
10330         * gst/gstminiobject.h:
10331         Avoid type check in flag accessor.
10332
10333         * gst/gstelementfactory.h:
10334         * gst/gstplugin.h:
10335         * gst/gstpluginfeature.h:
10336         Add _CAST macros.
10337         API: GST_ELEMENT_FACTORY_CAST
10338         API: GST_PLUGIN_CAST
10339         API: GST_PLUGIN_FEATURE_CAST
10340
10341 2006-06-12  Wim Taymans  <wim@fluendo.com>
10342
10343         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10344         (gst_object_unref):
10345         Add G_UNLIKELY in type registration.
10346         Avoid type check in _ref/_unref since that is also
10347         done in glib.
10348
10349 2006-06-12  Wim Taymans  <wim@fluendo.com>
10350
10351         * gst/gsterror.c: (gst_g_error_get_type):
10352         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10353         (gst_static_pad_template_get_type):
10354         * gst/gsttaglist.c: (gst_tag_list_get_type):
10355         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10356         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10357         * gst/gsturi.c: (gst_uri_handler_get_type):
10358         * gst/gstvalue.c: (gst_date_get_type):
10359         * gst/gstxml.c: (gst_xml_get_type):
10360         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10361         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10362         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10363         Add G_UNLIKELY in type registration.
10364
10365 2006-06-12  Wim Taymans  <wim@fluendo.com>
10366
10367         * tools/gst-inspect.c: (print_signal_info):
10368         Properly print enum values.
10369
10370 2006-06-12  Wim Taymans  <wim@fluendo.com>
10371
10372         * gst/gstinfo.c: (gst_debug_set_active),
10373         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10374         * gst/gstinfo.h:
10375         Add some G_[UN]LIKELY.
10376         Maintain __gst_debug_min to avoid formatting the arguments of
10377         debug messages that will be dropped anyway to avoid a lot of 
10378         overhead from the debugging system.
10379
10380 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10381
10382         * po/POTFILES.in:
10383         * po/POTFILES.skip:
10384           add missing files containing translatable strings, tell intltool about
10385           one exception
10386
10387 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10388
10389         * tests/check/libs/.cvsignore:
10390         add test-binary to ignore list
10391
10392 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10393
10394         * docs/libs/gstreamer-libs-docs.sgml:
10395         reorder (put dp into a chapter) and indent
10396
10397 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10398
10399         * configure.ac:
10400           back to HEAD
10401
10402 === release 0.10.8 ===
10403
10404 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
10405
10406         * configure.ac:
10407           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10408
10409 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * gst/gst.c: (init_post):
10412           move pid declaration to declaration block
10413
10414 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10415
10416         * gst/gst.c: (init_post):
10417           use _exit() instead of exit() in our forked child; this ensures
10418           that none of the registered exit handlers from whatever is using
10419           GStreamer get executed.  This fixes gnome-mixer-applet failing
10420           to load, because ORBit would shut down.
10421           Spotted by: Edward Hervey  <edward@fluendo.com>
10422           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
10423           Fixes #344474
10424
10425 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10426
10427         * configure.ac:
10428           back to TRUNK
10429
10430 === release 0.10.7 ===
10431
10432 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
10433
10434         * configure.ac:
10435           releasing 0.10.7, "Soepeke, ik zie ou"
10436
10437 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10438
10439         * configure.ac:
10440         * po/af.po:
10441         * po/az.po:
10442         * po/bg.po:
10443         * po/ca.po:
10444         * po/cs.po:
10445         * po/de.po:
10446         * po/en_GB.po:
10447         * po/fr.po:
10448         * po/it.po:
10449         * po/nb.po:
10450         * po/nl.po:
10451         * po/ru.po:
10452         * po/sq.po:
10453         * po/sr.po:
10454         * po/sv.po:
10455         * po/tr.po:
10456         * po/uk.po:
10457         * po/vi.po:
10458         * po/zh_CN.po:
10459         * po/zh_TW.po:
10460         * win32/common/config.h:
10461           0.10.6.2 prerelease
10462
10463 2006-06-07  Wim Taymans  <wim@fluendo.com>
10464
10465         * gst/gstindex.c: (gst_index_gtype_resolver):
10466         * tools/gst-xmlinspect.c: (print_plugin_info):
10467         Fix leak spotted by coverity checker. Fixes #343827
10468         Fix another other leak found by paolo borelli.
10469
10470 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * libs/gst/dataprotocol/dataprotocol.c:
10473         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10474         (gst_dp_version_get_type), (gst_dp_init),
10475         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10476         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10477         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10478         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10479         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10480         (gst_dp_packetizer_free):
10481         * libs/gst/dataprotocol/dataprotocol.h:
10482           API: add a GstDPPacketizer object, and create/free functions
10483           API: add GstDPVersion enum
10484           Add 1.0 event function that uses the string serialization
10485           Serialize more useful buffer flags
10486           Fixes #343988
10487
10488 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10489
10490         * tests/check/Makefile.am:
10491         * tests/check/gst/gstabi.c:
10492         * tests/check/gst/struct_ppc64.h:
10493         * tests/check/libs/libsabi.c:
10494         * tests/check/libs/struct_ppc64.h:
10495           add ppc64 structure sizes
10496
10497 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         * tests/check/Makefile.am:
10500         * tests/check/gst/gstabi.c:
10501         * tests/check/gst/struct_x86_64.h:
10502         * tests/check/libs/libsabi.c:
10503         * tests/check/libs/struct_x86_64.h:
10504           generate and add structure size lists for x86_64
10505
10506 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10507
10508         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10509         * libs/gst/check/gstcheck.h:
10510           factor out the method from tests that checks size of structures,
10511           and add code to generate the header containing these sizes
10512         * tests/check/gst/gstabi.c: (GST_START_TEST):
10513         * tests/check/gst/struct_i386.h:
10514         * tests/check/libs/libsabi.c: (GST_START_TEST):
10515         * tests/check/libs/struct_i386.h:
10516           use it
10517
10518 2006-06-06  Michael Smith  <msmith@fluendo.com>
10519
10520         * gst/gstsegment.h:
10521           Don't use c++-style comments, fixes #343929
10522
10523 2006-06-05  Edward Hervey  <edward@fluendo.com>
10524
10525         * gst/gst.c:
10526         plugin_paths is not used if we build without registry support.
10527
10528         * gst/gstsegment.c: (gst_segment_copy): 
10529         _copy() was always returning NULL...
10530
10531 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10532
10533         * libs/gst/dataprotocol/dataprotocol.c:
10534         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10535         (gst_dp_packet_from_event):
10536           factor out CRC code
10537
10538 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
10541           make sure we unset caps
10542
10543 2006-06-02  Michael Smith  <msmith@fluendo.com>
10544
10545         * libs/gst/check/gstcheck.c: (gst_check_init),
10546         (gst_check_chain_func):
10547         * libs/gst/check/gstcheck.h:
10548           Add a cond/mutex to the check support lib, signal this whenever we
10549           add to the buffers list. This will allow tests to not busy-wait on
10550           the buffer-list.
10551
10552 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10553
10554         * libs/gst/dataprotocol/dataprotocol.c:
10555         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10556         (gst_dp_packet_from_event):
10557           factor out some common header init code
10558
10559 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10560
10561         * docs/libs/gstreamer-libs-sections.txt:
10562         * docs/libs/tmpl/gstdataprotocol.sgml:
10563         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
10564         * libs/gst/dataprotocol/dataprotocol.h:
10565           API: make gst_dp_crc() public
10566
10567 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10568
10569         * plugins/indexers/gstindexers.c: (plugin_init):
10570         conditionally register fileindexer (fixes #343598)
10571
10572 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10573
10574         * gst/gsttagsetter.h:
10575         Can't cast ifaces to a class
10576
10577         * libs/gst/net/gstnetclientclock.h:
10578         * libs/gst/net/gstnettimeprovider.h:
10579         * plugins/elements/gstfakesink.h:
10580         * plugins/elements/gstfakesrc.h:
10581         * plugins/elements/gstfdsink.h:
10582         * plugins/elements/gstfdsrc.h:
10583         * plugins/elements/gstfilesink.h:
10584         * plugins/elements/gstfilesrc.h:
10585         * plugins/elements/gstidentity.h:
10586         * plugins/elements/gstqueue.h:
10587         * plugins/elements/gsttee.h:
10588         * plugins/indexers/gstfileindex.c:
10589         * plugins/indexers/gstmemindex.c:
10590         * tests/old/examples/plugins/example.h:
10591         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
10592
10593 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10594
10595         * libs/gst/dataprotocol/dataprotocol.c:
10596         (gst_dp_header_from_buffer):
10597           make sure we zero the whole ABI-compatible area
10598
10599 2006-06-01  Wim Taymans  <wim@fluendo.com>
10600
10601         Patch by: Alessandro Decina <alessandro at nnva dot org>
10602
10603         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
10604         Make sure the EOS flag is cleared from pads after a flush
10605         or stop. Fixes #343538.
10606
10607         * tests/check/libs/collectpads.c: (GST_START_TEST),
10608         (gst_collect_pads_suite):
10609         Added test for collectpads reusage after EOS.
10610
10611 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
10612
10613         * gst/gst.c:
10614          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
10615         * win32/common/libgstbase.def:
10616          export gst_collect_pads_set_flushing
10617         * win32/common/libgstreamer.def:
10618          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
10619          gst_value_fraction_multiply
10620         * win32/vs6/gst_inspect.dsp:
10621          add a link to intl.lib
10622
10623 2006-05-30  Wim Taymans  <wim@fluendo.com>
10624
10625         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10626         (gst_collect_pads_chain):
10627         Handle the case where a pad is removed from the collection
10628         that could cause the other pads to become collectable.
10629
10630 2006-05-30  Wim Taymans  <wim@fluendo.com>
10631
10632         * gst/gstelement.c:
10633         Clarify the use of _release_request_pad() and
10634         _get_request_pad() a bit better.
10635
10636         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
10637         (gst_adapter_take_buffer):
10638         Fix some doc and comment typos.
10639
10640 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10641
10642         * docs/gst/gstreamer-sections.txt:
10643         * docs/libs/gstreamer-libs-sections.txt:
10644           add declared symbols
10645
10646 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
10647
10648         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10649         Add debug that can be enabled using a #define at the top of the file,
10650         for dumping stats about how late/early we were when waking up from
10651         waiting on the clock.
10652
10653 2006-05-30  Wim Taymans  <wim@fluendo.com>
10654
10655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
10656         When rebuilding the pad list, don't leak the previous list.
10657
10658 2006-05-30  Wim Taymans  <wim@fluendo.com>
10659
10660         Patch by: Lutz Mueller <lutz at topfrose dot de>
10661
10662         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10663         (gst_base_src_get_query_types), (gst_base_src_update_length):
10664         Publish supported query types.
10665         Update last_stop field in get_range mode so the position
10666         query works. Fixes #342321.
10667
10668 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
10669
10670         * docs/gst/gstreamer-sections.txt:
10671         * gst/gsttaglist.c: (_gst_tag_initialize):
10672         * gst/gsttaglist.h:
10673           API: add GST_TAG_PREVIEW_IMAGE (#343341).
10674
10675 2006-05-30  Wim Taymans  <wim@fluendo.com>
10676
10677         Patch by: Alessandro Decina <alessandro at nnva dot org>
10678
10679         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10680         Unlock mutex when removing an unknown pad.
10681         Fixes #343334.
10682
10683         * tests/check/Makefile.am:
10684         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
10685         (push_event), (setup), (teardown), (GST_START_TEST),
10686         (gst_collect_pads_suite), (main):
10687         Added collecpads check, disabled for now as check crashes for
10688         some reason.
10689
10690 2006-05-29  Wim Taymans  <wim@fluendo.com>
10691
10692         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
10693         Don't leak pads lists.
10694
10695 2006-05-29  Wim Taymans  <wim@fluendo.com>
10696
10697         * docs/libs/gstreamer-libs-sections.txt:
10698         * libs/gst/base/gstcollectpads.c:
10699         (gst_collect_pads_set_flushing_unlocked),
10700         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10701         (gst_collect_pads_stop):
10702         * libs/gst/base/gstcollectpads.h:
10703         API: gst_collect_pads_set_flushing()
10704         Added api to set the pads to flushing, useful for seeking
10705         code in elements using collectpads.
10706         Clear segment when receiving a flush.
10707
10708 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
10709
10710         * gst/gst.c: (add_path_func), (init_post):
10711           Don't scan registry paths passed via --gst-plugin-path immediately
10712           (will crash, because absolutely nothing is set up and no types are
10713           registered etc.); do this later in init_post(). Fixes #343057.
10714
10715 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10716
10717         * gst/gst.c: (init_post):
10718           if we have fork, fork while reading/rebuilding the registry
10719           so the parent doesn't take the hit of having all plugins loaded
10720           in memory.  Fixes #342777.
10721         * configure.ac:
10722           Check if we have fork()
10723         * win32/common/config.h.in:
10724           no fork() on win32
10725
10726 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10727
10728         * plugins/elements/gstelements.c:
10729         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10730         (gst_file_src_init), (gst_file_src_set_property),
10731         (gst_file_src_get_property), (gst_file_src_start):
10732         * plugins/elements/gstfilesrc.h:
10733           API: GstFileSrc::use-mmap
10734
10735         Add a use-mmap property to enable easier testing of all code paths.
10736         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
10737         in the absence of gnomevfssrc. (Closes #340501)
10738
10739 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10740
10741         * tools/gst-inspect.c:
10742         Add missing include, removes warning of ngettext not being defined on
10743         some arches.
10744
10745 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10746
10747         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10748         Handle NULL input and output pointers silently as a failed conversion,
10749         rather than g_warnings.
10750
10751 2006-05-25  Wim Taymans  <wim@fluendo.com>
10752
10753         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
10754         Initialize variable before using. Fixes #342820.
10755
10756 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
10757
10758         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
10759           Fix off-by-one bug that would only allow peeks of N-1 bytes
10760           from the start even if the buffer to typefind on contains
10761           in fact N bytes of data (makes vorbis typefinding from a
10762           vorbis identification header buffer work).
10763
10764         * tests/check/Makefile.am:
10765         * tests/check/libs/.cvsignore:
10766         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
10767         (gst_typefindhelper_suite), (main), (foobar_typefind),
10768         (plugin_init):
10769           Add very basic unit test for gst_type_find_helper_for_buffer()
10770           that checks for the problem fixed above.
10771
10772 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10773
10774         * tools/gst-inspect.c: (print_interfaces),
10775         (print_element_properties_info), (print_element_list), (main):
10776           add more translatable strings
10777
10778 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
10779
10780         Patch by: Julien Moutte  <julien at moutte net>
10781
10782         * docs/gst/gstreamer-sections.txt:
10783           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
10784           
10785         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
10786         (gst_fake_sink_preroll):
10787         * plugins/elements/gstfakesink.h:
10788           API: Add new GstFakeSink::preroll-handoff signal (#337100).
10789
10790 2006-05-23  Wim Taymans  <wim@fluendo.com>
10791
10792         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
10793         * gst/gstpad.h:
10794         Added _CUSTOM error and success GstFlowReturn that can be
10795         used be elements internally. 
10796         Added macro to check for SUCCESS flowreturns.
10797         API: GST_FLOW_CUSTOM_SUCCESS
10798         API: GST_FLOW_CUSTOM_ERROR
10799         API: GST_FLOW_IS_SUCCESS
10800
10801         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
10802         Added check for GstFlowReturn sanity.
10803
10804 2006-05-23  Wim Taymans  <wim@fluendo.com>
10805
10806         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10807
10808         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10809         (gst_collect_pads_event):
10810         clear/reset segment info in FLUSH_STOP.
10811         Fixes #336929.
10812
10813 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
10814
10815         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
10816         (gst_collect_pads_check_collected):
10817         Flush queued buffer on _stop(), fixes playing again (#342454)
10818
10819 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10820
10821         * tests/check/gst/gststructure.c: (GST_START_TEST),
10822         (gst_structure_suite):
10823           add a test for a complete structure
10824
10825 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10826
10827         * docs/faq/developing.xml:
10828         * docs/faq/faq.xml:
10829         * docs/faq/troubleshooting.xml:
10830         * docs/faq/using.xml:
10831           Some minor FAQ updates that won't change the fact that
10832           our FAQ is badly structured, full of information hardly
10833           anyone new to GStreamer needs to know and lacking lots
10834           of information people constantly ask for.
10835           
10836 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
10837
10838         * gst/gstpad.c: (gst_pad_set_caps):
10839           Short-circuit gst_pad_set_caps if setting the existing
10840           caps pointer again, and avoid printing debug and 
10841           reffing/unreffing the caps.
10842
10843         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10844           There's actually no need to set the caps before pushing -
10845           the acceptcaps method will handle it anyway.
10846
10847 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
10848
10849         * docs/gst/gstreamer-sections.txt:
10850         * win32/common/libgstreamer.def:
10851         * gst/gstutils.c: (gst_element_seek_simple):
10852         * gst/gstutils.h:
10853           API: add gst_element_seek_simple() (#342238).
10854
10855 2006-05-18  Edward Hervey  <edward@fluendo.com>
10856
10857         * gst/gsttypefind.c: (gst_type_find_get_type):
10858         * gst/gsttypefind.h:
10859         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
10860         registered for GstTypeFind pointers. This allows wrapping the structure
10861         in bindings (i.e. gst-python).
10862
10863 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
10864
10865         * gst/gsttagsetter.c:
10866           Docs additions and fixes (see #339918).
10867
10868 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
10869
10870         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10871         The caps intersection algorithm can produce multiple copies of the
10872         caps. Until that is fixed, we need to simplify the result to be
10873         sure whether the allowed caps are fixed or not.
10874
10875         * plugins/elements/gstqueue.c: (gst_queue_init),
10876         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
10877         (gst_queue_push_one):
10878         Proxied buffer alloc should not set the caps on the source pad.
10879         When pushing buffers, we always accept the caps change that triggers.
10880         This prevents negotiation errors caused by caps changing mid-stream 
10881         and then being refused on our source pad (because upstream is now
10882         refusing those caps).
10883
10884 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
10885
10886         * tests/examples/helloworld/helloworld.c: (main):
10887           Must plug audioconvert and audioresample between decoder
10888           and audio sink.
10889
10890 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
10891
10892         * gst/gstregistryxml.c: (read_string), (load_pad_template),
10893         (load_feature), (load_plugin):
10894         Allow empty strings for some of the plugin fields so we don't 
10895         drop valid plugin entries that were written out correctly
10896         (Fixes #341479)
10897
10898 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
10899         
10900         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10901           Use g_remove and g_rename instead of remove and rename that don't 
10902           handle utf8 characters. rename was failing for users who had specific
10903           characters in their name then the registry was built at each 
10904           gstreamer init.
10905         * win32/vs6/gst_inspect.dsp:
10906         * win32/vs6/gst_launch.dsp:
10907         * win32/vs6/libgstbase.dsp:
10908         * win32/vs6/libgstcoreelements.dsp:
10909         * win32/vs6/libgstreamer.dsp:
10910           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
10911           build of libgstreamer and clean unused libraries in projects link 
10912           settings.
10913
10914 2006-05-17  Edward Hervey  <edward@fluendo.com>
10915
10916         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10917         The queue is not responsible for pushing an EOS when receiving a fatal
10918         flow error. It's up to the real element driving the pipeline to do that.
10919
10920 2006-05-16  Edward Hervey  <edward@fluendo.com>
10921
10922         * plugins/elements/gstqueue.c: (gst_queue_push_one):
10923         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
10924         buffer returned a fatal error. It should just send an EOS and stop
10925         its task.
10926         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
10927         when pushing buffers on the queue and will be able to handle the event.
10928
10929 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
10930
10931         * docs/manual/basics-bins.xml:
10932         * docs/manual/basics-init.xml:
10933           Fix typos and minor errors in sample code (#341856).
10934
10935 2006-05-16  Wim Taymans  <wim@fluendo.com>
10936
10937         * docs/design/part-qos.txt:
10938         Fix indexes in formulas to make more sense.
10939
10940 2006-05-15  Wim Taymans  <wim@fluendo.com>
10941
10942         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10943         Don't report POSITION based on clock time if sync is
10944         disabled in a sink.
10945
10946 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
10947
10948         * gst/gstobject.h:
10949           Add cast to make compiler happy - refcount variable was a gint
10950           in GstObject but is a guint in GObject and g_atomic_int_get()
10951           wants a gint *.
10952
10953 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10954
10955         * gst/parse/Makefile.am:
10956           chain commands using &&, which also makes parallel make work
10957
10958 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
10959
10960         * docs/gst/gstreamer-sections.txt:
10961         * gst/gstevent.c:
10962         * gst/gstevent.h:
10963         * gst/gstmessage.h:
10964           Minor docs fixes.
10965
10966 === release 0.10.6 ===
10967
10968 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
10969
10970         * configure.ac:
10971           releasing 0.10.6, "Take the cannoli"
10972
10973 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
10974
10975         * tools/gst-launch.c: (print_tag):
10976           Fix use of uninitialized variable in the hypothetical
10977           case that some broken plugin creates a GST_TAG_IMAGE
10978           tag containing a NULL buffer (#341667).
10979
10980 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
10981
10982         * tools/gst-launch.c: (print_tag):
10983           Print something more intelligible for image tags when
10984           using the -t switch (#341556).
10985
10986 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10987
10988         * Makefile.am:
10989           updates for win32
10990         * configure.ac:
10991           define GST_MAJORMINOR so we have it available in win32/common/config.h
10992           Possibly remove it from our Makefile.am files later
10993         * win32/common/config.h:
10994         * win32/common/config.h.in:
10995           added GST_MAJORMINOR
10996         * win32/common/gstenumtypes.c: (register_gst_resource_error):
10997         * win32/common/gstversion.h:
10998           updated
10999
11000 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
11001
11002         * win32/MANIFEST:
11003           Update win32 files listing.
11004         * win32/common/gstversion.h:
11005           Add GST_MAJORMINOR definition.
11006         * win32/common/libgstreamer.def:
11007           Add new exported functions.
11008           
11009 2006-05-12  Michael Smith  <msmith@fluendo.com>
11010
11011         * gst/gstplugin.c: (gst_plugin_load_file):
11012           If an so file has no plugin entry point, unload the module.
11013
11014 2006-05-11  Wim Taymans  <wim@fluendo.com>
11015
11016         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
11017         (gst_queue_set_property):
11018         Don't forget to signal the _chain or _loop function 
11019         when the queue size or thresholds change since that might
11020         cause them to make progres again.
11021
11022 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
11023
11024         * gst/gstclock.c: (gst_clock_class_init):
11025         * gst/gstindex.c: (gst_index_class_init):
11026         * gst/gstobject.c: (gst_object_class_init):
11027         * gst/gstpad.c: (gst_pad_class_init):
11028         * gst/gstpipeline.c: (gst_pipeline_class_init):
11029         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11030         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
11031         * libs/gst/base/gstbasetransform.c:
11032         (gst_base_transform_class_init):
11033         * libs/gst/net/gstnetclientclock.c:
11034         (gst_net_client_clock_class_init):
11035         * libs/gst/net/gstnettimeprovider.c:
11036         (gst_net_time_provider_class_init):
11037         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
11038         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11039         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11040         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
11041         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11042         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11043         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11044         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11045         * plugins/elements/gsttee.c: (gst_tee_class_init):
11046         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11047         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11048           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
11049
11050 2006-05-11  Wim Taymans  <wim@fluendo.com>
11051
11052         * gst/gstbuffer.c: (_gst_buffer_initialize):
11053         Register subbufer along with the buffer type so that
11054         it does not accidentally gets registered from N
11055         different streaming threads in a non threadsafe way.
11056
11057 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * gst/gstbuffer.h:
11060         * gst/gstevent.h:
11061         * gst/gstmessage.h:
11062           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
11063           gst_event_ref() and gst_message_ref() functions again
11064           (ugly hack, please do fix if there's a better way besides
11065           overrides.txt, which doesn't seem to work).
11066
11067 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11068
11069         * libs/gst/check/gstcheck.h:
11070           add an assert for setting state to avoid lots of repetitive code
11071           in the future
11072
11073 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * gst/gstvalue.c: (gst_value_serialize_flags):
11076           fix a leak if no flags are set
11077         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11078           fix leak in tests
11079
11080 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11081
11082         * docs/manual/basics-pads.xml:
11083           Expand a bit on caps and filtered links and update
11084           examples that were still using the no longer existing
11085           gst_pad_link_filtered() (#338206).
11086
11087 2006-05-10  Wim Taymans  <wim@fluendo.com>
11088
11089         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11090         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11091         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11092         (gst_collect_pads_stop):
11093         * libs/gst/base/gstcollectpads.h:
11094         No need to call _stop in _finalize.
11095         Iterate the main pad list in _finalize.
11096         Added some more debug.
11097         Free lists and data in the right order.
11098         Also free data whem doing _remove_pad when stopped for
11099         backward compatibility protect ::started with PAD_LOCK as
11100         well.
11101
11102 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
11105         (gst_structure_parse_value):
11106           add some comments
11107           rename a method so that it actually says what it does better
11108
11109 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * gst/gstevent.c: (_gst_event_initialize):
11112         * gst/gstformat.c: (_gst_format_initialize):
11113           make sure some essential types used by events are registered
11114           as part of gst_init()
11115         * gst/gstvalue.c: (gst_value_serialize_flags):
11116           if no flags are set, serialize them to a value that represents NONE
11117           so that deserializing them works
11118         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11119           add tests for serialization and deserialization of flags
11120
11121 2006-05-10  Wim Taymans  <wim@fluendo.com>
11122
11123         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
11124         (gst_collect_pads_collect_range), (gst_collect_pads_available),
11125         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
11126         (gst_collect_pads_event), (gst_collect_pads_chain):
11127         Update docs.
11128         Better debug info.
11129         Catch and return errors from the collect function
11130         Refuse data on eos pads.
11131
11132 2006-05-10  Edward Hervey  <edward@fluendo.com>
11133
11134         * gst/gstinterface.h:
11135         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
11136         GInterface type checking.
11137         They were previously using non-defined macros.
11138
11139 2006-05-09  Wim Taymans  <wim@fluendo.com>
11140
11141         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
11142         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
11143         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
11144         (gst_collect_pads_start), (gst_collect_pads_stop),
11145         (gst_collect_pads_peek), (gst_collect_pads_pop),
11146         (gst_collect_pads_available), (gst_collect_pads_read),
11147         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
11148         (gst_collect_pads_is_collected), (gst_collect_pads_event),
11149         (gst_collect_pads_chain):
11150         * libs/gst/base/gstcollectpads.h:
11151         Clean up the mess that is collectpads, add comments and
11152         FIXMEs where needed.
11153         Maintain a separate pad list so we can add pads while
11154         collecting the other ones. For this we need a new separate 
11155         lock (see comics).
11156         Fix memory leak in finalize.
11157         Refactor some weird code to set/unset pad flushing flags, mark
11158         with comments.
11159         Don't crash in _available, _read, _flush when we're EOS.
11160
11161         * tests/check/libs/.cvsignore:
11162         Ignore adapter check binary.
11163
11164 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11165
11166         * gst/gstindex.c: (gst_index_resolver_get_type):
11167         * plugins/elements/gstfakesink.c:
11168         (gst_fake_sink_state_error_get_type):
11169         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11170         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
11171         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11172           Const-ify GEnumValue arrays.
11173
11174 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11175
11176         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11177           Add test case for flags + gst_buffer_make_metadata_writable().
11178
11179 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11180
11181         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
11182           gst_buffer_make_metadata_writable() should maintain the
11183           buffer flags (those that make sense at least) (see #340859).
11184
11185 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11186
11187         * tools/gst-inspect.c:
11188         * tools/gst-launch.c:
11189         * tools/gst-typefind.c:
11190         * tools/gst-xmlinspect.c:
11191         * tools/tools.h:
11192           Fix up includes: need to include stdlib.h in tools.h for exit().
11193
11194 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11195
11196         * gst/gsttaglist.c: (_gst_tag_initialize):
11197         * gst/gsttaglist.h:
11198           API: add GST_TAG_IMAGE tag (#340721).
11199
11200 2006-05-08  Wim Taymans  <wim@fluendo.com>
11201
11202         * gst/gstquery.c:
11203         Added some docs for the segment query.
11204
11205 2006-05-08  Wim Taymans  <wim@fluendo.com>
11206
11207         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11208         (gst_base_src_loop), (gst_base_src_change_state):
11209         Always push non-flushing serialized events in the streaming 
11210         thread.
11211
11212 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11213
11214         * gst/gsterror.c: (_gst_stream_errors_init):
11215           Add a missing error string.
11216
11217 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
11218
11219         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
11220         Add applied_rate to the debug
11221
11222         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11223         Copy applied_rate into the outgoing NEWSEGMENT event
11224
11225 2006-05-08  Wim Taymans  <wim@fluendo.com>
11226
11227         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
11228
11229         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
11230         (gst_base_sink_change_state):
11231         call ::unlock before taking the PREROLL_LOCK so we can safely
11232         handle elements that lock in ::render.
11233         Fixes #340174.
11234
11235 2006-05-08  Edward Hervey  <edward@fluendo.com>
11236
11237         * autogen.sh: (CONFIGURE_DEF_OPT): 
11238         Darwin's libtoolize is in fact called glibtoolize.
11239         Adding glibtoolize to the list of accepted names for libtoolize.
11240
11241 2006-05-08  Wim Taymans  <wim@fluendo.com>
11242
11243         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11244         Unify error handling, don't post an error message
11245         when a push() returns EOS but perform our normal EOS
11246         handling code. Fixes #340772.
11247
11248 2006-05-08  Wim Taymans  <wim@fluendo.com>
11249
11250         * docs/design/part-overview.txt:
11251         Make upsteam/downstream concepts more clear.
11252         Give an example of serialized/non-serialized events.
11253
11254         * docs/design/part-events.txt:
11255         * docs/design/part-streams.txt:
11256         Mention applied_rate.
11257
11258         * docs/design/part-trickmodes.txt:
11259         Mention applied rate, flesh out some more use cases.
11260
11261         * gst/gstevent.c: (gst_event_new_new_segment),
11262         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11263         (gst_event_parse_new_segment_full), (gst_event_new_tag),
11264         (gst_event_parse_tag), (gst_event_new_buffer_size),
11265         (gst_event_parse_buffer_size), (gst_event_new_qos),
11266         (gst_event_parse_qos), (gst_event_parse_seek),
11267         (gst_event_new_navigation):
11268         * gst/gstevent.h:
11269         Add applied_rate field to NEWSEGMENT event.
11270         API: gst_event_new_new_segment_full()
11271         API: gst_event_parse_new_segment_full()
11272
11273         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11274         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11275         (gst_segment_to_stream_time), (gst_segment_to_running_time):
11276         * gst/gstsegment.h:
11277         Add applied_rate to GstSegment structure.
11278         Make calculation of stream_time and running_time more correct
11279         wrt rate/applied_rate.
11280         Add some more docs.
11281         API: GstSegment::applied_rate field
11282         API: gst_segment_set_newsegment_full();
11283
11284         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11285         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11286         * libs/gst/base/gstbasetransform.c:
11287         (gst_base_transform_sink_eventfunc),
11288         (gst_base_transform_handle_buffer):
11289         Parse and use applied_rate in the GstSegment field.
11290
11291         * tests/check/gst/gstevent.c: (GST_START_TEST):
11292         Add check for applied_rate field.
11293
11294         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11295         (gstsegments_suite):
11296         Add more checks for various GstSegment operations.
11297
11298 2006-05-08  Wim Taymans  <wim@fluendo.com>
11299
11300         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11301         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11302         (gst_base_sink_get_position), (gst_base_sink_change_state):
11303         Store the sync time of the buffer end position separatly in a
11304         new variable eos_rtime so we can properly sync the EOS event.
11305         Fixes #340697.
11306         Fix the docs for gst_base_sink_set_qos_enabled().
11307         Don't set segment start to invalid value when we receive a 
11308         non TIME newsegment.
11309         get closer to handling position reporting for negative rates 
11310         correctly.
11311
11312 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11313
11314         * gst/gstcaps.c:
11315         Docs about how to print caps for debug purposes.
11316
11317         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11318         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11319
11320 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11321
11322         * gst/gstelement.c:
11323           use full enum names and preprend a '%' in docs strings to make recent 
11324           gtk-doc turn that into a link
11325
11326 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11327
11328         * docs/manual/basics-bins.xml:
11329         * docs/manual/basics-bus.xml:
11330         * docs/manual/basics-pads.xml:
11331           Some typo fixes, some additions, some clarifications. 
11332
11333 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11334
11335         * tools/gst-inspect.c: (main):
11336         * tools/gst-launch.c: (main):
11337         * tools/gst-run.c: (main):
11338         * tools/gst-typefind.c: (main):
11339         * tools/gst-xmlinspect.c: (main):
11340           Use the string passed to g_option_context_new() for
11341           what it's intended for - the program name is already
11342           printed elsewhere.
11343
11344 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11345
11346         * tools/Makefile.am:
11347         * tools/gst-inspect.c: (main):
11348         * tools/gst-launch.c: (main):
11349         * tools/gst-xmlinspect.c: (main):
11350         * tools/tools.h:
11351           Add back --version command line option (#340460).
11352
11353         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11354           Add --version option and use GOption for argument parsing; refactor a
11355           bit; accept directories as arguments and recurse into them; lastly,
11356           print a decent error message when things go wrong.
11357
11358 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11359
11360         * docs/manual/basics-bins.xml:
11361         Don't mention GstThread (#340611)
11362         * docs/manual/basics-elements.xml:
11363         Update link to GObject tutorial (#340607)
11364         
11365 2006-05-05  Wim Taymans  <wim@fluendo.com>
11366
11367         * gst/gstbuffer.h:
11368         * gst/gstminiobject.c:
11369         Add note about refcounting and miniobject/buffer writeability
11370         to docs. Fixes #340604
11371
11372         * gst/gstelementfactory.h:
11373         Added some explanation about @klass.
11374
11375 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11376
11377         * docs/manual/intro-motivation.xml:
11378         * docs/manual/manual.xml:
11379         Avoid CORBA & Bonobo references (#340598)
11380
11381 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11382
11383         * docs/manual/basics-bus.xml:
11384         * docs/manual/basics-pads.xml:
11385         Fix up some inaccuracies and omissions (#340609)
11386         
11387 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11388
11389         * gst/gstghostpad.c:
11390           Small typo in docs (#340625)
11391
11392 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11393
11394         * gst/parse/Makefile.am:
11395           Make 'make -j' proof (see #340698).
11396
11397 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11398
11399         * configure.ac:
11400           Require GLib-2.8 here as well.
11401
11402 2006-05-05  Wim Taymans  <wim@fluendo.com>
11403
11404         * gst/glib-compat.c:
11405         * gst/gst.c: (init_pre):
11406         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11407         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11408         (gst_object_dispatch_properties_changed):
11409         * gst/gstobject.h:
11410         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11411         * gst/gststructure.c: (gst_structure_set_valist):
11412         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11413         Remove pre glib2.8 compatibility, fixes #340508
11414
11415 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11416
11417         * gst/gsttaglist.h:
11418           Mention type of tags in doc blurbs.
11419
11420 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
11421
11422         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11423         (gst_pad_configure_src), (gst_pad_push):
11424         Restore acceptcaps checking behaviour now that good plugins have
11425         been released.
11426
11427 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11428
11429         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11430
11431         * gst/gst.c:
11432         * gst/gstbus.c:
11433         * gst/gstclock.c:
11434         * gst/gstevent.c:
11435         * gst/gstformat.c:
11436         * gst/gstmessage.c:
11437         * gst/gstparse.c:
11438         * gst/gstquery.c:
11439         * gst/gstutils.c:
11440         * gst/parse/Makefile.am:
11441         * libs/gst/base/gstadapter.c:
11442         * libs/gst/base/gstbasesrc.c:
11443         * libs/gst/base/gstpushsrc.c:
11444         * libs/gst/base/gsttypefindhelper.c:
11445         * plugins/elements/gstfakesrc.c:
11446         * plugins/elements/gstidentity.c:
11447           Make sure gstprivate.h and/or config.h are
11448           always included first, otherwise some of our
11449           defines (like _FILE_OFFSET_BITS) might be
11450           redefined in the system headers. Fixes build
11451           on opensolaris (#340016).
11452
11453 2006-05-04  Wim Taymans  <wim@fluendo.com>
11454
11455         * docs/libs/gstreamer-libs-sections.txt:
11456         API: addition: gst_adapter_take_buffer()
11457         
11458         * libs/gst/base/gstadapter.c: (gst_adapter_push),
11459         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11460         (gst_adapter_available_fast):
11461         * libs/gst/base/gstadapter.h:
11462         Prepare for optimizing the hell out of this hugely inefficient
11463         piece of code. 
11464         Added gst_adapter_take_buffer() so we can at least start thinking
11465         about subbuffering and merging.
11466         Added some comments.
11467
11468         * tests/check/Makefile.am:
11469         * tests/check/libs/adapter.c: (GST_START_TEST),
11470         (gst_adapter_suite), (main):
11471         Added GstAdapter check.
11472
11473 2006-05-04  Wim Taymans  <wim@fluendo.com>
11474
11475         * docs/design/part-overview.txt:
11476         Fix some typos, add blurb about buffer flags.
11477
11478 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11479
11480         * docs/libs/gstreamer-libs-sections.txt:
11481           make sure GstBaseTransformClass shows up in the docs
11482         * libs/gst/base/gstbasetransform.c:
11483         * libs/gst/base/gstbasetransform.h:
11484           move docs so gtk-doc picks it up now
11485
11486 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11487
11488         * docs/libs/gstreamer-libs-sections.txt:
11489           add missing symbols to docs
11490
11491 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11492
11493         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11494           back out the newsegment handling change, see #340060 for ongoing
11495           discussion
11496
11497 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
11498
11499         * tools/gst-run.c: (get_candidates), (main):
11500           Fix wrong g_file_test() usage (see glib docs for why it doesn't
11501           work); fix typo in error message. Fixes #340079.
11502
11503 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11504
11505         * common/Makefile.am:
11506         * docs/Makefile.am:
11507         * docs/faq/Makefile.am:
11508         * docs/gst/Makefile.am:
11509         * docs/libs/Makefile.am:
11510         * docs/manual/Makefile.am:
11511         * docs/plugins/Makefile.am:
11512         * docs/pwg/Makefile.am:
11513         * docs/slides/Makefile.am:
11514         * docs/upload.mak:
11515         * common/upload.mak:
11516           move upload.mak to common
11517
11518 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11519
11520         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11521           add more asserts on refcounts
11522           do more cleanup at end of tests
11523           fix test leaks showing in FC5
11524
11525 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
11526
11527         * plugins/elements/gsttypefindelement.c:
11528         (gst_type_find_element_handle_event):
11529         reverted wrong change and reflowed code to avoid others falling into
11530         this trap
11531
11532 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11533
11534         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11535           fix changelog entry about last collectpads change,
11536           add notes about proper fix
11537
11538 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11539
11540         * gst/gst.c:
11541         * gst/gstregistry.c: (gst_registry_scan_path_level),
11542         (gst_registry_scan_path):
11543         * gst/gstregistry.h:
11544           only write out registry if it has changed, fixes #338339
11545
11546 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11547
11548         * gst/gstbin.c:
11549         * gst/gstpipeline.c:
11550         * plugins/elements/gstcapsfilter.c:
11551         * plugins/elements/gstfakesink.c:
11552         * plugins/elements/gstfakesrc.c:
11553         * plugins/elements/gstfdsink.c:
11554         * plugins/elements/gstfdsrc.c:
11555         * plugins/elements/gstfilesink.c:
11556         * plugins/elements/gstfilesrc.c:
11557         * plugins/elements/gstidentity.c:
11558         * plugins/elements/gstqueue.c:
11559         * plugins/elements/gsttee.c:
11560         * plugins/elements/gsttypefindelement.c:
11561         (gst_type_find_element_handle_event):
11562           make GstElementDetails const
11563
11564 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11565
11566         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
11567         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11568         (gst_collect_pads_is_collected), (gst_collect_pads_event):
11569           more detailed debug and formatting cleanup,
11570           forward newsegments to src-pad (so that e.g. adder not eats them)
11571
11572 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11573
11574         * gst/gstutils.c: (gst_element_link_pads):
11575           cleanup double code
11576
11577 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11578
11579         * libs/gst/controller/gstcontroller.c:
11580         (gst_controller_sync_values):
11581           some little tuning
11582         * tests/check/libs/controller.c: (GST_START_TEST),
11583         (gst_controller_suite):
11584           a new test for live value handling
11585
11586 2006-04-28  Wim Taymans  <wim@fluendo.com>
11587
11588         * gst/gstutils.c: (push_and_ref):
11589         Added some more docs.
11590         Fix refcount issue whith gst_element_found_tags() helper 
11591         function. Fixes #338335
11592
11593         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11594         Added testsuite for gst_element_found_tags().
11595
11596 2006-04-28  Michael Smith  <msmith@fluendo.com>
11597
11598         * gst/gstvalue.c: (gst_value_serialize_flags):
11599           Avoid NULL dereference when trying to serialize flags containing
11600           invalid values.
11601
11602 2006-04-28  Michael Smith  <msmith@fluendo.com>
11603
11604         * plugins/elements/gsttypefindelement.c:
11605         (gst_type_find_element_handle_event):
11606           If we get EOS before any data is accumulated, don't use
11607           uninitialised local variables.
11608
11609 2006-04-28  Michael Smith  <msmith@fluendo.com>
11610
11611         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11612         (gst_dp_event_from_packet):
11613           Fixes in reading/writing events over GDP (not currently used?) - 
11614           dereferencing NULL events for unknown/invalid event types, memory
11615           leak, and change g_warning to GST_WARNING.
11616
11617 2006-04-28  Wim Taymans  <wim@fluendo.com>
11618
11619         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
11620         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11621         (gst_base_sink_get_position), (gst_base_sink_change_state):
11622         When frame dropping is enabled, we should not ignore frames
11623         without a duration.
11624         Update some documentation.
11625
11626 2006-04-28  Wim Taymans  <wim@fluendo.com>
11627
11628         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11629         (gst_base_src_send_event), (gst_base_src_change_state):
11630         Documentation updates.
11631
11632 2006-04-28  Wim Taymans  <wim@fluendo.com>
11633
11634         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
11635         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
11636         handle EAGAIN, EINTR and short writes correctly. Also clean
11637         up some error cases, avoid a deadlock on bad file descriptors and
11638         use GST_DEBUG_OBJECT.
11639         Fixes #339843
11640
11641 2006-04-28  Wim Taymans  <wim@fluendo.com>
11642
11643         * gst/gstvalue.c: (gst_value_serialize_buffer),
11644         (gst_value_deserialize_buffer):
11645         Don't try to serialize a GValue with a NULL buffer. 
11646         Fixes #339821.
11647
11648         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11649         Added check for serialisation of NULL buffers.
11650
11651 2006-04-28  Wim Taymans  <wim@fluendo.com>
11652
11653         * gst/gstminiobject.c: (gst_value_take_mini_object):
11654         Taking a NULL miniobject is valid, fix the case where
11655         we try to unref the NULL miniobject.
11656
11657 2006-04-28  Wim Taymans  <wim@fluendo.com>
11658
11659         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11660
11661         * gst/gstbin.c: (gst_bin_handle_message_func):
11662         Update docs.
11663         Don't leak bin refcount when a state recalc is
11664         in progress and we delay another one #339808.
11665
11666 2006-04-28  Wim Taymans  <wim@fluendo.com>
11667
11668         * docs/design/part-TODO.txt:
11669         Mention QoS as an ongoing work item.
11670
11671         * docs/design/part-buffering.txt:
11672         New doc about buffering that needs to be fleshed out
11673         at some point.
11674
11675         * docs/design/part-qos.txt:
11676         More QoS policy for decoders/demuxers/transforms
11677
11678         * docs/design/part-trickmodes.txt:
11679         Small update.
11680
11681 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11682
11683         * configure.ac:
11684           back to HEAD
11685
11686 === release 0.10.5 ===
11687
11688 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
11689
11690         * configure.ac:
11691           releasing 0.10.5, "Fogo"
11692
11693 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11694
11695         patch by: Wim Taymans
11696
11697         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11698         (gst_pad_configure_src), (gst_pad_push):
11699         * gst/gstpipeline.c: (gst_pipeline_init):
11700           Fix internal data flow errors.  Fixes #338711.
11701
11702 2006-04-12  Wim Taymans  <wim@fluendo.com>
11703
11704         * tests/check/gst/gstelement.c: (GST_START_TEST):
11705         Don't leak the factory.
11706
11707 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11708
11709         * configure.ac:
11710         * win32/common/config.h:
11711           prerelease
11712
11713 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
11714
11715         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11716         (gst_controller_unset_all):
11717           Free allocated GstTimedValues when freeing list nodes.
11718           Should fix leaks 'make check-valgrind' complains about.
11719
11720         * win32/common/libgstcontroller.def:
11721           Add gst_controller_unset_all.
11722
11723 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
11724
11725         * docs/libs/gstreamer-libs-sections.txt:
11726         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11727         (gst_controller_unset_all):
11728         * libs/gst/controller/gstcontroller.h:
11729         API: Added new method gst_controller_unset_all()
11730         fixed gst_controller_unset()
11731         * tests/check/libs/controller.c: (GST_START_TEST),
11732         (gst_controller_suite):
11733         Added two testcases for new and fixed method
11734
11735 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
11736
11737         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11738           MSG_DONTWAIT is not defined on Cygwin, so work
11739           around that (fixes #317048).
11740           
11741 2006-04-11  Wim Taymans  <wim@fluendo.com>
11742
11743         * gst/gstelementfactory.c: (gst_element_register),
11744         (gst_element_factory_create), (gst_element_factory_make):
11745         Some cleanups.
11746         Fixed a FIXME.
11747         Updated docs (Fixes #131079)
11748
11749         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11750         Small cleanups.
11751
11752         * tests/check/gst/gstelement.c: (GST_START_TEST),
11753         (gst_element_suite):
11754         Added testcase for elementfactory class field.
11755
11756 2006-04-10  Wim Taymans  <wim@fluendo.com>
11757
11758         * gst/gstsegment.c:
11759         Added some more docs.
11760
11761         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
11762         (gst_base_sink_reset_qos):
11763         Calculate more accurate rate values.
11764
11765 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
11766
11767         * gst/gst_private.h:
11768           add a new #ifdef to use __declspec(dllimport) only for
11769           other modules and not for gstreamer core
11770         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
11771           use gst_guint64_to_gdouble for conversion
11772         * win32/common/libgstreamer.def:
11773           add new exported functions
11774         * win32/vs6/gst_inspect.dsp:
11775         * win32/vs6/gst_launch.dsp:
11776         * win32/vs6/libgstbase.dsp:
11777         * win32/vs6/libgstcontroller.dsp:
11778         * win32/vs6/libgstcoreelements.dsp:
11779         * win32/vs6/libgstdataprotocol.dsp:
11780         * win32/vs6/libgstnet.dsp:
11781           update project files
11782
11783 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11784
11785         * gst/gstbuffer.c: (gst_subbuffer_class_init):
11786         * gst/gstclock.c: (gst_clock_class_init):
11787         * gst/gstelement.c: (gst_element_class_init):
11788         * gst/gstindex.c: (gst_index_class_init):
11789         * gst/gstindexfactory.c: (gst_index_factory_class_init):
11790         * gst/gstobject.c: (gst_object_class_init),
11791         (gst_signal_object_class_init):
11792         * gst/gstpad.c: (gst_pad_class_init):
11793         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
11794         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
11795         * gst/gstregistry.c: (gst_registry_class_init):
11796         * gst/gstsystemclock.c: (gst_system_clock_class_init):
11797         * gst/gsttask.c: (gst_task_class_init):
11798         * gst/gstxml.c: (gst_xml_class_init):
11799         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11800         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11801         (gst_base_src_loop):
11802         * libs/gst/controller/gstcontroller.c:/
11803         (_gst_controller_class_init):
11804         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11805         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
11806         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
11807         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11808         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11809         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
11810
11811 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
11812
11813         * gst/gstpad.c: (gst_pad_link):
11814           Must set peer pads before calling the link function, otherwise
11815           a task started from a link function might get a flow-not-linked
11816           result when trying to push because the other thread where the
11817           linking happens hasn't had a chance to set the peers yet. This
11818           might happen for example when a queue gets linked to a downstream
11819           element, as queue starts a streaming task when its source pad
11820           gets linked. Happens in real life when playing back flac/musepack
11821           files in playbin (#332390).
11822           
11823 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
11824
11825         * gst/gstindex.h:
11826         * gst/gstxml.h:
11827         * libs/gst/base/gstadapter.h:
11828         * libs/gst/base/gstbasesink.h:
11829         * libs/gst/base/gstbasesrc.h:
11830         * libs/gst/base/gstbasetransform.h:
11831         * libs/gst/base/gstcollectpads.h:
11832         * libs/gst/base/gstpushsrc.h:
11833         Fix broken GObject macros
11834
11835 2006-04-07  Wim Taymans  <wim@fluendo.com>
11836
11837         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11838         Initialize start and stop times, thanks valgrind.
11839
11840 2006-04-07  Wim Taymans  <wim@fluendo.com>
11841
11842         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11843         Be a bit nicer to badly behaving upstream elements that expect
11844         us to deal with non TIME segments and timestamps (such as fakesrc
11845         in the testsuite).
11846
11847 2006-04-07  Wim Taymans  <wim@fluendo.com>
11848
11849         * gst/gstbus.c:
11850         Small documentation clarification about the signal watch.
11851
11852         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11853         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
11854         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11855         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11856         (gst_base_sink_get_position_last),
11857         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
11858         Convert and store timestamps in stream time and running time, the
11859         raw timestamps are not useful, also document this better.
11860         Use different window sizes for good and bad QoS observations so
11861         we react to badness a little quicker.
11862         Keep track of the amount of rendered and dropped buffers.
11863         Send QoS timestamps in running time.
11864
11865         * libs/gst/base/gstbasetransform.c:
11866         (gst_base_transform_sink_eventfunc),
11867         (gst_base_transform_handle_buffer):
11868         Compare QoS timestamps against running time.
11869
11870 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * gst/gstpad.c:
11873           Typo fixes in docs.
11874
11875 2006-04-06  Michael Smith  <msmith@fluendo.com>
11876
11877         * gst/gstpad.c: (gst_pad_set_property):
11878           Use g_value_get_object() instead of g_value_dup_gst_object(),
11879           to avoid double-reffing the pad template (which we then sink,
11880           so this worked previously if (and only if) the pad template
11881           was floating.
11882
11883         * gst/gstpadtemplate.c: (gst_pad_template_init),
11884         (gst_pad_template_pad_created):
11885           Never return floating references to pad templates, create
11886           them as initially-sunken.
11887
11888           Document an extra function (and make this stop sinking our
11889           pad template, since that is now guaranteed to do nothing,
11890           since we created it sunken).
11891
11892         * gst/gstghostpad.c:
11893           Fix docs typo.
11894
11895 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
11896
11897         * gst/gstinfo.c: (__gst_in_valgrind):
11898           Add some newlines.
11899
11900         * plugins/elements/gsttypefindelement.c:
11901         (gst_type_find_element_chain):
11902           Don't leak buffer caps.
11903
11904 2006-04-06  Michael Smith  <msmith@fluendo.com>
11905
11906         * gst/parse/grammar.y:
11907           Fix a leak in parse-launch for any source-or-sink named element 
11908           references used.
11909
11910         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11911           Unref the pipeline if it exists after we've failed parsing.
11912
11913 2006-04-05  Michael Smith  <msmith@fluendo.com>
11914
11915         * gst/gstpipeline.c: (gst_pipeline_init):
11916           When we create a pipeline bus, initially create it in flushing mode.
11917           Fixes leaks in at least one test, and makes a new pipeline work the
11918           same as one that has gone to READY and then back to NULL.
11919
11920         * gst/gstelement.c:
11921           Typo fix in docs.
11922
11923 2006-04-05  Michael Smith  <msmith@fluendo.com>
11924
11925         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11926           Unref a pad we reffed.
11927         * tests/check/gst/gstutils.c: (GST_START_TEST):
11928           Unref bins
11929
11930 2006-04-05  Michael Smith  <msmith@fluendo.com>
11931
11932         * gst/gstquery.c: (gst_query_set_formats),
11933         (gst_query_set_formatsv):
11934           Fix leaking GValues in queries, as shown by valgrind/testsuite.
11935
11936 2006-04-05  Michael Smith  <msmith@fluendo.com>
11937
11938         * tests/check/generic/sinks.c: (GST_START_TEST):
11939           Fix a variety of memleaks in sinks check, which are only sometimes 
11940           shown by running the tests under valgrind (weird?).
11941
11942 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
11943
11944         * docs/version.entities.in:
11945           Fix the substituted entity name after thomas' changes on the
11946           weekend.
11947
11948 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11949
11950         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
11951         VALGRIND_PRINTF
11952         
11953 2006-04-05  Andy Wingo  <wingo@pobox.com>
11954
11955         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
11956
11957         * libs/gst/base/gstbasetransform.c
11958         (gst_base_transform_sink_eventfunc): When resetting our segment on
11959         FLUSH_STOP, also update the flag saying we haven't seen a
11960         newsegment.
11961
11962 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11963
11964         Patch by: Paolo Borelli  <pborelli at katamail dot com>
11965
11966         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11967         (gst_plugin_check_license):
11968           minor clean-ups: G_DEFINE_TYPE already takes care of the
11969           parent_class stuff, no need to do it twice. Mark array of
11970           license strings as constant. (#337103)
11971           
11972 2006-04-04  Michael Smith  <msmith@fluendo.com>
11973
11974         * tools/gst-inspect.c: (print_element_list):
11975           Free the right plugin list; fixes a memory leak.
11976
11977 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11978
11979         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
11980
11981         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
11982           Don't error out on empty buffers (#336945).
11983           
11984 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
11985
11986         * docs/libs/gstreamer-libs-sections.txt:
11987         * gst/gsttaglist.c:
11988         * libs/gst/base/gstbasesink.c:
11989         * libs/gst/base/gstbasesink.h:
11990         * libs/gst/base/gstbasesrc.c:
11991         * libs/gst/base/gstbasesrc.h:
11992           Documentation updates. Make BaseSink and BaseSrc docs contain the
11993           class structure so that people can actually see the prototypes for
11994           virtual functions they're supposed to be overriding.
11995
11996 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
11997
11998         * plugins/elements/gsttypefindelement.c:
11999         (gst_type_find_element_chain):
12000           More debug info; when skipping typefinding, send cached
12001           events in all cases.
12002
12003 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12004
12005         * configure.ac:
12006           use new AS_VERSION and AS_NANO macros
12007         * gst/gst-i18n-lib.h:
12008         * gst/gst.c:
12009         * gst/gsterror.c:
12010         * gst/gstversion.h.in:
12011         * win32/common/config.h:
12012         * win32/common/config.h.in:
12013           update accordingly
12014
12015 2006-03-31  Michael Smith  <msmith@fluendo.com>
12016
12017         * plugins/elements/gsttypefindelement.c:
12018         (gst_type_find_element_chain):
12019           Do not typefind content if the buffers already have caps.
12020           Neccesary for icydemux (#333657), and the right thing to do anyway.
12021
12022 2006-03-30  Wim Taymans  <wim@fluendo.com>
12023
12024         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12025         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
12026         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
12027         (gst_base_sink_record_qos_observation),
12028         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12029         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12030         (gst_base_sink_change_state):
12031         More QoS measurements as described in the design doc.
12032         Get rid of ringbuffer with observations, running average is
12033         more simple and equally good.
12034         Calculates valid proportion now.
12035         Added beginning of flood measurement.
12036
12037 2006-03-29  Wim Taymans  <wim@fluendo.com>
12038
12039         * docs/design/part-qos.txt:
12040         * gst/gstclock.c:
12041         Small documentation updates and additions.
12042
12043 2006-03-29  Wim Taymans  <wim@fluendo.com>
12044
12045         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12046         (gst_base_src_send_event), (gst_base_src_loop),
12047         (gst_base_src_change_state):
12048         Perform the EOS logic when we reach the segment stop position.
12049         Fix compilation on gcc4.1
12050
12051 2006-03-29  Wim Taymans  <wim@fluendo.com>
12052
12053         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
12054
12055         * plugins/elements/gstqueue.c: (gst_queue_init),
12056         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12057         (gst_queue_set_property):
12058         * plugins/elements/gstqueue.h:
12059         In queue, when EOS is received, if minimum threshold > max_size -
12060         current_level, there is chance that queue blocks forever in conditional
12061         item del wait. This is because the queue is not emptied completely due
12062         to minimum threshold.  Here is another approach. Instead of setting
12063         cur_levels to max in EOS, just zero all minimum threshold levels. This
12064         should make sure that queue gives out all data. When going to READY
12065         (stop) state, just reset the original minimum threshold levels.
12066         Fixes #336336.
12067
12068 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
12069
12070         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
12071         (gst_type_find_element_handle_event),
12072         (gst_type_find_element_send_cached_events),
12073         (gst_type_find_element_change_state):
12074         * plugins/elements/gsttypefindelement.h:
12075           When typefinding is done in push mode, we should cache
12076           events we receive during typefinding instead of just
12077           dropping them (e.g. newsegment, custom events from
12078           dvdreadsrc etc.) and then send them out once we've
12079           determined the type of the stream (and decodebin
12080           has had a chance to plug in a decoder/demuxer).
12081           
12082 2006-03-27  Wim Taymans  <wim@fluendo.com>
12083
12084         * docs/design/part-qos.txt:
12085         First QoS ideas.
12086
12087 2006-03-27  Wim Taymans  <wim@fluendo.com>
12088
12089         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
12090
12091         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12092         (gst_base_src_send_event), (gst_base_src_change_state):
12093         Handle element seek correctly when we are streaming.
12094         Fixes #326998.
12095
12096 2006-03-24  Michael Smith  <msmith@fluendo.com>
12097
12098         * docs/faq/gst-uninstalled:
12099           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
12100           allow you to correctly run intalled applications built against old 
12101           core, using plugins that require updated core (e.g. running
12102           installed totem against a full uninstalled gstreamer stack)
12103
12104 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12105
12106         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12107         more debug details
12108
12109 2006-03-24  Wim Taymans  <wim@fluendo.com>
12110
12111         * docs/gst/gstreamer-sections.txt:
12112         Rearrange the order of the methods so that related methods
12113         are grouped together in sections.
12114
12115 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12116
12117         * gst/gstelement.c:
12118           Little clarification in the docs
12119
12120 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12121
12122         * docs/README:
12123         formatting fix
12124         * plugins/elements/gstidentity.c:
12125         * plugins/elements/gstqueue.c:
12126         * plugins/elements/gsttee.c:
12127         * plugins/elements/gsttypefindelement.c:
12128         GST_ELEMENT_DETAILS formatting
12129
12130 2006-03-24  Wim Taymans  <wim@fluendo.com>
12131
12132         * libs/gst/base/gstbasesink.h:
12133         Only add fields, not insert or we break ABI.
12134
12135 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12136
12137         * win32/common/libgstbase.def:
12138         * win32/common/libgstreamer.def:
12139           Update, add recently added functions.
12140
12141 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12142
12143         * docs/gst/gstreamer-sections.txt:
12144         * gst/gstutils.c: (gst_pad_query_peer_position),
12145         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
12146         * gst/gstutils.h:
12147           API: add some new utility functions:
12148            - gst_pad_query_peer_position()
12149            - gst_pad_query_peer_duration()
12150            - gst_pad_query_peer_convert()
12151           
12152 2006-03-23  Wim Taymans  <wim@fluendo.com>
12153
12154         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12155         (gst_base_sink_init), (gst_base_sink_finalize),
12156         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
12157         (gst_base_sink_set_property), (gst_base_sink_get_property),
12158         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
12159         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12160         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
12161         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12162         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12163         (gst_base_sink_preroll_object), (gst_base_sink_event),
12164         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
12165         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
12166         (gst_base_sink_query), (gst_base_sink_change_state):
12167         Decouple max-lateness and the fact that QoS messages are generated
12168         with a new property (qos).
12169         added API: GstBaseSink::async_play()
12170         Add vmethod so subclasses can be notified of ASYNC playing
12171         state changes.
12172         Collect timestamp start and stop to report better current
12173         position in EOS/PLAYING/PAUSED/READY/NULL.
12174         Refactor QoS/frame dropping and other measurements.
12175         API: GstBaseSrc::qos
12176         Fixes #326311
12177
12178         * libs/gst/base/gstbasesink.h:
12179         Added Private struct.
12180         API: gst_base_sink_set_qos_enabled()
12181         API: gst_base_sink_is_qos_enabled()
12182
12183 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12184
12185         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12186           If compiling against GLib-2.8 or newer, try to read the
12187           registry file using GMappedFile first before falling back
12188           to fopen() + fread() (#332151).
12189
12190 2006-03-22  Wim Taymans  <wim@fluendo.com>
12191
12192         * gst/gstinfo.c: (gst_debug_set_active),
12193         (gst_debug_category_set_threshold):
12194         Disable debugging unless explicitly activated.
12195         Fixes #335480.
12196
12197 2006-03-22  Wim Taymans  <wim@fluendo.com>
12198
12199         * gst/gstelement.c: (gst_element_set_locked_state),
12200         (gst_element_dispose):
12201         Cleanup the error case.
12202
12203         * gst/gstobject.c: (gst_object_dispose):
12204         print a critical when some object was disposed with
12205         a parent, also revive the object since it might
12206         crash the parent.
12207
12208 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
12209
12210         * tools/gst-launch.1.in:
12211           Fix another typo.
12212
12213 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12214
12215         * configure.ac:
12216         * tests/check/Makefile.am:
12217           disable some tests when we don't have a registry
12218         * tests/check/gst/gstutils.c: (gst_utils_suite):
12219           don't build the part that needs parsing
12220
12221 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12222
12223         * gst/Makefile.am
12224         * tests/examples/Makefile.am:
12225           fix --disable-parse build
12226
12227 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12228
12229         * tools/gst-feedback.1.in:
12230           Fix typo: s/feeback/feedback/ (#133494).
12231
12232 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12233
12234         * tools/Makefile.am:
12235         * tools/gst-launch.1.in:
12236           Add FILES section and correct entry about GST_REGISTRY_PATH
12237           environment variable (#133495; #133494).
12238
12239 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12240
12241         * tools/Makefile.am:
12242         * tools/gst-md5sum.1.in:
12243         * tools/gst-md5sum.c:
12244           Remove gst-md5sum and man page (the md5sink element
12245           required was removed ages ago)
12246
12247 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12248
12249         * gst/gststructure.c: (gst_structure_id_set_value):
12250           Make sure that string fields in structures/taglists
12251           contain valid UTF-8 - we don't want to pass rubbish to
12252           applications because of a buggy plugin (cp. #334167).
12253
12254 2006-03-21  Edward Hervey  <edward@fluendo.com>
12255
12256         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12257         (gst_bin_handle_message_func):
12258         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12259         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12260         (gst_element_set_bus_func):
12261         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12262         * gst/gstminiobject.c: (gst_value_set_mini_object),
12263         (gst_value_take_mini_object):
12264         * gst/gstpad.c: (gst_pad_set_pad_template):
12265         * gst/gstpipeline.c: (gst_pipeline_dispose),
12266         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12267         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12268         (gst_collect_pads_chain):
12269         * libs/gst/net/gstnettimeprovider.c:
12270         (gst_net_time_provider_set_property):
12271         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12272         It's in fact all issues with gst_*object_replace().
12273
12274 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12275
12276         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
12277         
12278         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12279         * pkgconfig/gstreamer-check.pc.in:
12280           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12281
12282 2006-03-21  Edward Hervey  <edward@fluendo.com>
12283
12284         * gst/gstbuffer.h:
12285         * gst/gstevent.h:
12286         * gst/gstmessage.h:
12287         gst_[buffer|event|message]_ref() macros are replaced by a static
12288         inline functions because gcc-4.1 will about if the return value
12289         isn't used.
12290         * tests/check/gst/gstevent.c: (event_probe):
12291         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12292
12293 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
12294
12295         * gst/gstutils.h:
12296         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12297         the type' case. (Closes: #335195 for now). In the future, when we
12298         depend on GLib 2.10, we could also intern the type name using
12299         g_intern_static_string()
12300
12301 2006-03-20  Wim Taymans  <wim@fluendo.com>
12302
12303         * gst/gstbin.c: (gst_bin_handle_message_func),
12304         (bin_query_max_init), (bin_query_position_fold),
12305         (bin_query_position_done), (gst_bin_query):
12306         Position query should also take max of all streams.
12307
12308 2006-03-20  Wim Taymans  <wim@fluendo.com>
12309
12310         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12311         (gst_fake_src_finalize):
12312         Fix leaks in fakesrc.
12313
12314         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12315         Fix leaks in the testcase.
12316
12317 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
12318
12319         * gst/gst_private.h:
12320           add win32 specific import decoration(__declspec(dllimport)) 
12321           for all extern GstDebugCategory * variables
12322         * win32/common/libgstbase.def:
12323         * win32/common/libgstcontroller.def:
12324         * win32/common/libgstreamer.def:
12325           Add some exports, remove empty lines
12326         * win32/common/libgstdataprotocol.def:
12327         * win32/common/libgstdataprotocol.dsp:
12328         * win32/common/libgstnet.def:
12329         * win32/common/libgstnet.dsp:
12330           new project files and exportation files added
12331         
12332 2006-03-19  Wim Taymans  <wim@fluendo.com>
12333
12334         * tests/check/libs/basesrc.c: (eos_event_counter):
12335         Use proper return value for probe.
12336
12337 2006-03-17  Wim Taymans  <wim@fluendo.com>
12338
12339         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12340         (gst_pad_push):
12341         Don't leak buffers, caps and pads on negotiation errors.
12342
12343 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
12344
12345         * docs/faq/cvs.xml:
12346         * docs/faq/dependencies.xml:
12347         * docs/faq/developing.xml:
12348         * docs/faq/faq.xml:
12349         * docs/faq/general.xml:
12350         * docs/faq/getting.xml:
12351         * docs/faq/legal.xml:
12352         * docs/faq/troubleshooting.xml:
12353         * docs/faq/using.xml:
12354         Faq review and update.
12355
12356 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
12357
12358         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12359         (gst_pad_push):
12360         Don't pound the cpu to pieces by checking get_caps when accept_caps
12361         is called with the same caps as the pad already has.
12362         Use GST_DEBUG_OBJECT when outputting caps change information.
12363
12364 2006-03-15  Wim Taymans  <wim@fluendo.com>
12365
12366         * gst/gstclock.c: (gst_clock_class_init):
12367         Fix docs.
12368
12369 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
12370
12371         * gst/gstbuffer.h:
12372         Documentation fix.
12373
12374         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12375         (gst_pad_accept_caps), (gst_pad_configure_sink),
12376         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12377         Make the default acceptcaps behaviour be to check the requested 
12378         caps against the gst_pad_get_caps output. 
12379
12380         Ensure that gst_pad_accept_caps is used to check caps when a pad
12381         doesn't have a setcaps function, so that pads automatically refuse 
12382         caps that they don't allow in their pad template. (Fixes #332986)
12383
12384         When a buffer with attached caps is pushed, ensure that the source 
12385         pad receives those caps even if the element didn't call
12386         gst_pad_set_caps first.
12387
12388 2006-03-15  Wim Taymans  <wim@fluendo.com>
12389
12390         * libs/gst/base/gstadapter.c:
12391         Add some docs.
12392
12393 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
12394
12395         * win32/common/libgstbase.def:
12396         * win32/common/libgstcontroller.def:
12397         * win32/common/libgstreamer.def:
12398           Add a whole bunch of missing functions (#334434).
12399
12400 2006-03-14  Wim Taymans  <wim@fluendo.com>
12401
12402         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12403         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12404         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12405         Better debug info when we receive a segment event.
12406         Reorganize a bit so we can pass the get_times() results around.
12407         Use the segment format when calculating the running time.
12408         Don't do QoS is sync is disabled or we have no clock or the
12409         element does not want us to sync to the clock.
12410         Don't drop buffers if QoS is disabled for now.
12411
12412 2006-03-14  Wim Taymans  <wim@fluendo.com>
12413
12414         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12415         Marked the stats property as unimplemented so people don't get
12416         wild ideas.
12417         Add debug message when regression goes wrong.
12418         Added some more docs.
12419
12420 2006-03-14  Wim Taymans  <wim@fluendo.com>
12421
12422         * gst/gstsegment.c: (gst_segment_to_stream_time):
12423         Return correct return type in case of errors.
12424
12425 2006-03-14  Wim Taymans  <wim@fluendo.com>
12426
12427         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12428           Don't segfault on invalid formats.
12429
12430 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12431
12432         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12433           Can't use gst_segment_to_running_time() when the segment
12434           is not in GST_TIME_FORMAT (like with filesink, for example).
12435           Stops flac encoding pipelines from spewing critical warnings
12436           at EOS (#331248).
12437           
12438 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12439
12440         * gst/gstpipeline.c: (gst_pipeline_class_init):
12441           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12442
12443         * plugins/elements/gsttypefindelement.c:
12444         (gst_type_find_element_handle_event):
12445           Don't try to typefind empty streams.
12446
12447 2006-03-14  Wim Taymans  <wim@fluendo.com>
12448
12449         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12450         (gst_base_sink_do_qos):
12451         Separate QoS calculation.
12452         Only drop buffers when lateness is bigger than the 
12453         duration of the buffer.
12454
12455 2006-03-13  Wim Taymans  <wim@fluendo.com>
12456
12457         * gst/gstpipeline.c: (gst_pipeline_set_property),
12458         (gst_pipeline_get_property), (do_pipeline_seek),
12459         (gst_pipeline_change_state), (gst_pipeline_set_delay),
12460         (gst_pipeline_get_delay):
12461         Don't deadlock when reading properties.
12462
12463 2006-03-13  Wim Taymans  <wim@fluendo.com>
12464
12465         * libs/gst/base/gstbasetransform.c:
12466         (gst_base_transform_class_init), (gst_base_transform_init),
12467         (gst_base_transform_sink_event),
12468         (gst_base_transform_sink_eventfunc),
12469         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12470         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12471         (gst_base_transform_set_property),
12472         (gst_base_transform_get_property),
12473         (gst_base_transform_change_state), (gst_base_transform_update_qos),
12474         (gst_base_transform_set_qos_enabled),
12475         (gst_base_transform_is_qos_enabled):
12476         * libs/gst/base/gstbasetransform.h:
12477         Make basetransform virtual method for src events too.
12478         Handle QOS in basetransform.
12479         API: gst_base_transform_update_qos()
12480         API: gst_base_transform_set_qos_enabled()
12481         API: gst_base_transform_is_qos_enabled()
12482
12483 2006-03-13  Wim Taymans  <wim@fluendo.com>
12484
12485         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12486         (gst_base_sink_do_sync):
12487         Small cleanups.
12488         Use QOS debug category.
12489
12490 2006-03-13  Wim Taymans  <wim@fluendo.com>
12491
12492         * plugins/elements/gstqueue.c:
12493         Very small doc update.
12494
12495 2006-03-13  Wim Taymans  <wim@fluendo.com>
12496
12497         * gst/gst_private.h:
12498         * gst/gstinfo.c: (_gst_debug_init):
12499         Added QOS debug category
12500
12501 2006-03-13  Wim Taymans  <wim@fluendo.com>
12502
12503         * docs/gst/gstreamer-sections.txt:
12504         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12505         * gst/gstbin.h:
12506         * gst/gstbus.c: (gst_bus_class_init):
12507         * gst/gstbus.h:
12508         * gst/gstclock.c:
12509         * gst/gstelement.c: (gst_element_set_locked_state):
12510         * gst/gstsegment.c:
12511         Documentation updates.
12512
12513         * gst/gstpipeline.c: (gst_pipeline_get_type),
12514         (gst_pipeline_class_init), (gst_pipeline_init),
12515         (gst_pipeline_dispose), (gst_pipeline_set_property),
12516         (gst_pipeline_get_property), (do_pipeline_seek),
12517         (gst_pipeline_send_event), (gst_pipeline_change_state),
12518         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12519         (gst_pipeline_get_delay):
12520         * gst/gstpipeline.h:
12521         Added methods for setting the delay.
12522         API: gst_pipeline_set_delay()
12523         API: gst_pipeline_get_delay()
12524         Add pipeline debug category
12525         Various cleanups.
12526         Updated docs.
12527         Don't reset stream time when seek failed.
12528
12529 2006-03-13  Wim Taymans  <wim@fluendo.com>
12530
12531         * docs/design/draft-klass.txt:
12532         * docs/design/part-clocks.txt:
12533         * docs/design/part-events.txt:
12534         * docs/design/part-gstbin.txt:
12535         * docs/design/part-gstpipeline.txt:
12536         * docs/design/part-messages.txt:
12537         * docs/design/part-negotiation.txt:
12538         * docs/design/part-overview.txt:
12539         * docs/design/part-preroll.txt:
12540         * docs/design/part-seeking.txt:
12541         * docs/design/part-states.txt:
12542         * docs/design/part-streams.txt:
12543         Documentation updates.
12544
12545 2006-03-12  Julien MOUTTE  <julien@moutte.net>
12546
12547         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
12548         us to leak strings...
12549
12550 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12551
12552         * libs/gst/net/gstnettimeprovider.c:
12553           fix docs
12554         * win32/common/config.h:
12555           update
12556
12557 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
12558
12559         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
12560
12561         * configure.ac:
12562           Don't check for libgnomeui (leftover from old examples
12563           that aren't built or disted any longer) (#334303).
12564           
12565 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
12566
12567         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
12568         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12569           Emit RESOURCE_NO_SPACE_LEFT error here as well when
12570           there's no space left on the device.
12571
12572 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
12573
12574         * gst/gstclock.h:
12575           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
12576           to cast the input to GstClockTime before comparing with
12577           another GstClockTime value.
12578
12579 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12580
12581         * configure.ac:
12582           back to trunk
12583
12584 === release 0.10.4 ===
12585
12586 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
12587
12588         * configure.ac:
12589           releasing 0.10.4, "Light"
12590
12591 2006-03-10  Michael Smith  <msmith@fluendo.com>
12592
12593         * libs/gst/dataprotocol/dataprotocol.c:
12594           Fix docs for dataprocotol to not get the return types completely
12595           wrong for a few functions.
12596
12597 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12598
12599         * docs/gst/gstreamer-sections.txt:
12600         * gst/gstpipeline.c: (gst_pipeline_class_init),
12601         (gst_pipeline_init), (gst_pipeline_set_property),
12602         (gst_pipeline_get_property), (gst_pipeline_change_state),
12603         (gst_pipeline_set_auto_flush_bus),
12604         (gst_pipeline_get_auto_flush_bus):
12605         * gst/gstpipeline.h:
12606           Add new API: gst_pipeline_set_auto_flush_bus() and
12607           gst_pipeline_get_auto_flush_bus() to disable automatic
12608           flushing of the pipeline's GstBus when going from READY
12609           to NULL state (#332045).
12610
12611 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12612
12613         * docs/gst/gstreamer-sections.txt:
12614         * gst/gsturi.c: (gst_uri_has_protocol):
12615         * gst/gsturi.h:
12616            Add new API: gst_uri_has_protocol() (#333779).
12617
12618 2006-03-09  Wim Taymans  <wim@fluendo.com>
12619
12620         * gst/gstclock.c: (gst_clock_entry_new),
12621         (gst_clock_id_compare_func), (gst_clock_id_wait),
12622         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
12623         (gst_clock_init), (gst_clock_get_internal_time),
12624         (gst_clock_set_master), (do_linear_regression),
12625         (gst_clock_add_observation), (gst_clock_set_property):
12626         * gst/gstclock.h:
12627         Review docs.
12628         Small cleanups.
12629         Fix a possible segfault when the window-size is made smaller.
12630         Calculate jitter before performing the clock wait. Ideally
12631         the clock implementation should calculate jitter but we need
12632         API breakage for that.
12633
12634         * gst/gstsystemclock.c: (gst_system_clock_init):
12635         Docs review.
12636         
12637         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12638         Remove leftover else
12639
12640         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
12641         (gst_systemclock_suite):
12642         Added check to test GST_CLOCK_DIFF.
12643
12644 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12645
12646         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
12647         (gst_type_find_helper_get_range):
12648           If we are provided with the size, we should implement
12649           GstTypeFind::get_length, so that typefind functions who
12650           want to can actually peek at the middle of a file.
12651
12652 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
12653
12654         * docs/manual/advanced-dataaccess.xml:
12655           Add some very very basic error checking.
12656
12657         * docs/pwg/appendix-checklist.xml:
12658           Some updates to the list of things to check when writing an element.
12659
12660 2006-03-08  Wim Taymans  <wim@fluendo.com>
12661
12662         * docs/design/part-element-transform.txt:
12663         Added some docs about the design of tranform elements.
12664
12665         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12666         (gst_base_src_loop), (gst_base_src_change_state):
12667         Mark buffers with the DISCONT flag.
12668
12669 2006-03-08  Michael Smith  <msmith@fluendo.com>
12670
12671         * gst/gstregistry.h:
12672         * gst/gstregistryxml.c: (gst_registry_save),
12673         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
12674         (gst_registry_xml_save_pad_template),
12675         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
12676         (gst_registry_xml_write_cache):
12677           Rewrite registry-saving to avoid race conditions and check for
12678           failed writes.
12679
12680 2006-03-08  Wim Taymans  <wim@fluendo.com>
12681
12682         * libs/gst/base/gstbasetransform.c:
12683         (gst_base_transform_transform_caps),
12684         (gst_base_transform_transform_size),
12685         (gst_base_transform_prepare_output_buffer),
12686         (gst_base_transform_get_unit_size),
12687         (gst_base_transform_buffer_alloc),
12688         (gst_base_transform_handle_buffer),
12689         (gst_base_transform_change_state):
12690         Cleanups, separate normal flow from errors, add sensible
12691         DEBUG lines.
12692         Don't try to renegotiate when allocating an output buffer.
12693         Also copy DISCONT buffer flag when copying a buffer.
12694         Reset the transform after we finish streaming, not during.
12695
12696 2006-03-08  Wim Taymans  <wim@fluendo.com>
12697
12698         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12699         Use last buffer timestamp in qos message.
12700
12701 2006-03-07  Wim Taymans  <wim@fluendo.com>
12702
12703         Patch by: Christophe Fergeau
12704
12705         * docs/pwg/advanced-tagging.xml:
12706         * docs/pwg/building-pads.xml:
12707           fixes #333416
12708
12709 2006-03-07  Wim Taymans  <wim@fluendo.com>
12710
12711         * docs/libs/gstreamer-libs-sections.txt:
12712         Added basesink new methods.
12713
12714         * gst/gstevent.c:
12715         * gst/gstevent.h:
12716         Docs updates. Flesh out the QoS docs.
12717
12718         * libs/gst/base/gstadapter.c:
12719         Small doc clarification about ownership and flushing.
12720
12721         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
12722         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
12723         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
12724         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12725         * libs/gst/base/gstbasesink.h:
12726         API additions: 
12727         Added new methods to allow subclass to control max-lateness 
12728         and sync.
12729         Generate very basic QoS events based on last sync observation.
12730         Updated docs, fix typo, added some QoS blurb.
12731
12732         * libs/gst/base/gstbasesrc.c:
12733         Remove obsolete _get_state() calls from docs.
12734
12735 2006-03-07  Wim Taymans  <wim@fluendo.com>
12736
12737         * docs/libs/gstreamer-libs-sections.txt:
12738         * libs/gst/base/gstbasetransform.h:
12739         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
12740         Fix docs for GstBaseSrc.
12741
12742 2006-03-07  Wim Taymans  <wim@fluendo.com>
12743
12744         * docs/gst/gstreamer-sections.txt:
12745         * gst/gstbuffer.h:
12746         * gst/gstvalue.c:
12747         * libs/gst/base/gstbasetransform.h:
12748         Small documentation fixes.
12749
12750 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12751
12752         * gst/gstvalue.c:
12753           Document thread-unsafety of gst_value_register_foo_func()
12754           when used at the same time as gst_value_foo() (#322628).
12755
12756 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12757
12758         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
12759         (gst_push_src_check_get_range):
12760           Push sources don't support pull mode by default.
12761
12762 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12763
12764         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12765         (gst_base_src_init), (gst_base_src_pad_check_get_range),
12766         (gst_base_src_default_check_get_range):
12767         * libs/gst/base/gstbasesrc.h:
12768           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
12769           provide default implementation, and rename
12770           gst_base_src_check_get_range() to
12771           gst_base_src_pad_check_get_range() for clarity.
12772
12773 2006-03-06  Wim Taymans  <wim@fluendo.com>
12774
12775         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12776         Make property overridable.
12777
12778 2006-03-06  Wim Taymans  <wim@fluendo.com>
12779
12780         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12781         (gst_base_sink_init), (gst_base_sink_set_property),
12782         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12783         * libs/gst/base/gstbasesink.h:
12784         API addition: Make max-lateness a property.
12785
12786 2006-03-06  Wim Taymans  <wim@fluendo.com>
12787
12788         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
12789         (gst_base_sink_do_sync), (gst_base_sink_render_object):
12790         Don't ever draw a frame that is >10ms late.
12791
12792 2006-03-06  Michael Smith  <msmith@fluendo.com>
12793
12794         * gst/gstmessage.c: (_gst_message_copy):
12795           When copying a message, set the parent_refcount of the enclosed
12796           structure to point at the copy, not the original message.
12797
12798 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12799
12800         Patch by: Christophe Fergeau
12801
12802         * gst/gstutils.h:
12803           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
12804           usable in c++ code (#333417)
12805
12806 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12807
12808         * gst/gstclock.h:
12809           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
12810
12811 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
12812
12813         * libs/gst/base/gstbasetransform.c:
12814         (gst_base_transform_transform_caps):
12815           Make sure caps are writable before passing them to
12816           gst_caps_append().
12817
12818 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12819
12820         * gst/gsterror.h:
12821           Fix some minor docs errors.
12822
12823 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
12824
12825           Patch by: Ross Burton <ross at burtonini dot com>
12826
12827         * gst/gsterror.c: (_gst_resource_errors_init):
12828         * gst/gsterror.h:
12829           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
12830
12831 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12832
12833         * gst/gst.c:
12834         Add a check and output a g_warning when GStreamer is built
12835         against GLib 2.6 but running against 2.8 or higher, and vice 
12836         versa. (Closes: #323542)
12837
12838 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
12839
12840         * gst/parse/parse.l:
12841           Commit patch for parse_launch syntax from #331255. Removes 
12842           support for quoted strings and mimetypes when writing filtered 
12843           caps. See the bug report for more details - I'm pretty sure this
12844           obscure feature is not in use by _anyone_ anywhere.
12845
12846           With this simple change, the size of the gstreamer.so here 
12847           drops from 2193KB to 1565KB.
12848
12849 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12850
12851         * plugins/elements/gsttypefindelement.h:
12852         * plugins/elements/gsttypefindelement.c:
12853         (gst_type_find_element_src_event), (start_typefinding),
12854         (stop_typefinding), (gst_type_find_element_handle_event),
12855         (gst_type_find_element_chain),
12856         (gst_type_find_element_chain_do_typefinding):
12857           Use gst_type_find_helper_for_buffer() for chain-based
12858           typefinding.
12859
12860 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12861
12862         * plugins/elements/gsttypefindelement.c:
12863         (gst_type_find_element_class_init),
12864         (gst_type_find_element_set_property),
12865         (gst_type_find_element_get_property):
12866           Deprecate "maximum" property (not only was it only taken into
12867           account for typefinding in push-mode anyway, it also was never
12868           actually possible to set it in the first place because the
12869           property was registered with the numeric property ID for the
12870           "minimum" property). Register "maximum" property correctly,
12871           for the sake of future copy'n'pasters. Remove some cruft
12872           from property get/set functions.
12873
12874 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
12875
12876         * plugins/elements/gsttypefindelement.c:
12877         (gst_type_find_element_activate):
12878           Use gst_type_find_helper_get_range() here, so we
12879           can honour the "minimum" property and also emit
12880           the signal with the correct probability of the found caps.
12881
12882 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
12883
12884         * docs/libs/gstreamer-libs-sections.txt:
12885         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
12886         (helper_find_suggest), (gst_type_find_helper_get_range),
12887         (gst_type_find_helper):
12888         * libs/gst/base/gsttypefindhelper.h:
12889           New API: gst_type_find_helper_get_range() (#333042).
12890
12891 2006-03-02  Michael Smith  <msmith@fluendo.com>
12892
12893         * gst/gstregistryxml.c: (load_feature):
12894           Asserting on a failure to read part of the registry is Not Cool.
12895           Just log a warning and return NULL (which is already handled)
12896
12897 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
12898
12899         * win32/common/libgstbase.def:
12900           added export of gst_type_find_helper_for_buffer
12901         * win32/common/libgstbase.def:
12902           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
12903           gst_ghost_pad_get_target
12904
12905 2006-02-28  Wim Taymans  <wim@fluendo.com>
12906
12907         * docs/design/draft-klass.txt:
12908         We use Filter now.
12909         Added Connector to mark elements that are only used to
12910         allow pipeline connections.
12911         Moved Debug to extra feature since most of them are 
12912         functionally something else.
12913
12914 2006-02-28  Wim Taymans  <wim@fluendo.com>
12915
12916         * docs/design/draft-klass.txt:
12917         Some updates and clarifications.
12918
12919 2006-02-28  Wim Taymans  <wim@fluendo.com>
12920
12921         * docs/design/draft-klass.txt:
12922         Proposal for klass field values.
12923
12924         * docs/design/part-streams.txt:
12925         Start of a doc describing stream anatomy.
12926
12927 2006-02-28  Wim Taymans  <wim@fluendo.com>
12928
12929         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
12930         Help the compiler a bit with type registration.
12931         Use existing forward cod path instead of duplicating it when 
12932         handling a message.
12933         
12934         * gst/gstbus.c: (gst_bus_get_type):
12935         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
12936         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
12937         * gst/gstclock.c: (gst_clock_get_type):
12938         * gst/gstelement.c: (gst_element_get_type),
12939         * gst/gstelementfactory.c: (gst_element_factory_get_type):
12940         * gst/gstindexfactory.c: (gst_index_factory_get_type):
12941         * gst/gstminiobject.c: (gst_mini_object_get_type):
12942         * gst/gstpad.c: (gst_pad_get_type):
12943         * gst/gstsegment.c: (gst_segment_get_type):
12944         * gst/gststructure.c: (gst_structure_get_type):
12945         * gst/gstsystemclock.c: (gst_system_clock_get_type):
12946         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
12947         * gst/gstvalue.c:
12948         Help compiler with type registration.
12949
12950         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
12951         Small doc update.
12952
12953 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12954
12955         * plugins/elements/gsttypefindelement.c:
12956         (gst_type_find_element_handle_event):
12957           When we get an EOS event and have not found a type yet
12958           (most likely because we had not yet accumulated
12959           TYPE_FIND_MIN_SIZE of data yet), try to determine the
12960           type given the data we have so far. Fixes typefinding
12961           for very short streams again, most notably quicktime
12962           redirections as used on Apple's trailer site (#331701).
12963
12964 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12965
12966         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
12967         (gst_type_find_helper):
12968           Try typefinding factories with the highest rank first.
12969
12970 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12971
12972         * docs/libs/gstreamer-libs-docs.sgml:
12973         * docs/libs/gstreamer-libs-sections.txt:
12974         * libs/gst/base/gsttypefindhelper.c:
12975           Add section for typefind helper and add documentation
12976           for the old and the new function.
12977
12978 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12979
12980         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
12981         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
12982         (gst_type_find_helper_for_buffer):
12983         * libs/gst/base/gsttypefindhelper.h:
12984           New API: gst_type_find_helper_for_buffer() (#332723).
12985           
12986 2006-02-27  Michael Smith  <msmith@fluendo.com>
12987
12988         Patch by: Loïc Minier
12989
12990         * configure.ac:
12991         * docs/Makefile.am:
12992         * docs/slides/Makefile.am:
12993           prevent CVS directories getting disted.
12994
12995 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
12996
12997         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
12998           Use the REFCOUNTING category for caps refcounting.
12999           
13000 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13001
13002         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13003           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
13004
13005 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13006
13007         * plugins/elements/gsttypefindelement.c:
13008         (gst_type_find_element_activate):
13009           Use gst_pad_check_pull_range() before _activate_pull()
13010           to avoid unnecessary open/close (see #331690).
13011
13012 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13013
13014         * gst/gstutils.c:
13015           Docs enhancement: make it crystal clear what the
13016           gst_pad_add_*_probe() callbacks should look like.
13017
13018 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13019
13020         * libs/gst/base/gstbasesrc.c:
13021           Document how applications can stop recording from
13022           live sources (see #330996).
13023
13024 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13025
13026         * tests/check/Makefile.am:
13027         * tests/check/libs/basesrc.c: (eos_event_counter),
13028         (basesrc_eos_events_pull), (basesrc_eos_events_push),
13029         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
13030         (gst_basesrc_suite), (main):
13031           ... and add some tests for the base source EOS stuff.
13032
13033 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13034
13035         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
13036           Test case originally showed the problem fixed below,
13037           but was then amended. Add checks back at the place
13038           where they used to be.
13039
13040 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13041
13042         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13043         (gst_base_src_init), (gst_base_src_loop),
13044         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13045         (gst_base_src_change_state):
13046         * libs/gst/base/gstbasesrc.h:
13047           Don't unconditionally send EOS when going from PAUSED to
13048           READY state, esp. make sure we don't send two EOS events
13049           in some cases (e.g. one when reaching EOS and one when
13050           going from PAUSED to READY). Also, we don't want to send
13051           EOS events when operating in pull mode. However, we do
13052           want to send an EOS event when shutting down a live
13053           source explicitly, for example (fixes #330996).
13054           
13055 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13056
13057         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13058           Update src->read_position after a seek when not using mmap.
13059           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
13060
13061 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
13062
13063         * gst/Makefile.am:
13064         * gst/gstparse.h:
13065         * gst/gstutils.c:
13066         * gst/gstutils.h:
13067         Make things work with --disable-parse as they do with 
13068         --disable-load-save - the symbols involved disappear, but the
13069         header is still installed and GST_DISABLE_PARSE is included via
13070         gstconfig.h
13071
13072 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13073
13074         * libs/gst/base/gstbasetransform.c:
13075         (gst_base_transform_change_state): Fix a stupid bug. I was 
13076         sure I compiled that.
13077
13078 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13079
13080         * gst/gstpad.c: (gst_pad_set_blocked_async):
13081         * gst/gstutils.c: (gst_pad_add_data_probe),
13082         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13083         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13084         (gst_pad_remove_buffer_probe): Make those function act on the
13085         ghostpad target when it's a ghostpad. (Closes #331727)
13086
13087 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13088
13089         * libs/gst/base/gstbasetransform.c:
13090         (gst_base_transform_change_state): Make basetransform reusable.
13091         (Closes #331898)
13092
13093 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
13094
13095         * docs/random/release:
13096         Move the current documentation of how to do a release to the top
13097         of the file.
13098
13099         * gst/gstbin.c: (gst_bin_class_init),
13100         (gst_bin_handle_message_func):
13101         Allow multiple state-recalculation threads. (Closes #328873)
13102
13103 2006-02-19  Julien MOUTTE  <julien@moutte.net>
13104
13105         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
13106         * gst/gstpad.c: (gst_pad_set_event_function),
13107         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13108         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
13109         2 strings. You can't use the STR_NULL macro on that.
13110
13111 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
13112
13113         * gst/gstpad.c: (gst_pad_set_event_function),
13114         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13115         (gst_pad_set_getcaps_function)
13116         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
13117           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
13118           So now, we can use --gst-debug-level=5 on Windows
13119         * win32/common/libgstcontroller.def:
13120           Added export of gst_controller_init
13121         * win32/vs6/libgstcontroller.dsp:
13122           Fixed Release post build configuration
13123
13124 2006-02-17  Wim Taymans  <wim@fluendo.com>
13125
13126         * tests/check/gst/gstquery.c: (GST_START_TEST):
13127         Added another check.
13128
13129 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
13130
13131         * plugins/elements/gsttypefindelement.c: (find_peek):
13132           We can do peeks at non-zero offsets, as long as they
13133           fall within the buffer we have.
13134
13135 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
13136
13137         * tests/check/Makefile.am:
13138         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
13139         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
13140         (parse_suite), (main):
13141           Add testsuite for parse launch syntax
13142
13143 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
13144
13145         * plugins/elements/gsttypefindelement.c:
13146         (gst_type_find_element_chain):
13147           When typefinding is unsuccessful in the chain function, don't
13148           error out immediately. Only error out with NO_CAPS_FOUND if
13149           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
13150           otherwise simply wait for more data so we can try typefinding
13151           again with more data later. Also, don't attempt to typefind
13152           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
13153           this should improve typefinding from network sources where the
13154           size of the first buffer can be somewhat random.
13155
13156 2006-02-14  Wim Taymans  <wim@fluendo.com>
13157
13158         * docs/gst/gstreamer-sections.txt:
13159         * gst/gstpadtemplate.c:
13160         * gst/gstpadtemplate.h:
13161         Fix padtemplate docs, fixes #328805.
13162
13163 2006-02-14  Wim Taymans  <wim@fluendo.com>
13164
13165         * tools/gst-launch.c: (main):
13166         NO_PREROLL is not an ERROR so don't send confusing messages
13167         to the user.
13168
13169 2006-02-14  Wim Taymans  <wim@fluendo.com>
13170
13171         Patch by: Torsten Schoenfeld
13172
13173         * gst/gstregistry.c: (gst_registry_get_default),
13174         (_gst_registry_cleanup):
13175         Protect default registry with lock and ref/sink it.
13176         Fixes #324818
13177
13178 2006-02-14  Wim Taymans  <wim@fluendo.com>
13179
13180         * gst/gstbuffer.c:
13181         * gst/gstquery.c: (gst_query_list_add_format),
13182         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13183         (gst_query_parse_formats_nth):
13184         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13185         Docs fixes.
13186
13187 2006-02-14  Wim Taymans  <wim@fluendo.com>
13188
13189         * docs/gst/gstreamer-sections.txt:
13190         Reworked query docs.
13191
13192         * gst/gstquery.c: (gst_query_new_formats),
13193         (gst_query_list_add_format), (gst_query_set_formats),
13194         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13195         (gst_query_parse_formats_nth):
13196         * gst/gstquery.h:
13197         Flesh out formats query, added some new methods.
13198         Fix part of #324398.
13199
13200         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
13201         Added query creation tests.
13202
13203 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
13204
13205         * gst/gstpad.c: (fixate_value):
13206         Add a default fixation for fraction lists.
13207
13208 2006-02-13  Wim Taymans  <wim@fluendo.com>
13209
13210         * gst/gsttask.c: (gst_task_init), (gst_task_func),
13211         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
13212         (gst_task_join):
13213         * gst/gsttask.h:
13214         Detect and warn for obvious deadlocks. fixes #320340
13215         Fix error case where lock was not released.
13216
13217         * tests/check/Makefile.am:
13218         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
13219         (task_func), (gst_element_suite), (main):
13220         Add task check.
13221
13222 2006-02-13  Wim Taymans  <wim@fluendo.com>
13223
13224         * docs/gst/gstreamer-sections.txt:
13225         * gst/gstbus.c:
13226         Add new functions to docs.
13227
13228 2006-02-13  Wim Taymans  <wim@fluendo.com>
13229
13230         * docs/design/part-TODO.txt:
13231         Updated TODO list, basesrc supports seeking to non-bytes
13232         formats.
13233
13234         * docs/design/part-element-sink.txt:
13235         Update docs.
13236
13237         * gst/gstbin.c: (bin_replace_message),
13238         (gst_bin_handle_message_func):
13239         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
13240         * gst/gstevent.c: (gst_event_finalize):
13241         * gst/gstpad.c: (gst_pad_event_default_dispatch),
13242         (gst_pad_send_event):
13243         Use shiny new _TYPE_NAME macros.
13244
13245         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13246         Move debug statement up.
13247
13248         * gst/gstelement.c: (gst_element_set_locked_state):
13249         Add some debugging.
13250
13251 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
13252
13253         * docs/gst/gstreamer-sections.txt:
13254         * gst/gstmessage.h:
13255         * gst/gstquery.h:
13256           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13257           macros (#330906). Also, document the already existing
13258           GST_QUERY_TYPE macro.
13259
13260 2006-02-13  Wim Taymans  <wim@fluendo.com>
13261
13262         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13263         (event_probe), (GST_START_TEST):
13264         Only events up to the pipeline EOS are counted, there are
13265         some more when going to NULL currently which we don't care
13266         about for now.
13267
13268 2006-02-13  Wim Taymans  <wim@fluendo.com>
13269
13270         * gst/gstpad.c: (gst_pad_send_event):
13271         Correctly check flushing and emit probes. fixes #330125
13272
13273 2006-02-10  Andy Wingo  <wingo@pobox.com>
13274
13275         * gst/gstbus.c (gst_bus_class_init): Declare our private data
13276         structure.
13277         (gst_bus_init): Cache the location of the private data in the
13278         instance structure.
13279         (gst_bus_enable_sync_message_emission) 
13280         (gst_bus_disable_sync_message_emission): Implement new public
13281         functions.
13282         (gst_bus_post): Emit the sync-message signal if the user asked for
13283         it. Fixes #330684.
13284
13285         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13286         location of the bus-private structure.
13287         (gst_bus_enable_sync_message_emission)
13288         (gst_bus_disable_sync_message_emission): API addition
13289
13290 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
13291
13292         Patch by: Vincent Torri
13293
13294         * docs/pwg/building-boiler.xml:
13295         PWG patch from #326800
13296
13297 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
13298
13299         * configure.ac:
13300         * docs/Makefile.am:
13301         * docs/design/Makefile.am:
13302           Dist design docs.
13303
13304 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13305
13306         * configure.ac:
13307           back to CVS
13308
13309 === release 0.10.3 ===
13310
13311 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
13312
13313         * configure.ac:
13314           releasing 0.10.3, "Like a virgin"
13315
13316 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13317
13318         * configure.ac:
13319           2nd prerelease of 0.10.3
13320           Bump libtool versioning.
13321
13322 2006-02-07  Andy Wingo  <wingo@pobox.com>
13323
13324         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13325         update last_stop if we're in TIME format and the timestamp is
13326         valid.
13327
13328         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
13329         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
13330         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13331         If we get a new newsegment with a different format, adapt
13332         accordingly.
13333
13334         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13335         of 0. Not a problem, really.
13336
13337         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13338         warn if sync=true.
13339
13340 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
13341
13342         * configure.ac:
13343           Prelease of 0.10.3
13344
13345 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
13346
13347         * win32/vs7:
13348           project files updated to the default vs7 configuration
13349         * win32/common/libgstbase.def:
13350         * win32/common/libgstreamer.def:
13351           added new symbols,
13352           removed empty lines,
13353           sorted all exported symbols alphabetically
13354         * win32/common/dirent.c:
13355         * win32/common/dirent.h:
13356         * win32/common/gchar.h:
13357           use windows line end.
13358           
13359 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13360
13361         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13362           Send EOS event when stopping.
13363
13364 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13365
13366         * docs/README:
13367           Tell folks what to do if the plugin-foobar.xml file
13368           hasn't been generated for a newly-added plugin.
13369
13370 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13371
13372         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13373         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13374         (gst_collect_pads_start), (gst_collect_pads_stop),
13375         (gst_collect_pads_event): Collectpads now holds a reference
13376         to the GstPad that was added. Indeed we don't want to look
13377         at pads that might just go away with no warning...
13378
13379 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13380
13381         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13382         (gst_collect_pads_start), (gst_collect_pads_stop),
13383         (gst_collect_pads_event), (gst_collect_pads_chain):
13384         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13385         Mark Nauwelaerts's patch on bug #328491.
13386
13387 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13388
13389         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13390         (gst_utils_suite):
13391           Add some simple tests for gst_parse_bin_from_description() and
13392           gst_bin_find_unconnected_pad() (#329069).
13393
13394 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13395
13396         * tools/gst-launch.c: (event_loop), (main):
13397           Catch errors during preroll (#320084).
13398
13399 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
13400
13401         * plugins/elements/gsttypefindelement.c:
13402         (gst_type_find_element_activate):
13403           Post TYPE_NOT_FOUND error message when typefinding
13404           is unsuccessful in the activate function as well.
13405
13406 2006-02-02  Wim Taymans  <wim@fluendo.com>
13407
13408         * docs/design/part-element-sink.txt:
13409         Updated doc.
13410
13411 2006-02-02  Wim Taymans  <wim@fluendo.com>
13412
13413         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13414         (gst_base_sink_render_object),
13415         (gst_base_sink_queue_object_unlocked):
13416         Only keep track of prerollable items when we are 
13417         prerolling.
13418         Before rendering after preroll, always check if we
13419         have queued items.
13420         Added some more debugging.
13421
13422 2006-02-02  Wim Taymans  <wim@fluendo.com>
13423
13424         * gst/gstelement.c: (gst_element_continue_state),
13425         (gst_element_set_state_func), (gst_element_change_state):
13426         Fixed #326576, been running this for quite some time with
13427         no regressions at all.
13428
13429 2006-02-02  Wim Taymans  <wim@fluendo.com>
13430
13431         * common/gst.supp:
13432         Added more suppressions
13433
13434 2006-02-02  Wim Taymans  <wim@fluendo.com>
13435
13436         * docs/design/part-element-sink.txt:
13437         Updated document.
13438
13439         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13440         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13441         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13442         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13443         (gst_base_sink_do_sync), (gst_base_sink_render_object),
13444         (gst_base_sink_preroll_object),
13445         (gst_base_sink_queue_object_unlocked),
13446         (gst_base_sink_queue_object), (gst_base_sink_event),
13447         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13448         (gst_base_sink_loop), (gst_base_sink_activate_pull),
13449         (gst_base_sink_get_position), (gst_base_sink_change_state):
13450         * libs/gst/base/gstbasesink.h:
13451         Totally refactored matching the design doc.
13452         Use two segments, one to clip incomming buffers and another to
13453         perform sync.
13454         Handle queueing correctly, bypass the queue when playing.
13455         Make EOS cancelable.
13456         Handle errors correctly when operating in pull based mode.
13457
13458         * tests/check/elements/fakesink.c: (GST_START_TEST),
13459         (fakesink_suite):
13460         Added new check for sinks.
13461
13462 2006-02-02  Wim Taymans  <wim@fluendo.com>
13463
13464         * gst/gstsegment.c: (gst_segment_clip):
13465         No reason to refuse to clip when start == -1
13466
13467 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
13468
13469         * docs/README:
13470         * docs/manual/intro-basics.xml:
13471         * docs/manual/intro-preface.xml:
13472         * docs/manual/manual.xml:
13473         * docs/pwg/advanced-dparams.xml:
13474         * docs/pwg/intro-basics.xml:
13475         * docs/pwg/intro-preface.xml:
13476         * docs/pwg/pwg.xml:
13477           describe dparams (controller) for plugins
13478           unify docs a little more
13479
13480 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
13481
13482         * docs/gst/gstreamer-sections.txt:
13483         * gst/gstutils.c: (element_find_unconnected_pad),
13484         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13485         * gst/gstutils.h:
13486           Add new API: gst_parse_bin_from_description() and
13487           gst_bin_find_unconnected_pad() (#329069).
13488
13489 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
13490
13491         * docs/manual/README:
13492           uncover a nasty detail of the docs build
13493
13494 2006-01-31  Wim Taymans  <wim@fluendo.com>
13495
13496         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13497         Don't cache duration messages if we're not going to use or
13498         free them.
13499
13500 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
13501
13502         * docs/manual/advanced-dparams.xml:
13503         * docs/pwg/advanced-dparams.xml:
13504           more dparam docs
13505         * gst/gstindex.c:
13506           fix docs
13507         * libs/gst/controller/lib.c: (gst_controller_init):
13508           init just once
13509
13510 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13511
13512         * gst/gstelement.c: (gst_element_message_full):
13513           also show file/line/func if no additional debug was given
13514
13515 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
13516         
13517         * win32/vs7/grammar.vcproj:
13518           activate copy of autogenerated files for Release mode
13519
13520 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13521         
13522         * win32/common/libgstreamer.def:
13523           export gst_value_compare
13524
13525 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
13526
13527         * plugins/elements/Makefile.am:
13528         * plugins/elements/gstelements.c:
13529         * plugins/elements/gstfdsink.c: (_do_init),
13530         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
13531         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
13532         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
13533         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
13534         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
13535         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
13536         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
13537         * plugins/elements/gstfdsink.h:
13538         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
13539
13540 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
13541
13542         * docs/manual/advanced-dparams.xml:
13543           describe controller
13544         * docs/manual/advanced-position.xml:
13545         * docs/manual/basics-init.xml:
13546         * docs/manual/manual.xml:
13547         * docs/manual/titlepage.xml:
13548         * docs/pwg/pwg.xml:
13549         * docs/pwg/titlepage.xml:
13550           cleanup xml (more to come)
13551         * libs/gst/controller/gstcontroller.c:
13552           fix typo
13553
13554 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13555         
13556         * win32/vs6/grammar.dsp:
13557           add autogen of gstmarshal.c,h for Release mode
13558                 
13559 2006-01-30  Wim Taymans  <wim@fluendo.com>
13560
13561         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13562         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
13563         (gst_base_sink_handle_object), (gst_base_sink_event),
13564         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
13565         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13566         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
13567         (gst_base_sink_deactivate), (gst_base_sink_activate),
13568         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13569         (gst_base_sink_query), (gst_base_sink_change_state):
13570         Basesink cleanups, remove some old code.
13571         Handle the case where a subclass can preroll in the render
13572         method (mostly audiosinks).
13573         Handle more events.
13574         Remove some locks around variables that are now protected
13575         with the PREROLL_LOCK (clock_id, flushing, ..).
13576         Optimize position query some more, do correct locking.
13577         Remove old code to push queue in state change, this is not
13578         needed anymore since preroll blocks on all prerollable items 
13579         now.
13580         Almost implemented as described in design doc.
13581
13582 2006-01-30  Wim Taymans  <wim@fluendo.com>
13583
13584         * tests/check/gst/gstbin.c: (GST_START_TEST):
13585         Wait for refcount to settle down before checking.
13586
13587 2006-01-30  Wim Taymans  <wim@fluendo.com>
13588
13589         * docs/design/part-element-sink.txt:
13590         Pseudo code overview of desired sink behaviour regarding
13591         preroll.
13592
13593 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13594         * win32/vs6/grammar.dsp:
13595           fix some bugs in Release mode for autogenerated files
13596                 
13597 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13598         * win32/common/libgstbase.def:
13599         * win32/common/libgstreamer.def:
13600           export some new symbols: gst_base_src_set_format,
13601           gst_iterator_next, gst_structure_set_valist
13602
13603 2006-01-29  Julien MOUTTE  <julien@moutte.net>
13604
13605         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13606         Set pad functions unconditionally. Fixes #329105.
13607
13608 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13609         * win32/vs8:
13610           add vs8 project files created by Sergey Scobich
13611
13612 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
13613
13614         * gst/gstutils.c: (gst_element_unlink_pads):
13615         Don't leak pad references.
13616
13617         * tests/check/elements/fakesink.c: (GST_START_TEST):
13618         * tests/check/generic/sinks.c: (GST_START_TEST):
13619         * tests/check/generic/states.c: (GST_START_TEST):
13620         * tests/check/gst/gstbin.c: (GST_START_TEST):
13621         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13622         * tests/check/gst/gstelement.c: (GST_START_TEST):
13623         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13624         * tests/check/gst/gstiterator.c: (GST_START_TEST):
13625         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13626         Fix a bunch of leaks. Make generic/sinks.c
13627         use a bit less cpu by slowing the buffer rate
13628         between fakesrc and fakesink.
13629         
13630 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
13631         * gst/gstcaps.c:
13632         * gst/gstelement.c: (gst_element_send_event):
13633         * gst/gstevent.c:
13634         * gst/gstinfo.c:
13635         * gst/gstiterator.c:
13636         * gst/gstiterator.h:
13637         * gst/gstpad.c: (gst_pad_send_event):
13638         * gst/gststructure.c:
13639         * gst/gsturi.c:
13640         * gst/gstutils.c:
13641         * gst/gstvalue.c:
13642         * libs/gst/base/gstadapter.c:
13643           doc fixes, to link to function, just write gst_cool_function(), don't
13644           prefix with '#'
13645
13646 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13647
13648         * plugins/elements/gsttee.c: (gst_tee_do_push),
13649         (gst_tee_handle_buffer):
13650         Always prefer an actual return value from a src
13651         pad in place of NOT_LINKED. This means we return
13652         WRONG_STATE when all src pads are WRONG_STATE
13653         instead of NOT_LINKED.
13654
13655         Lock when replacing the last message to prevent
13656         racing with the get_property method.
13657
13658         Add debug output
13659
13660 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13661
13662         * tests/check/Makefile.am:
13663         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
13664         (main):
13665         Add a very simple check that should have caught the memleak I fixed
13666         last night (if not for the slice allocator hiding it)
13667
13668 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13669
13670         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13671         (gst_bin_remove_func), (gst_bin_handle_message_func),
13672         (bin_query_duration_fold), (bin_query_generic_fold):
13673         Clean up references to the clock provider when disposed or when
13674         handling a clock-lost message from it.
13675
13676         Unref sinks when performing a query via gst_iterator_fold, as the
13677         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
13678
13679         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
13680         (gst_clock_set_master):
13681         Drop our reference to the master clock, if any, when we are disposed.
13682
13683         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
13684         Chain up in dispose. 
13685
13686 2006-01-26  Wim Taymans  <wim@fluendo.com>
13687
13688         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13689         Add some debugging.
13690
13691 2006-01-26  Julien MOUTTE  <julien@moutte.net>
13692
13693         * plugins/elements/gsttee.c: (gst_tee_do_push),
13694         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
13695         handles pad being NOT_LINKED or in WRONG_STATE.
13696
13697 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13698
13699         * win32/MANIFEST:
13700           more updating
13701
13702 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13703
13704         * win32/MANIFEST:
13705           remove obsolete entry
13706
13707 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13708
13709         * docs/gst/gstreamer-sections.txt:
13710         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
13711         (gst_bin_iterate_sources), (gst_bin_send_event):
13712         * gst/gstbin.h:
13713         * gst/gstelement.c: (gst_element_send_event):
13714         * gst/gstevent.c:
13715         * gst/gstpad.c: (gst_pad_send_event):
13716           added code for downstream events, reviewed docs in gstevent.c
13717
13718 2006-01-25  Julien MOUTTE  <julien@moutte.net>
13719
13720         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13721         We only query position using the clock in the playing state.
13722         Query peer in the other cases.
13723         * win32/common/config.h: Updates.
13724
13725 2006-01-24  Wim Taymans  <wim@fluendo.com>
13726
13727         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13728         A clock entry that is scheduled for the exact time of the
13729         clock is still in time.
13730
13731         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13732         (gst_base_sink_do_sync):
13733         Add some more debug info.
13734
13735 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13736
13737         * win32/vs7:
13738           Add new vs7 project files and solution.
13739
13740 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13741
13742         * win32/vs7:
13743           all files removed as they were out-dated.
13744
13745 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13746
13747         * docs/random/release:
13748           update notes
13749         * gst/gstbin.c: (gst_bin_init):
13750         * gst/gstbus.c: (gst_bus_new):
13751         * gst/gstbus.h:
13752         * gst/gstpipeline.c: (gst_pipeline_init):
13753           use gst_bus_new(), improve logging, fix docs
13754         * win32/common/config.h:
13755           update for cvs build
13756
13757 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13758
13759         * autogen.sh:
13760           up required version of automake to 1.7
13761
13762 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
13763
13764         * win32/common/libgstreamer.def:
13765           export gst_buffer_is_metadata_writable
13766
13767 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
13768
13769         * docs/gst/gstreamer-sections.txt:
13770         * gst/gstevent.h:
13771           Add gst_event_replace() (#327001)
13772
13773 2006-01-20  Wim Taymans  <wim@fluendo.com>
13774
13775         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13776         Make it actually compile too..
13777
13778 2006-01-20  Wim Taymans  <wim@fluendo.com>
13779
13780         * gst/gstcaps.c:
13781         Clarify behaviour of _is_equal() when passing NULL parameters.
13782
13783         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13784         (gst_pad_set_caps):
13785         Cleanups. Don't unref NULL caps.
13786         When setting the same caps, protect caps of the pad with
13787         proper lock.
13788         Use full functionality of _is_equal() when comparing caps.
13789
13790 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13791
13792         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
13793         Don't loop infinitely if there are no buffers to present. Partially
13794         fixes #327197, but collectpads is just broken for reusing elements
13795         to do multiple encodes atm.
13796
13797 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
13798
13799         * tools/gst-inspect.c: (print_element_features):
13800         * tools/gst-xmlinspect.c: (main):
13801         URL_HANDLER is not a plugin feature we can search for in
13802         the registry.
13803
13804 2006-01-19  Edward Hervey  <edward@fluendo.com>
13805
13806         * gst/gstelement.c: (gst_element_pads_activate): 
13807         When activating, do src pads first, then sink pads.
13808         When de-activating, do sink pads first, then src pads.
13809
13810 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13811
13812         * docs/gst/gstreamer-sections.txt:
13813         Add gst_index_add_associationv to the docs
13814
13815 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13816
13817         * gst/gstevent.c:
13818           Fix docs typo
13819
13820         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
13821         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
13822           Do some refactoring. Doesn't actually change functionality,
13823           but makes landing the DRAIN event easier later.
13824
13825 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
13826
13827         * docs/pwg/advanced-scheduling.xml:
13828           Update from 0.9.x to 0.10 API and make example a bit
13829           clearer.
13830
13831 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13832
13833         * docs/gst/gstreamer-sections.txt:
13834         Add gst_buffer_(is|make)_metadata_writable methods.
13835
13836 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
13837
13838         * docs/design/part-sparsestreams.txt:
13839         Update sparse streams doc, hopefully for greater clarity
13840
13841 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
13842
13843         * docs/design/part-events.txt:
13844         Remove mention of FILLER events.
13845         Add DRAIN event.
13846
13847         * docs/design/part-sparsestreams.txt:
13848         Write some things about using NEWSEGMENT to keep sparse streams
13849         flowing.
13850
13851 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
13852
13853         * gst/gstbin.c: (gst_bin_dispose):
13854           Guard gst_object_unref call against a NULL object (dispose
13855           can theoretically be called multiple times).
13856           
13857 2006-01-18  Wim Taymans  <wim@fluendo.com>
13858
13859         * gst/gstbin.c: (gst_bin_element_set_state):
13860         * gst/gstclock.c: (gst_clock_id_wait):
13861         Added some more debug info.
13862
13863         * libs/gst/base/gstadapter.c:
13864         Added more docs.
13865
13866         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13867         (gst_base_sink_do_sync), (gst_base_sink_chain):
13868         Added some comments.
13869
13870 2006-01-18  Wim Taymans  <wim@fluendo.com>
13871
13872         * tests/check/Makefile.am:
13873         * tests/check/elements/fakesink.c: (chain_async_buffer),
13874         (chain_async), (chain_async_return), (GST_START_TEST),
13875         (fakesink_suite), (main):
13876         Added fakesink test that checks prerolling and clipping
13877         behaviour.
13878
13879         * tests/check/gst/gstutils.c: (GST_START_TEST):
13880         Make check run faster so that buildbots don't timeout.
13881
13882 2006-01-18  Wim Taymans  <wim@fluendo.com>
13883
13884         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13885         (gst_base_sink_do_sync):
13886         Some cleanups.
13887         When the sink finishes blocking on the preroll buffer, it can
13888         immediatly render it instead of rendering when the next buffer
13889         arrives.
13890
13891 2006-01-18  Wim Taymans  <wim@fluendo.com>
13892
13893         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
13894         (gst_base_sink_get_property), (gst_base_sink_do_sync),
13895         (gst_base_sink_chain):
13896         Small cleanups.
13897         GST_ELEMENT_CLOCK and sync are protected with LOCK.
13898         Don't store _last_stop if the buffer is dropped.
13899
13900 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
13901
13902         * plugins/elements/gsttypefindelement.c:
13903         (gst_type_find_element_class_init):
13904           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
13905           object method handler that sets the caps on the pad and we want
13906           that to happen before we emit the signal (fixes e.g. feeding a
13907           plain text file to decodebin).
13908
13909 2006-01-18  Christian Schaller  <Christian@fluendo.com>
13910
13911         * gst/gstplugin.c: Add MPL and Proprietary as license options
13912
13913 2006-01-18  Andy Wingo  <wingo@pobox.com>
13914
13915         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
13916         symbol was exported before, it appears this was just an oversight.
13917         Fixes #168703.
13918         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
13919
13920         * gst/gstindex.c (gst_index_add_associationv): Changed int in
13921         prototype to gint. OK since this prototype was not in the header.
13922
13923 2006-01-17  Andy Wingo  <wingo@pobox.com>
13924
13925         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
13926         registry while we remove plugins.
13927
13928         * tools/gst-inspect.c (print_element_info): Don't unref the
13929         factory arg, that should be the responsibility of whatever code
13930         received the ref. Fixes a double-free when called from
13931         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
13932         (main): Unref the factory if we have one.
13933         (print_element_list): No change -- relies on the
13934         plugin_feature_list_free to free the list of features.
13935
13936 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
13937
13938         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
13939         (gst_buffer_make_metadata_writable):
13940         * gst/gstbuffer.h:
13941         * libs/gst/base/gstbasetransform.c:
13942         (gst_base_transform_prepare_output_buf):
13943         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13944         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13945           Replace gst_buffer_(make|is)_metadata_writable patch now
13946           that the release is out.
13947
13948 2006-01-17  Andy Wingo  <wingo@pobox.com>
13949
13950         * gst/gstregistry.c: Reflow design comment. Update so as to speak
13951         in the present tense without reference to versions.
13952
13953         * gst/gstregistry.c (gst_registry_add_plugin)
13954         (gst_registry_remove_plugin, gst_registry_remove_feature)
13955         (gst_registry_find_feature, gst_registry_get_feature_list)
13956         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
13957         (gst_registry_lookup, gst_registry_scan_path)
13958         (_gst_registry_remove_cache_plugins)
13959         (gst_registry_get_feature_list_by_plugin): Add argument
13960         validation.
13961
13962 === release 0.10.2 ===
13963
13964 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
13965
13966         * configure.ac:
13967           releasing 0.10.2, "If man is five"
13968
13969 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13970
13971         * gst/gstbuffer.c:
13972         * gst/gstbuffer.h:
13973         * libs/gst/base/gstbasetransform.c:
13974         (gst_base_transform_prepare_output_buf):
13975         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13976         * tests/check/gst/gstbuffer.c: (gst_test_suite):
13977           Back out patch until after the release.
13978
13979 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13980
13981         * gst/gstminiobject.c:
13982           Spelling fix in docs.
13983         * ChangeLog - remove conflict indicator
13984
13985 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
13986
13987         Reviewed By: Andy Wingo
13988
13989         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
13990         (gst_buffer_make_metadata_writable):
13991         * gst/gstbuffer.h:
13992           Add gst_buffer_(is|make)_metadata_writable as analogues of
13993           gst_buffer_(is|make)_writable.
13994
13995         * libs/gst/base/gstbasetransform.c:
13996         (gst_base_transform_prepare_output_buf):
13997         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13998           Use name gst_buffer_(is|make)_metadata_writable functions.
13999
14000         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14001           Test gst_buffer_(is|make)_metadata_writable
14002         
14003           (Closes: #324162)
14004
14005 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14006
14007         * docs/manual/Makefile.am:
14008           don't do parallel make
14009         * configure.ac:
14010           AC_SUBST HOST_CPU
14011         * win32/common/config.h.in:
14012           add generations for HOST_CPU and GST_MAJORMINOR
14013         * win32/common/config.h:
14014           commit generated result
14015
14016 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
14017
14018         * docs/manual/appendix-integration.xml:
14019           Update GNOME integration section to use gst_init_get_option_group()
14020           instead of the old popt stuff (#322911). Also, GNOME applications
14021           should  now use gconf*sink and gconf*src instead of the old gconf
14022           helper lib we had.
14023
14024 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
14025
14026
14027         * docs/gst/gstreamer-docs.sgml:
14028         * docs/gst/gstreamer-sections.txt:
14029         * docs/libs/gstreamer-libs-sections.txt:
14030           add new API entries to the docs
14031         * libs/gst/controller/Makefile.am:
14032         * libs/gst/controller/gstcontroller.c:
14033         * libs/gst/controller/gstcontroller.h:
14034         * libs/gst/controller/gstcontrollerprivate.h:
14035         * libs/gst/controller/gsthelper.c:
14036         * libs/gst/controller/gstinterpolation.c:
14037           move private structs to private header
14038         * po/README:
14039           gstreamer-0.7 -> gstreamer-0.10
14040         * tests/check/libs/struct_i386.h:
14041           remove private structs
14042
14043 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14044
14045         * plugins/indexers/Makefile.am:
14046           Fixes as part of #317048
14047
14048 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14049
14050         * plugins/indexers/Makefile.am:
14051           fix #316086 - compilation when mmap is missing
14052
14053 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
14054
14055         * libs/gst/base/gstbasesink.c:
14056           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
14057           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
14058         * win32/common/config.h:
14059           added some defines GST_MAJORMINOR and HOST_CPU
14060         * win32/common/libgstbase.def:
14061         * win32/common/libgstreamer.def:
14062           added some exported functions.
14063
14064 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14065
14066         * libs/gst/controller/gstcontroller.c:
14067         (gst_controlled_property_set_interpolation_mode),
14068         (gst_controlled_property_new):
14069         * libs/gst/controller/gstcontroller.h:
14070         * libs/gst/controller/gstinterpolation.c:
14071         (interpolate_none_get_string_value_array):
14072           make G_TYPE_STRING controlable
14073
14074 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14075
14076         * tools/README:
14077         * tools/gst-feedback.1.in:
14078         * tools/gst-inspect.1.in:
14079         * tools/gst-launch.1.in:
14080         * tools/gst-md5sum.1.in:
14081         * tools/gst-typefind.1.in:
14082         * tools/gst-xmlinspect.1.in:
14083         * tools/gst-xmllaunch.1.in:
14084           cleanup man-pages, remove reference to gst-register, document env-vars
14085
14086 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
14087
14088         * gst/gstbuffer.c: (gst_buffer_span):
14089           gst_buffer_span should copy the timestamp of the first buffer
14090           if they were both originally overlapping subbuffers of the 
14091           same parent, using the same logic as the 'slow copy' case.
14092
14093 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
14094
14095         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
14096           Need to awaken ALL the pads when we pop a buffer, otherwise
14097           collectpads only works when there is 2 input streams.
14098
14099 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
14100
14101         * docs/random/ensonic/media-device-daemon.txt:
14102           more ideas (dbus)
14103         * gst/gstbuffer.c:
14104           fix doc example, add clarification
14105         * tools/gst-launch.1.in:
14106           add initial info about GST_PLUGIN_PATH, needs more work
14107
14108 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
14109
14110         * docs/manual/basics-bins.xml:
14111         * docs/manual/basics-elements.xml:
14112         * docs/manual/intro-basics.xml:
14113           Some more minor docs additions and updates.
14114
14115 2006-01-11  Wim Taymans  <wim@fluendo.com>
14116
14117         * docs/manual/basics-bins.xml:
14118         * docs/manual/basics-elements.xml:
14119         Some small fixes as pointed out by Ser-ver on IRC.
14120
14121 2006-01-10  Edward Hervey  <edward@fluendo.com>
14122
14123         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14124         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
14125         the single-segment mode.
14126
14127 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
14128
14129         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14130
14131         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
14132         (gst_base_src_perform_seek), (gst_base_src_send_event),
14133         (gst_base_src_set_property), (gst_base_src_get_property),
14134         (gst_base_src_loop), (gst_base_src_start),
14135         (gst_base_src_activate_push):
14136         * libs/gst/base/gstbasesrc.h:
14137           Name (private) union; makes Sun's Forte compiler happy (#324900).
14138
14139 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
14140
14141         * README:
14142           gst-register is gone.
14143
14144 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14145
14146         * gst/gstvalue.c: (_gst_value_initialize):
14147           make the G_TYPE_DATE instantiation work if debug is disabled
14148
14149 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
14150
14151         * gst/gstmessage.c: (gst_message_parse_tag),
14152         (gst_message_parse_error), (gst_message_parse_warning):
14153           Don't crash when return location for error/warning debug
14154           string is NULL; add fact that return locations can be
14155           NULL to docs where appropriate.
14156
14157 2006-01-05  Wim Taymans  <wim@fluendo.com>
14158
14159         * gst/gstplugin.c: (gst_plugin_load_file):
14160         Replace strdup by g_strdup.
14161
14162 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14163
14164         * docs/pwg/advanced-types.xml:
14165           fix doc borkage
14166
14167 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14168
14169         submitted by: Abel Cheung
14170
14171         * po/LINGUAS:
14172         * po/zh_TW.po:
14173           Added Chinese (traditional) translation
14174
14175 2006-01-04  Wim Taymans  <wim@fluendo.com>
14176
14177         * docs/manual/basics-pads.xml:
14178         * docs/plugins/Makefile.am:
14179         * docs/plugins/gstreamer-plugins-docs.sgml:
14180         * docs/plugins/gstreamer-plugins-sections.txt:
14181         * docs/pwg/advanced-clock.xml:
14182         * docs/pwg/advanced-scheduling.xml:
14183         * docs/pwg/advanced-types.xml:
14184         * plugins/elements/gstfdsink.c:
14185         * plugins/elements/gstfdsrc.c:
14186         * plugins/elements/gstfdsrc.h:
14187         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14188         * plugins/elements/gstidentity.h:
14189         * plugins/elements/gstqueue.h:
14190         * plugins/elements/gsttee.c:
14191         * plugins/elements/gsttee.h:
14192         * plugins/elements/gsttypefindelement.c:
14193         (gst_type_find_element_class_init):
14194         * plugins/elements/gsttypefindelement.h:
14195         Small updates to various docs.
14196         Added core plugins to docs.
14197
14198 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14199
14200         * common/gst.supp:
14201           add a suppression for liboil's uninitialized variable
14202
14203 2006-01-02  James Livingston  <jrl at ids dot org dot au>
14204
14205         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14206
14207         * gst/gstutils.h:
14208           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
14209           macro, so that gcc doesn't complain if the -Wmissing-prototypes
14210           compiler switch is being used (#325429).
14211
14212 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
14213
14214         * gst/gstbin.c: (gst_bin_query):
14215           Disable duration query caching in bins until it gets
14216           fixed (see #324807).
14217
14218 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14219
14220         * tools/gst-inspect.c: (print_element_properties_info):
14221           Handle properties of POINTER and BOXED type.
14222
14223 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14224
14225         * gst/gst.c: (init_post):
14226           Init tags stuff and some other things before loading
14227           any static plugins (there may be other static plugins
14228           than just the GStreamer ones, and they may want to
14229           register their own tags or formats or whatever, and
14230           preferably without segfaulting).
14231
14232         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
14233           Print at least a warning in the debug logs if we drop a
14234           query just because we don't know how to adjust the value
14235           in the particular format.
14236
14237 2005-12-24  David Schleef  <ds@schleef.org>
14238
14239         * tools/gstreamer-completion:
14240           Replacement for gst-complete written in sh and sed.  Only
14241           completes names of features, but that's 90% of what I want
14242           it for.  Properties are not available in registry.xml.  (Maybe
14243           they should be...)
14244
14245 === release 0.10.1 ===
14246
14247 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
14248
14249         * configure.ac:
14250           releasing 0.10.1, "Nollaig chridheil"
14251
14252 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
14253
14254         * docs/faq/cvs.xml:
14255           Add missing quote, should be make ERROR_CFLAGS="".
14256
14257 2005-12-20  Wim Taymans  <wim@fluendo.com>
14258
14259         * docs/design/part-trickmodes.txt:
14260         More documentation on trickmodes.
14261
14262 2005-12-20  Edward Hervey  <edward@fluendo.com>
14263
14264         * gst/gstcaps.c: (gst_static_caps_get_type):
14265         * gst/gstcaps.h:
14266           API addition: GST_TYPE_STATIC_CAPS
14267         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14268         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14269         * gst/gstpadtemplate.h:
14270           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14271         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14272         bindings.
14273
14274 2005-12-18  Wim Taymans  <wim@fluendo.com>
14275
14276         * libs/gst/base/gstadapter.c:
14277         * libs/gst/base/gstadapter.h:
14278         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14279         (gst_base_sink_get_position):
14280         * libs/gst/base/gstbasesink.h:
14281         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14282         (gst_base_src_default_query), (gst_base_src_default_do_seek),
14283         (gst_base_src_do_seek), (gst_base_src_perform_seek),
14284         (gst_base_src_send_event), (gst_base_src_update_length),
14285         (gst_base_src_get_range), (gst_base_src_loop),
14286         (gst_base_src_start):
14287         * libs/gst/base/gstbasesrc.h:
14288         * libs/gst/base/gstbasetransform.h:
14289         * libs/gst/base/gstcollectpads.h:
14290         * libs/gst/base/gstpushsrc.c:
14291         * libs/gst/base/gstpushsrc.h:
14292         * libs/gst/dataprotocol/dataprotocol.c:
14293         * libs/gst/dataprotocol/dataprotocol.h:
14294         * libs/gst/net/gstnetclientclock.h:
14295         * libs/gst/net/gstnettimeprovider.h:
14296         Documentation updates.
14297
14298 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
14299
14300         * docs/manual/basics-helloworld.xml:
14301           Remove superfluous closing bracket in helloworld example.
14302
14303 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
14304
14305         * tools/gst-launch.1.in:
14306           Update gst-launch man page; add a section with useful
14307           environment variables. Fixes #323882.
14308
14309 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
14310
14311         * gst/gst.c:
14312         * gst/gst_private.h:
14313           change some char* into char[]
14314
14315 2005-12-16  Wim Taymans  <wim@fluendo.com>
14316
14317         * gst/gstregistryxml.c: (load_feature):
14318         Cleanups.
14319         Don't use g_object_unref on GstObjects so that we avoid
14320         leaks on unsafe glibs.
14321
14322 2005-12-16  Wim Taymans  <wim@fluendo.com>
14323
14324         * gst/gstbin.c: (gst_bin_recalc_state):
14325         Small doc updates.
14326
14327 2005-12-16  Wim Taymans  <wim@fluendo.com>
14328
14329         * common/check.mak:
14330         Added make forever target for check.
14331
14332 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14333
14334         * gst/gst.c: (init_post):
14335           make the registry cache file HOST_CPU-dependent
14336
14337 2005-12-16  Andy Wingo  <wingo@pobox.com>
14338
14339         * plugins/elements/gstbufferstore.c
14340         (gst_buffer_store_cleared_func): Pay attention to g_list_append
14341         return value.
14342
14343         * tests/check/gst/gstobject.c
14344         (test_fake_object_name_threaded_unique): Pay attention to
14345         g_list_sort return value.
14346
14347 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
14348
14349         * tools/gst-feedback-m.m:
14350           Update for 0.9/0.10 (fixes #323870).
14351
14352 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
14353
14354         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14355           Fix lcopy for mini objects, the mini object needs to be ref'ed.
14356           
14357         * tests/check/gst/gstminiobject.c: (my_foo_init),
14358         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14359         (test_value_collection), (gst_mini_object_suite):
14360           Add test to ensure refcounts end up as expected when passing
14361           GstMiniObjects through g_object_get() and g_object_set().
14362
14363 2005-12-14  Julien MOUTTE  <julien@moutte.net>
14364
14365         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14366         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14367         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14368         of collectpads. This version removes a lot of races without
14369         touching API/ABI. Yay !
14370
14371 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
14372
14373         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14374           Don't allow activation of a srcpad in pull_range if it has no
14375           getrange function.
14376           Change some debug statements to be a little clearer
14377
14378         * plugins/elements/gsttypefindelement.c:
14379         (gst_type_find_handle_src_query):
14380           Check that we have a peer before executing queries thereupon.
14381
14382         * tests/examples/metadata/read-metadata.c: (message_loop):
14383           Use gst_bus_pop instead of gst_bus_poll when we just want it to
14384           immediately return us any available message with 0 timeout.
14385
14386 2005-12-12  Michael Smith  <msmith@fluendo.com>
14387
14388         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14389           Don't unref factories after calling them.
14390         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14391         * plugins/elements/gsttypefindelement.c:
14392         (gst_type_find_element_chain):
14393           Free lists of factories after using them. Fixing typefinding memory
14394           leaks.
14395
14396 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14397
14398         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14399         (gst_plugin_feature_load):
14400           more meaningful debug output
14401         * configure.ac:
14402         * tests/Makefile.am:
14403         * tests/old/examples/Makefile.am:
14404           make make distcheck happy again
14405
14406 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14407
14408         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14409           Catch the special case where we are operating chain-based,
14410           but the downstream peer pad has no chain function. Emit a
14411           custom error message in this case instead of letting the
14412           core generate one implying that this is some sort of core
14413           bug. It's not, it just means that whatever got plugged
14414           into the pipeline downstream when we announced the type
14415           can only operate pull-based, while our source can only
14416           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14417           Error string has not been marked for translation yet, as
14418           it probably needs some more work first.
14419
14420         (gst_type_find_element_get_best_possibility):
14421           Add helper function to find the best of all available
14422           found possibilities that qualify given the min. threshold.
14423
14424         (gst_type_find_element_handle_event):
14425           Fix the case where we get an EOS while still in TYPEFIND
14426           mode (we want to chose the best of all possible types,
14427           not just the first type that happens to be in our unsorted
14428           list of possible types).
14429
14430         (gst_type_find_element_chain):
14431           Make sure we return GST_FLOW_ERROR when we errored out
14432           in stop_typefinding(); also, don't just find the best of
14433           all found type entries and then use the last examined
14434           type entry, but actually use the best entry.
14435
14436 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14437
14438         * tests/examples/typefind/typefind.c: (type_found):
14439         * tests/examples/xml/runxml.c: (xml_loaded):
14440           More gcc4 fixes and a mem leak fix.
14441
14442 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14443
14444         * tests/examples/xml/createxml.c: (object_saved):
14445           gcc 4 fixes
14446
14447 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14448
14449         * tests/Makefile.am:
14450           enable the examples even more
14451
14452 2005-12-12  Andy Wingo  <wingo@pobox.com>
14453
14454         * libs/gst/net/gstnettimeprovider.c
14455         (gst_net_time_provider_class_init, gst_net_time_provider_init)
14456         (gst_net_time_provider_set_property)
14457         (gst_net_time_provider_get_property):
14458         API addition: Export "active" as a GObject property.
14459         (gst_net_time_provider_thread): Only respond to time queries if
14460         the time provider is active.
14461
14462         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14463         NetTimeProvider, preserving binary compat.
14464
14465 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14466
14467         * tests/examples/controller/audio-example.c: (main):
14468         * tests/examples/launch/Makefile.am:
14469           convert comments again
14470
14471 2005-12-12  Wim Taymans  <wim@fluendo.com>
14472
14473         * libs/gst/base/gstpushsrc.c:
14474         Fix typo.
14475
14476 2005-12-12  Wim Taymans  <wim@fluendo.com>
14477
14478         * docs/libs/gstreamer-libs-sections.txt:
14479         Added new symbol to docs.
14480
14481         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14482         (gst_base_src_init), (gst_base_src_set_format),
14483         (gst_base_src_default_query), (gst_base_src_query),
14484         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14485         (gst_base_src_perform_seek), (gst_base_src_send_event),
14486         (gst_base_src_default_event), (gst_base_src_event_handler),
14487         (gst_base_src_set_property), (gst_base_src_get_property),
14488         (gst_base_src_wait), (gst_base_src_do_sync),
14489         (gst_base_src_update_length), (gst_base_src_get_range),
14490         (gst_base_src_check_get_range), (gst_base_src_loop),
14491         (gst_base_src_default_negotiate), (gst_base_src_start),
14492         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14493         (gst_base_src_change_state):
14494         * libs/gst/base/gstbasesrc.h:
14495         Implement seeking to other formats than _BYTES.
14496         Implement more seeking methods correctly.
14497         Doc updates.
14498         Added query vmethod.
14499         Added do_seek vmethod to make life easier for subclasses
14500         when seeking.
14501         API addition: gst_base_src_set_format()
14502
14503 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14504
14505         * tests/examples/Makefile.am:
14506           added that too
14507
14508 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14509
14510         * configure.ac:
14511         * docs/random/ensonic/media-device-daemon.txt:
14512         * tests/examples/controller/.cvsignore:
14513         * tests/examples/controller/Makefile.am:
14514         * tests/examples/controller/audio-example.c: (main):
14515         * tests/examples/helloworld/.cvsignore:
14516         * tests/examples/helloworld/Makefile.am:
14517         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14518         * tests/examples/launch/.cvsignore:
14519         * tests/examples/launch/Makefile.am:
14520         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14521         * tests/examples/metadata/.cvsignore:
14522         * tests/examples/metadata/Makefile.am:
14523         * tests/examples/metadata/read-metadata.c: (message_loop),
14524         (make_pipeline), (print_tag), (main):
14525         * tests/examples/queue/.cvsignore:
14526         * tests/examples/queue/Makefile.am:
14527         * tests/examples/queue/queue.c: (event_loop), (main):
14528         * tests/examples/typefind/.cvsignore:
14529         * tests/examples/typefind/Makefile.am:
14530         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
14531         (main):
14532         * tests/examples/xml/.cvsignore:
14533         * tests/examples/xml/Makefile.am:
14534         * tests/examples/xml/createxml.c: (object_saved), (main):
14535         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
14536         * tests/old/examples/Makefile.am:
14537         * tests/old/examples/TODO:
14538         * tests/old/examples/controller/.cvsignore:
14539         * tests/old/examples/controller/Makefile.am:
14540         * tests/old/examples/controller/audio-example.c:
14541         * tests/old/examples/helloworld/.cvsignore:
14542         * tests/old/examples/helloworld/Makefile.am:
14543         * tests/old/examples/helloworld/helloworld.c:
14544         * tests/old/examples/launch/.cvsignore:
14545         * tests/old/examples/launch/Makefile.am:
14546         * tests/old/examples/launch/mp3parselaunch.c:
14547         * tests/old/examples/launch/mp3play:
14548         * tests/old/examples/manual/Makefile.am:
14549         * tests/old/examples/metadata/Makefile.am:
14550         * tests/old/examples/metadata/read-metadata.c:
14551         * tests/old/examples/queue/.cvsignore:
14552         * tests/old/examples/queue/Makefile.am:
14553         * tests/old/examples/queue/queue.c:
14554         * tests/old/examples/typefind/.cvsignore:
14555         * tests/old/examples/typefind/Makefile.am:
14556         * tests/old/examples/typefind/typefind.c:
14557         * tests/old/examples/xml/.cvsignore:
14558         * tests/old/examples/xml/Makefile.am:
14559         * tests/old/examples/xml/createxml.c:
14560         * tests/old/examples/xml/runxml.c:
14561           applied some simple fixing to some examples
14562           re-enabled the working examples
14563
14564 2005-12-12  Wim Taymans  <wim@fluendo.com>
14565
14566         * gst/gstsegment.c: (gst_segment_init),
14567         (gst_segment_set_last_stop), (gst_segment_set_seek),
14568         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14569         (gst_segment_to_running_time):
14570         Added more documentation.
14571         Make sure the last_pos value is updated properly.
14572         Make sure to_stream_time and to_running_time don't
14573         operate on wrong values.
14574
14575         * tests/check/gst/gstsegment.c: (GST_START_TEST):
14576         Update check.
14577
14578 2005-12-12  Michael Smith  <msmith@fluendo.com>
14579
14580         * plugins/elements/gsttypefindelement.c: (free_entry),
14581         (gst_type_find_element_chain):
14582           Now that we're not leaking factories, make sure we keep references
14583           to them while we need them.
14584
14585 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14586
14587         * tests/check/gst/struct_i386.h:
14588           ifdef out the XML structs
14589
14590 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14591
14592         * gst/gstvalue.c: (gst_value_transform_double_fraction):
14593           floor is not needed, F is always positive; this obviates the
14594           need for adding -lm when building without libxml
14595
14596 2005-12-12  Wim Taymans  <wim@fluendo.com>
14597
14598         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14599         Take current playback rate into account when reporting
14600         the position.
14601
14602 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14603
14604         * docs/manual/mime-world.fig:
14605           Let's try this again, this time with a file that is
14606           actually in XFig format.
14607
14608 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14609
14610         * docs/manual/mime-world.fig:
14611           Add audioconvert element to diagram so that it
14612           matches the text and the code (fixes #319526).
14613
14614 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14615
14616         * docs/pwg/building-chainfn.xml:
14617         * docs/pwg/building-pads.xml:
14618         * docs/pwg/building-state.xml:
14619         * docs/pwg/other-source.xml:
14620           Update state change stuff for 0.10 (fixes #322969).
14621
14622 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14623
14624         * docs/manual/advanced-dataaccess.xml:
14625         * docs/manual/appendix-checklist.xml:
14626         * docs/manual/appendix-programs.xml:
14627         * docs/manual/basics-pads.xml:
14628         * docs/manual/highlevel-components.xml:
14629         * docs/manual/manual.xml:
14630           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
14631           add converters in front of pipelines; remove curly
14632           brackets for threads stuff, they no longer exist; use
14633           GST_TYPE_FRACTION for framerates; update some pieces of
14634           code to 0.10, but there's plenty more to do.
14635
14636         * docs/manual/appendix-porting.xml:
14637           Expand on asynchroneous state changes; s/0.9/0.10/;
14638           mention disappearance of gst_init_get_popt_table()
14639           (fixes #322916).
14640
14641 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14642
14643         * docs/faq/using.xml:
14644           Spider no longer exists, and neither does gst-launch-ext.
14645           Update examples to use decodebin and playbin and put
14646           converters in front of sinks (fixes #323726).
14647
14648 2005-12-09  Michael Smith  <msmith@fluendo.com>
14649
14650         * plugins/elements/gsttypefindelement.c: (find_peek),
14651         (gst_type_find_element_chain):
14652           Fix leaking element factories in typefinding.
14653           Fix problem where we forgot about a probable type on non-seekable
14654           files, and thus later mis-typefound it.
14655
14656 2005-12-09  Michael Smith  <msmith@fluendo.com>
14657
14658         * common/m4/gst-makecontext.m4:
14659         * common/m4/gst-mcsc.m4:
14660         * configure.ac:
14661         * win32/common/config.h:
14662         * win32/common/config.h.in:
14663           Remove makecontext stuff; not used in 0.10 and causes problems on
14664           HPUX according to bug #322441
14665
14666 2005-12-07  Wim Taymans  <wim@fluendo.com>
14667
14668         * tests/check/Makefile.am:
14669         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
14670         (main):
14671         * tests/check/libs/struct_i386.h:
14672         Added ABI check for libs
14673
14674 2005-12-07  Wim Taymans  <wim@fluendo.com>
14675
14676         * tests/check/Makefile.am:
14677         And add the struct_i386.h to dist.
14678
14679 2005-12-07  Wim Taymans  <wim@fluendo.com>
14680
14681         * tests/check/Makefile.am:
14682         * tests/check/gst/.cvsignore:
14683         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
14684         (main):
14685         * tests/check/gst/struct_i386.h:
14686         Added check for ABI compatibility.
14687
14688 2005-12-07  Wim Taymans  <wim@fluendo.com>
14689
14690         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14691         (gst_fake_src_get_times), (gst_fake_src_create):
14692         Fix broken sync option, fixes #323259
14693
14694 2005-12-07  Wim Taymans  <wim@fluendo.com>
14695
14696         * gst/gstbuffer.c:
14697         Small docs update.
14698
14699         * gst/gstcaps.c: (gst_caps_is_equal):
14700         Don't assert on NULL <--> X. Fixes #323260
14701
14702         * gst/gstminiobject.c: (gst_mini_object_replace):
14703         If we're doing atomic operations, we might just as well use
14704         the proper way to get an atomic pointer.
14705
14706         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14707         Clean up debugging.
14708
14709 2005-12-07  Michael Smith  <msmith@fluendo.com>
14710
14711         * gst/parse/grammar.y:
14712           Remove handling of { } for threads.
14713
14714 2005-12-06  David Schleef  <ds@schleef.org>
14715
14716         * libs/gst/base/gstbasetransform.c: speling fix.
14717
14718 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14719
14720         * docs/libs/tmpl/gstdataprotocol.sgml:
14721         * docs/random/omega/testing/gstobject.c:
14722         * gst/gst.c:
14723         * gst/gstclock.c:
14724         * gst/gstelement.c:
14725         * gst/gstelementfactory.c:
14726         * gst/gsterror.c:
14727         * gst/gstevent.c:
14728         * gst/gstghostpad.c:
14729         * gst/gstinfo.c:
14730         * gst/gstpadtemplate.c:
14731         * gst/gstregistryxml.c:
14732         * gst/gsttaglist.c:
14733         * gst/gsttagsetter.c:
14734         * gst/gsttypefind.c:
14735         * gst/gstvalue.c:
14736         * libs/gst/base/gstbasesrc.c:
14737         * libs/gst/net/gstnetclientclock.c:
14738         * libs/gst/net/gstnettimeprovider.c:
14739         * plugins/elements/gstfakesrc.c:
14740         * plugins/elements/gstfdsrc.c:
14741         * plugins/elements/gstfilesrc.c:
14742         * plugins/elements/gstidentity.c:
14743         * plugins/elements/gstqueue.c:
14744         * plugins/elements/gsttypefindelement.c:
14745         * plugins/indexers/gstfileindex.c:
14746         * plugins/indexers/gstmemindex.c:
14747         * tests/check/gst/gsttag.c:
14748         * tests/old/examples/cutter/cutter.c:
14749         * tests/old/examples/mixer/mixer.c:
14750         * tests/old/examples/xml/runxml.c: (main):
14751         * tests/old/testsuite/caps/normalisation.c:
14752         * tests/old/testsuite/debug/global.c:
14753         * tests/old/testsuite/parse/parse1.c:
14754         * tools/gst-xmlinspect.c:
14755         * win32/common/dirent.c:
14756           expand tabs
14757
14758 === release 0.10.0 ===
14759
14760 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14761
14762         * configure.ac:
14763           releasing 0.10.0, "Maroilles"
14764
14765 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14766
14767         submitted by: Funda Wang <fundawang@linux.net.cn>
14768
14769         * po/LINGUAS:
14770         * po/zh_CN.po:
14771           added Chinese (Traditional) translation
14772
14773 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14774
14775         * docs/gst/gstreamer-sections.txt:
14776         * docs/libs/tmpl/gstdataprotocol.sgml:
14777         * docs/random/thomasvs/TODO:
14778         * gst/gstutils.c:
14779         * gst/gstutils.h:
14780           fix docs
14781
14782 2005-12-05  Andy Wingo  <wingo@pobox.com>
14783
14784         patch by: Wim Taymans <wim@fluendo.com>
14785
14786         * libs/gst/base/gstbasetransform.c
14787         (gst_base_transform_prepare_output_buf)
14788         (gst_base_transform_buffer_alloc):
14789         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
14790         alloc_buffer_and_set_caps.
14791
14792         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
14793         set_caps on the source pad.
14794         (gst_pad_alloc_buffer_and_set_caps): New function, does what
14795         alloc_buffer used to do. Fixes #322874.
14796
14797         * docs/gst/gstreamer-sections.txt: 
14798         * docs/design/part-negotiation.txt: 
14799         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
14800         changes.
14801
14802 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14803
14804         patch by: Sebastien Moutte
14805
14806         * win32/MANIFEST:
14807         * win32/common/config.h.in:
14808         * win32/vs6/libgstcontroller.dsp:
14809           win32 build fixes
14810
14811 2005-12-05  Wim Taymans  <wim@fluendo.com>
14812
14813         * gst/gstcaps.c: (gst_caps_is_equal):
14814         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14815         (gst_fake_src_create):
14816         Back out previous code changes, leave doc updates, file bugs 
14817         instead. 
14818
14819 2005-12-05  Wim Taymans  <wim@fluendo.com>
14820
14821         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14822         (gst_fake_src_get_times), (gst_fake_src_create):
14823         * plugins/elements/gstfakesrc.h:
14824         Fix broken sync code.
14825
14826 2005-12-05  Wim Taymans  <wim@fluendo.com>
14827
14828         * gst/gstcaps.c: (gst_caps_is_equal):
14829         Comparing NULL against !NULL yields different caps, not a
14830         failure.
14831
14832 2005-12-05  Wim Taymans  <wim@fluendo.com>
14833
14834         * gst/gstpipeline.c:
14835         Fix small typo in docs.
14836
14837 2005-12-05  Andy Wingo  <wingo@pobox.com>
14838
14839         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
14840
14841         * gst/gst.c (init_post): remove hard-coded 0.9 location for
14842         registries/plugins with a MAJORMINOR one.
14843         (plugin_desc): Rename library from gstcoreleements to
14844         staticelements. Fixes #323222.
14845
14846 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
14847
14848         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
14849           Change debug category to 'collectpads' from 'collect_pads'
14850           (fixes #323250).
14851
14852 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14853
14854         patch by: Sebastien Moutte
14855
14856         * libs/gst/controller/gstinterpolation.c:
14857           use convert function for uint64/double
14858         * win32/vs6/libgstcontroller.dsp:
14859           link to GLib
14860
14861 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
14862
14863         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
14864         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
14865         * gst/gstutils.h:
14866         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14867           add tests that seem to show that the guint64/gdouble conversions
14868           are correct.
14869
14870 2005-12-02  Wim Taymans  <wim@fluendo.com>
14871
14872         * gst/gstregistry.c: (gst_registry_add_path):
14873         * gst/gstregistry.h:
14874         * gst/gstregistryxml.c:
14875         Fix docs again.
14876
14877 2005-12-02  Wim Taymans  <wim@fluendo.com>
14878
14879         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14880         (gst_util_uint64_scale_int):
14881         Small cleanup.
14882
14883         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14884         Add debug log line.
14885
14886         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
14887         Add FIXME.
14888
14889 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14890
14891         * win32/MANIFEST:
14892         * win32/common/config.h:
14893         * win32/vs6/gstreamer.dsw:
14894         * win32/vs6/libgstcoreelements.dsp:
14895         * win32/vs6/libgstelements.dsp:
14896           renamed core elements plugin
14897
14898 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14899
14900         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
14901         (get_candidates):
14902           do piece-wise major/minor comparison so 0.9 < 0.10
14903           also allow .exe extensions for tools
14904
14905 2005-12-02  Michael Smith  <msmith@fluendo.com>
14906
14907         * gst/gst.c:
14908           Escape a % to make gtkdoc happier; bug 322958.
14909
14910 === release 0.9.7 ===
14911
14912 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14913
14914         * configure.ac:
14915           releasing 0.9.7, "My Dog Has No Nose"
14916
14917 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14918
14919         * common/gst-xmlinspect.py:
14920         * configure.ac:
14921         * docs/libs/tmpl/gstdataprotocol.sgml:
14922         * docs/random/release:
14923         * po/af.po:
14924         * po/az.po:
14925         * po/bg.po:
14926         * po/ca.po:
14927         * po/cs.po:
14928         * po/de.po:
14929         * po/en_GB.po:
14930         * po/fr.po:
14931         * po/it.po:
14932         * po/nb.po:
14933         * po/nl.po:
14934         * po/ru.po:
14935         * po/sq.po:
14936         * po/sr.po:
14937         * po/sv.po:
14938         * po/tr.po:
14939         * po/uk.po:
14940         * po/vi.po:
14941         * win32/common/config.h:
14942         * win32/common/config.h.in:
14943         * win32/vs6/gst_inspect.dsp:
14944         * win32/vs6/gst_launch.dsp:
14945         * win32/vs6/libgstbase.dsp:
14946         * win32/vs6/libgstelements.dsp:
14947         * win32/vs6/libgstreamer.dsp:
14948         * win32/vs7/GStreamer.vcproj:
14949         * win32/vs7/gst-inspect.vcproj:
14950         * win32/vs7/gst-launch.vcproj:
14951         * win32/vs7/libgstbase.vcproj:
14952           bump GST_MAJORMINOR to 0.10
14953           reset libtool version
14954
14955 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14956
14957         * po/LINGUAS:
14958         * po/bg.po:
14959           Added Bulgarian translation by (Alexander Shopov)
14960
14961 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14962
14963         * tests/check/gst/gstplugin.c:
14964           fix test
14965
14966 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14967
14968         * common/gst-xmlinspect.py:
14969         * common/gtk-doc-plugins.mak:
14970         * configure.ac:
14971         * docs/Makefile.am:
14972         * docs/gst/Makefile.am:
14973         * docs/gst/gstreamer-docs.sgml:
14974         * docs/gst/gstreamer-sections.txt:
14975         * docs/gst/gstreamer.types:
14976         * docs/gst/gstreamer.types.in:
14977         * docs/plugins/Makefile.am:
14978         * docs/plugins/gstreamer-plugins-docs.sgml:
14979         * docs/plugins/gstreamer-plugins-sections.txt:
14980         * docs/plugins/gstreamer-plugins.types:
14981         * docs/plugins/inspect.stamp:
14982         * docs/plugins/inspect/plugin-coreelements.xml:
14983         * docs/plugins/inspect/plugin-coreindexers.xml:
14984         * docs/plugins/scanobj-build.stamp:
14985         * gstreamer.spec.in:
14986         * plugins/elements/Makefile.am:
14987         * plugins/elements/gstelements.c:
14988         * plugins/elements/gstfakesink.c:
14989         * plugins/elements/gstfakesrc.c:
14990         * plugins/elements/gstfilesink.c:
14991         * plugins/elements/gstfilesrc.c:
14992         * plugins/elements/gstqueue.c:
14993         * plugins/indexers/Makefile.am:
14994         * plugins/indexers/gstindexers.c:
14995           document core plugins in a separate document just like all the
14996           others
14997           rename these plugins to something starting with core
14998
14999 2005-12-01  Andy Wingo  <wingo@pobox.com>
15000
15001         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
15002         padding here before, but it missed the commit.
15003
15004 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15005
15006         * libs/gst/controller/gstinterpolation.c:
15007           whitespace prices have crashed, we should feel free to use some now
15008           use gst_guint64_to_gdouble
15009
15010 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15011
15012         * libs/gst/controller/gstcontroller.c:
15013         * libs/gst/controller/gsthelper.c:
15014         * libs/gst/controller/gstinterpolation.c:
15015         * libs/gst/controller/lib.c:
15016           wrap config.h include
15017
15018 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15019
15020         * docs/gst/gstreamer-sections.txt:
15021           update docs
15022
15023 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15024
15025         * plugins/elements/gstelements.c:
15026         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
15027         (gst_fd_sink__class_init), (gst_fd_sink__init),
15028         (gst_fd_sink__chain), (gst_fd_sink__set_property),
15029         (gst_fd_sink__get_property):
15030         * plugins/elements/gstfdsink.h:
15031         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15032         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
15033         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
15034         (gst_fd_src_unlock), (gst_fd_src_set_property),
15035         (gst_fd_src_get_property), (gst_fd_src_create),
15036         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15037         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
15038         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
15039         (gst_fd_src_uri_handler_init):
15040         * plugins/elements/gstfdsrc.h:
15041         * plugins/elements/gstqueue.c: (gst_queue_get_type):
15042           more anal cleanup
15043
15044 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15045
15046         * docs/gst/Makefile.am:
15047         * docs/gst/gstreamer.types.in:
15048         * gst/Makefile.am:
15049           fix the docs build
15050
15051 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15052
15053         * configure.ac:
15054         * gst/Makefile.am:
15055         * gst/gst.c:
15056         * gst/gstplugin.h:
15057         * gst/gstregistry.h:
15058         * tests/benchmarks/complexity.c:
15059         * tests/benchmarks/mass-elements.c:
15060         * tests/check/Makefile.am:
15061         * tools/Makefile.am:
15062         * tools/gst-inspect.c:
15063         * tools/gst-xmlinspect.c:
15064           various fixes to make
15065           --disable-nls --disable-registry --disable-loadsave
15066           --disable-parse --disable-gst-debug
15067           work and get the core .so down to 360444 bytes after stripping
15068
15069 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15070
15071         * Makefile.am:
15072         * configure.ac:
15073           descend into tests
15074         * docs/random/thomasvs/TODO:
15075         * tests/Makefile.am:
15076         * tests/README:
15077           add a README
15078
15079 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15080
15081         * win32/GStreamer.vcproj:
15082         * win32/MANIFEST:
15083         * win32/Makefile:
15084         * win32/Makefile.inspect:
15085         * win32/Makefile.launch:
15086         * win32/Makefile.register:
15087         * win32/README.txt:
15088         * win32/gst-inspect.vcproj:
15089         * win32/gst-launch.vcproj:
15090         * win32/gst-register.vcproj:
15091         * win32/gstelements.vcproj:
15092         * win32/gstgetbits.def:
15093         * win32/gstgetbits.vcproj:
15094         * win32/gstreamer-dbg.def:
15095         * win32/gstreamer.def:
15096         * win32/libgstbase.def:
15097         * win32/libgstbase.vcproj:
15098         * win32/link_oldruntime.c:
15099         * win32/mman.c:
15100         * win32/mman.h:
15101         * win32/mman.inl:
15102         * win32/msvc71.sln:
15103           move even more stuff, win32/ is nice and clean now
15104
15105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15106
15107         * libs/gst/control/.cvsignore:
15108         * win32/MANIFEST:
15109         * win32/config.h:
15110         * win32/dirent.c:
15111         * win32/dirent.h:
15112         * win32/gstbytestream.def:
15113         * win32/gstbytestream.vcproj:
15114         * win32/gstconfig.h:
15115         * win32/gstenumtypes.c:
15116         * win32/gstenumtypes.h:
15117         * win32/gstoptimalscheduler.vcproj:
15118         * win32/gstversion.h:
15119         * win32/gtchar.h:
15120         * win32/testsuite/bins.vcproj:
15121         * win32/testsuite/bytestream.vcproj:
15122         * win32/testsuite/caps.vcproj:
15123         * win32/testsuite/cleanup.vcproj:
15124         * win32/testsuite/clock.vcproj:
15125         * win32/testsuite/debug.vcproj:
15126         * win32/testsuite/dlopen.vcproj:
15127         * win32/testsuite/dynparams.vcproj:
15128         * win32/testsuite/elements.vcproj:
15129         * win32/testsuite/ghostpads.vcproj:
15130         * win32/testsuite/indexers.vcproj:
15131         * win32/testsuite/negotiation.vcproj:
15132         * win32/testsuite/parse.vcproj:
15133         * win32/testsuite/plugin.vcproj:
15134         * win32/testsuite/refcounting.vcproj:
15135         * win32/testsuite/schedulers.vcproj:
15136         * win32/testsuite/states.vcproj:
15137         * win32/testsuite/tags.vcproj:
15138         * win32/testsuite/threads.vcproj:
15139           remove old win32 stuff that isn't maintained and should be
15140           reorganized
15141
15142 2005-11-30  Andy Wingo  <wingo@pobox.com>
15143
15144         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
15145         loading the gst.interfaces python module bork.
15146
15147         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
15148         available since GLib 2.2. Fixes #318031.
15149
15150 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15151
15152         * Makefile.am:
15153         * check/.cvsignore:
15154         * check/Makefile.am:
15155         * check/elements/.cvsignore:
15156         * check/elements/fakesrc.c:
15157         * check/elements/fdsrc.c:
15158         * check/elements/identity.c:
15159         * check/generic/.cvsignore:
15160         * check/generic/states.c:
15161         * check/gst-libs/.cvsignore:
15162         * check/gst-libs/controller.c:
15163         * check/gst-libs/gdp.c:
15164         * check/gst/.cvsignore:
15165         * check/gst/capslist.h:
15166         * check/gst/gst.c:
15167         * check/gst/gstbin.c:
15168         * check/gst/gstbuffer.c:
15169         * check/gst/gstbus.c:
15170         * check/gst/gstcaps.c:
15171         * check/gst/gstelement.c:
15172         * check/gst/gstevent.c:
15173         * check/gst/gstghostpad.c:
15174         * check/gst/gstiterator.c:
15175         * check/gst/gstmessage.c:
15176         * check/gst/gstminiobject.c:
15177         * check/gst/gstobject.c:
15178         * check/gst/gstpad.c:
15179         * check/gst/gstpipeline.c:
15180         * check/gst/gstplugin.c:
15181         * check/gst/gstsegment.c:
15182         * check/gst/gststructure.c:
15183         * check/gst/gstsystemclock.c:
15184         * check/gst/gsttag.c:
15185         * check/gst/gstutils.c:
15186         * check/gst/gstvalue.c:
15187         * check/net/.cvsignore:
15188         * check/net/gstnetclientclock.c:
15189         * check/net/gstnettimeprovider.c:
15190         * check/pipelines/.cvsignore:
15191         * check/pipelines/cleanup.c:
15192         * check/pipelines/simple_launch_lines.c:
15193         * check/pipelines/stress.c:
15194         * check/states/.cvsignore:
15195         * check/states/sinks.c:
15196         * configure.ac:
15197         * examples/Makefile.am:
15198         * examples/appreader/.cvsignore:
15199         * examples/appreader/Makefile.am:
15200         * examples/appreader/appreader.c:
15201         * examples/controller/.cvsignore:
15202         * examples/controller/Makefile.am:
15203         * examples/controller/audio-example.c:
15204         * examples/cutter/.cvsignore:
15205         * examples/cutter/Makefile.am:
15206         * examples/cutter/cutter.c:
15207         * examples/cutter/cutter.h:
15208         * examples/events/Makefile.am:
15209         * examples/events/seek.c:
15210         * examples/helloworld/.cvsignore:
15211         * examples/helloworld/Makefile.am:
15212         * examples/helloworld/helloworld.c:
15213         * examples/helloworld2/.cvsignore:
15214         * examples/helloworld2/Makefile.am:
15215         * examples/helloworld2/helloworld2.c:
15216         * examples/launch/.cvsignore:
15217         * examples/launch/Makefile.am:
15218         * examples/launch/mp3parselaunch.c:
15219         * examples/launch/mp3play:
15220         * examples/manual/.cvsignore:
15221         * examples/manual/Makefile.am:
15222         * examples/manual/extract.pl:
15223         * examples/metadata/Makefile.am:
15224         * examples/metadata/read-metadata.c:
15225         * examples/mixer/.cvsignore:
15226         * examples/mixer/Makefile.am:
15227         * examples/mixer/mixer.c:
15228         * examples/mixer/mixer.h:
15229         * examples/pingpong/.cvsignore:
15230         * examples/pingpong/Makefile.am:
15231         * examples/pingpong/pingpong.c:
15232         * examples/plugins/.cvsignore:
15233         * examples/plugins/Makefile.am:
15234         * examples/plugins/example.c:
15235         * examples/plugins/example.h:
15236         * examples/pwg/.cvsignore:
15237         * examples/pwg/Makefile.am:
15238         * examples/pwg/extract.pl:
15239         * examples/queue/.cvsignore:
15240         * examples/queue/Makefile.am:
15241         * examples/queue/queue.c:
15242         * examples/queue2/.cvsignore:
15243         * examples/queue2/Makefile.am:
15244         * examples/queue2/queue2.c:
15245         * examples/queue3/.cvsignore:
15246         * examples/queue3/Makefile.am:
15247         * examples/queue3/queue3.c:
15248         * examples/queue4/.cvsignore:
15249         * examples/queue4/Makefile.am:
15250         * examples/queue4/queue4.c:
15251         * examples/retag/.cvsignore:
15252         * examples/retag/Makefile.am:
15253         * examples/retag/retag.c:
15254         * examples/retag/transcode.c:
15255         * examples/thread/.cvsignore:
15256         * examples/thread/Makefile.am:
15257         * examples/thread/thread.c:
15258         * examples/typefind/.cvsignore:
15259         * examples/typefind/Makefile.am:
15260         * examples/typefind/typefind.c:
15261         * examples/xml/.cvsignore:
15262         * examples/xml/Makefile.am:
15263         * examples/xml/createxml.c:
15264         * examples/xml/runxml.c:
15265         * tests/Makefile.am:
15266         * tests/check/Makefile.am:
15267         * testsuite/.cvsignore:
15268         * testsuite/Makefile.am:
15269         * testsuite/Rules:
15270         * testsuite/caps/.cvsignore:
15271         * testsuite/caps/Makefile.am:
15272         * testsuite/caps/app_fixate.c:
15273         * testsuite/caps/audioscale.c:
15274         * testsuite/caps/caps.c:
15275         * testsuite/caps/caps.h:
15276         * testsuite/caps/caps_strings:
15277         * testsuite/caps/compatibility.c:
15278         * testsuite/caps/deserialize.c:
15279         * testsuite/caps/enumcaps.c:
15280         * testsuite/caps/eratosthenes.c:
15281         * testsuite/caps/filtercaps.c:
15282         * testsuite/caps/fixed.c:
15283         * testsuite/caps/fraction-convert.c:
15284         * testsuite/caps/fraction-multiply-and-zero.c:
15285         * testsuite/caps/intersect2.c:
15286         * testsuite/caps/intersection.c:
15287         * testsuite/caps/normalisation.c:
15288         * testsuite/caps/random.c:
15289         * testsuite/caps/renegotiate.c:
15290         * testsuite/caps/sets.c:
15291         * testsuite/caps/simplify.c:
15292         * testsuite/caps/string-conversions.c:
15293         * testsuite/caps/structure.c:
15294         * testsuite/caps/subtract.c:
15295         * testsuite/caps/union.c:
15296         * testsuite/debug/.cvsignore:
15297         * testsuite/debug/Makefile.am:
15298         * testsuite/debug/category.c:
15299         * testsuite/debug/commandline.c:
15300         * testsuite/debug/global.c:
15301         * testsuite/debug/output.c:
15302         * testsuite/debug/printf_extension.c:
15303         * testsuite/dlopen/.cvsignore:
15304         * testsuite/dlopen/Makefile.am:
15305         * testsuite/dlopen/dlopen_gst.c:
15306         * testsuite/dlopen/loadgst.c:
15307         * testsuite/elements/.cvsignore:
15308         * testsuite/elements/Makefile.am:
15309         * testsuite/elements/gst-inspect-check.in:
15310         * testsuite/elements/struct_i386.h:
15311         * testsuite/elements/struct_size.c:
15312         * testsuite/indexers/.cvsignore:
15313         * testsuite/indexers/Makefile.am:
15314         * testsuite/indexers/cache1.c:
15315         * testsuite/indexers/indexdump.c:
15316         * testsuite/parse/.cvsignore:
15317         * testsuite/parse/Makefile.am:
15318         * testsuite/parse/parse1.c:
15319         * testsuite/parse/parse2.c:
15320         * testsuite/plugin/.cvsignore:
15321         * testsuite/plugin/Makefile.am:
15322         * testsuite/plugin/README:
15323         * testsuite/plugin/dynamic.c:
15324         * testsuite/plugin/linked.c:
15325         * testsuite/plugin/loading.c:
15326         * testsuite/plugin/registry.c:
15327         * testsuite/plugin/static.c:
15328         * testsuite/plugin/static2.c:
15329         * testsuite/plugin/testplugin.c:
15330         * testsuite/plugin/testplugin2.c:
15331         * testsuite/plugin/testplugin2_s.c:
15332         * testsuite/plugin/testplugin_s.c:
15333         * testsuite/refcounting/.cvsignore:
15334         * testsuite/refcounting/Makefile.am:
15335         * testsuite/refcounting/bin.c:
15336         * testsuite/refcounting/element.c:
15337         * testsuite/refcounting/element_pad.c:
15338         * testsuite/refcounting/mainloop.c:
15339         * testsuite/refcounting/mem.c:
15340         * testsuite/refcounting/mem.h:
15341         * testsuite/refcounting/object.c:
15342         * testsuite/refcounting/pad.c:
15343         * testsuite/refcounting/sched.c:
15344         * testsuite/refcounting/thread.c:
15345         * testsuite/states/.cvsignore:
15346         * testsuite/states/Makefile.am:
15347         * testsuite/states/bin.c:
15348         * testsuite/states/locked.c:
15349         * testsuite/states/parent.c:
15350         * testsuite/threads/.cvsignore:
15351         * testsuite/threads/159566.c:
15352         * testsuite/threads/159852.c:
15353         * testsuite/threads/Makefile.am:
15354         * testsuite/threads/queue.c:
15355         * testsuite/threads/signals.c:
15356         * testsuite/threads/staticrec.c:
15357         * testsuite/threads/thread.c:
15358         * testsuite/threads/threadb.c:
15359         * testsuite/threads/threadc.c:
15360         * testsuite/threads/threadd.c:
15361         * testsuite/threads/threade.c:
15362         * testsuite/threads/threadf.c:
15363         * testsuite/threads/threadg.c:
15364         * testsuite/threads/threadh.c:
15365         * testsuite/threads/threadi.c:
15366           move all of these under tests
15367
15368 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15369
15370         * configure.ac:
15371         * tests/Makefile.am:
15372           fix distcheck
15373
15374 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15375
15376         * docs/gst/gstreamer-sections.txt:
15377         * tests/sched/.cvsignore:
15378         * tests/sched/Makefile.am:
15379         * tests/sched/cases/(fs-fs).xml:
15380         * tests/sched/cases/(fs-i-fs).xml:
15381         * tests/sched/cases/(fs-i-i-fs).xml:
15382         * tests/sched/cases/(fs-i-q[i-fs]).xml:
15383         * tests/sched/dynamic-pipeline.c:
15384         * tests/sched/interrupt1.c:
15385         * tests/sched/interrupt2.c:
15386         * tests/sched/interrupt3.c:
15387         * tests/sched/runtestcases:
15388         * tests/sched/runxml.c:
15389         * tests/sched/sched-stress.c:
15390         * tests/sched/sort.c:
15391         * tests/sched/testcases:
15392         * tests/sched/testcases1.tc:
15393         * tests/seeking/.cvsignore:
15394         * tests/seeking/Makefile.am:
15395         * tests/seeking/seeking1.c:
15396         * tests/threadstate/.cvsignore:
15397         * tests/threadstate/Makefile.am:
15398         * tests/threadstate/test1.c:
15399         * tests/threadstate/test2.c:
15400         * tests/threadstate/threadstate1.c:
15401         * tests/threadstate/threadstate2.c:
15402         * tests/threadstate/threadstate3.c:
15403         * tests/threadstate/threadstate4.c:
15404         * tests/threadstate/threadstate5.c:
15405           remove obsolete tests
15406         * configure.ac:
15407         * tests/bench-complexity.scm:
15408         * tests/bench-mass_elements.scm:
15409         * tests/complexity.c:
15410         * tests/complexity.gnuplot:
15411         * tests/instantiate/.cvsignore:
15412         * tests/instantiate/Makefile.am:
15413         * tests/instantiate/caps.c:
15414         * tests/mass_elements.c:
15415         * tests/network-clock-utils.scm:
15416         * tests/network-clock.scm:
15417         * tests/plot-data:
15418         First pass at cleaning up tests/ dir before moving the rest
15419         Combined with CVS surgery
15420
15421 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15422
15423         * po/POTFILES.in:
15424           queue has moved, update
15425
15426 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15427
15428         * docs/gst/gstreamer-sections.txt:
15429           remove double entries from the docs
15430         * gst/gst_private.h:
15431         * gst/gstinfo.c: (_gst_debug_init):
15432           remove the THREAD debug category
15433         * gst/Makefile.am:
15434         * gst/gstqueue.c:
15435         * gst/gstqueue.h:
15436         * docs/gst/gstreamer.types:
15437         * plugins/elements/gstqueue.c: (gst_queue_get_type),
15438         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15439           completely move queue and fix up debugging categories
15440
15441 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15442
15443         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15444           make initialization portable, using LL is not
15445
15446 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15447
15448         * win32/common/gstconfig.h:
15449           add large padding
15450
15451 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15452
15453         * win32/common/libgstreamer.def:
15454           rename symbols; sort base section
15455
15456 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15457
15458         * gst/gstclock.c: (do_linear_regression):
15459           remove crack non-portable handrolled DEBUG macro
15460
15461 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15462
15463         * docs/random/release:
15464           update notes
15465         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15466         (gst_object_flags_get_type), (register_gst_bin_flags),
15467         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15468         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15469         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15470         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15471         (gst_caps_flags_get_type), (register_gst_clock_return),
15472         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15473         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15474         (gst_clock_flags_get_type), (register_gst_state),
15475         (gst_state_get_type), (register_gst_state_change_return),
15476         (gst_state_change_return_get_type), (register_gst_state_change),
15477         (gst_state_change_get_type), (register_gst_element_flags),
15478         (gst_element_flags_get_type), (register_gst_core_error),
15479         (gst_core_error_get_type), (register_gst_library_error),
15480         (gst_library_error_get_type), (register_gst_resource_error),
15481         (gst_resource_error_get_type), (register_gst_stream_error),
15482         (gst_stream_error_get_type), (register_gst_event_type_flags),
15483         (gst_event_type_flags_get_type), (register_gst_event_type),
15484         (gst_event_type_get_type), (register_gst_seek_type),
15485         (gst_seek_type_get_type), (register_gst_seek_flags),
15486         (gst_seek_flags_get_type), (register_gst_format),
15487         (gst_format_get_type), (register_gst_index_certainty),
15488         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15489         (gst_index_entry_type_get_type),
15490         (register_gst_index_lookup_method),
15491         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15492         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15493         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15494         (gst_index_flags_get_type), (register_gst_debug_level),
15495         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15496         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15497         (gst_iterator_result_get_type), (register_gst_iterator_item),
15498         (gst_iterator_item_get_type), (register_gst_message_type),
15499         (gst_message_type_get_type), (register_gst_mini_object_flags),
15500         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15501         (gst_pad_link_return_get_type), (register_gst_flow_return),
15502         (gst_flow_return_get_type), (register_gst_activate_mode),
15503         (gst_activate_mode_get_type), (register_gst_pad_direction),
15504         (gst_pad_direction_get_type), (register_gst_pad_flags),
15505         (gst_pad_flags_get_type), (register_gst_pad_presence),
15506         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15507         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15508         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15509         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15510         (gst_plugin_flags_get_type), (register_gst_rank),
15511         (gst_rank_get_type), (register_gst_query_type),
15512         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15513         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15514         (gst_tag_flag_get_type), (register_gst_task_state),
15515         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15516         (gst_alloc_trace_flags_get_type),
15517         (register_gst_type_find_probability),
15518         (gst_type_find_probability_get_type), (register_gst_uri_type),
15519         (gst_uri_type_get_type), (register_gst_parse_error),
15520         (gst_parse_error_get_type):
15521         * win32/common/gstenumtypes.h:
15522         * win32/common/gstversion.h:
15523           update visual studio generated files
15524
15525 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15526
15527         * win32/vs6/libgstbase.dsp:
15528         * win32/vs6/libgstelements.dsp:
15529           update project files for new locations
15530
15531 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15532
15533         * Makefile.am:
15534           remove some files
15535         * README:
15536           reinstate and update
15537         * DEVEL:
15538         * REQUIREMENTS:
15539           removed
15540         * LICENSE:
15541         * docs/random/LICENSE:
15542           moved to random
15543
15544 2005-11-30  Edward Hervey  <edward@fluendo.com>
15545
15546         * gst/gsttypefind.c: (gst_type_find_register):
15547         * gst/gsttypefind.h:
15548         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
15549         (gst_type_find_factory_dispose):
15550         * gst/gsttypefindfactory.h:
15551         Fix memory leak in GstTypeFindFactory.
15552
15553 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15554
15555         * gst/gst.c:
15556         * plugins/elements/Makefile.am:
15557         * plugins/elements/gstelements.c:
15558         * plugins/elements/gstqueue.c:
15559           move queue from core to the elements plugin
15560
15561 2005-11-29  Andy Wingo  <wingo@pobox.com>
15562
15563         * libs/gst/base/gstbasetransform.h: 
15564         * libs/gst/base/gstbasesrc.h: 
15565         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
15566
15567         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
15568         of pointers by which to pad very extensible base classes (like the
15569         ones in libs/gst/base).
15570
15571 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15572
15573         * docs/gst/gstreamer-docs.sgml:
15574         * docs/gst/gstreamer-sections.txt:
15575         * docs/libs/gstreamer-libs-docs.sgml:
15576         * docs/libs/gstreamer-libs-sections.txt:
15577           moving documentation from core to lib
15578
15579 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15580
15581         * check/Makefile.am:
15582         * configure.ac:
15583         * docs/gst/Makefile.am:
15584         * gst/Makefile.am:
15585         * gst/base/.cvsignore:
15586         * gst/base/Makefile.am:
15587         * gst/base/README:
15588         * gst/base/gstadapter.c:
15589         * gst/base/gstadapter.h:
15590         * gst/base/gstbasesink.c:
15591         * gst/base/gstbasesink.h:
15592         * gst/base/gstbasesrc.c:
15593         * gst/base/gstbasesrc.h:
15594         * gst/base/gstbasetransform.c:
15595         * gst/base/gstbasetransform.h:
15596         * gst/base/gstcollectpads.c:
15597         * gst/base/gstcollectpads.h:
15598         * gst/base/gstpushsrc.c:
15599         * gst/base/gstpushsrc.h:
15600         * gst/base/gsttypefindhelper.c:
15601         * gst/base/gsttypefindhelper.h:
15602         * gst/check/Makefile.am:
15603         * gst/check/gstcheck.c:
15604         * gst/check/gstcheck.h:
15605         * gst/net/Makefile.am:
15606         * gst/net/gstnet.h:
15607         * gst/net/gstnetclientclock.c:
15608         * gst/net/gstnetclientclock.h:
15609         * gst/net/gstnettimepacket.c:
15610         * gst/net/gstnettimepacket.h:
15611         * gst/net/gstnettimeprovider.c:
15612         * gst/net/gstnettimeprovider.h:
15613         * libs/gst/Makefile.am:
15614         * libs/gst/base/Makefile.am:
15615         * libs/gst/base/gstbasetransform.c:
15616         * libs/gst/check/Makefile.am:
15617         * plugins/elements/Makefile.am:
15618         * po/POTFILES.in:
15619           CVS surgery + support to move base, check, and net out of gst
15620           and into libs/gst
15621
15622 2005-11-29  Andy Wingo  <wingo@pobox.com>
15623
15624         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
15625
15626         * gst/gststructure.h (struct _GstStructure): Only one pointer of
15627         padding.
15628
15629         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
15630
15631         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
15632
15633         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
15634
15635         * gst/gstobject.h: (struct _GstObject): Only one pointer of
15636         padding; reduces object size by about 30%. We don't expect
15637         anything else to go into gstobject.
15638
15639         * gst/gstminiobject.h (struct _GstMiniObject)
15640         (struct _GstMiniObjectClass): Only one pointer of padding; the
15641         payload is only a pointer and two ints anyway. For the class there
15642         are only two methods as well.
15643         
15644         * gst/gstelement.h (struct _GstElementClass): Removed
15645         the state_changed signal callback, it is not used.
15646
15647 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15648
15649         * docs/gst/gstreamer.types:
15650           fix includes, though they are a little dinky
15651
15652 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15653
15654         * check/Makefile.am:
15655           look in the right place for elements, a lot more chance of
15656           success
15657         * gst/Makefile.am:
15658           remove indexers and elements subdirs
15659         * plugins/Makefile.am:
15660           make indexers conditional
15661
15662 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15663
15664         * Makefile.am:
15665         * configure.ac:
15666         * plugins/elements/Makefile.am:
15667         * plugins/elements/gstcapsfilter.c:
15668         * plugins/elements/gstfilesink.c:
15669         * plugins/elements/gstfilesrc.c:
15670         * plugins/elements/gstidentity.c:
15671         * plugins/indexers/Makefile.am:
15672           do CVS surgery and related build fixery to move elements
15673           and indexers in a new gstreamer/plugins directory, out of the
15674           gst/ directory
15675
15676 2005-11-29  Andy Wingo  <wingo@pobox.com>
15677
15678         * check/Makefile.am:
15679         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15680         * pkgconfig/gstreamer-net.pc.in:
15681         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
15682         #322257.
15683
15684 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15685
15686         * tools/Makefile.am:
15687         * tools/gst-complete.1.in:
15688         * tools/gst-complete.c:
15689         * tools/gst-compprep.1.in:
15690         * tools/gst-compprep.c:
15691           removing -compprep and -complete
15692
15693 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15694
15695         * gst/gstevent.c: (gst_event_new_new_segment),
15696         (gst_event_parse_new_segment):
15697         * gst/gstevent.h:
15698           fix #320529 - clean up new_segment API and structure.
15699           Let's hope everyone was using the methods, and not the structure.
15700
15701 2005-11-29  Edward Hervey  <edward@fluendo.com>
15702
15703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15704         (gst_base_sink_event), (gst_base_sink_do_sync),
15705         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15706         Properly handle non GST_FORMAT_TIME segment
15707         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15708         Properly handle non GST_FORMAT_TIME segment
15709         * gst/gstsegment.c:
15710         This function is valid if the accumulator is 0 and the format
15711         is different from the requested format.
15712         
15713 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15714
15715         * docs/gst/gstreamer-sections.txt:
15716         Add gst_query_new_seeking and gst_query_parse_seeking to the
15717         docs.
15718
15719 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15720
15721         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15722           Treat a pad alloc with new caps the same as if we were not
15723           negotiated, in order to allow a changing upstream output
15724           to produce a new format of data.
15725
15726 2005-11-29  Edward Hervey  <edward@fluendo.com>
15727
15728         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15729         (gst_base_transform_event), (gst_base_transform_eventfunc):
15730         The event virtual method is now properly implemented, with a default
15731         handler
15732         Sub classes should call the parent_class event method. They should
15733         return FALSE if they had a problem handling the given event, or don't
15734         want GstBaseTransform to send that even downstream
15735         * gst/elements/gstidentity.c: (gst_identity_class_init),
15736         (gst_identity_init), (gst_identity_event),
15737         (gst_identity_transform_ip), (gst_identity_set_property),
15738         (gst_identity_get_property):
15739         * gst/elements/gstidentity.h:
15740         Added the single-segment boolean property.
15741         If set to TRUE, it will output a single segment of data, starting from
15742         0, will eat up all incoming newsegment, and modify the timestamp of the
15743         buffers accordingly
15744
15745 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
15746
15747         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
15748           Don't ref NULL target pad (#322751). Improve docs.
15749
15750 2005-11-29  Michael Smith  <msmith@fluendo.com>
15751
15752         * gst/gstregistryxml.c: (load_plugin):
15753           Don't crash if we failed to load a feature from a plugin. 
15754
15755 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15756
15757         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15758         (GST_START_TEST):
15759           use more check API and less GLib API
15760
15761 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15762
15763         * Makefile.am:
15764           don't run checks if we don't have check
15765         * common/check.mak:
15766           remove the registry when running make torture
15767         * docs/gst/gstreamer-sections.txt:
15768           remove second multiply
15769         * gst/gstqueue.c: (gst_queue_loop):
15770           fix a compile warning when disabling debug
15771
15772 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15773
15774         * gst/gstinfo.h:
15775         Hey! Let's print the pad name if the pointer != NULL instead
15776         of when it == NULL :-)
15777
15778 2005-11-28  Wim Taymans  <wim@fluendo.com>
15779
15780         * check/gst/gstutils.c: (GST_START_TEST):
15781         Updated check, add some scaling accuracy checking code.
15782
15783         * gst/gstutils.c: (gst_util_div128_64),
15784         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
15785         (gst_util_uint64_scale_int):
15786         Fix 6 times faster division code. Optimize for common 
15787         1/1 and less common X/1 cases.
15788
15789 2005-11-28  Wim Taymans  <wim@fluendo.com>
15790
15791         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15792         More checks.
15793
15794         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
15795         (do_linear_regression), (gst_clock_add_observation):
15796         Cleanups.
15797         Release lock when the clock cannot be slaved.
15798         Catch the case where the regression returned an invalid denominator.
15799
15800         * gst/gstutils.c: (gst_util_div128_64_iterate),
15801         (gst_util_div128_64), (gst_util_uint64_scale_int64),
15802         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
15803         Add protentially more performant non-iterative 128/64 divide function
15804         that unfortunatly does not work yet.
15805         Shortcut the trivial 0/X = 0 case.
15806         Remove the warnings on overflow.
15807
15808 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15809
15810         * gst/gstplugin.c: (gst_plugin_register_func):
15811           everything causing a plugin not to load should be at least a WARNING
15812
15813 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
15814
15815         * docs/random/ensonic/dparams.txt:
15816           some TODOs for the next dev cycle
15817         * libs/gst/controller/gstcontroller.c:
15818         (gst_controlled_property_set_interpolation_mode),
15819         (gst_controlled_property_new):
15820         * libs/gst/controller/gstcontroller.h:
15821           use base type to assign acccessor functions
15822
15823 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15824
15825         * check/Makefile.am:
15826         Oops, that should have been top_srcdir
15827
15828 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
15829
15830         * check/Makefile.am:
15831         * check/elements/fdsrc.c: (GST_START_TEST):
15832         Use a cmdline define to specify the location of a file to use for
15833         testing, to avoid breaking distcheck.
15834
15835 2005-11-28  Andy Wingo  <wingo@pobox.com>
15836
15837         * gst/gstpad.c (fixate_value): Use array functions for arrays.
15838
15839 2005-11-28  Edward Hervey  <edward@fluendo.com>
15840
15841         * tools/gst-launch.c: (main):
15842         Clarify the output strings, makes it easier to translate.
15843         Fixes #322626
15844
15845 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15846
15847         * gst/Makefile.am:
15848           don't try and build net if we don't even have <sys/socket.h>
15849
15850 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
15851
15852         * check/Makefile.am:
15853         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
15854         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
15855           Add tests for fdsrc seekability
15856
15857         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15858         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
15859         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
15860         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
15861         * gst/elements/gstfdsrc.h:
15862           fdsrc should not be a 'live' source.
15863           Implement seeking on seekable fd's.
15864
15865         * gst/gstquery.c: (gst_query_new_seeking),
15866         (gst_query_parse_seeking):
15867         * gst/gstquery.h:
15868           Implement SEEKING query functions: 
15869             *_new_seeking and *_parse_seeking
15870
15871 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
15872
15873         * gst/gstelement.c: (gst_element_dispose):
15874           don't loop forever
15875
15876         * gst/gstiterator.c:
15877         * gst/gststructure.c:
15878           doc fixes
15879
15880         * libs/gst/controller/gstcontroller.c:
15881         (gst_controlled_property_set_interpolation_mode):
15882         * libs/gst/controller/gstcontroller.h:
15883         * libs/gst/controller/gstinterpolation.c:
15884         (interpolate_none_get_enum_value_array):
15885           support controlling enums
15886
15887 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
15888
15889         * gst/gstvalue.c:
15890           Improve documentation for gst_value_union().
15891
15892         * gst/gstvalue.h:
15893           Change return value for union, intersect and subtract functions
15894           from gint to gboolean.
15895
15896 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
15897
15898         * gst/gstvalue.c: (gst_value_serialize_any_list),
15899         (gst_value_transform_any_list_string),
15900         (gst_value_deserialize_list), (gst_value_deserialize_array),
15901         (gst_value_set_int_range), (gst_value_deserialize_int_range),
15902         (gst_value_set_double_range), (gst_value_deserialize_double_range),
15903         (gst_value_set_fraction_range_full),
15904         (gst_value_deserialize_fraction_range),
15905         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
15906         (gst_value_deserialize_boolean),
15907         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
15908         (gst_value_serialize_float), (gst_value_deserialize_float),
15909         (gst_string_wrap), (gst_value_deserialize_string),
15910         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
15911         (gst_value_union_int_range_int_range),
15912         (gst_value_intersect_int_range_int_range),
15913         (gst_value_intersect_double_range_double_range),
15914         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
15915         (gst_value_subtract_int_range_int_range),
15916         (gst_value_subtract_double_double_range),
15917         (gst_value_subtract_double_range_double_range),
15918         (gst_value_deserialize_fraction):
15919         * gst/gstvalue.h:
15920           Use gint, gdouble and gchar in our API instead of int, double and
15921           char (and make usage in gstvalue.c more consistent).
15922
15923 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15924
15925         * check/Makefile.am:
15926         * libs/gst/controller/Makefile.am:
15927         * libs/gst/dataprotocol/Makefile.am:
15928           fix up Makefile.am and remove GST_ENABLE_NEW
15929
15930 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15931
15932         * configure.ac:
15933         * gst/Makefile.am:
15934         * gst/base/Makefile.am:
15935         * gst/check/Makefile.am:
15936         * gst/elements/Makefile.am:
15937         * gst/net/Makefile.am:
15938           update LDFLAGS use some more
15939
15940 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15941
15942         * common/m4/gst-doc.m4:
15943           Fixes #312589
15944
15945 2005-11-26  Edward Hervey  <edward@fluendo.com>
15946
15947         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15948         This shouldn't issue a g_warning since it returns NULL if it
15949         couldn't find the plugin, and all functions using this behave
15950         properly on a NULL return. Switching to a GST_WARNING.
15951
15952 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
15953
15954         * gst/gstbin.c: (gst_bin_handle_message_func):
15955         Don't leak clock messages.
15956
15957 2005-11-25  Wim Taymans  <wim@fluendo.com>
15958
15959         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15960         (gst_util_uint64_scale_int):
15961         Optimisations, remove unneeded vars.
15962
15963 2005-11-25  Wim Taymans  <wim@fluendo.com>
15964
15965         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15966         Added more checks for the high precision uint64 cases.
15967
15968         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15969         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
15970         Implement high precision (guint64 * guint64) / guint64.
15971
15972 2005-11-24  Wim Taymans  <wim@fluendo.com>
15973
15974         * gst/base/gstbasesrc.c: (gst_base_src_query):
15975         Fix wrong percentage query.
15976
15977         * gst/gstutils.c: (gst_util_uint64_scale),
15978         (gst_util_uint64_scale_int):
15979         Add some more common cases that can be handled 
15980         efficiently to _scale.
15981
15982 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15983
15984         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
15985         (gst_mini_object_suite):
15986           don't use check calls from threads; check probably isn't
15987           threadsafe and using a lock to make it threadsafe would
15988           defeat the purpose of this check
15989         * gst/check/gstcheck.c:
15990         * gst/check/gstcheck.h:
15991           use GST_DEBUG some more
15992
15993 2005-11-24  Wim Taymans  <wim@fluendo.com>
15994
15995         * gst/gstutils.c: (gst_util_uint64_scale),
15996         (gst_util_uint64_scale_int):
15997         Chain trivial case to _scale_int.
15998
15999 2005-11-24  Wim Taymans  <wim@fluendo.com>
16000
16001         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16002         Added test for scaling.
16003
16004         * gst/gstclock.h:
16005         Small doc fix.
16006
16007         * gst/gstutils.c: (gst_util_uint64_scale_int):
16008         Implemented high precision scaling code.
16009
16010 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
16011
16012         * gst/gstinfo.h:
16013           do not crash on pad==NULL
16014
16015 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16016
16017         Patch by: Stefan Kost
16018
16019         * common/gtk-doc.mak:
16020         * docs/gst/Makefile.am:
16021         * docs/libs/Makefile.am:
16022           Fix distcheck issues for the libraries docs build
16023           Closes #319599.
16024
16025 2005-11-24  Michael Smith <msmith@fluendo.com>
16026
16027         * docs/manual/basics-helloworld.xml:
16028           Fix bug #315027: memory leak in example code in docs.
16029
16030 2005-11-24  Michael Smith <msmith@fluendo.com>
16031
16032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16033           Unlock the PREROLL_LOCK in a failure case.
16034
16035 2005-11-24  Wim Taymans  <wim@fluendo.com>
16036
16037         * docs/gst/gstreamer-sections.txt:
16038         * gst/base/gstadapter.h:
16039         * gst/base/gstbasesink.h:
16040         * gst/base/gstbasesrc.h:
16041         * gst/base/gstbasetransform.h:
16042         * gst/base/gstpushsrc.h:
16043         * gst/elements/gstfakesink.h:
16044         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16045         * gst/elements/gstfakesrc.h:
16046         * gst/elements/gstfilesink.h:
16047         * gst/elements/gstfilesrc.h:
16048         * gst/gst.c:
16049         * gst/gstbin.c:
16050         * gst/gstbuffer.c: (_gst_buffer_copy):
16051         * gst/gstbus.h:
16052         * gst/gstcaps.c:
16053         * gst/gstchildproxy.c:
16054         * gst/gstclock.c:
16055         * gst/gstelement.c:
16056         * gst/gstelementfactory.c:
16057         * gst/gstelementfactory.h:
16058         * gst/gstevent.c:
16059         * gst/gstghostpad.h:
16060         * gst/gstindex.h:
16061         * gst/gstinterface.h:
16062         * gst/gstminiobject.c:
16063         * gst/gstminiobject.h:
16064         * gst/gstpad.c:
16065         * gst/gstpad.h:
16066         * gst/gstpadtemplate.h:
16067         * gst/gstpipeline.h:
16068         * gst/gstpluginfeature.h:
16069         * gst/gstquery.h:
16070         * gst/gstqueue.h:
16071         * gst/gsttaglist.c:
16072         * gst/gsttaglist.h:
16073         * gst/gsttagsetter.c:
16074         * gst/gsttagsetter.h:
16075         * gst/gsttrace.c:
16076         * gst/gsttrace.h:
16077         * gst/gsttypefind.h:
16078         * gst/gsturi.h:
16079         * gst/gstvalue.c:
16080         * gst/net/gstnetclientclock.c:
16081         * gst/net/gstnetclientclock.h:
16082         * gst/net/gstnettimepacket.c:
16083         * gst/net/gstnettimeprovider.c:
16084         * gst/net/gstnettimeprovider.h:
16085         Doc fixes.
16086
16087 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16088
16089         * configure.ac: back to HEAD
16090
16091 === release 0.9.6 ===
16092
16093 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
16094
16095         * configure.ac:
16096           releasing 0.9.6, "Always On Time"
16097
16098 2005-11-23  Wim Taymans  <wim@fluendo.com>
16099
16100         * docs/gst/gstreamer-sections.txt:
16101         * gst/glib-compat.c:
16102         * gst/gsttagsetter.c:
16103         * gst/gstvalue.c:
16104         * gst/net/gstnetclientclock.c:
16105         * gst/net/gstnettimepacket.h:
16106         Doc updates.
16107
16108 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16109
16110         * docs/faq/using.xml:
16111         * docs/libs/tmpl/gstcontrol.sgml:
16112         * docs/manual/advanced-dparams.xml:
16113         * docs/manual/appendix-checklist.xml:
16114         * docs/manual/basics-elements.xml:
16115         * docs/pwg/other-source.xml:
16116         * docs/random/moving-plugins:
16117         * gst/gstpad.c:
16118         * tools/gst-launch.1.in:
16119           remove mentions of sinesrc
16120
16121 2005-11-23  Michael Smith <msmith@fluendo.com>
16122
16123         * docs/gst/gstreamer-sections.txt:
16124           Update for new API and API changes.
16125         * gst/gstobject.h:
16126           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
16127         * gst/gstvalue.c:
16128           Documentation typo fix.
16129         * gst/net/gstnettimepacket.c:
16130           Documentation fixes for arguments.
16131
16132 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
16133
16134         * gst/gststructure.c: (gst_structure_get_fraction),
16135         (gst_structure_parse_value),
16136         (gst_structure_fixate_field_nearest_fraction):
16137         * gst/gststructure.h:
16138         * gst/gstutils.c: (gst_util_uint64_scale_int):
16139         * gst/gstutils.h:
16140         * scripts/update-funcnames:
16141         API Changes. 
16142         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
16143         Make gst_structure_fixate_field_nearest_fraction take a numerator
16144         and denominator argument instead of a GValue
16145         add gst_structure_get_fraction helper function.
16146
16147 2005-11-23  Wim Taymans  <wim@fluendo.com>
16148
16149         * docs/design/part-TODO.txt:
16150         Update TODO.
16151
16152         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
16153         * gst/net/gstnetclientclock.h:
16154         Use parent fields for timeout and window_size.
16155
16156 2005-11-23  Andy Wingo  <wingo@pobox.com>
16157
16158         * check/net/gstnetclientclock.c (test_functioning): Adjust to
16159         rate_num/rate_denom change.
16160
16161         * gst/net/gstnetclientclock.c
16162         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
16163         OBJECT_LOCK. Don't call add_observation with the lock.
16164
16165         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
16166         fraction.
16167         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
16168         rate fraction.
16169         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
16170         deal with rate as a fraction whose numerator and denominator are
16171         GstClockTime values.
16172         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
16173         master; the other fields are protected by the SLAVE_LOCK.
16174         (do_linear_regression): Note that this must be called with the
16175         SLAVE_LOCK.
16176         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
16177         OBJECT_LOCK. Call set_calibration instead of touching the
16178         variables directly.
16179         (gst_clock_set_property, gst_clock_get_property): Protect
16180         master/slave parameters with the SLAVE_LOCK.
16181
16182         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
16183         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
16184         note that all of the instance variables that add_observation and
16185         the set_master functions use are protected by that lock and not
16186         the OBJECT_LOCK.
16187         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
16188
16189         * gst/gstclock.c (gst_clock_add_observation): No longer requires
16190         the caller to take the object lock.
16191
16192 2005-11-23  Wim Taymans  <wim@fluendo.com>
16193
16194         * gst/gsterror.c: (_gst_core_errors_init):
16195         * gst/gsterror.h:
16196         Add error for clock stuff.
16197
16198         * gst/gstpipeline.c: (gst_pipeline_change_state),
16199         (gst_pipeline_set_clock):
16200         Post clock error when clock cannot be used in a pipeline.
16201
16202 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
16203
16204         * docs/gst/gstreamer-sections.txt:
16205           make two symbols from gstinfo private for the docs
16206         * gst/base/gstcollectpads.h:
16207         * gst/gstutils.c:
16208           fix doc typos, update docs
16209
16210 2005-11-22  Wim Taymans  <wim@fluendo.com>
16211
16212         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16213         (gst_base_sink_wait), (gst_base_sink_do_sync),
16214         (gst_base_sink_handle_event):
16215         * gst/base/gstbasesink.h:
16216         No need to store the clock, the parent element class already
16217         has it.
16218
16219         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
16220         Updates for clock_set returning a gboolean
16221
16222         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
16223         (gst_clock_id_wait_async), (gst_clock_class_init),
16224         (gst_clock_init), (gst_clock_finalize),
16225         (gst_clock_get_internal_time), (gst_clock_get_time),
16226         (gst_clock_slave_callback), (gst_clock_set_master),
16227         (gst_clock_get_master), (do_linear_regression),
16228         (gst_clock_add_observation), (gst_clock_set_property),
16229         (gst_clock_get_property):
16230         * gst/gstclock.h:
16231         Implement master/slave. When setting a clock as a slave, a
16232         periodic timeout is scheduled to sample master and slave times.
16233         Then the slave clock is recalibrated to match offset and rate
16234         of the master clock.
16235         Update logging a bit.
16236         Add flag so that a clock can state that is cannot be slaved to
16237         another clock.
16238
16239         * gst/gstelement.c: (gst_element_set_clock):
16240         * gst/gstelement.h:
16241         The set clock returns a gboolean for when an element cannot
16242         deal with the selected clock in the pipeline. 
16243
16244         * gst/gstpipeline.c: (gst_pipeline_change_state),
16245         (gst_pipeline_set_clock):
16246         * gst/gstpipeline.h:
16247         Handle the case where the selected clock cannot be set on
16248         the pipeline.
16249
16250         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16251         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16252         (gst_net_client_clock_set_property),
16253         (gst_net_client_clock_get_property),
16254         (gst_net_client_clock_observe_times):
16255         * gst/net/gstnetclientclock.h:
16256         Use regression code in GstClock parent, remove duplicated
16257         functionality.
16258
16259 2005-11-22  Michael Smith <msmith@fluendo.com>
16260
16261         * gst/gstutils.c: (gst_util_clock_time_scale):
16262         * gst/gstutils.h:
16263         * docs/gst/gstreamer-sections.txt:
16264           Rename method to have extra underscore.
16265
16266 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16267
16268         * gst/elements/Makefile.am:
16269         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16270         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16271         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16272         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16273         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16274         * gst/elements/gstfakesrc.h:
16275         * gst/gstqueue.c: (queue_leaky_get_type):
16276           correctly fix GEnumValues so that nick is the short lowercase
16277           dashed tag
16278         * tools/gst-inspect.c: (print_element_properties_info):
16279           also show the nick, since it's useful to use from parse_launch
16280           syntax
16281           Fixes #322139
16282
16283 2005-11-22  Michael Smith <msmith@fluendo.com>
16284
16285         * gst/gstutils.c: (gst_util_clocktime_scale):
16286         * gst/gstutils.h:
16287         * docs/gst/gstreamer-sections.txt:
16288           Add util method for scaling a clocktime by a fraction. Useful 
16289           implementation is left as an exercise for the reader.
16290
16291 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16292
16293         * gst/gstvalue.c: (gst_value_collect_fraction_range):
16294         If needed, allocate storage in the destination value during
16295         collection.
16296
16297 2005-11-22  Edward Hervey  <edward@fluendo.com>
16298
16299         * docs/gst/gstreamer-sections.txt:
16300         * gst/Makefile.am:
16301         * gst/gst.h:
16302         * gst/gsturitype.c:
16303         * gst/gsturitype.h:
16304         * gst/gstutils.c: (gst_util_set_object_arg):
16305         * tools/gst-compprep.c: (main):
16306         * tools/gst-inspect.c: (print_element_properties_info):
16307         Removed GstURI, closes bug #321061
16308
16309 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16310
16311         * check/gst/gststructure.c: (GST_START_TEST):
16312         * gst/gststructure.c: (gst_structure_parse_value):
16313           Oops, broke automatic string type parsing.
16314           Add a test to catch it in future.
16315
16316 2005-11-22  Andy Wingo  <wingo@pobox.com>
16317
16318         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
16319         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16320         Actually rename the function implementations. Grr.
16321
16322 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16323
16324         * check/gst/capslist.h:
16325           Comment test cases
16326         * check/gst/gststructure.c: (GST_START_TEST),
16327         (gst_structure_suite):
16328           Test automatic value type detection in gst_structure_from_string.
16329         * gst/gststructure.c: (gst_structure_parse_value):
16330           Add fraction as a type we try and guess automatically in
16331           caps/structure strings.
16332
16333 2005-11-22  Andy Wingo  <wingo@pobox.com>
16334
16335         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16336
16337         * gst/gsttagsetter.h:
16338         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16339         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16340         (gst_tag_setter_add_tag_valist)
16341         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16342         _add_values, _add_valist, and _add_valist_values. Since this is an
16343         interface the function suffixes should be more explicit so
16344         language binding don't end up with element.add_valist ->
16345         gst_tag_setter_add_valist, for example. Fixes #322069.
16346
16347 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16348
16349         * check/gst/gstcaps.c: (GST_START_TEST):
16350           Extend caps string tests to check that a caps to string
16351           conversion is reversible and produces the same caps.
16352
16353         * gst/gststructure.c: (gst_structure_value_get_generic_type):
16354           Output "fraction" as the generic type fraction range, so caps
16355           serialisation and deserialisation works.
16356         * check/gst/capslist.h:
16357         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16358           Support 'MIN' and 'MAX' for deserialising fractions.
16359
16360 2005-11-22  Andy Wingo  <wingo@pobox.com>
16361
16362         * gst/gstevent.h (gst_event_new_new_segment)
16363         (gst_event_parse_new_segment, gst_event_new_buffer_size)
16364         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16365         Renamed from *_newsegment, *_buffersize, *_notarget.
16366
16367         * scripts/update-funcnames: New script, performs the changes
16368         listed above.
16369
16370 2005-11-22  Wim Taymans  <wim@fluendo.com>
16371
16372         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16373         Make sure the GstFlowReturn is returned.
16374
16375         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16376         (gst_bus_add_signal_watch):
16377         * gst/gstbus.h:
16378         add gst_bus_add_signal_watch_full.
16379
16380         * gst/gstplugin.c: (gst_plugin_load_file):
16381         Small style cleanup.
16382
16383 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16384
16385         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16386           Block the fakesrc srcpad when we send an event, to avoid
16387           contention on the stream_lock causing random test failures.
16388
16389 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16390
16391         * check/gst/gstvalue.c: (GST_START_TEST):
16392         * gst/gstvalue.c: (gst_value_fraction_subtract):
16393           Fix subtraction.
16394
16395 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
16396
16397         * gst/gst.h:
16398           include "gstchildproxy.h"
16399         * gst/gstchildproxy.h:
16400         * libs/gst/controller/gstcontroller.h:
16401           use G_GNUC_NULL_TERMINATED
16402
16403 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16404
16405         * check/gst/capslist.h:
16406         * check/gst/gstcaps.c: (GST_START_TEST):
16407         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16408         * gst/gststructure.c: (gst_structure_parse_range),
16409         (gst_structure_fixate_field_nearest_fraction):
16410         * gst/gststructure.h:
16411         * gst/gstvalue.c: (gst_value_init_fraction_range),
16412         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16413         (gst_value_collect_fraction_range),
16414         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16415         (gst_value_set_fraction_range_full),
16416         (gst_value_get_fraction_range_min),
16417         (gst_value_get_fraction_range_max),
16418         (gst_value_serialize_fraction_range),
16419         (gst_value_transform_fraction_range_string),
16420         (gst_value_compare_fraction_range),
16421         (gst_value_deserialize_fraction_range),
16422         (gst_value_intersect_fraction_fraction_range),
16423         (gst_value_intersect_fraction_range_fraction_range),
16424         (gst_value_subtract_fraction_fraction_range),
16425         (gst_value_subtract_fraction_range_fraction),
16426         (gst_value_subtract_fraction_range_fraction_range),
16427         (gst_value_collect_fraction), (gst_value_fraction_multiply),
16428         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16429         (gst_value_transform_string_fraction), (_gst_value_initialize):
16430         * gst/gstvalue.h:
16431           Implement fraction ranges and extend GstFraction to support
16432           arithmetic subtraction, as well as deserialization from integer
16433           strings such as "100"
16434           Add a testsuite as for int and double range set operations
16435
16436 2005-11-21  Andy Wingo  <wingo@pobox.com>
16437
16438         * gst/gsttaglist.h: 
16439         * gst/gstcaps.h: 
16440         * gst/gststructure.h: Add glib-compat.h.
16441
16442 2005-11-21  Wim Taymans  <wim@fluendo.com>
16443
16444         * gst/gstbin.c: (gst_bin_change_state_func):
16445         Fix for #321595
16446
16447 2005-11-21  Wim Taymans  <wim@fluendo.com>
16448
16449         * gst/gstsegment.h:
16450         And add a nice define too.
16451
16452 2005-11-21  Wim Taymans  <wim@fluendo.com>
16453
16454         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16455         (gst_segment_new), (gst_segment_free), (gst_segment_init),
16456         (gst_segment_set_duration), (gst_segment_set_last_stop),
16457         (gst_segment_set_seek), (gst_segment_set_newsegment),
16458         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16459         (gst_segment_clip):
16460         * gst/gstsegment.h:
16461         Make binding friendly.
16462
16463 2005-11-21  Andy Wingo  <wingo@pobox.com>
16464
16465         * gst/gsttagsetter.h: 
16466         * gst/gsttaglist.h: 
16467         * gst/gststructure.h: 
16468         * gst/gstcaps.h: 
16469         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16470         #319940.
16471
16472         * gst/gsterror.c (_gst_core_errors_init):
16473         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16474         category.
16475
16476         * gst/Makefile.am (gst_headers): Add glib-compat.h.
16477         (noinst_HEADERS): noinst the -private.
16478
16479 2005-11-21  Michael Smith <msmith@fluendo.com>
16480
16481         * gst/gstplugin.h:
16482         * gst/gstregistry.h:
16483           Remove unimplemented declarations for which we can see no sensible
16484           use.
16485
16486 2005-11-21  Andy Wingo  <wingo@pobox.com>
16487
16488         * gst/gst.h: Include glib-compat.h.
16489
16490         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16491
16492         * gst/glib-compat.c: Include the public and the private header.
16493
16494         * gst/glib-compat-private.h: Copied here from glib-compat.h.
16495
16496         * gst/gstvalue.c: 
16497         * gst/gstpad.c: 
16498         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16499
16500         * check/gst/gstevent.c (create_custom_events): Check that
16501         FLUSH_STOP is serialized.
16502
16503         * check/elements/identity.c (event_func): 
16504         * check/elements/fakesrc.c (event_func): No stream lock, the core
16505         takes it.
16506
16507         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16508         stream lock taking, yay.
16509
16510         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16511         ensure that core takes the stream lock.
16512
16513         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16514         lock name change.
16515
16516         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16517         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16518         it already. For the flush start we do take it though so we get the
16519         right preroll state change messages.
16520
16521         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16522         the stream lock here, the core does it for us.
16523
16524         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
16525         GST_STREAM_GET_LOCK.
16526         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
16527         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
16528         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
16529         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
16530         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
16531         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
16532
16533         * gst/gstpad.c: Update for stream lock name change.
16534
16535         * gst/base/gstbasesink.c: Update for preroll lock name change.
16536
16537 2005-11-21  Wim Taymans  <wim@fluendo.com>
16538
16539         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
16540         (gst_clock_get_master):
16541         * gst/gstclock.h:
16542         * gst/gstsystemclock.c: (gst_system_clock_init):
16543         Convert Clock flags to object flags.
16544         Added methods to manage master/slave clocks.
16545
16546 2005-11-21  Wim Taymans  <wim@fluendo.com>
16547
16548         * check/gst/gstsegment.c: (GST_START_TEST):
16549         * docs/design/part-TODO.txt:
16550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16551         (gst_base_sink_event), (gst_base_sink_do_sync),
16552         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16553         (gst_base_sink_query), (gst_base_sink_change_state):
16554         * gst/base/gstbasesink.h:
16555         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16556         (gst_base_src_default_newsegment),
16557         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16558         (gst_base_src_get_range), (gst_base_src_loop),
16559         (gst_base_src_change_state):
16560         * gst/base/gstbasesrc.h:
16561         * gst/base/gstbasetransform.c:
16562         (gst_base_transform_prepare_output_buf),
16563         (gst_base_transform_event), (gst_base_transform_change_state):
16564         * gst/base/gstbasetransform.h:
16565         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16566         (gst_collect_pads_event):
16567         * gst/base/gstcollectpads.h:
16568         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
16569         (gst_fake_src_create):
16570         * gst/elements/gstfakesrc.h:
16571         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16572         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16573         (gst_segment_set_last_stop), (gst_segment_set_seek),
16574         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16575         (gst_segment_to_running_time), (gst_segment_clip):
16576         * gst/gstsegment.h:
16577         More segment updates, replace code in plugins with segment
16578         helper functions.
16579
16580 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16581
16582         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
16583         Don't ignore sscanf results
16584
16585 2005-11-21  Andy Wingo  <wingo@pobox.com>
16586
16587         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
16588
16589         * *.h:
16590         * *.c: Ran scripts/update-macros. Oh yes.
16591
16592         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
16593         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
16594         GST_GET_LOCK, etc.
16595
16596         * scripts/update-macros: New script. Run it on your files to
16597         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
16598         well.
16599
16600 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16601
16602         * docs/gst/Makefile.am:
16603         * docs/gst/gstreamer-docs.sgml:
16604         * docs/gst/gstreamer-sections.txt:
16605         * docs/gst/gstreamer.types:
16606         * gst/gstinfo.h:
16607           more docs fixes, add new api to the docs
16608
16609 2005-11-21  Andy Wingo  <wingo@pobox.com>
16610
16611         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
16612         state_broadcast call.
16613
16614         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
16615
16616 2005-11-21  Julien MOUTTE  <julien@moutte.net>
16617
16618         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
16619         function calls for arrays.
16620
16621 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16622
16623         * docs/random/ensonic/media-device-daemon.txt:
16624           wild idea, can this be done?
16625         * docs/gst/gstreamer-sections.txt:
16626         * gst/gsterror.h:
16627         * gst/gstfilter.c:
16628         * gst/gstfilter.h:
16629         * gst/gstplugin.h:
16630         * gst/gstpluginfeature.c:
16631         * gst/gsttrace.c:
16632         * gst/gstvalue.c:
16633         * gst/gstvalue.h:
16634           doc fixes and additions
16635
16636 2005-11-21  Andy Wingo  <wingo@pobox.com>
16637
16638         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
16639         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
16640         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
16641         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
16642         private to the basesrc implementation.
16643
16644         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
16645         behalf of event function if necessary. It should no longer be
16646         necessary to take the stream lock in pad's event functions. Fixes
16647         #320299.
16648
16649 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16650         * docs/gst/gstreamer-sections.txt:
16651         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
16652         (gst_structure_fixate_field_nearest_double),
16653         (gst_structure_fixate_field_boolean):
16654         * gst/gststructure.h:
16655         * win32/common/libgstreamer.def:
16656         * win32/gstreamer.def:
16657
16658         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
16659         (#322027)
16660
16661 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16662
16663         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
16664         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
16665         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
16666         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
16667         (gst_fdsrc_uri_handler_init):
16668         * gst/elements/gstfdsrc.h:
16669           Port fd:// URI handler from 0.8 to fdsrc
16670
16671 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16672
16673         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
16674         (gst_value_serialize_fourcc):
16675         * gst/gstvalue.h:
16676           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
16677           consistent with our other format defines (#320324).
16678
16679 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16680
16681         * gst/gstvalue.c: (gst_value_is_fixed):
16682           Revert previous commit. Value lists are by definition
16683           not fixed, as they are a list of possible values.
16684
16685 2005-11-21  Andy Wingo  <wingo@pobox.com>
16686
16687         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
16688         during the stable series if we need it. Fixes #319178.
16689
16690         * gst/gstevent.c (gst_event_new_filler): Removed.
16691
16692         * check/gst/gstevent.c: Update comment about filler events.
16693
16694 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16695
16696         * gst/gstvalue.c: (gst_value_is_fixed):
16697           Should handle both value arrays and value lists.
16698
16699 2005-11-21  Andy Wingo  <wingo@pobox.com>
16700
16701         patch by: Alessandro Dessina <alessandro nnva org>
16702
16703         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
16704         functions to access arrays. Fixes #321962.
16705
16706 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16707
16708         * docs/gst/gstreamer.types:
16709           gst_collectpads_get_type => gst_collect_pads_get_type.
16710           
16711         * gst/base/gstbasetransform.c:
16712           Remove unused SIGNAL_HANDOFF enum.
16713
16714 2005-11-21  Andy Wingo  <wingo@pobox.com>
16715
16716         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
16717         the event type (upstream, downstream, serialized). Renamed
16718         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
16719         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
16720         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
16721
16722         * gst/gstevent.c: Update for new CUSTOM event names.
16723
16724         * check/gst/gstevent.c: Update check for new CUSTOM event names.
16725
16726         * gst/gstevent.h:
16727         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
16728         bug #319392.
16729
16730 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16731
16732         * docs/gst/gstreamer-sections.txt:
16733         * win32/common/libgstbase.def:
16734         * win32/libgstbase.def:
16735         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16736         (gst_collect_pads_class_init), (gst_collect_pads_init),
16737         (gst_collect_pads_finalize), (gst_collect_pads_new),
16738         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
16739         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
16740         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
16741         (gst_collect_pads_start), (gst_collect_pads_stop),
16742         (gst_collect_pads_peek), (gst_collect_pads_pop),
16743         (gst_collect_pads_available), (gst_collect_pads_read),
16744         (gst_collect_pads_flush), (gst_collect_pads_event),
16745         (gst_collect_pads_chain):
16746         * gst/base/gstcollectpads.h:
16747           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
16748           unimplemented functions as unimplemented. Add padding to
16749           GstCollectData. (#320766, #320423)
16750
16751 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16752
16753         * gst/gstmessage.c:
16754           Improve docs for DURATION message (usage of duration parameter)
16755           (#320113)
16756
16757 2005-11-20  Wim Taymans  <wim@fluendo.com>
16758
16759         * check/Makefile.am:
16760         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
16761         (main):
16762         * gst/Makefile.am:
16763         * gst/gst.h:
16764         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16765         (gst_segment_set_seek), (gst_segment_set_newsegment),
16766         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16767         (gst_segment_clip):
16768         * gst/gstsegment.h:
16769         Added segment helper structure and methods. Not fully implemented
16770         yet.
16771         Added segment check.
16772
16773 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
16774
16775         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16776           Add a deserialisation test for fractions
16777         * examples/metadata/read-metadata.c: (message_loop),
16778         (make_pipeline), (main):
16779           Fix up metadata reading sample.
16780         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16781           Debug format fix
16782         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16783           Don't try and fixate empty caps
16784         * gst/gst_private.h:
16785           Wrap in G_BEGIN_DECLS/G_END_DECLS
16786         * gst/gstvalue.c: (gst_value_collect_fraction),
16787         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
16788         (gst_value_transform_string_fraction),
16789         (gst_value_compare_fraction):
16790           Add some extra guards to ensure that we don't end up 
16791           with an invalid denominator of 0 in a gstfraction and
16792           that fractions always get reduced.
16793
16794 2005-11-20  Wim Taymans  <wim@fluendo.com>
16795
16796         * docs/gst/gstreamer-sections.txt:
16797         * gst/gstbuffer.h:
16798         * gst/gstelement.c:
16799         * gst/gstformat.c:
16800         * gst/gstformat.h:
16801         * gst/gstindex.h:
16802         * gst/gstquery.c:
16803         * gst/gstquery.h:
16804         * gst/gstvalue.c:
16805         Doc fixes.
16806
16807 2005-11-20  Wim Taymans  <wim@fluendo.com>
16808
16809         * docs/design/part-TODO.txt:
16810         * gst/gstcaps.h:
16811         Make a proper enum of the flag.
16812
16813 2005-11-19  Wim Taymans  <wim@fluendo.com>
16814
16815         * docs/design/part-TODO.txt:
16816         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
16817         (gst_format_to_quark), (gst_format_register):
16818         * gst/gstformat.h:
16819         * gst/gstquery.c: (_gst_query_initialize),
16820         (gst_query_type_get_name), (gst_query_type_to_quark),
16821         (gst_query_type_register):
16822         * gst/gstquery.h:
16823         Add type to quark and type to string conversions.
16824
16825 2005-11-19  Andy Wingo  <wingo@pobox.com>
16826
16827         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
16828         #320097.
16829
16830 2005-11-19  Wim Taymans  <wim@fluendo.com>
16831
16832         * docs/design/part-TODO.txt:
16833         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
16834         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
16835         (gst_bin_handle_message_func):
16836         * gst/gstbin.h:
16837         Make message handling overridable.
16838
16839 2005-11-19  Andy Wingo  <wingo@pobox.com>
16840
16841         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
16842
16843         * gst/gstclock.h:
16844         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
16845         be a GstClockTime.
16846         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
16847         is a GstClockTime. Fixes #321710.
16848
16849         * gst/gstclock.h (GstClock): Remove offset property. Add
16850         internal_calibration and external_calibration. Fix padding. Pad
16851         also by GstClockTime so we don't run into problems.
16852
16853         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
16854         (gst_clock_get_rate_offset): Remove.
16855         (gst_clock_set_time_adjust): Remove. Fixes #321712.
16856
16857         * gst/gstutils.h:
16858         * gst/gstutils.c (g_static_rec_cond_wait)
16859         (g_static_rec_cond_timed_wait): Removed, no longer needed.
16860
16861         * gst/gstbin.c: Remove terrible continue_state prototype.
16862
16863         * gst/gstelement.h (gst_element_continue_state): Make public.
16864
16865         * gst/gstelement.h:
16866         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
16867         by continue_state. Fixes #319389.
16868
16869         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
16870         Really fixes #168438. However I don't see anywhere where the
16871         filter function is called... stupid GStreamer...
16872         
16873         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
16874         don't have a dispose function, so it won't get called when the
16875         object is unreffed, but oh well!
16876
16877         * gst/gstindex.c (gst_index_set_filter_full): New API function,
16878         allows a destroy function to be set so user_data can be freed.
16879         Fixes #168438.
16880         (gst_index_set_filter): Call gst_index_set_filter_full.
16881
16882         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
16883
16884         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
16885         string should produce an error, given the lack of a way to
16886         represent NULL strings. Fixes #165650.
16887         
16888         * gst/gstvalue.h: 
16889         * gst/gstvalue.c (gst_value_array_append_value) 
16890         (gst_value_array_prepend_value, gst_value_array_get_size) 
16891         (gst_value_array_get_value): New API, copied from
16892         gst_value_list_*, only operates on arrays.
16893         (gst_value_list_append_value, gst_value_list_prepend_value) 
16894         (gst_value_list_concat, gst_value_list_get_size) 
16895         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
16896
16897         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
16898         init_list, because it works on both.
16899         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
16900         (gst_value_copy_list_or_array): Renamed from copy_list.
16901         (gst_value_free_list_or_array): Renamed from free_list.
16902         (gst_value_collect_list_or_array): Renamed from collect_list.
16903         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
16904         (gst_value_list_or_array_peek_pointer): Renamed from
16905         list_peek_pointer.
16906         (_gst_value_array_value_table, _gst_value_list_value_table):
16907         Update value table functions.
16908         (gst_value_compare_list_or_array): Renamed from compare_list.
16909
16910         * gsttaglist.h: Whoops, foreach function returns void. Also fix
16911         some constness.
16912
16913         * gst/gsttaglist.c:
16914         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
16915         GstTagList*. Fixes #143472.
16916
16917         * gst/gststructure.h: Clarify what the foreach/map functions can
16918         or can't do to their arguments.
16919
16920 2005-11-18  Wim Taymans  <wim@fluendo.com>
16921
16922         * gst/gstclock.c: (gst_clock_set_calibration),
16923         (gst_clock_get_calibration):
16924         Doc and API fixes.
16925         Calibration can be set with internal time equal to current
16926         internal time too.
16927
16928 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16929
16930         * gst/gsterror.c:
16931         * gst/gsterror.h:
16932           document
16933
16934 2005-11-18  Andy Wingo  <wingo@pobox.com>
16935
16936         * configure.ac: 
16937         * pkgconfig/gstreamer-net.pc.in:
16938         * pkgconfig/gstreamer-net-uninstalled.pc.in:
16939         * pkgconfig/Makefile.am: Add net pkgconfig files.
16940
16941 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
16942
16943         * gst/gstcaps.c:
16944         * gst/gstghostpad.c:
16945         * gst/gsttrace.c:
16946         * gst/gstvalue.c:
16947         * gst/gstvalue.h:
16948           docs fixes
16949
16950 2005-11-18  Andy Wingo  <wingo@pobox.com>
16951
16952         * gst/net/gstnetclientclock.c: Turn off debugging.
16953
16954         * check/net/gstnetclientclock.c (test_functioning): Assert that the
16955         times connverge somewhat. Can't make a real test.
16956
16957         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
16958         integer arithmetic. Return the minimum of the domain, which can be
16959         set as "internal" for gst_clock_set_calibration.
16960         (gst_net_client_clock_observe_times): Call _set_calibration.
16961         (gst_net_client_clock_new): Call _set_calibration instead of
16962         rate_offset.
16963
16964         * check/net/gstnetclientclock.c (test_functioning): Use the right
16965         adjustment api.
16966
16967         * gst/gstclock.h:
16968         * gst/gstclock.c (gst_clock_get_calibration) 
16969         (gst_clock_set_calibration): New functions, obsolete the ones I
16970         added yesterday. Doh. Precision issues mean we have to extrapolate
16971         from a point in the more recent past than 1970.
16972         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
16973         obsolete.
16974         (gst_clock_adjust_unlocked): Use the right calibration data.
16975
16976 2005-11-18  Edward Hervey  <edward@fluendo.com>
16977
16978         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
16979         Also reset the ->current_* values in READY->PAUSED
16980
16981 2005-11-18  Andy Wingo  <wingo@pobox.com>
16982
16983         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
16984         Whoops, check the right fd. Also add some debugging.
16985         (gst_net_client_clock_observe_times): Adjust for int64 offset.
16986         (do_linear_regression): Add a crapload of debugging. Subtract off
16987         the minimum values from the input series to discard unneeded bits.
16988         Use only int arithmetic. There is still double arithmetic when
16989         calculating the intercept that needs fixing. Return boolean to
16990         indicate success; FALSE would mean the domain or range is too
16991         great. Still needs fixes.
16992
16993 2005-11-18  Wim Taymans  <wim@fluendo.com>
16994
16995         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16996         For the current position in stream time, we need to subtract
16997         accumulated time.
16998         
16999         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17000         Release lock before calling the callback function of async
17001         entries.
17002
17003 2005-11-18  Andy Wingo  <wingo@pobox.com>
17004
17005         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
17006         Port goes all the way to MAXUINT16.
17007
17008         * gst/net/gstnettimeprovider.c: Make the port range the same as
17009         for the kernel: 0 assigns, otherwise ports are less than
17010         MAXUINT16.
17011
17012         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
17013         port change.
17014
17015         * check/net/gstnetclientclock.c (test_functioning): Add the start
17016         of another test. 
17017
17018 2005-11-18  Wim Taymans  <wim@fluendo.com>
17019
17020         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17021         (gst_bin_remove_func), (bin_bus_handler):
17022         * gst/gstbin.h:
17023         Removing a clock provider from a bin, triggers a clock lost message
17024         so that a new clock will be selected.
17025         Adding a clock to a bin triggers a clock provider message.
17026         Make sure we reselect a clock when we received a clock lost message.
17027         Keep a reference to the element that provided the clock.
17028
17029 2005-11-18  Andy Wingo  <wingo@pobox.com>
17030
17031         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
17032         the clock initially so it produces values around the base time.
17033         (gst_net_client_clock_class_init): Typo fix.
17034         (gst_net_client_clock_thread): Add note on when the socket gets
17035         closed.
17036
17037 2005-11-17  Wim Taymans  <wim@fluendo.com>
17038
17039         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
17040         Free remote and local time arrays.
17041
17042 2005-11-17  Wim Taymans  <wim@fluendo.com>
17043
17044         * gst/net/gstnetclientclock.c: (do_linear_regression),
17045         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
17046         Fix compilation, uninitialized vars and a forgotten continue.
17047
17048 2005-11-17  Andy Wingo  <wingo@pobox.com>
17049
17050         * check/Makefile.am (check_PROGRAMS): 
17051         * check/net/gstnetclientclock.c: Add a most minimal test for the
17052         net client clock. More to come later.
17053
17054         * gst/net/gstnet.h: 
17055         * gst/net/Makefile.am: Add netclientclock.
17056
17057         * gst/net/gstnetclientclock.h:
17058         * gst/net/gstnetclientclock.c: New files, implement an untested
17059         GstClock that takes its time from a network time provider.
17060         Implements the algorithm in network-clock.scm.
17061
17062         * tests/network-clock.scm (*window-size*): Rename from
17063         *queue-length*.
17064         * tests/network-clock.scm (network-time): 
17065         * tests/network-clock-utils.scm (q-push): Update callers.
17066
17067 2005-11-17  Wim Taymans  <wim@fluendo.com>
17068
17069         * gst/gstbin.c: (gst_bin_provide_clock_func),
17070         (gst_bin_sort_iterator_new):
17071         And unref the child too..
17072
17073 2005-11-17  Wim Taymans  <wim@fluendo.com>
17074
17075         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17076         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
17077         Refactor the sort iterator so it can be used while holding the
17078         LOCK too.
17079         Make clock selection select a clock closest to the source.
17080
17081 2005-11-17  Michael Smith <msmith@fluendo.com>
17082
17083         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
17084         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
17085         * gst/gstclock.h:
17086           Anonymous structs are a gcc (and some other compilers) extension, so
17087           don't use them. Since this is only for ABI-compatibility, and our
17088           API/ABI freeze is over in a few days, this whole thing will only
17089           last a few days, so don't bother trying to think up a meaningful
17090           name for the struct.
17091
17092 2005-11-17  Andy Wingo  <wingo@pobox.com>
17093
17094         * gst/gstclock.h (GstClock): Add rate and offset properties,
17095         preserving ABI stability. Add rate/offset accessors. Will file bug
17096         for the freeze break.
17097
17098         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
17099         and offset, trying to keep precision and avoiding
17100         underflow/overflow.
17101         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
17102         functions. Make gst_clock_set_time_adjust obsolete.
17103         (gst_clock_set_time_adjust): Note that this function is obsolete.
17104         Will file bug soon.
17105
17106         * gst/base/gstbasetransform.h: Make the ABI-stability hack
17107         greppable by using GST_PADDING-1+1.
17108
17109 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
17110
17111         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17112
17113         * gst/gstmessage.c: (gst_message_parse_clock_lost):
17114           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
17115
17116         * gst/gstpadtemplate.h:
17117         * gst/gstpluginfeature.h:
17118           Don't use c++ style comments in headers (#321638).
17119
17120 2005-11-16  Andy Wingo  <wingo@pobox.com>
17121
17122         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
17123         buffer.
17124
17125         * check/net/gstnettimeprovider.c: Check to see that the time
17126         provider actually provides times. Works, yo!
17127
17128 2005-11-16  Wim Taymans  <wim@fluendo.com>
17129
17130         * check/Makefile.am:
17131         Enable more tests.
17132
17133         * check/elements/fakesrc.c: (GST_START_TEST):
17134         Set element to NULL before disposing it.
17135
17136 2005-11-16  Andy Wingo  <wingo@pobox.com>
17137
17138         * gst/net/Makefile.am:
17139         * gst/net/gstnet.h:
17140         * gst/net/gstnettimeprovider.c: 
17141         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
17142         provider, include it from gstnet.h, and add it to the build.
17143
17144         * gst/net/gstnettimepacket.h: 
17145         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
17146         sending and receiving.
17147
17148 2005-11-16  Wim Taymans  <wim@fluendo.com>
17149
17150         * check/Makefile.am:
17151         Enable valgrind check.
17152
17153         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
17154         (gst_fake_src_alloc_buffer):
17155         Fix memleak.
17156
17157 2005-11-16  Wim Taymans  <wim@fluendo.com>
17158
17159         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
17160         Call parent finalize too.
17161
17162 2005-11-16  Wim Taymans  <wim@fluendo.com>
17163
17164         * check/Makefile.am:
17165         Enable valgrind check that should work fine now.
17166
17167         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17168         * gst/gstqueue.c: (gst_queue_init):
17169         Fix memleaks in pad allocation.
17170
17171 2005-11-16  Andy Wingo  <wingo@pobox.com>
17172
17173         * gst/net/Makefile.am:
17174         * gst/net/gstnet.h: New part of core to hold network elements and
17175         objects. Put in core because it exposes API that applications want
17176         to use. The library is named libgstnet-tempname right now because
17177         of the existing libgstnet in gst-plugins-base. Solution is
17178         probably to rename the one in plugins-base; will file a bug for
17179         the freeze break.
17180
17181         * gst/net/gstnettimeprovider.c: 
17182         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
17183         get_time call over the network.
17184
17185         * configure.ac: 
17186         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
17187
17188         * check/Makefile.am:
17189         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
17190         get additions shortly.
17191
17192 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17193
17194         * gst/gstpad.c: (gst_pad_new_from_static_template):
17195         * gst/gstpad.h:
17196           add gst_pad_new_from_static_template functions
17197         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
17198         (gst_check_setup_sink_pad):
17199         * gst/elements/gsttee.c: (gst_tee_init):
17200           and use them
17201
17202 2005-11-16  Wim Taymans  <wim@fluendo.com>
17203
17204         * gst/gstpad.c: (gst_pad_pause_task):
17205         Removed warning, it's not really an error either.
17206
17207 2005-11-16  Wim Taymans  <wim@fluendo.com>
17208
17209         * gst/base/gstbasetransform.c:
17210         (gst_base_transform_prepare_output_buf),
17211         (gst_base_transform_event):
17212         Check if the caps are NULL, this can happen if the element
17213         is shutting down and the pad caps are set to NULL.
17214
17215 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17216
17217         * gst/elements/gsttee.c: (gst_tee_init):
17218           fix pad template leak in tee
17219
17220 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17221
17222         * gst/glib-compat.c: (g_value_dup_gst_object):
17223         * gst/glib-compat.h:
17224         * gst/gstpad.c: (gst_pad_set_property):
17225           use gst_object_ref when setting the pad template; this will
17226           trigger the pad template leaks on GLib 2.6 and the slaves
17227
17228 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17229
17230         * gst/glib-compat.c: (gst_flags_get_first_value):
17231         * gst/glib-compat.h:
17232         * gst/gstregistryxml.c:
17233           remove functions copied from GLib 2.6
17234
17235 2005-11-16  Michael Smith <msmith@fluendo.com>
17236
17237         * gst/Makefile.am:
17238           Don't link against VALGRIND_LIBS. That was always the wrong thing to
17239           do, but only breaks with newer valgrind versions. We're not a
17240           valgrind tool, we have no link-time dependencies on libcoregrind.
17241
17242 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17243
17244         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17245           some debug changes
17246         * gst/gstmessage.h:
17247           typo fixes
17248
17249 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17250
17251         * gst/base/gstbasesrc.c: (gst_base_src_init):
17252         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17253         * gst/gstqueue.c: (gst_queue_init):
17254         * gst/gstregistryxml.c: (load_feature):
17255           Revert all these unrefs, they don't even pass make check !
17256
17257 2005-11-15  Johan Dahlin  <johan@gnome.org>
17258
17259         * gst/base/gstbasesrc.c: (gst_base_src_init):
17260         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17261         * gst/gstqueue.c: (gst_queue_init): 
17262         Free pad templates, fixes a couple of leaks.
17263
17264 2005-11-15  Daniel Fischer  <dan at f3c dot com>
17265
17266         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17267
17268         * gst/gstpad.c: (gst_pad_get_property):
17269           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17270           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17271           (#321452)
17272
17273 2005-11-15  Wim Taymans  <wim@fluendo.com>
17274
17275         * gst/gstevent.c:
17276         Small doc update.
17277
17278 2005-11-15  Andy Wingo  <wingo@pobox.com>
17279
17280         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17281
17282         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17283         using GST_CLOCK_TIME_NONE to disable base time management.
17284         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17285         time if it was NONE before.
17286         (gst_pipeline_change_state): Only munge the base time if
17287         stream_time != GST_CLOCK_TIME_NONE.
17288
17289         * check/gst/gstpipeline.c (test_base_time): Punt around the
17290         problem of the probe not being called, because that's not the
17291         issue I'm looking at. Add a check that setting stream_time to NONE
17292         disables base time management.
17293         
17294 2005-11-15  Wim Taymans  <wim@fluendo.com>
17295
17296         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17297         segment_stop == -1 at startup.
17298
17299         * gst/base/gstbasetransform.c: (gst_base_transform_event),
17300         (gst_base_transform_change_state):
17301         Init segment values at start.
17302
17303 2005-11-15  Wim Taymans  <wim@fluendo.com>
17304
17305         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17306         0 segment values are 0 in any format.
17307
17308         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17309         * gst/base/gstbasetransform.h:
17310         Parse newsegment correctly in basetransform
17311
17312         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17313         Sync to clock using updated segment values.
17314
17315 2005-11-15  Andy Wingo  <wingo@pobox.com>
17316
17317         * check/gst/gstpipeline.c (test_base_time): Add check that the
17318         base time and stream time are reset correctly.
17319
17320 2005-11-15  Wim Taymans  <wim@fluendo.com>
17321
17322         * docs/design/part-TODO.txt:
17323         Some more TODO items.
17324
17325 2005-11-15  Andy Wingo  <wingo@pobox.com>
17326
17327         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17328         error if the user selected "no clock" as the clocking method.
17329
17330         * check/gst/gstpipeline.c (test_base_time): New test for buffer
17331         timestamps with live capture.
17332
17333         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17334         is 0 but we are a live source, timestamp the buffers using the
17335         element's clock.
17336
17337 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
17338
17339         * docs/gst/gstreamer-sections.txt:
17340         * gst/gsterror.c:
17341         * gst/gstghostpad.c:
17342         * gst/gstobject.h:
17343         * gst/gstxml.c:
17344           more section docs
17345
17346 2005-11-14  Wim Taymans  <wim@fluendo.com>
17347
17348         * common/gst.supp:
17349           add suppressions from Wim's Debian machine
17350
17351 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17352
17353         * common/gst.supp:
17354           add suppressions from Andy's AMD64 Ubuntu machine
17355
17356 2005-11-14  Andy Wingo  <wingo@pobox.com>
17357
17358         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17359         STATE_LOCK not necessary. Fixes #311489.
17360
17361         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17362         #305291.
17363
17364         * gst/gstindex.c (gst_index_add_object): Note in the docs that
17365         this function is not implemented.
17366
17367 2005-11-14  Julien MOUTTE  <julien@moutte.net>
17368
17369         * gst/base/gstbasetransform.c:
17370         (gst_base_transform_prepare_output_buf):
17371         Ref the source pad caps while we need them.
17372         Fixes (#321386)
17373
17374 2005-11-11  Wim Taymans  <wim@fluendo.com>
17375
17376         * docs/gst/gstreamer-sections.txt:
17377         Added some docs for GstCollectData.
17378
17379         * gst/base/gstadapter.c:
17380         Some small code example fix.
17381
17382         * gst/base/gstcollectpads.c:
17383         * gst/base/gstcollectpads.h:
17384         Document some more.
17385
17386 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17387
17388         * configure.ac: back to HEAD
17389
17390 === release 0.9.5 ===
17391
17392 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
17393
17394         * configure.ac:
17395           releasing 0.9.5, "Bike Lunch Day"
17396
17397 2005-11-11  Wim Taymans  <wim@fluendo.com>
17398
17399         * gst/gstbuffer.c: (_gst_buffer_copy):
17400         Copy more flags.
17401
17402         * gst/gstcaps.c: (gst_caps_is_equal):
17403         Fix some docs.
17404         Make _is_equal fast in the trivial cases.
17405
17406         * gst/gstminiobject.c:
17407         * gst/gstminiobject.h:
17408         More docs. Spifify .h file.
17409
17410         * gst/gstutils.c:
17411         Small doc update.
17412
17413 2005-11-11  Wim Taymans  <wim@fluendo.com>
17414
17415         * gst/base/gstbasetransform.c:
17416         (gst_base_transform_prepare_output_buf),
17417         (gst_base_transform_handle_buffer):
17418         Small cleanups.
17419         If we're processing a buffer and need to allocate an output
17420         buffer, we cannot accept a format change. If we did get a 
17421         format change, we have to alloc a buffer ourselves of the 
17422         right size.
17423
17424 2005-11-11  Wim Taymans  <wim@fluendo.com>
17425
17426         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17427         While checking the flag for reentrancy in the gstcaps function
17428         is nice to detect recursive invocations, it also makes it 
17429         impossible to call getcaps from multiple threads, which must be
17430         possible. So, checking for recursive calls has to go.
17431
17432 2005-11-11  Michael Smith <msmith@fluendo.com>
17433
17434         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17435           Don't sync on buffers that fall partially outside our current
17436           segment. Prevents an assertion failure/abort playing some files.
17437
17438 2005-11-10  Andy Wingo  <wingo@pobox.com>
17439
17440         * check/gst/gstbin.c (test_message_state_changed_children): Style
17441         fix..
17442
17443         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17444         gst_bus_poll with the signal watch. Ensures that poll and a signal
17445         watch see the same messages.
17446
17447         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17448         a poll and a watch at the same time get the same messages.
17449
17450 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17451
17452         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17453         * gst/gstcaps.c: (gst_caps_intersect):
17454           Don't call gst_caps_do_simplify - it doesn't respect order of caps
17455           and it's not needed.
17456
17457 2005-11-10  Wim Taymans  <wim@fluendo.com>
17458
17459         * docs/design/part-TODO.txt:
17460         Updated todo.
17461
17462 2005-11-10  Wim Taymans  <wim@fluendo.com>
17463
17464         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17465         * gst/base/gstbasesrc.c: (gst_base_src_wait),
17466         (gst_base_src_do_sync), (gst_base_src_get_range):
17467         Implement clock sync in base class.
17468
17469 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17470
17471         patch by: Tim-Philipp Müller <tim at centricular dot net>
17472
17473         * gst/gststructure.c: (gst_structure_parse_field),
17474         (gst_structure_from_string):
17475           Forward-port a 0.8 patch to handle escaped spaces in structure string,
17476           so that gst_parse_launch() can deal with spaces in filtered link
17477           caps (fixes #164479)
17478         * check/gst/capslist.h:
17479         * check/gst/gststructure.c: (GST_START_TEST):
17480           add unit tests for this change
17481
17482 2005-11-10  Wim Taymans  <wim@fluendo.com>
17483
17484         * docs/gst/gstreamer-sections.txt:
17485         * gst/gstelement.c:
17486         * gst/gstelement.h:
17487         Fix docs, move some STATE macros to private.
17488
17489 2005-11-10  Wim Taymans  <wim@fluendo.com>
17490
17491         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17492         Added check for bug #317341
17493
17494         * gst/gstbuffer.c:
17495         * gst/gstbuffer.h:
17496         Some more spiffifying.
17497
17498         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17499         Call peer linkfunction if we are a source pad. Totally fixes
17500         #317341
17501
17502         * gst/gstpad.c:
17503         Update docs, source pads should call the peer linkfunction
17504         so they can atomically perform the pad link.
17505
17506 2005-11-09  Wim Taymans  <wim@fluendo.com>
17507
17508         * gst/gstbuffer.c:
17509         * gst/gstbuffer.h:
17510         Uber-spiffy-spiffify some more.
17511
17512 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
17513
17514         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17515         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17516         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17517         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17518         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17519         * gst/gstpad.c: (gst_pad_init):
17520           Use GST_DEBUG_FUNCPTR() more extensively.
17521
17522 2005-11-09  Wim Taymans  <wim@fluendo.com>
17523
17524         * gst/gstobject.c: (gst_object_class_init):
17525         * gst/gstobject.h:
17526         Documentation fixes.
17527
17528 2005-11-09  Edward Hervey  <edward@fluendo.com>
17529
17530         * gst/gsttypefindfactory.c:
17531         Fix docs.
17532         
17533 2005-11-09  Edward Hervey  <edward@fluendo.com>
17534
17535         * gst/base/gsttypefindhelper.c:
17536         * gst/gsttypefind.c:
17537         * gst/gsttypefind.h:
17538         Fix docs.
17539
17540 2005-11-09  Wim Taymans  <wim@fluendo.com>
17541
17542         * gst/gstiterator.c:
17543         Fix revision data.
17544
17545         * gst/gsttask.c:
17546         * gst/gsttask.h:
17547         Fix docs.
17548
17549 2005-11-09  Wim Taymans  <wim@fluendo.com>
17550
17551         * gst/gstevent.h:
17552         * gst/gsturi.h:
17553         Fix docs.
17554
17555 2005-11-09  Wim Taymans  <wim@fluendo.com>
17556
17557         * docs/gst/gstreamer-sections.txt:
17558         Moved the message async delivery private lock and cond
17559         to the private section.
17560
17561         * gst/gstmessage.c:
17562         * gst/gstmessage.h:
17563         Fixed docs.
17564
17565 2005-11-09  Edward Hervey  <edward@fluendo.com>
17566
17567         * docs/gst/gstreamer-sections.txt:
17568         * gst/gsturi.c:
17569         * gst/gsturi.h:
17570         Document GstURIHandler
17571
17572 2005-11-09  Wim Taymans  <wim@fluendo.com>
17573
17574         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
17575         (gst_iterator_find_custom):
17576         * gst/gstiterator.h:
17577         Fix iterator docs.
17578
17579 2005-11-09  Wim Taymans  <wim@fluendo.com>
17580
17581         * gst/gstbin.h:
17582         Document another field.
17583
17584         * gst/gststructure.c:
17585         * gst/gststructure.h:
17586         Document.
17587
17588 2005-11-09  Wim Taymans  <wim@fluendo.com>
17589
17590         * gst/gstbin.h:
17591         Documented structs.
17592
17593 2005-11-09  Wim Taymans  <wim@fluendo.com>
17594
17595         * docs/gst/gstreamer-sections.txt:
17596         Added some new macros.
17597
17598         * gst/gstclock.c:
17599         * gst/gstclock.h:
17600         * gst/gstobject.h:
17601         Docs updates.
17602
17603 2005-11-09  Wim Taymans  <wim@fluendo.com>
17604
17605         * docs/design/part-TODO.txt:
17606         Some more items for the TODO
17607
17608         * gst/gstcaps.c:
17609         * gst/gstcaps.h:
17610         Document GstCaps.
17611
17612 2005-11-09  Andy Wingo  <wingo@pobox.com>
17613
17614         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
17615         to work on something else now tho...
17616
17617         * gst/base/gstadapter.c: More adapter docs.
17618
17619         * gst/elements/gstfilesink.c (gst_file_sink_start) 
17620         (gst_file_sink_stop): New functions, replace the state change
17621         handler.
17622         (gst_file_sink_class_init): Hook up the start and stop functions.
17623         (gst_file_sink_base_init): Don't set the state change handler any
17624         more. It was a bit ugly too, being set from here...
17625         (gst_file_sink_get_property, gst_file_sink_set_property):
17626         Cleanups...
17627         (gst_file_sink_set_location): More robust check that doesn't call
17628         GST_STATE. Ugggggg.
17629
17630 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
17631
17632         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17633           Hold STREAM_LOCK while pushing newsegment or tag events as well.
17634
17635 2005-11-08  Wim Taymans  <wim@fluendo.com>
17636
17637         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17638         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17639         (gst_base_sink_chain), (gst_base_sink_change_state):
17640         * gst/base/gstbasesink.h:
17641         * gst/base/gstbasesrc.h:
17642         * gst/gstelement.h:
17643         * gst/gstevent.h:
17644         Avoid excessive typechecking in macros.
17645
17646         * gst/gstminiobject.c: (gst_mini_object_get_type),
17647         (gst_mini_object_init), (gst_mini_object_new),
17648         (gst_mini_object_free):
17649         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17650         (gst_object_finalize):
17651         Remove cruft code, optimize alloc_trace.
17652
17653 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17654
17655         * docs/faq/gst-uninstalled:
17656           fix up PS1 for systems that try to reset it
17657
17658 2005-11-07  Wim Taymans  <wim@fluendo.com>
17659
17660         * gst/base/gstbasesrc.c: (gst_base_src_init),
17661         (gst_base_src_get_range):
17662         Set the segment_end to -1 initially. Fixed typefind.
17663
17664 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
17665
17666         * gst/base/gstadapter.c:
17667           Debug category should be 'adapter', not 'GstAdapter'.
17668           
17669         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
17670         (gst_collectpads_class_init), (gst_collectpads_init),
17671         (gst_collectpads_peek), (gst_collectpads_pop),
17672         (gst_collectpads_event), (gst_collectpads_chain):
17673           Add debug category and some debugging output. Use boilerplate
17674           macros. Remove some extraneous words from docs.
17675
17676 2005-11-05  Andy Wingo  <wingo@pobox.com>
17677
17678         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
17679         macro.
17680
17681 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17682
17683         * docs/gst/gstreamer-sections.txt:
17684         * gst/gstcaps.h:
17685         * gst/gstinfo.c:
17686         * gst/gstminiobject.h:
17687         * gst/gstobject.h:
17688         * gst/gstutils.h:
17689           more docs added
17690
17691 2005-11-04  Wim Taymans  <wim@fluendo.com>
17692
17693         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17694         Small update to stop at the configured segment_end
17695         position.
17696
17697 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17698
17699         * gst/gstregistry.c:
17700         * gst/gstregistry.h:
17701           added missing docs
17702
17703 2005-11-04  Edward Hervey  <edward@fluendo.com>
17704
17705         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17706         Check if we are doing a segment seek and have arrived at the
17707         end of that segment.
17708
17709 2005-11-04  Wim Taymans  <wim@fluendo.com>
17710
17711         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
17712         Don't leak a mutex unlock in case of an error.
17713
17714         * gst/gstbus.h:
17715         Doc fixes.
17716
17717 2005-11-04  Wim Taymans  <wim@fluendo.com>
17718
17719         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
17720         (gst_bus_post):
17721         Get the context to wake up only once.
17722
17723 2005-11-03  Wim Taymans  <wim@fluendo.com>
17724
17725         * check/states/sinks.c: (GST_START_TEST):
17726         Uncomment fixed check.
17727
17728         * docs/design/part-TODO.txt:
17729         Updated TODO.
17730
17731         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17732         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17733         (gst_base_sink_get_position):
17734         If we are going to PLAYING, post the right pending state
17735         when we post the intermediate paused message.
17736
17737         * gst/gstelement.c: (gst_element_continue_state),
17738         (gst_element_set_state_func), (gst_element_change_state):
17739         Don't post state changes that were between the same state
17740         and were not ASYNC.
17741
17742 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17743
17744         * docs/gst/gstreamer-sections.txt:
17745         * gst/gstcaps.h:
17746         * gst/gstinfo.c:
17747         * gst/gstminiobject.h:
17748         * gst/gstobject.h:
17749         * gst/gstutils.h:
17750           more docs and doc style fixes
17751
17752 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17753
17754         * docs/gst/gstreamer-sections.txt:
17755         * gst/gstelement.c:
17756         * gst/gstminiobject.c:
17757         doc fixes
17758
17759 2005-11-03  Andy Wingo  <wingo@pobox.com>
17760
17761         * check/states/sinks.c (test_livesrc_sink): Add checks that the
17762         state-changed messages actually have the right order and the right
17763         values.
17764
17765 2005-11-03  Wim Taymans  <wim@fluendo.com>
17766
17767         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17768         Added some more checks. Specifically the case where NO_PREROLL
17769         elements are in the pipeline.
17770
17771         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17772         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17773         (gst_base_sink_get_position):
17774         Post READY->PAUSED state change messages too.
17775         Fix bug where VOID was posted as pending state...
17776
17777         * gst/gstbin.c: (gst_bin_recalc_state):
17778         use _element_continue_state() to continue the state change.
17779
17780         * gst/gstelement.c: (gst_element_continue_state),
17781         (gst_element_commit_state), (gst_element_set_state_func),
17782         (gst_element_change_state), (gst_element_change_state_func):
17783         Lots of state change cleanups, assign the STATE_RETURN in
17784         a new continue_state() function that also propagates the
17785         last return value from a state change to the app.
17786         Update some debug statements with proper category.
17787
17788 2005-11-03  Wim Taymans  <wim@fluendo.com>
17789
17790         * docs/design/part-events.txt:
17791         * docs/design/part-gstpipeline.txt:
17792         * docs/design/part-messages.txt:
17793         * docs/design/part-overview.txt:
17794         * docs/design/part-seeking.txt:
17795         * docs/design/part-states.txt:
17796         * docs/design/part-trickmodes.txt:
17797         * docs/manual/advanced-position.xml:
17798         Small docs updates.
17799
17800         * gst/gstobject.h:
17801         People think !! is ugly, this looks better.
17802
17803         * gst/gstpad.c: (gst_pad_set_blocked_async):
17804         Remove !! since it's fixed elsewhere now.
17805
17806 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17807
17808         * gst/gstminiobject.h:
17809         * gst/gstobject.h:
17810           Add !! to _FLAG_IS_SET macros to make the result boolean.
17811
17812 2005-11-03  Edward Hervey  <edward@fluendo.com>
17813
17814         * gst/gstpad.c: (gst_pad_set_blocked_async):
17815         comparing a flag and a gboolean rarely returns coherent results...
17816         Added two characters (!!) to make that work correctly.
17817         
17818 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17819
17820         * gst/gstbus.c: (gst_bus_class_init):
17821           Fix some typos.
17822           
17823         * gst/gstqueue.c: (gst_queue_loop):
17824           Don't assume a miniobject that isn't a buffer is an
17825           event (it could be that there is a refcounting
17826           problem somewhere and the pointer is stale and
17827           refers to an already destroyed miniobject).
17828
17829 2005-11-03  Julien MOUTTE  <julien@moutte.net>
17830
17831         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
17832
17833 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
17834
17835         * docs/manual/advanced-position.xml:
17836           Update seek example and explanations to current 0.9 API.
17837
17838         * gst/elements/gsttypefindelement.c:
17839         (gst_type_find_element_activate):
17840           Remove FIXME comment now that the found caps
17841           are unreffed.
17842
17843 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17844
17845         * gst/gstregistryxml.c: (load_feature):
17846           Add another GST_STR_NULL instance
17847
17848 2005-11-02  Edward Hervey  <edward@fluendo.com>
17849
17850         * gst/gstpad.c: (handle_pad_block):
17851         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
17852         
17853 2005-11-02  Wim Taymans  <wim@fluendo.com>
17854
17855         * gst/gstbin.c:
17856         Fix typo in docs.
17857
17858         * gst/gstelement.c: (gst_element_commit_state):
17859         Remove unused value.
17860
17861         * gst/gstiterator.c:
17862         Mention that the returned element is reffed in the docs.
17863
17864 2005-11-02  Wim Taymans  <wim@fluendo.com>
17865
17866         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
17867         (gst_pad_push), (gst_pad_push_event):
17868         Unlock blocked pads when they are flushed.
17869
17870 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17871
17872         * docs/README:
17873         * docs/gst/gstreamer-sections.txt:
17874         * gst/gstbin.c:
17875           doc updates
17876         * gst/gstregistry.c: (gst_registry_scan_path_level):
17877           fix for a nasty little missed situation where an installed plug-in
17878           which was in the cache did not get overridden by an uninstalled one
17879           which was earlier in the plugin path because the newly created plugin
17880           for the uninstalled one (not in the registry) didn't get its
17881           ->registered set to TRUE
17882
17883 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
17884
17885         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
17886         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
17887         (gst_collectpads_is_active), (gst_collectpads_collect),
17888         (gst_collectpads_collect_range), (gst_collectpads_start),
17889         (gst_collectpads_stop), (gst_collectpads_peek),
17890         (gst_collectpads_pop), (gst_collectpads_available),
17891         (gst_collectpads_read), (gst_collectpads_flush):
17892           Guard public API with assertions.
17893         
17894         * gst/gstpad.c:
17895           Fix docs for gst_pad_set_link_function().
17896
17897 2005-11-02  Johan Dahlin  <johan@gnome.org>
17898
17899         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
17900         Unref found_caps after we used it.
17901
17902 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
17903
17904         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
17905           Don't try to ref NULL.
17906
17907 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17908
17909         * win32/common/config.h.in:
17910           provide a GST_FUNCTION that just gives a string for now
17911
17912 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17913
17914         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17915         (gst_object_flags_get_type), (register_gst_bin_flags),
17916         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17917         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17918         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17919         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
17920         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17921         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17922         (gst_clock_flags_get_type), (register_gst_state),
17923         (gst_state_get_type), (register_gst_state_change_return),
17924         (gst_state_change_return_get_type), (register_gst_state_change),
17925         (gst_state_change_get_type), (register_gst_element_flags),
17926         (gst_element_flags_get_type), (register_gst_core_error),
17927         (gst_core_error_get_type), (register_gst_library_error),
17928         (gst_library_error_get_type), (register_gst_resource_error),
17929         (gst_resource_error_get_type), (register_gst_stream_error),
17930         (gst_stream_error_get_type), (register_gst_event_type),
17931         (gst_event_type_get_type), (register_gst_seek_type),
17932         (gst_seek_type_get_type), (register_gst_seek_flags),
17933         (gst_seek_flags_get_type), (register_gst_format),
17934         (gst_format_get_type), (register_gst_index_certainty),
17935         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17936         (gst_index_entry_type_get_type),
17937         (register_gst_index_lookup_method),
17938         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17939         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17940         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17941         (gst_index_flags_get_type), (register_gst_debug_level),
17942         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17943         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17944         (gst_iterator_result_get_type), (register_gst_iterator_item),
17945         (gst_iterator_item_get_type), (register_gst_message_type),
17946         (gst_message_type_get_type), (register_gst_mini_object_flags),
17947         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17948         (gst_pad_link_return_get_type), (register_gst_flow_return),
17949         (gst_flow_return_get_type), (register_gst_activate_mode),
17950         (gst_activate_mode_get_type), (register_gst_pad_direction),
17951         (gst_pad_direction_get_type), (register_gst_pad_flags),
17952         (gst_pad_flags_get_type), (register_gst_pad_presence),
17953         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17954         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17955         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17956         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17957         (gst_plugin_flags_get_type), (register_gst_rank),
17958         (gst_rank_get_type), (register_gst_query_type),
17959         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17960         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17961         (gst_tag_flag_get_type), (register_gst_task_state),
17962         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17963         (gst_alloc_trace_flags_get_type),
17964         (register_gst_type_find_probability),
17965         (gst_type_find_probability_get_type), (register_gst_uri_type),
17966         (gst_uri_type_get_type), (register_gst_parse_error),
17967         (gst_parse_error_get_type):
17968         * win32/common/gstversion.h:
17969           update win32 copies
17970
17971 2005-11-01  Luca Ognibene  <luogni@tin.it>
17972
17973         * gst/gst.c:
17974           fix docs. popt is dead, long live GOption.
17975
17976 2005-10-31  Wim Taymans  <wim@fluendo.com>
17977
17978         * gst/gstbuffer.h:
17979         Small doc fix.
17980
17981 2005-10-31  Andy Wingo  <wingo@pobox.com>
17982
17983         * Boo!
17984
17985         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
17986
17987         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
17988         need to serialize property notifications on GLib 2.8. GLib 2.6 has
17989         the possibility of deadlocks here if code calling notify() or
17990         set() has a lock that can be taken in another notify handler (ABBA
17991         with class lock and e.g. python GIL state lock).
17992
17993 2005-10-28  Julien MOUTTE  <julien@moutte.net>
17994
17995         * gst/gstbus.c: Doc updates.
17996
17997 2005-10-28  Wim Taymans  <wim@fluendo.com>
17998
17999         * docs/design/part-TODO.txt:
18000         * gst/gstiterator.c:
18001         * gst/gstsystemclock.c:
18002         * gst/gstsystemclock.h:
18003         Doc updates.
18004
18005 2005-10-28  Edward Hervey  <edward@fluendo.com>
18006
18007         * docs/gst/gstreamer-docs.sgml:
18008         * docs/gst/gstreamer-sections.txt:
18009         the GstURIType documentation page is private, it only defines GstURIType
18010         which should be defined in the GstURIHandler page
18011         
18012 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18013
18014         * gst/gstbin.c: (gst_bin_class_init):
18015         * gst/gstbin.h:
18016         * gst/gstutils.c:
18017         Documentation updates.
18018
18019 2005-10-28  Wim Taymans  <wim@fluendo.com>
18020
18021         * docs/gst/gstreamer-sections.txt:
18022         * gst/gstclock.c:
18023         * gst/gstclock.h:
18024         Documented the clocks.
18025
18026 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
18027
18028         * docs/gst/gstreamer-sections.txt:
18029           move some macros to private sections
18030         * gst/gstminiobject.c:
18031         * gst/gstminiobject.h:
18032           add descriptions provided by ds and some more
18033         * gst/gstpad.h:
18034           mark macro as to be removed
18035
18036 2005-10-28  Wim Taymans  <wim@fluendo.com>
18037
18038         * docs/design/part-TODO.txt:
18039         Add an item to TODO.
18040
18041         * gst/gstiterator.c: (gst_iterator_fold),
18042         (gst_iterator_find_custom):
18043         * gst/gstiterator.h:
18044         Add iterator docs.
18045
18046 2005-10-28  Wim Taymans  <wim@fluendo.com>
18047
18048         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18049         (gst_base_transform_init):
18050         Don't leak class.
18051
18052         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
18053         An EOS event marks the queue as completely filled.
18054
18055 2005-10-27  Wim Taymans  <wim@fluendo.com>
18056
18057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18058         (gst_base_sink_do_sync), (gst_base_sink_get_position):
18059         Some more debugging.
18060
18061         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
18062         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
18063         (gst_base_transform_event), (gst_base_transform_getrange),
18064         (gst_base_transform_chain):
18065         * gst/base/gstbasetransform.h:
18066         Fix debugging,
18067         Protect transform and concurrent buffer alloc with a new lock.
18068         Try not to break ABI/API.
18069
18070 2005-10-27  Wim Taymans  <wim@fluendo.com>
18071
18072         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18073         (gst_base_src_init), (gst_base_src_query),
18074         (gst_base_src_default_newsegment),
18075         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18076         (gst_base_src_send_event), (gst_base_src_event_handler),
18077         (gst_base_src_pad_get_range), (gst_base_src_loop),
18078         (gst_base_src_unlock), (gst_base_src_default_negotiate),
18079         (gst_base_src_start), (gst_base_src_deactivate),
18080         (gst_base_src_activate_push), (gst_base_src_change_state):
18081         Move some stuff around and cleanup things.
18082
18083 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
18084
18085         * gst/base/gstbasesrc.c: (gst_base_src_query):
18086           Add missing break statements.
18087
18088 2005-10-27  Wim Taymans  <wim@fluendo.com>
18089
18090         * check/gst/gstbin.c: (GST_START_TEST):
18091         An extra refcount is taken in basesrc.
18092
18093         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18094         (gst_base_src_get_range), (gst_base_src_pad_get_range),
18095         (gst_base_src_loop):
18096         Small cleanups, check for flushing after being unlocked from the 
18097         LIVE_LOCK. take refcounts correctly (not yet everywhere).
18098         Don't send out EOS when going to READY.
18099
18100 2005-10-27  Wim Taymans  <wim@fluendo.com>
18101
18102         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18103         (gst_base_sink_get_position):
18104         Some more debug.
18105
18106         * gst/gstbin.c: (message_check), (bin_replace_message),
18107         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18108         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18109         (bin_query_duration_init), (bin_query_duration_fold),
18110         (bin_query_duration_done), (bin_query_generic_fold),
18111         (gst_bin_query):
18112         * tools/gst-launch.c: (main):
18113         Remove old option.
18114
18115 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
18116
18117         * examples/controller/audio-example.c: (main):
18118         * examples/queue/queue.c: (event_loop):
18119         * gst/base/gstbasetransform.h:
18120         * gst/gstelement.c: (gst_element_send_event):
18121         * gst/gstevent.h:
18122         * gst/gstpad.c: (gst_pad_send_event):
18123           fixing examples
18124           fixing docs typos
18125           changing log priority in error situations
18126
18127 2005-10-25  Wim Taymans  <wim@fluendo.com>
18128
18129         * gst/gstbin.c: (message_check), (bin_replace_message),
18130         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18131         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18132         (bin_query_duration_init), (bin_query_duration_fold),
18133         (bin_query_duration_done), (bin_query_generic_fold),
18134         (gst_bin_query):
18135         Some doc and debug updates.
18136         Cache previously requested query DURATION for speed. invalidate
18137         cached duration if element posts a DURATION message.
18138
18139 2005-10-25  Wim Taymans  <wim@fluendo.com>
18140
18141         * docs/design/part-TODO.txt:
18142         Update TODO.
18143
18144         * gst/gstbin.c: (message_check), (bin_replace_message),
18145         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18146         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18147         (bin_query_duration_init), (bin_query_duration_fold),
18148         (bin_query_duration_done), (bin_query_generic_fold),
18149         (gst_bin_query):
18150         Handle SEGMENT_START/DONE messages correctly.
18151         More evolved query algorithm that handles duration queries
18152         correctly.
18153
18154         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
18155         (gst_element_get_state_func), (gst_element_abort_state),
18156         (gst_element_commit_state), (gst_element_lost_state):
18157         Some more debugging.
18158
18159         * gst/gstmessage.h:
18160         Added doc.
18161
18162 2005-10-25  Wim Taymans  <wim@fluendo.com>
18163
18164         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18165         Don't use invalid stream_time.
18166
18167         * gst/gstevent.c: (gst_event_new_newsegment):
18168         stream_time in newsegment cannot be undefined.
18169
18170 2005-10-24  Wim Taymans  <wim@fluendo.com>
18171
18172         * gst/gstbus.c:
18173         Doc fix.
18174
18175         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18176         (gst_queue_loop):
18177         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
18178
18179 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
18180
18181         * docs/libs/tmpl/gstdparam.sgml:
18182         * docs/libs/tmpl/gstdplinint.sgml:
18183         * docs/libs/tmpl/gstdpman.sgml:
18184         * docs/libs/tmpl/gstdpsmooth.sgml:
18185         * docs/libs/tmpl/gstunitconvert.sgml:
18186           these are obsolete
18187
18188 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18189
18190         * configure.ac:
18191           back to HEAD
18192
18193 === release 0.9.4 ===
18194
18195 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18196
18197         * configure.ac:
18198           releasing 0.9.4, "Tyrannosaurus Rex"
18199
18200 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
18201
18202         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18203         (gst_file_sink_get_current_offset):
18204           Use fseeko() and ftello() if available. When falling back on
18205           lseek() to get the current offset, fflush() first to make sure
18206           everything is up-to-date and we get the right offset.
18207
18208 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18209
18210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18211         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18212         * gst/gsterror.c: (_gst_stream_errors_init):
18213         * gst/gsterror.h:
18214         * gst/gstqueue.c: (gst_queue_loop):
18215         * po/POTFILES.in:
18216           remove prematurely added error category and clean up the instances
18217
18218 2005-10-21  Wim Taymans  <wim@fluendo.com>
18219
18220         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18221         (gst_base_sink_get_position), (gst_base_sink_query),
18222         (gst_base_sink_change_state):
18223         Simply set the right flag when going to playing, that's all
18224         we need to do instead of calling a function inside the object
18225         lock (that could take the lock as well and deadlock)
18226
18227 2005-10-21  Wim Taymans  <wim@fluendo.com>
18228
18229         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
18230         (gst_base_src_loop):
18231         Don't warn, the peer element knows what to do best when
18232         the seek failed, it might try something else.
18233
18234 2005-10-21  Wim Taymans  <wim@fluendo.com>
18235
18236         * gst/base/gstbasesrc.c: (gst_base_src_init),
18237         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18238         Fix seeking.
18239
18240 2005-10-21  Wim Taymans  <wim@fluendo.com>
18241
18242         * docs/design/part-segments.txt:
18243         More docs.
18244
18245         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18246         Correctly set caps, even on the subbufer.
18247
18248 2005-10-21  Wim Taymans  <wim@fluendo.com>
18249
18250         * docs/gst/gstreamer-docs.sgml:
18251         * docs/gst/gstreamer-sections.txt:
18252         * gst/gstelement.h:
18253         * gst/gstevent.c:
18254         * gst/gstevent.h:
18255         * gst/gstmessage.h:
18256         * gst/gstpad.h:
18257         * gst/gstparse.h:
18258         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18259         * gst/gsttask.h:
18260         * gst/gstutils.c:
18261         * gst/gstutils.h:
18262         And 2% more doc coverage.
18263
18264 2005-10-21  Andy Wingo  <wingo@pobox.com>
18265
18266         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18267         position reporting.
18268
18269 2005-10-20  Wim Taymans  <wim@fluendo.com>
18270
18271         * gst/gsterror.c: (gst_error_get_message):
18272         * gst/gstparse.h:
18273         * gst/gstquery.h:
18274         * gst/gststructure.c:
18275         * gst/gsttrace.c:
18276         * gst/gstutils.c:
18277         More docs.
18278
18279 2005-10-20  Wim Taymans  <wim@fluendo.com>
18280
18281         * gst/gstbuffer.h:
18282         * gst/gstpad.c:
18283         * gst/gstparse.c:
18284         Another 1% more coverage.
18285
18286 2005-10-20  Wim Taymans  <wim@fluendo.com>
18287
18288         * docs/gst/gstreamer-sections.txt:
18289         * gst/gstelement.c: (gst_element_get_state_func),
18290         (gst_element_abort_state), (gst_element_commit_state),
18291         (gst_element_lost_state):
18292         * gst/gstevent.h:
18293         * gst/gstquery.c: (gst_query_set_position),
18294         (gst_query_parse_position), (gst_query_set_duration),
18295         (gst_query_parse_duration), (gst_query_new_convert):
18296         * gst/gstutils.c:
18297         Yay! 1% more docs coverage.
18298
18299 2005-10-20  Wim Taymans  <wim@fluendo.com>
18300
18301         * gst/gstpad.h:
18302         * gst/gstquery.c: (gst_query_set_position),
18303         (gst_query_parse_position), (gst_query_set_duration),
18304         (gst_query_parse_duration), (gst_query_new_convert):
18305         * gst/gstquery.h:
18306         * gst/gstutils.c: (gst_element_query_convert):
18307         * gst/gstutils.h:
18308         Docs and consistency fixes.
18309
18310 2005-10-20  Wim Taymans  <wim@fluendo.com>
18311
18312         * gst/gsttask.c:
18313         * gst/gsttask.h:
18314         More docs.
18315
18316 2005-10-20  Wim Taymans  <wim@fluendo.com>
18317
18318         * gst/gstbin.c: (message_check), (bin_replace_message),
18319         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18320         (update_degree), (gst_bin_sort_iterator_next),
18321         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18322         Reworked the message handling a bit, cache the messages instead of
18323         only the senders. alows us to do more in the future.
18324
18325 2005-10-20  Wim Taymans  <wim@fluendo.com>
18326
18327         * docs/design/part-TODO.txt:
18328         Update TODO
18329
18330         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18331         (gst_base_sink_query):
18332         Don't use clock time to report position when in EOS.
18333
18334 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
18335
18336         * tools/gst-inspect.c: (print_interfaces),
18337         (print_element_properties_info), (print_element_info):
18338           Fix interface output with gst-inspect -a; don't print
18339           newlines after double/float properties.
18340
18341 2005-10-20  Wim Taymans  <wim@fluendo.com>
18342
18343         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18344         (gst_base_sink_query):
18345         Speed up current position calculation.
18346
18347         * gst/base/gstbasesrc.c: (gst_base_src_query),
18348         (gst_base_src_default_newsegment):
18349         Correctly set stream position in newsegment.
18350
18351         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18352         (update_degree), (gst_bin_sort_iterator_next),
18353         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18354         * gst/gstmessage.c: (gst_message_new_custom):
18355         Clean up debugging info
18356
18357         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18358         (gst_queue_loop), (gst_queue_handle_src_query):
18359         Pause task faster.
18360
18361 2005-10-19  Wim Taymans  <wim@fluendo.com>
18362
18363         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18364         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18365         Fix query handling again.
18366
18367 2005-10-19  Wim Taymans  <wim@fluendo.com>
18368
18369         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18370         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18371         * gst/base/gstbasesrc.c: (gst_base_src_query):
18372         * gst/elements/gstfilesink.c: (gst_file_sink_query):
18373         * gst/elements/gsttypefindelement.c:
18374         (gst_type_find_handle_src_query), (find_element_get_length),
18375         (gst_type_find_element_activate):
18376         API change fix.
18377
18378         * gst/gstquery.c: (gst_query_new_position),
18379         (gst_query_set_position), (gst_query_parse_position),
18380         (gst_query_new_duration), (gst_query_set_duration),
18381         (gst_query_parse_duration), (gst_query_set_segment),
18382         (gst_query_parse_segment):
18383         * gst/gstquery.h:
18384         Bundling query position/duration is not a good idea since duration
18385         does not change much and we don't want to recalculate it for every
18386         position query, so they are separated again..
18387         Base value in segment query is not needed.
18388
18389         * gst/gstqueue.c: (gst_queue_handle_src_query):
18390         * gst/gstutils.c: (gst_element_query_position),
18391         (gst_element_query_duration), (gst_pad_query_position),
18392         (gst_pad_query_duration):
18393         * gst/gstutils.h:
18394         Updates for query API change.
18395         Added some docs here and there.
18396
18397 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18398
18399         * check/gst/gstbin.c: (GST_START_TEST):
18400         * check/gst/gstghostpad.c: (GST_START_TEST):
18401         * check/pipelines/cleanup.c: (GST_START_TEST):
18402           wait on thread to die so we can check refcount correctly
18403
18404 2005-10-18  Wim Taymans  <wim@fluendo.com>
18405
18406         * check/pipelines/stress.c: (GST_START_TEST):
18407         Make check a little more time consuming.
18408
18409 2005-10-18  Wim Taymans  <wim@fluendo.com>
18410
18411         * check/Makefile.am:
18412         * check/pipelines/stress.c: (GST_START_TEST),
18413         (simple_launch_lines_suite), (main):
18414         Small state change torture test.
18415
18416         * docs/design/part-states.txt:
18417         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18418         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18419         (gst_base_sink_change_state):
18420         Never take state lock from streaming thread, clean up ugly
18421         hacks. Unfortunatly core does not yet support nice ways to
18422         async commit state.
18423         
18424         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18425         (bin_bus_handler):
18426         Start state recalc if a STATE_DIRTY message is posted, but only
18427         on the toplevel bin.
18428
18429         * gst/gstelement.c: (gst_element_sync_state_with_parent),
18430         (gst_element_get_state_func), (gst_element_abort_state),
18431         (gst_element_commit_state), (gst_element_lost_state),
18432         (gst_element_set_state_func), (gst_element_change_state):
18433         * gst/gstelement.h:
18434         State variables are now protected with the LOCK, the state
18435         lock is only used to serialize _set_state().
18436
18437 2005-10-18  Wim Taymans  <wim@fluendo.com>
18438
18439         * check/gst/gstbin.c: (GST_START_TEST):
18440         * check/gst/gstmessage.c: (GST_START_TEST):
18441         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18442         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18443         (bin_bus_handler):
18444         * gst/gstelement.c: (gst_element_abort_state),
18445         (gst_element_commit_state), (gst_element_lost_state):
18446         * gst/gstmessage.c: (gst_message_new_state_changed),
18447         (gst_message_new_state_dirty), (gst_message_new_segment_start),
18448         (gst_message_new_segment_done), (gst_message_new_duration),
18449         (gst_message_parse_state_changed),
18450         (gst_message_parse_segment_start),
18451         (gst_message_parse_segment_done), (gst_message_parse_duration):
18452         * gst/gstmessage.h:
18453         * tools/gst-launch.c: (event_loop):
18454         Seriously, this is better than a previous commit as we only need
18455         to notify the fact that an element changed state in a streaming
18456         thread, marking the state of the parents dirty, hence the 
18457         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18458         message.
18459
18460 2005-10-18  Wim Taymans  <wim@fluendo.com>
18461
18462         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18463         (gst_bin_recalc_func):
18464         * gst/gstelement.c: (gst_element_set_clock),
18465         (gst_element_abort_state), (gst_element_lost_state):
18466         Cleanups, prepare for state change fixes.
18467
18468 2005-10-18  Wim Taymans  <wim@fluendo.com>
18469
18470         * gst/gstbin.h:
18471         * gst/gstelement.c: (gst_element_class_init),
18472         (gst_element_set_state), (gst_element_set_state_func):
18473         * gst/gstelement.h:
18474         Pending ABI changes.
18475         GThreadPool in GstBinClass to monitor async state changes.
18476         state_cookie in GstElement to detect concurrent gst/set state.
18477         set_state is now virtual too in case a very complicated element
18478         has to be constructed.
18479
18480 2005-10-18  Wim Taymans  <wim@fluendo.com>
18481
18482         * check/gst/gstbin.c: (GST_START_TEST):
18483         * check/gst/gstmessage.c: (GST_START_TEST):
18484         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18485         * gst/gstbin.c: (bin_bus_handler):
18486         * gst/gstelement.c: (gst_element_commit_state),
18487         (gst_element_lost_state):
18488         * gst/gstmessage.c: (gst_message_new_state_changed),
18489         (gst_message_new_segment_start), (gst_message_new_segment_done),
18490         (gst_message_new_duration), (gst_message_parse_state_changed),
18491         (gst_message_parse_segment_start),
18492         (gst_message_parse_segment_done), (gst_message_parse_duration):
18493         * gst/gstmessage.h:
18494         * tools/gst-launch.c: (event_loop):
18495         Make messages future proof.
18496         state-change gets a flag if it was a message comming from the
18497         streaming thread.
18498         segment-start/stop can also be specified in other formats.
18499         A message to notify an app that a pipeline changed playback 
18500         duration.
18501         Also fix a GstMessage leak in -launch
18502
18503 2005-10-18  Andy Wingo  <wingo@pobox.com>
18504
18505         * gst/gstelement.c (gst_element_dispose): More helpful message.
18506
18507 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18508
18509         reviewed by: <delete if not using a buddy>
18510
18511         * common/gtk-doc.mak:
18512
18513 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18514
18515         * gst/gstregistry.c: (gst_registry_scan_path_level):
18516           unref a plug-in we get that was already initialized
18517
18518 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
18519
18520         * docs/gst/gstreamer-sections.txt:
18521         * docs/libs/gstreamer-libs-sections.txt:
18522         * gst/gstelement.h:
18523           add new api entries
18524           hide internal macro
18525
18526 2005-10-17  Andy Wingo  <wingo@pobox.com>
18527
18528         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
18529         cleanup.
18530
18531         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
18532
18533         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
18534
18535         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
18536         (gst_element_get_state_func): Better debug message.
18537         (gst_element_commit_state): s/INFO/DEBUG/.
18538         (gst_element_lost_state, gst_element_change_state): 
18539
18540         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
18541         (gst_message_new_custom): s/INFO/LOG/.
18542
18543 2005-10-17  Michael Smith <msmith@fluendo.com>
18544
18545         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18546           Check if end time is valid using end time, not start time.
18547
18548 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
18549
18550         * check/gst-libs/controller.c: (GST_START_TEST),
18551         (gst_controller_suite):
18552         * libs/gst/controller/gstcontroller.c:
18553         (gst_controlled_property_set_interpolation_mode):
18554         * libs/gst/controller/gstcontroller.h:
18555         * libs/gst/controller/gstinterpolation.c:
18556         * testsuite/controller/.cvsignore:
18557         * testsuite/controller/Makefile.am:
18558         * testsuite/controller/interpolator.c:
18559           merge controller testsuites
18560           fix broken tests
18561           remove mem-chunk from docs
18562
18563 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18564
18565         * gst/gstmemchunk.c:
18566         * gst/gstmemchunk.h:
18567         * gst/gsttrashstack.c:
18568         * gst/gsttrashstack.h:
18569           out.  get out.  you're fired.  to the Attic !
18570
18571 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18572
18573         * gst/gstcaps.c: (gst_caps_intersect):
18574           fix signedness issues in a (hopefully) correct way
18575         * gst/gstelement.c: (gst_element_pads_activate):
18576           some debugging
18577         * gst/gstobject.c: (gst_object_set_parent):
18578           some debugging
18579
18580 2005-10-17  Julien MOUTTE  <julien@moutte.net>
18581
18582         * gst/gstvalue.h: Fix prototypes.
18583
18584 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18585
18586         * docs/gst/gstreamer-sections.txt:
18587         * gst/gst.c: (gst_version_string):
18588         * gst/gst.h:
18589         * gst/gstversion.h.in:
18590         * win32/common/libgstreamer.def:
18591           add gst_version_string ()
18592
18593 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18594
18595         * configure.ac:
18596           clean up further
18597         * gst/gst.c: (init_post):
18598         * win32/common/config.h.in:
18599           it's PLUGINDIR now
18600         * gst/gstcaps.c: (gst_caps_intersect):
18601           use gint64, the range could be bigger than a guint
18602
18603 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18604
18605         * gst/gstclock.h:
18606           document potential problem in 2038
18607
18608 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18609
18610         * gst/gstcaps.c: (gst_caps_intersect):
18611           Fix guint j diving under 0
18612
18613 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18614
18615         * configure.ac:
18616         * win32/common/config.h:
18617         * win32/common/config.h.in:
18618           check for process.h, declares getpid() on Windows
18619         * gst/gstinfo.c:
18620           include process.h if we have it
18621         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
18622         * gst/gstmemchunk.h:
18623           fix signedness issues
18624         * win32/common/libgstreamer.def:
18625           fix get_type's
18626
18627 2005-10-16  Julien MOUTTE  <julien@moutte.net>
18628
18629         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
18630         fix. Because of unsigned ints, caps intersection was going nuts and
18631         trying to access structures with G_MAXUINT index. That fixes
18632         videotestsrc ! ffmpegcolorspace ! fakesink
18633         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
18634         consistency.
18635
18636 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18637
18638         * configure.ac:
18639           use the gettext macro
18640         * gst/elements/gstelements.c:
18641         * gst/gst.c:
18642         * gst/indexers/gstindexers.c:
18643           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
18644         * win32/common/config.h:
18645           updated config.h
18646         * win32/common/config.h.in:
18647           add the template to generate config.h
18648         * win32/common/gstenumtypes.c:
18649         * win32/common/gstversion.h:
18650           updated copies
18651
18652 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18653
18654         * gst/gst.c: (gst_version):
18655         * gst/gstversion.h.in:
18656           add the nano
18657
18658 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18659
18660         * gst/gstevent.h:
18661           Oops, add missing closing bracket.
18662
18663 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18664
18665         * configure.ac:
18666           use common m4's for argument checking
18667
18668 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18669
18670         * docs/gst/gstreamer-sections.txt:
18671         * gst/gstevent.h:
18672           Add GST_EVENT_TYPE_NAME() macro.
18673
18674 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18675
18676         * gst/gstinfo.c:
18677         * gst/gstpluginfeature.c:
18678         * gst/gsttask.c:
18679           privatize more symbols
18680
18681 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18682
18683         * configure.ac:
18684           add srcdir, builddir includes to GST_ALL_CFLAGS, since
18685           everything that uses GStreamer API should have the includes
18686
18687 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18688
18689         * docs/gst/gstreamer-sections.txt:
18690         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
18691         * gst/gstvalue.h:
18692           give each value a _get_type, removes the DATA exports
18693
18694 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18695
18696         * gst/gst.c:
18697         * gst/gst.h:
18698           remove _gst_registry_auto_load, not used anymore
18699         * gst/gstbin.c: (gst_bin_get_type):
18700         * gst/gstbin.h:
18701         * gst/gstelement.c: (gst_element_get_type):
18702         * gst/gstelement.h:
18703         * gst/gstobject.c: (gst_object_get_type):
18704         * gst/gstobject.h:
18705         * gst/gstpad.c: (gst_pad_get_type):
18706         * gst/gstpad.h:
18707           make _get_type functions similar, fixes data export from library
18708
18709 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18710
18711         * configure.ac:
18712           correctly make conditionals
18713         * gst/elements/Makefile.am:
18714         * gst/elements/gstelements.c:
18715           fix typo causing fdsrc not to build
18716
18717 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18718
18719         * testsuite/Makefile.am:
18720         * testsuite/bytestream/.cvsignore:
18721         * testsuite/bytestream/Makefile.am:
18722         * testsuite/bytestream/filepadsink.c:
18723         * testsuite/bytestream/gstbstest.c:
18724         * testsuite/bytestream/test1.c:
18725         * testsuite/bytestream/testfile1:
18726         * testsuite/caps/normalisation.c:
18727         * testsuite/caps/random.c: (main):
18728         * testsuite/cleanup/.cvsignore:
18729         * testsuite/cleanup/Makefile.am:
18730         * testsuite/cleanup/cleanup1.c:
18731         * testsuite/cleanup/cleanup2.c:
18732         * testsuite/cleanup/cleanup3.c:
18733         * testsuite/cleanup/cleanup4.c:
18734         * testsuite/cleanup/cleanup5.c:
18735         * testsuite/controller/interpolator.c:
18736         * testsuite/debug/printf_extension.c: (main):
18737         * testsuite/elements/tee.c:
18738         * testsuite/negotiation/.cvsignore:
18739         * testsuite/negotiation/Makefile.am:
18740         * testsuite/negotiation/pad_link.c:
18741         * testsuite/pad/Makefile.am:
18742         * testsuite/pad/chainnopull.c:
18743         * testsuite/pad/getnopush.c:
18744         * testsuite/pad/link.c:
18745         * testsuite/refcounting/sched.c: (create_pipeline):
18746         * testsuite/registry/Makefile.am:
18747         * testsuite/registry/gst-print-formats.c:
18748         * testsuite/schedulers/.cvsignore:
18749         * testsuite/schedulers/142183-2.c:
18750         * testsuite/schedulers/142183.c:
18751         * testsuite/schedulers/143777-2.c:
18752         * testsuite/schedulers/143777.c:
18753         * testsuite/schedulers/147713.c:
18754         * testsuite/schedulers/147819.c:
18755         * testsuite/schedulers/147894-2.c:
18756         * testsuite/schedulers/147894.c:
18757         * testsuite/schedulers/Makefile.am:
18758         * testsuite/schedulers/group_link.c:
18759         * testsuite/schedulers/queue_link.c:
18760         * testsuite/schedulers/relink.c:
18761         * testsuite/schedulers/unlink.c:
18762         * testsuite/schedulers/unref.c:
18763         * testsuite/schedulers/useless_iteration.c:
18764         * testsuite/states/bin.c:
18765           clean out/remove some stuff from the testsuite directories
18766
18767 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18768
18769         * configure.ac:
18770           check for some headers
18771         * gst/elements/Makefile.am:
18772         * gst/elements/gstelements.c:
18773           don't compile fdsrc without sys/socket.h
18774         * gst/indexers/Makefile.am:
18775         * gst/indexers/gstindexers.c: (plugin_init):
18776           don't compile fileindex without mmap
18777
18778 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18779
18780         * configure.ac:
18781           reorganize
18782           clean up
18783           document more
18784           remove cruft
18785         * check/Makefile.am:
18786         * docs/gst/Makefile.am:
18787         * examples/helloworld/Makefile.am:
18788         * gst/Makefile.am:
18789         * gst/base/Makefile.am:
18790         * gst/check/Makefile.am:
18791         * gst/elements/Makefile.am:
18792         * gst/indexers/Makefile.am:
18793         * gst/parse/Makefile.am:
18794         * libs/gst/controller/Makefile.am:
18795         * libs/gst/dataprotocol/Makefile.am:
18796         * examples/helloworld/helloworld.c: (event_loop):
18797           compile fixes, though it's not being compiled currently
18798
18799 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18800
18801         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
18802           Add some simple tests for the new taglist date API.
18803
18804 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18805
18806         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
18807         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
18808           Beautify 'last-message' output: print 'none' for buffer timestamps
18809           and durations if none is set; improve alignment with next messages.
18810
18811 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
18812
18813         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
18814         * gst/gstpluginfeature.h:
18815         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
18816         * gst/gstregistry.h:
18817         * docs/gst/gstreamer-sections.txt:
18818           Add new API to check plugin feature version requirements.
18819
18820         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
18821           Some basic tests for the above.         
18822
18823 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18824
18825         * gst/gststructure.c: (gst_structure_to_string):
18826           guard against NULL printf - happens when for example
18827           a message structure with GstClock gets serialized
18828
18829 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
18830
18831         * gst/base/gstcollectpads.c: (gst_collectpads_event):
18832           Fix presumable copy'n'pasto.
18833
18834 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18835
18836         * gst/elements/gstfakesrc.h:
18837         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
18838         * gst/elements/gsttypefindelement.c:
18839           fix some signedness
18840         * gst/elements/gstfilesink.c: (gst_file_sink_render):
18841           I wonder if this could actually write +2GB files before
18842
18843 2005-10-13  Andy Wingo  <wingo@pobox.com>
18844
18845         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
18846         Fix Timmeke Waymans bug.
18847         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
18848         string of the proper length to gst_caps_from_string. There's a
18849         potential for, before this fix, that this could cause someone
18850         connecting over the network to cause a segfault if the payload is
18851         not NUL-terminated.
18852
18853 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
18854
18855         * docs/design/draft-push-pull.txt:
18856         * docs/design/part-overview.txt:
18857         * docs/random/TODO-pre-0.9:
18858         * docs/random/old/ChangeLog.gstreamer:
18859         * gst/base/gstpushsrc.c:
18860         * gst/gstclock.c:
18861           fixed typos
18862
18863 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18864
18865         * gst/glib-compat.c: (gst_flags_get_first_value):
18866         * gst/glib-compat.h:
18867         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
18868         (gst_value_compare_double), (gst_value_serialize_flags):
18869           GLib 2.6 g_flags_get_first_value has a bug that triggers an
18870           infinite loop
18871
18872 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18873
18874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18875         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18876           fix up debugging
18877         * tools/gst-launch.c: (event_loop):
18878           print out clock nicely
18879
18880 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
18881
18882         * docs/gst/gstreamer-sections.txt:
18883         * gst/gsttaglist.h:
18884         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
18885         (gst_tag_list_get_date_index):
18886           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
18887           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
18888
18889 2005-10-13  Julien MOUTTE  <julien@moutte.net>
18890
18891         * gst/base/gstcollectpads.c: (gst_collectpads_event),
18892         (gst_collectpads_chain):
18893         * gst/base/gstcollectpads.h: Handle newsegment and store informations
18894         in CollectData.
18895
18896 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
18897
18898         * docs/gst/gstreamer-sections.txt:
18899         * gst/gst.c:
18900         * gst/gsterror.h:
18901         * tools/gst-inspect.c: (main):
18902         * tools/gst-launch.c: (main):
18903         * tools/gst-run.c: (main):
18904         * tools/gst-xmlinspect.c: (main):
18905           fix GOption context leaks
18906           doc fixes
18907
18908 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18909
18910         * gst/gstbus.c:
18911           use HAVE_UNISTD_H
18912         * win32/common/config.h:
18913           update config
18914         * win32/vs6/grammar.dsp:
18915         * win32/vs6/libgstelements.dsp:
18916         * win32/vs6/libgstreamer.dsp:
18917           update vs6 files
18918
18919 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18920
18921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18922         * gst/base/gstbasesrc.c: (gst_base_src_query):
18923           fix more guint64<->gdouble conversions
18924
18925 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18926
18927         * Makefile.am:
18928           add win32-update target
18929         * win32/common/gstconfig.h:
18930         * win32/common/gstenumtypes.c:
18931         * win32/common/gstenumtypes.h:
18932         * win32/common/gstversion.h:
18933           add files that visual studio can't generate
18934
18935 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18936
18937         * Makefile.am:
18938           add a win32-update target
18939         * configure.ac:
18940
18941 2005-10-12  Wim Taymans  <wim@fluendo.com>
18942
18943         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18944         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
18945         * gst/gstelement.c: (gst_element_commit_state),
18946         (gst_element_set_state):
18947         Protect flags with proper lock.
18948         unref provided cached clock in dispose.
18949
18950 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
18951
18952         * gst/gst.c:
18953         * gst/gstminiobject.h:
18954         * gst/gstpad.h:
18955         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
18956           removed unused flags from miniobject
18957           doc fixes
18958
18959 2005-10-12  Wim Taymans  <wim@fluendo.com>
18960
18961         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18962         (gst_file_sink_event), (gst_file_sink_render):
18963         Flush before seeking.
18964
18965 2005-10-12  Andy Wingo  <wingo@pobox.com>
18966
18967         * gst/gst.c (gst_init_check): Ignore unknown options, as has
18968         always been the case.
18969
18970 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
18971
18972         * check/gst/gstbin.c: (GST_START_TEST):
18973         * docs/gst/gstreamer-sections.txt:
18974         * gst/base/gstbasesink.c: (gst_base_sink_init):
18975         * gst/base/gstbasesrc.c: (gst_base_src_init),
18976         (gst_base_src_get_range), (gst_base_src_check_get_range),
18977         (gst_base_src_start), (gst_base_src_stop):
18978         * gst/base/gstbasesrc.h:
18979         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
18980         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18981         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
18982         (bin_bus_handler):
18983         * gst/gstbin.h:
18984         * gst/gstbuffer.h:
18985         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
18986         * gst/gstbus.h:
18987         * gst/gstelement.c: (gst_element_is_locked_state),
18988         (gst_element_set_locked_state), (gst_element_commit_state),
18989         (gst_element_set_state):
18990         * gst/gstelement.h:
18991         * gst/gstindex.c: (gst_index_init):
18992         * gst/gstindex.h:
18993         * gst/gstminiobject.h:
18994         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
18995         (gst_object_set_parent):
18996         * gst/gstobject.h:
18997         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
18998         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
18999         * gst/gstpad.h:
19000         * gst/gstpadtemplate.h:
19001         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
19002         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
19003         * gst/gstpipeline.h:
19004         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19005         (gst_file_index_commit):
19006         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
19007         * testsuite/pad/link.c: (gst_test_src_init),
19008         (gst_test_filter_init), (gst_test_sink_init):
19009         * testsuite/states/locked.c: (main):
19010           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
19011           moved bitshift from macro to enum definition
19012
19013 2005-10-12  Wim Taymans  <wim@fluendo.com>
19014
19015         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
19016         * gst/elements/gstfilesink.c: (gst_file_sink_event),
19017         (gst_file_sink_render):
19018         Some more debugging info.
19019
19020 2005-10-12  Wim Taymans  <wim@fluendo.com>
19021
19022         * docs/design/part-states.txt:
19023         * tools/gst-launch.c: (main):
19024         Some doc updates.
19025         Revert non-intentional change.
19026
19027 2005-10-12  Wim Taymans  <wim@fluendo.com>
19028
19029         * check/gst/gstbin.c: (GST_START_TEST):
19030         * check/gst/gstelement.c: (GST_START_TEST):
19031         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
19032         * check/gst/gstghostpad.c: (GST_START_TEST):
19033         * check/gst/gstpipeline.c: (GST_START_TEST):
19034         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19035         * check/states/sinks.c: (GST_START_TEST):
19036         * gst/elements/gsttypefindelement.c: (stop_typefinding):
19037         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19038         (gst_bin_remove_func), (gst_bin_get_state_func),
19039         (gst_bin_recalc_state), (gst_bin_change_state_func),
19040         (bin_bus_handler):
19041         * gst/gstelement.c: (gst_element_get_state_func),
19042         (gst_element_get_state), (gst_element_abort_state),
19043         (gst_element_commit_state), (gst_element_set_state),
19044         (gst_element_change_state), (gst_element_change_state_func):
19045         * gst/gstelement.h:
19046         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
19047         (gst_pipeline_provide_clock_func):
19048         * gst/gstutils.c: (gst_element_link_pads_filtered):
19049         * tools/gst-launch.c: (main):
19050         * tools/gst-typefind.c: (main):
19051         Use GstClockTime in _get_state() instead of GTimeVal.
19052         Remove old code in gstutils.c
19053
19054 2005-10-12  Andy Wingo  <wingo@pobox.com>
19055
19056         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
19057         removed.
19058
19059         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
19060         there is no task. Shouldn't affect any code, as nothing in our
19061         plugins checks this return value.
19062         (gst_pad_stop_task): Also take the stream lock if the pad has no
19063         task. Docs updated.
19064
19065 2005-10-12  Wim Taymans  <wim@fluendo.com>
19066
19067         * gst/gstpad.c: (pre_activate), (post_activate),
19068         (gst_pad_activate_pull), (gst_pad_activate_push):
19069         Cleanup activation code. Reset old state if
19070         activation failed.
19071
19072 2005-10-12  Wim Taymans  <wim@fluendo.com>
19073
19074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19075         (gst_base_sink_change_state):
19076         No need to prerol after receiving EOS.
19077
19078         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19079         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
19080         * gst/elements/gstidentity.c: (gst_identity_event):
19081         Print events more verbosely.
19082
19083 2005-10-12  Wim Taymans  <wim@fluendo.com>
19084
19085         * check/Makefile.am:
19086         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19087         * check/states/sinks2.c:
19088         Moved sinks2 testcode in sinks check.
19089
19090         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19091         (gst_bin_remove_func), (gst_bin_recalc_state),
19092         (gst_bin_change_state_func), (bin_bus_handler):
19093         Fix potential race condition when _get_state() iterated over an
19094         ASYNC element right before it posted a state completion.
19095
19096         * gst/gstclock.h:
19097         Do proper cast here.
19098
19099         * gst/gstevent.c: (gst_event_new_newsegment),
19100         (gst_event_parse_newsegment):
19101         A playback rate of 0.0 is not allowed.
19102
19103 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19104
19105         * win32/common/config.h:
19106         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
19107         (_trewinddir), (_ttelldir), (_tseekdir):
19108         * win32/common/dirent.h:
19109         * win32/common/gtchar.h:
19110         * win32/common/libgstbase.def:
19111         * win32/common/libgstreamer.def:
19112         * win32/vs6/grammar.dsp:
19113         * win32/vs6/gst_inspect.dsp:
19114         * win32/vs6/gst_launch.dsp:
19115         * win32/vs6/gstreamer.dsw:
19116         * win32/vs6/libgstbase.dsp:
19117         * win32/vs6/libgstelements.dsp:
19118         * win32/vs6/libgstreamer.dsp:
19119           Visual Studio 6 project files, and a new common directory.
19120           Phear.
19121
19122 2005-10-11  Wim Taymans  <wim@fluendo.com>
19123
19124         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19125         (gst_base_sink_do_sync), (gst_base_sink_query),
19126         (gst_base_sink_change_state):
19127         * gst/base/gstbasesink.h:
19128         Correctly parse newsegment info.
19129
19130 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19131
19132         * gst/gst.c: (init_post):
19133           split plugin paths correctly
19134
19135 2005-10-11  Wim Taymans  <wim@fluendo.com>
19136
19137         * check/gst/gstevent.c: (GST_START_TEST):
19138         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19139         (gst_base_sink_change_state):
19140         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
19141         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19142         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19143         * gst/gstevent.c: (gst_event_new_newsegment),
19144         (gst_event_parse_newsegment):
19145         * gst/gstevent.h:
19146         Added extra flag to newsegment for future API freeze.
19147         Updated check and base elements.
19148
19149 2005-10-11  Julien MOUTTE  <julien@moutte.net>
19150
19151         * gst/base/gstcollectpads.c: (gst_collectpads_init),
19152         (gst_collectpads_add_pad), (gst_collectpads_pop),
19153         (gst_collectpads_event), (gst_collectpads_chain):
19154         * gst/base/gstcollectpads.h: Handle EOS correctly.
19155
19156 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19157
19158         * tools/gst-launch.c: (main):
19159           more null protecting
19160
19161 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19162
19163         * gst/gst-i18n-lib.h:
19164           check for ENABLE_NLS, not GETTEXT_PACKAGE
19165         * gst/gstregistry.c: (gst_registry_add_plugin),
19166         (gst_registry_scan_path_level),
19167         (_gst_registry_remove_cache_plugins):
19168           protect possibly NULL strings
19169         * gst/parse/types.h:
19170           config.h already included before
19171         * tools/gst-inspect.c: (main):
19172           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
19173           check for ENABLE_NLS, not GETTEXT_PACKAGE
19174         * tools/gst-launch.c: (main):
19175           check for ENABLE_NLS, not GETTEXT_PACKAGE
19176
19177 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19178
19179         * configure.ac:
19180           if we don't have glib, fail before testing 2.8
19181         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
19182           fix a leak, should fix plugins-base testsuite
19183
19184 2005-10-11  Andy Wingo  <wingo@pobox.com>
19185
19186         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
19187         take the mode we're going to as an arg. Go head and set the mode
19188         and flushing flags now, so that if the activate function starts a
19189         thread all the flags will be in the right state.
19190         (post_activate): Renamed also. Just handle making sure streaming
19191         finishes for the deactivation case, and setting the deactivated
19192         mode.
19193         (gst_pad_set_active): Complain loudly if deactivation fails.
19194         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
19195         (gst_pad_activate_push): Adapt to pre/post_activate changes,
19196         remove the terrible hack.
19197
19198 2005-10-11  Wim Taymans  <wim@fluendo.com>
19199
19200         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19201         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
19202         (gst_bin_recalc_state), (gst_bin_change_state_func),
19203         (gst_bin_dispose), (bin_bus_handler):
19204         * gst/gstbin.h:
19205         Prepare to make current EOS message queue more generic.
19206         Fix some typos.
19207
19208         * gst/gstevent.c: (gst_event_new_newsegment),
19209         (gst_event_parse_newsegment):
19210         * gst/gstevent.h:
19211         Rename base to stream_time.
19212
19213         * gst/gstmessage.h:
19214         Fix typo in docs.
19215
19216 2005-10-11  Wim Taymans  <wim@fluendo.com>
19217
19218         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19219         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
19220         (gst_bin_change_state_func), (bin_bus_handler):
19221         * gst/gstbin.h:
19222         Work on proper clock selection.
19223
19224 2005-10-11  Edward Hervey  <edward@fluendo.com>
19225
19226         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
19227         * libs/gst/controller/gstcontroller.h:
19228         Added GList* version of _remove_properties() in order to be able to wrap
19229         it in bindings.
19230
19231 2005-10-11  Wim Taymans  <wim@fluendo.com>
19232
19233         * docs/design/part-states.txt:
19234         Some more docs.
19235
19236         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
19237         (gst_bin_change_state_func), (bin_bus_handler):
19238         Doc updates. Don't distribute the same clock over and over again.
19239
19240         * gst/gstclock.c:
19241         * gst/gstclock.h:
19242         Doc updates.
19243
19244         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19245         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19246         (gst_pad_send_event):
19247         * gst/gstpad.h:
19248         Make probe emission threadsafe again.
19249         Register quarks and move _get_name() from utils.
19250         Doc updates.
19251
19252         * gst/gstpipeline.c: (gst_pipeline_class_init),
19253         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19254         Only redistribute the clock of it changed.
19255
19256         * gst/gstsystemclock.h:
19257         Doc updates. 
19258
19259         * gst/gstutils.c:
19260         * gst/gstutils.h:
19261         Moved the _flow_get_name() to GstPad.
19262
19263 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19264
19265         * check/gst-libs/gdp.c: (GST_START_TEST):
19266         * check/gst/gstcaps.c: (GST_START_TEST):
19267         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19268         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19269         (gst_dp_packet_from_caps):
19270           fix more valgrind warnings before turning up the heat
19271
19272 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19273
19274         * gst/parse/grammar.y:
19275           some cleanup before the hacking
19276
19277 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19278
19279         * gst/base/gstbasesrc.c: (gst_base_src_query):
19280           use conversions
19281         * gst/gstutils.c: (gst_guint64_to_gdouble),
19282         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19283         * gst/gstutils.h:
19284           externalize, basesrc uses it
19285           obviously the implementation needs testing
19286
19287 2005-10-10  Wim Taymans  <wim@fluendo.com>
19288
19289         * tests/sched/Makefile.am:
19290         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19291         (make_pipeline3), (make_pipeline4), (print_elem), (main):
19292
19293 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19294
19295         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19296           apparently converting from guint64 to double is not implemented
19297           on MSVC
19298
19299 2005-10-10  Wim Taymans  <wim@fluendo.com>
19300
19301         * check/Makefile.am:
19302         * check/generic/states.c: (GST_START_TEST):
19303         * check/gst/gstbin.c: (GST_START_TEST):
19304         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19305         * check/states/sinks.c: (GST_START_TEST):
19306         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19307         (main):
19308         Check fixes, use API as stated in design docs, remove hacks.
19309
19310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19311         (gst_base_sink_change_state):
19312         Catch stopping our task while we're shutting down.
19313
19314         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19315         (gst_bin_remove_func), (gst_bin_get_state_func),
19316         (gst_bin_recalc_state), (gst_bin_change_state_func),
19317         (bin_bus_handler):
19318         * gst/gstbin.h:
19319         * gst/gstelement.c: (gst_element_init),
19320         (gst_element_get_state_func), (gst_element_abort_state),
19321         (gst_element_commit_state), (gst_element_lost_state),
19322         (gst_element_set_state), (gst_element_change_state),
19323         (gst_element_change_state_func):
19324         * gst/gstelement.h:
19325         New state change algorithm (see #318116)
19326
19327         * gst/gstpipeline.c: (gst_pipeline_class_init),
19328         (gst_pipeline_init), (gst_pipeline_set_property),
19329         (gst_pipeline_get_property), (do_pipeline_seek),
19330         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19331         * gst/gstpipeline.h:
19332         Remove crude state change hacks.
19333
19334         * gst/gstutils.h:
19335         Remove crude hacks.
19336
19337         * tools/gst-launch.c: (main):
19338         Fixes for state change. Needs some more work to fully use the
19339         new stuff.
19340
19341 2005-10-10  Andy Wingo  <wingo@pobox.com>
19342
19343         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19344
19345         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19346         this flag, but it's not even in GLib 2.6. Odd. Hack around the
19347         issue.
19348
19349 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19350
19351         * gst/gstiterator.c: (gst_iterator_new):
19352           Fix my previous commit: GTypes passed to gst_iterator_new()
19353           can be fundamental types.
19354
19355 2005-10-10  Wim Taymans  <wim@fluendo.com>
19356
19357         * gst/gstelement.c: (gst_element_iterate_pad_list),
19358         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19359         (gst_element_iterate_sink_pads):
19360         Use src/sink pads lists for the respective iterators instead
19361         of filtering.
19362
19363 2005-10-10  Andy Wingo  <wingo@pobox.com>
19364
19365         Merged in popt removal + GOption addition patch from Ronald, bug
19366         #169772.
19367
19368         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19369         GstElement macros around, remove popt-related symbols, add goption
19370         stuff.
19371
19372         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19373         
19374         * docs/gst/Makefile.am:
19375         * docs/libs/Makefile.am: No POPT_CFLAGS.
19376         
19377         * examples/manual/Makefile.am:
19378         * docs/manual/basics-init.xml: Doc updates with an example.
19379         
19380         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19381         (gst_init), (parse_one_option), (parse_goption_arg):
19382         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19383         bit of hand merging and debugging to get the GOption stuff working
19384         tho.
19385         
19386         * tests/Makefile.am:
19387         * tools/Makefile.am:
19388         * tools/gst-inspect.c: (main):
19389         * tools/gst-launch.c: (main):
19390         * tools/gst-run.c: (main):
19391         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19392
19393 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19394
19395         * gst/gstiterator.c: (gst_iterator_new):
19396           Add assertions to make sure passed GType is likely to really
19397           be a GType (as the compiler won't catch it if the size and
19398           GType arguments get mixed up, see #318447).
19399
19400 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
19401
19402         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19403
19404         * gst/gstbin.c: (gst_bin_iterate_sorted):
19405           Pass GType and size arguments to gst_iterator_new() in the right
19406           order (maybe we should make _new() take the GType as first argument
19407           just like _new_list()?) (#318447).
19408           
19409
19410 2005-10-10  Wim Taymans  <wim@fluendo.com>
19411
19412         * gst/gstelement.c: (gst_element_finalize):
19413         And free the GStaticRecMutex too
19414
19415 2005-10-10  Andy Wingo  <wingo@pobox.com>
19416
19417         * gst/gstelement.c (gst_element_init, gst_element_finalize):
19418         Allocate and free the mutex properly.
19419
19420         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19421         New macros.
19422         (GstElement): The state_lock is now recursive. Rebuild your
19423         plugins, suckers. Old macros adapted.
19424
19425         * docs/gst/gstreamer-sections.txt: Doc updates.
19426
19427         * gst/gstutils.h:
19428         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
19429         (g_static_rec_cond_wait): Ported from state changes patch, while
19430         we wait on bug #317802 to be solved in a well-distributed GLib.
19431
19432         * gst/gstelement.c (gst_element_change_state_func): Renamed from
19433         gst_element_change_state, variable name changes.
19434         (gst_element_change_state): Split out of gst_element_set_state in
19435         preparation for the state change merge. Doesn't pay attention to
19436         the 'transition' argument.
19437         (gst_element_set_state): Updates, hopefully purely cosmetic.
19438         (gst_element_sync_state_with_parent): MT-safety. Ported from the
19439         state change patch.
19440         (gst_element_get_state_func): Renamed from get_state, cosmetic
19441         changes.
19442
19443 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19444
19445         * gst/elements/gstelements.c:
19446         * win32/GStreamer.vcproj:
19447         * win32/config.h:
19448         * win32/dirent.c: (_tseekdir):
19449         * win32/gst-inspect.vcproj:
19450         * win32/gst-launch.vcproj:
19451         * win32/gstconfig.h:
19452         * win32/gstelements.vcproj:
19453         * win32/gstenumtypes.c: (gst_object_flags_get_type):
19454         * win32/gstreamer.def:
19455         * win32/msvc71.sln:
19456           updates for the win32 build (patch from Sebastien Moutte)
19457
19458 2005-10-10  Andy Wingo  <wingo@pobox.com>
19459
19460         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19461         gst_bin_get_state, cleaned up (but no logic changes).
19462         (bin_element_is_sink): Comment updates.
19463         (sink_iterator_filter): Remove needless cast.
19464         (gst_bin_iterate_sinks): Doc update.
19465         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19466         cleaned up (but no logic changes).
19467
19468         * check/states/sinks.c (test_src_sink): Cleanups from the state
19469         change patch.
19470         (test_livesrc_sink): Sync on the state.
19471
19472         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19473         the state change patch.
19474
19475         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19476         change patch.
19477
19478         * check/gst/gstbin.c: Merge in some style fixes and additional
19479         checks from Wim's state change patch.
19480
19481 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19482
19483         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19484         (gst_type_find_helper):
19485           Check whether we have the requested data already in our list of
19486           cached buffers before pulling a new buffer; also make the buffer
19487           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19488
19489 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19490
19491         * gst/gstcaps.c:
19492         * gst/gstevent.c:
19493           doc updates
19494         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19495           don't use long long, it's not portable.  Replacing with
19496           gint64 seems to work; let's hope no skeletons fall out of the closet.
19497
19498 2005-10-10  Andy Wingo  <wingo@pobox.com>
19499
19500         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19501
19502 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
19503
19504         * docs/gst/gstreamer-sections.txt:
19505         * gst/gstevent.c:
19506         * gst/gstevent.h:
19507         * gst/gstinfo.c:
19508         * gst/gstinfo.h:
19509         * gst/gstmessage.c: (gst_message_parse_state_changed):
19510         * gst/gstpad.c:
19511         * gst/gstpad.h:
19512           more docs, fix compilation
19513
19514 2005-10-09  Philippe Khalaf <burger@speedy.org>
19515         * gst/gstmessage.c:
19516           Fixed a few forgotten variables on previous commit
19517
19518 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
19519
19520         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19521           Fix evil typefind crasher: getrange() might return a short
19522           buffer at the end of a file, but gst_type_find_peek() must
19523           either return the full data as requested or NULL, but
19524           never a short buffer.
19525
19526 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19527
19528         * gst/gstmessage.c: (gst_message_new_state_changed),
19529         (gst_message_parse_state_changed):
19530         * gst/gstmessage.h:
19531           don't use "new", it's a C++ keyword
19532
19533 2005-10-08  Wim Taymans  <wim@fluendo.com>
19534
19535         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
19536         * gst/gstelement.c: (gst_element_post_message):
19537         * gst/gstpipeline.c: (gst_pipeline_change_state):
19538         Small docs and debug updates.
19539
19540 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19541
19542         * docs/gst/gstreamer-sections.txt:
19543         * gst/gstelementfactory.c:
19544         * gst/gstevent.c:
19545         * gst/gsttaglist.c:
19546           more docs
19547
19548 2005-10-08  Wim Taymans  <wim@fluendo.com>
19549
19550         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
19551         (gst_bin_dispose), (bin_bus_handler):
19552         Fix typos, add comments.
19553         Clear EOS list when going to PAUSED from any direction and do it
19554         in a threadsafe way.
19555         Get base time in a threadsafe way too.
19556         Fix confusing debug in the change_state function.
19557         Various other small cleanups.
19558         
19559         * gst/gstelement.c: (gst_element_post_message):
19560         Fix very verbose bus posting code.
19561
19562         * gst/gstpipeline.c: (gst_pipeline_class_init),
19563         (gst_pipeline_set_property), (gst_pipeline_get_property),
19564         (gst_pipeline_change_state):
19565         Small ARG_ -> PROP_ cleanup
19566
19567 2005-10-08  Wim Taymans  <wim@fluendo.com>
19568
19569         * gst/gstbin.c: (is_eos), (bin_bus_handler):
19570         Do a less CPU demanding EOS check because we can.
19571
19572 2005-10-08  Wim Taymans  <wim@fluendo.com>
19573
19574         * libs/gst/dataprotocol/dataprotocol.c:
19575         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
19576         (gst_dp_packet_from_event):
19577         * libs/gst/dataprotocol/dataprotocol.h:
19578         * libs/gst/dataprotocol/dp-private.h:
19579         It's about time we bump the version number.
19580         Since event types don't fit in the guint8 anymore describing
19581         the payload type, make payload type 16 bits wide.
19582
19583 2005-10-08  Wim Taymans  <wim@fluendo.com>
19584
19585         * docs/design/part-TODO.txt:
19586         * docs/design/part-clocks.txt:
19587         * docs/design/part-events.txt:
19588         * docs/design/part-gstbin.txt:
19589         * docs/design/part-gstelement.txt:
19590         * docs/design/part-gstpipeline.txt:
19591         * docs/design/part-live-source.txt:
19592         * docs/design/part-messages.txt:
19593         * docs/design/part-overview.txt:
19594         * docs/design/part-states.txt:
19595         Many doc updates.
19596
19597 2005-10-08  Wim Taymans  <wim@fluendo.com>
19598
19599         * gst/gstevent.c:
19600         * gst/gstevent.h:
19601         Fix event quark registration.
19602         Add some space between events so we can insert them in the
19603         right groups.
19604
19605 2005-10-08  Wim Taymans  <wim@fluendo.com>
19606
19607         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19608         (gst_base_sink_handle_buffer):
19609         Better log message.
19610
19611         * gst/gstbus.h:
19612         * gst/gstelement.h:
19613         More docs.
19614
19615         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19616         (gst_queue_set_property), (gst_queue_get_property):
19617         * gst/gstqueue.h:
19618         Remove old unused properties.
19619
19620 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19621         * docs/gst/gstreamer-sections.txt:
19622         * gst/gstmessage.c:
19623         * gst/gstmessage.h:
19624         * gst/gstminiobject.c:
19625         * gst/gstminiobject.h:
19626         * gst/gstobject.h:
19627         * gst/gstpad.h:
19628         * gst/gstutils.h:
19629           lots of new docs and doc fixes
19630
19631 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19632
19633         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
19634         * gst/gstplugin.h:
19635         * gst/gstregistry.c: (gst_registry_lookup_locked),
19636         (gst_registry_scan_path_level):
19637         * gst/gstregistryxml.c: (load_plugin):
19638           Only ever load one plugin for a given plugin basename.
19639           This ensures correct overriding of GST_PLUGIN_PATH over
19640           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
19641           system installed plugins.
19642
19643 2005-10-08  Wim Taymans  <wim@fluendo.com>
19644
19645         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19646         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
19647         Prepare for doing QOS.
19648
19649 2005-10-08  Wim Taymans  <wim@fluendo.com>
19650
19651         * check/gst/gstbin.c: (GST_START_TEST):
19652         * check/pipelines/cleanup.c: (GST_START_TEST):
19653         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19654         Allow new clock message too.
19655
19656 2005-10-08  Wim Taymans  <wim@fluendo.com>
19657
19658         * gst/gstmessage.c: (gst_message_new_error),
19659         (gst_message_new_warning), (gst_message_new_tag),
19660         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19661         (gst_message_new_clock_lost), (gst_message_new_new_clock),
19662         (gst_message_new_segment_start), (gst_message_new_segment_done),
19663         (gst_message_parse_state_changed),
19664         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
19665         (gst_message_parse_new_clock):
19666         * gst/gstmessage.h:
19667         Also carry the clock in question.
19668
19669 2005-10-08  Wim Taymans  <wim@fluendo.com>
19670
19671         * gst/gstmessage.c: (gst_message_new_custom),
19672         (gst_message_new_eos), (gst_message_new_error),
19673         (gst_message_new_warning), (gst_message_new_tag),
19674         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19675         (gst_message_new_new_clock), (gst_message_new_segment_start),
19676         (gst_message_new_segment_done), (gst_message_parse_state_changed),
19677         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
19678         * gst/gstmessage.h:
19679         Clean up.
19680         Added clock related messages.
19681
19682         * gst/gstpipeline.c: (gst_pipeline_change_state):
19683         Post message when the clock changed.
19684
19685         * tools/gst-launch.c: (event_loop):
19686         Print new clock.
19687
19688 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
19689
19690         * tools/gst-inspect.c: (print_element_properties_info):
19691           Can't pass NULL strings to g_print() on windows.
19692
19693 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19694
19695         * docs/Makefile.am:
19696         * docs/gst/Makefile.am:
19697         * docs/gst/gstreamer-docs.sgml:
19698         * docs/gst/running.xml:
19699         * docs/version.entities.in:
19700           add a chapter on running GStreamer.
19701           document GST_DEBUG and GST_PLUGIN* env vars
19702
19703 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19704
19705         * Makefile.am:
19706           remove include dir
19707         * configure.ac:
19708           remove PLUGINS_BUILDDIR stuff
19709         * gst/gst.c: (init_post):
19710           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
19711         * idiottest.mak:
19712           remove, it was condescending and not needed
19713
19714 2005-10-08  Wim Taymans  <wim@fluendo.com>
19715
19716         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
19717         (gst_base_sink_handle_object), (gst_base_sink_event),
19718         (gst_base_sink_wait), (gst_base_sink_handle_event),
19719         (gst_base_sink_change_state):
19720         * gst/base/gstbasesink.h:
19721         Repost EOS message while going to PLAYING if still EOS.
19722         Make sure that when receiving a FLUSH_START we don't attempt
19723         to sync on the clock anymore.
19724
19725 2005-10-08  Wim Taymans  <wim@fluendo.com>
19726
19727         * tools/gst-launch.c: (event_loop):
19728         Better message printout.
19729
19730 2005-10-08  Wim Taymans  <wim@fluendo.com>
19731
19732         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
19733         (gst_bin_child_proxy_get_children_count):
19734         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
19735         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
19736         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
19737         (gst_child_proxy_set_valist):
19738         * gst/parse/grammar.y:
19739         Make ChildProxy threadsafe and fix mem leaks.
19740
19741 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19742
19743         * gst/gst.c: (init_post):
19744           debug the GST_PLUGIN_ env vars
19745
19746 2005-10-08  Wim Taymans  <wim@fluendo.com>
19747
19748         * check/gst/gstbin.c: (GST_START_TEST):
19749         * check/gst/gstmessage.c: (GST_START_TEST):
19750         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19751         * gst/gstelement.c: (gst_element_commit_state),
19752         (gst_element_lost_state):
19753         * gst/gstmessage.c: (gst_message_new_state_changed),
19754         (gst_message_parse_state_changed):
19755         * gst/gstmessage.h:
19756         * tools/gst-launch.c: (event_loop):
19757         Added extra field to STATE_CHANGE message with the pending
19758         state, which will be different from the new state soon.
19759
19760 2005-10-08  Wim Taymans  <wim@fluendo.com>
19761
19762         * gst/gstbus.c: (gst_bus_pop):
19763         * gst/gstclock.c:
19764         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19765         Small cleanups and doc updates.
19766
19767 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19768
19769         * gst/gst.c: (init_pre):
19770         * gst/gstbin.c: (gst_bin_add_func):
19771           log distributing clocks and base time
19772         * gst/gstregistry.c: (gst_registry_add_plugin),
19773         (gst_registry_scan_path_level), (gst_registry_scan_path):
19774           clean up the debugging output a little
19775         * gst/gstutils.c: (gst_element_state_get_name):
19776           warn about a memleak (I've actually seen this be used, though
19777           it was probably a bug)
19778
19779 2005-10-07  Wim Taymans  <wim@fluendo.com>
19780
19781         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19782         (gst_base_src_init), (gst_base_src_default_newsegment),
19783         (gst_base_src_newsegment), (gst_base_src_do_seek),
19784         (gst_base_src_loop), (gst_base_src_start):
19785         * gst/base/gstbasesrc.h:
19786         Make the newsegment event customizable by subclasses.
19787
19788 2005-10-07  Wim Taymans  <wim@fluendo.com>
19789
19790         * gst/gstevent.c: (gst_event_new_buffersize),
19791         (gst_event_parse_buffersize):
19792         * gst/gstevent.h:
19793         New event for future idea.
19794
19795 2005-10-07  Andy Wingo  <wingo@pobox.com>
19796
19797         * gst/gstelement.c (gst_element_post_message): Doc update.
19798
19799         * docs/gst/gstreamer-sections.txt: Update.
19800
19801         * gst/gstmessage.c (gst_message_new_application): Made into a
19802         function like honest API calls.
19803         (gst_message_new_element): New message type.
19804
19805         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
19806
19807         * check/elements/fakesrc.c (test_no_preroll): New check, checks
19808         that setting a live fakesrc to PAUSED returns NO_PREROLL both
19809         times.
19810
19811         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
19812         NO_PREROLL from gst_element_change_state to fall through.
19813
19814 2005-10-07  Wim Taymans  <wim@fluendo.com>
19815
19816         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
19817         (gst_ghost_pad_do_activate_push):
19818         Activating a ghostpad with no internal pad in push mode
19819         is ok.
19820
19821 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19822
19823         * gst/gstobject.h:
19824           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
19825           Fixes compilation on Windows.
19826
19827 2005-10-07  Michael Smith <msmith@fluendo.com>
19828
19829         * tools/gst-inspect.c:
19830           Print out feature and plugin count at the end when printing out
19831           all features.
19832
19833 2005-10-04  Michael Smith <msmith@fluendo.com>
19834
19835         * gst/gsterror.c: (_gst_stream_errors_init):
19836           Add another error string used in a few existing plugins.
19837
19838         * gst/gstplugin.c:
19839         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19840         * tools/gst-inspect.c: (print_element_info):
19841           When a feature disappears from a plugin (and the feature exists in
19842           the cached registry file), things went horribly wrong. This isn't a
19843           complete fix, we should actually be removing the 'missing' features
19844           from the features list when we load the actual plugin. That's not
19845           yet implemented. 
19846
19847 2005-10-04  Johan Dahlin  <johan@gnome.org>
19848
19849         * check/gst/gstiterator.c: (GST_START_TEST):
19850         * gst/gstbin.c: (gst_bin_iterate_elements),
19851         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
19852         * gst/gstelement.c: (gst_element_iterate_pads):
19853         * gst/gstformat.c: (gst_format_iterate_definitions):
19854         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19855         (gst_iterator_new_list), (gst_iterator_filter):
19856         * gst/gstiterator.h:
19857         * gst/gstquery.c: (gst_query_type_iterate_definitions):
19858         Add a GType to GstIterator, update callsites and tests.
19859
19860 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19861
19862         * gst/gstpad.c: (gst_pad_event_default_dispatch):
19863           give events a chance to be handled by event probes when the pad
19864           is not linked
19865
19866 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19867
19868         * gst/gstevent.c: (gst_event_type_get_name),
19869         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
19870         * gst/gstevent.h:
19871           add string representations for event types
19872
19873 2005-10-06  Wim Taymans  <wim@fluendo.com>
19874
19875         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
19876         Don't use NULL pointers.
19877
19878 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19879
19880         * gst/gst_private.h:
19881         * gst/gstbus.c:
19882         * gst/gstelement.c:
19883         * gst/gstinfo.c:
19884         * gst/gstpluginfeature.c:
19885           widen the debug category in output to fit the biggest one we have
19886           add a bus category and use it
19887           play with the colors
19888           fix up some categories
19889
19890 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19891
19892         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
19893           add push activation of sink ghost pads.
19894           Andye, please verify
19895
19896 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19897
19898         * gst/gstutils.c: (gst_element_link_pads):
19899           fix a bug in the case where neither element has a pad
19900         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19901           add a test for that case
19902
19903 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19904
19905         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
19906           emit have-data before checking for peers.  This allows
19907           for probe handlers to connect elements.  This helps autopluggers.
19908         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
19909         (gst_pad_suite):
19910           add six checks, linked/unlinked with no/true/false probe
19911
19912 2005-10-04  Wim Taymans  <wim@fluendo.com>
19913
19914         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
19915         (gst_fake_sink_event), (gst_fake_sink_preroll),
19916         (gst_fake_sink_render), (gst_fake_sink_change_state):
19917         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
19918         (gst_fake_src_get_property), (gst_fake_src_create),
19919         (gst_fake_src_stop):
19920         * gst/elements/gstidentity.c: (gst_identity_stop):
19921         Protect last_message with lock.
19922
19923 2005-10-04  Edward Hervey  <edward@fluendo.com>
19924
19925         * gst/gstformat.h: 
19926         Added precision in the comments for GST_FORMAT_DEFAULT
19927
19928 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
19929
19930         * tools/gst-launch.c: (main):
19931           Don't try to run erroneous pipelines.
19932
19933 2005-10-04  Julien MOUTTE  <julien@moutte.net>
19934
19935         * gst/gstbus.c: We don't need this header.
19936
19937 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19938
19939         * configure.ac:
19940           back to development
19941
19942 === release 0.9.3 ===
19943
19944 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19945
19946         * README:
19947         * configure.ac:
19948           Releasing 0.9.3, "Unregistered"
19949
19950 2005-10-03  Andy Wingo  <wingo@pobox.com>
19951
19952         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
19953         whereby calling a pad's activatepush() function can start a thread
19954         that starts to push or pull before the pad gets the FLUSHING flag
19955         unset. Hack around it by holding the stream lock until the flag is
19956         set. Need to replace this with a proper solution. Together with
19957         the ghost pad fixes, this fixes mp3 playing/tagreading.
19958
19959         * docs/design/part-gstghostpad.txt: Add a note about activation of
19960         proxy pads outside of ghost pads.
19961
19962         * gst/gstghostpad.c: Implement the ghost pad activation design.
19963
19964 2005-10-02  Andy Wingo  <wingo@pobox.com>
19965
19966         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
19967         It is volatile, after all.
19968
19969         * docs/design/part-gstghostpad.txt: Flesh out activation with
19970         ghost pads.
19971
19972         * gst/base/gstbasesrc.c (gst_base_src_init): Use
19973         GST_DEBUG_FUNCPTR.
19974
19975 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
19976
19977         * configure.ac:
19978           Fix (unused) AM_CONDITIONAL tests.
19979
19980 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
19981
19982         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19983
19984         * gst/gstutils.c: (gst_pad_query_convert):
19985           Add assertion that makes sure src_val is >=0, just like
19986           gst_query_new_convert() has. (#315895)
19987
19988 2005-09-30  Edward Hervey  <edward@fluendo.com>
19989
19990         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
19991         Let's not iterate pads we're not interested in, it avoids getting 
19992         sky-high refcounts on sinkpad.
19993
19994 2005-09-30  Wim Taymans  <wim@fluendo.com>
19995
19996         * gst/gstelement.c: (gst_element_set_state),
19997         (gst_element_change_state):
19998         Small tweak, element in ASYNC remains ASYNC.
19999
20000 2005-09-30  Wim Taymans  <wim@fluendo.com>
20001
20002         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20003         Only error is an error.
20004
20005         * gst/gstbin.c: (gst_bin_change_state):
20006         Better debugging.
20007
20008         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
20009         Also call pad_block in pad alloc.
20010
20011         * gst/gstutils.c: (gst_flow_get_name):
20012         Better debugging.
20013
20014 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20015
20016         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20017         (gst_base_src_get_range):
20018           Fix documentation typos. Add some more debug info.
20019
20020 2005-09-29  David Schleef  <ds@schleef.org>
20021
20022         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
20023           more end-user friendly.
20024         * tools/gst-inspect.c: (main): Check if command-line argument is
20025           a file and attempt to load that file as a plugin.
20026
20027 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20028
20029         * check/gst/gstbin.c:
20030         * check/states/sinks.c:
20031           fix tests for the new warning
20032         * check/gst/gstpipeline.c:
20033           add a test for pipeline and bus interaction
20034         * gst/gstelement.c:
20035           elements should be NULL if they get disposed; add a warning if not
20036
20037 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20038
20039         * gst/gstobject.c:
20040           for 2.6 refcounting, make debug log more correct by printing
20041           the actual refcounts at the time of swap (Wim)
20042
20043 2005-09-29  Andy Wingo  <wingo@pobox.com>
20044
20045         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
20046         removes signal watches previously added via
20047         gst_bus_add_signal_watch.
20048         (gst_bus_add_signal_watch): Don't return the source id, just store
20049         it on the bus if there wasn't an id already.
20050
20051         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
20052         add_signal_watch and remove_signal_watch.
20053
20054 2005-09-29  Edward Hervey  <edward@fluendo.com>
20055
20056         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
20057         Better if we actually iterate the list :)
20058
20059 2005-09-29  Wim Taymans  <wim@fluendo.com>
20060
20061         * check/gst/gstbin.c: (GST_START_TEST):
20062         Change for new bus API.
20063
20064         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20065         (send_messages), (GST_START_TEST), (gstbus_suite):
20066         Change for new bus signal API.
20067
20068         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
20069         (gst_bus_source_prepare), (gst_bus_source_check),
20070         (gst_bus_create_watch), (gst_bus_add_watch_full),
20071         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
20072         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
20073         * gst/gstbus.h:
20074         Remove support for multiple GSources operating on different
20075         message types as it is too complex and unneeded when using
20076         signals.
20077         Added support for receiving signals from the bus.
20078
20079 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20080
20081         * docs/libs/tmpl/gstdataprotocol.sgml:
20082         * docs/manual/advanced-dataaccess.xml:
20083         * gst/elements/gstcapsfilter.c:
20084         * gst/gstutils.c:
20085           rename filter-caps to caps property
20086
20087 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20088
20089         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20090           More robust fraction string parsing.
20091
20092         * docs/pwg/appendix-porting.xml:
20093           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
20094
20095 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20096
20097         * gst/gstcaps.c: (gst_caps_do_simplify):
20098           Thou shalt not free a structure and then continue using it
20099           in the next loop iteration.
20100
20101         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
20102         (gst_caps_suite):
20103           Add test case for caps simplification.
20104
20105 2005-09-29  Wim Taymans  <wim@fluendo.com>
20106
20107         * check/gst/gstbin.c: (GST_START_TEST):
20108         Oops.
20109
20110 2005-09-29  Wim Taymans  <wim@fluendo.com>
20111
20112         * check/gst/gstbin.c: (GST_START_TEST):
20113         Add bus to bin.
20114
20115         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
20116         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20117         (find_element), (gst_bin_sort_iterator_next),
20118         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20119         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20120         (gst_bin_change_state), (gst_bin_dispose):
20121         A bin does not have a bus, it gets the bus from the parent.
20122
20123         * gst/gstelement.c: (gst_element_requires_clock),
20124         (gst_element_provides_clock), (gst_element_is_indexable),
20125         (gst_element_is_locked_state), (gst_element_change_state),
20126         (gst_element_set_bus_func):
20127         Small cleanups.
20128
20129         * gst/gstpipeline.c: (gst_pipeline_class_init),
20130         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
20131         The pipeline provides a bus.
20132
20133 2005-09-28  Johan Dahlin  <johan@gnome.org>
20134
20135         * gst/gstmessage.c (gst_message_parse_state_changed): Use
20136         gst_structure_get_enum instead of gst_structure_get_int
20137
20138         * gst/gststructure.c (gst_structure_get_enum): Impl.
20139
20140         * gst/gststructure.h (gst_structure_get_enum): Add
20141
20142         * docs/gst/gstreamer-sections.txt: Ditto
20143
20144         * gst/gstmessage.c (gst_message_new_state_changed): Use
20145         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
20146         which does introspection.
20147         Reviewed by Christian Schaller
20148
20149 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20150
20151         * gst/gstinfo.c: (gst_debug_log_default):
20152           don't do dummy g_strdup()s
20153         * libs/gst/controller/gstcontroller.c:
20154         (on_object_controlled_property_changed),
20155         (gst_controlled_property_new), (gst_controller_new_valist),
20156         (gst_controller_new_list),
20157         (gst_controller_remove_properties_valist), (gst_controller_set),
20158         (gst_controller_get), (gst_controller_sync_values),
20159         (gst_controller_get_value_array), (_gst_controller_class_init),
20160         (gst_controller_get_type):
20161         * libs/gst/controller/gstcontroller.h:
20162         * libs/gst/controller/gstinterpolation.c:
20163         (gst_controlled_property_find_timed_value_node):
20164           convert // to /**/ comments
20165
20166 2005-09-28  Wim Taymans  <wim@fluendo.com>
20167
20168         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
20169         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
20170         (gst_bus_sync_signal_handler):
20171         * gst/gstbus.h:
20172         Added async-message and sync-message signals to the bus.
20173         Added helper BusFunc to emit signals for all posted messages.
20174
20175         * gst/gstmessage.c: (gst_message_type_get_name),
20176         (gst_message_type_to_quark), (gst_message_get_type):
20177         * gst/gstmessage.h:
20178         Register quarks for message names.
20179
20180 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20181
20182         * docs/libs/gstreamer-libs-sections.txt:
20183         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
20184         (gst_controller_new_list):
20185         * libs/gst/controller/gstcontroller.h:
20186           added another constructor for language bindings
20187
20188 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20189
20190         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20191           add another check
20192         * gst/gstbus.c:
20193           add some doc
20194         * gst/gstinfo.c: (_gst_debug_init):
20195           slightly more readable color for refcount debugging
20196
20197 2005-09-28  Wim Taymans  <wim@fluendo.com>
20198
20199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20200         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20201         (find_element), (gst_bin_sort_iterator_next),
20202         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20203         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20204         (gst_bin_change_state), (gst_bin_dispose):
20205         Small doc fixes. get_clock -> provide_clock.
20206
20207         * gst/gstelement.c: (gst_element_class_init),
20208         (gst_element_provides_clock), (gst_element_provide_clock),
20209         (gst_element_get_clock), (gst_element_commit_state),
20210         (gst_element_lost_state):
20211         * gst/gstelement.h:
20212         Make get/set_clock() symetric. Add provide_clock vmethod since
20213         that is actually what this function does.
20214
20215         * gst/gstpipeline.c: (gst_pipeline_class_init),
20216         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
20217         (gst_pipeline_get_clock):
20218         get_clock -> provide_clock.
20219
20220 2005-09-28  Andy Wingo  <wingo@pobox.com>
20221
20222         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
20223         lieu of real docs...
20224
20225         * gst/elements/gstfdsrc.c: Cleaned up a bit.
20226
20227 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
20228
20229         * gst/elements/gstcapsfilter.c:
20230         * gst/elements/gstfakesink.c:
20231         * gst/elements/gstfakesrc.c:
20232         * gst/elements/gstfdsink.c:
20233         * gst/elements/gstfdsrc.c:
20234         * gst/elements/gstfilesink.c:
20235         * gst/elements/gstfilesrc.c:
20236         * gst/elements/gstidentity.c:
20237         * gst/elements/gsttee.c:
20238         * gst/elements/gsttypefindelement.c:
20239           Make element details static.
20240
20241 2005-09-28  Wim Taymans  <wim@fluendo.com>
20242
20243         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20244         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20245         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20246         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20247         (gst_bin_change_state), (gst_bin_dispose):
20248         Some documentation updates.
20249         Clean up dispose handlers.
20250
20251         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20252         * gst/gstpad.c: (gst_pad_dispose):
20253         Clean up dispose handler.
20254
20255         * gst/gstpipeline.c: (gst_pipeline_change_state):
20256         Removed spurious UNLOCK.
20257
20258 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
20259
20260         * docs/gst/gstreamer-sections.txt:
20261         * gst/base/gstbasesrc.h:
20262         * gst/gstelement.h:
20263         * gst/gstevent.h:
20264         * gst/gstobject.h:
20265         * gst/gstpad.h:
20266         * gst/gstpipeline.c:
20267         * gst/gstpipeline.h:
20268         * gst/gstutils.h:
20269         * gst/gstxml.h:
20270           added two new functions to the docs
20271                 documents all undocumented GstXXXFlags
20272                 completed some incomplete docs 
20273
20274 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20275
20276         * gst/gstbin.c: (gst_bin_dispose):
20277         * gst/gstelement.c: (gst_element_dispose):
20278           remove now useless and leaky resurrection code in dispose
20279         * gst/base/gstbasesrc.c: (gst_base_src_init):
20280         * gst/gstelementfactory.c: (gst_element_factory_create):
20281         * gst/gstobject.c: (gst_object_set_parent):
20282           add some debugging
20283
20284 2005-09-27  Wim Taymans  <wim@fluendo.com>
20285
20286         * docs/design/part-TODO.txt:
20287         Update TODO.
20288
20289         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20290         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20291         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20292         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20293         (gst_bin_change_state):
20294         * gst/gstelement.h:
20295         Remove element variable, we keep element info in the iterator now.
20296
20297 2005-09-27  Andy Wingo  <wingo@pobox.com>
20298
20299         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20300         values.
20301
20302 2005-09-27  Wim Taymans  <wim@fluendo.com>
20303
20304         * check/gst/gstbin.c: (GST_START_TEST):
20305         Enable check that works now.
20306
20307         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20308         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20309         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20310         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20311         (gst_bin_change_state):
20312         * gst/gstbin.h:
20313         Redid the state change algorithm using a topological sort algo.
20314         Handles all cases correctly.
20315         Exposed iterator for state change order.
20316
20317         * gst/gstelement.h:
20318         Temp storage for state changes. Need to get rid of this soon.
20319
20320 2005-09-27  Wim Taymans  <wim@fluendo.com>
20321
20322         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20323         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20324         (link_fold_func), (gst_pad_proxy_setcaps):
20325         Leak fixes, the fold functions need to unref the passed object and
20326         _get_parent_*() returns ref to parent.
20327
20328 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20329
20330         * check/gst/gstbuffer.c: (test_make_writable):
20331           Plug leak in test case and fix 'make check-valgrind'
20332
20333 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20334
20335         * gst/gstbuffer.c: (gst_subbuffer_init):
20336           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20337           works correctly in all circumstances (we could have just copied
20338           the parent buffer's readonly flag, but conceptually it seems
20339           cleaner to mark all subbuffers as read-only). (based on patch
20340           by Alessandro Decina, #314710).
20341         
20342         * check/gst/gstbuffer.c: (create_read_only_buffer),
20343         (test_make_writable), (test_subbuffer_make_writable),
20344         (gst_test_suite):
20345           Add some tests for gst_buffer_make_writable().
20346
20347 2005-09-27  Wim Taymans  <wim@fluendo.com>
20348
20349         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20350         use gst_object_has_ancestor().
20351
20352         * gst/gstobject.c: (gst_object_has_ancestor):
20353         * gst/gstobject.h:
20354         gst_object_has_ancestor() copied from gstbin.c as it is a
20355         useful function.
20356
20357         * tests/instantiate/create.c: (create_all_elements):
20358         * tests/lat.c: (handoff_src), (handoff_sink):
20359         * tests/sched/runxml.c: (main):
20360         * tests/seeking/seeking1.c: (main):
20361         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20362         (main):
20363         Fix compilation of some tests.
20364
20365 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20366
20367         * gst/gsterror.h:
20368           Remove comment. GST_TYPE_G_ERROR is here to stay,
20369           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20370           (#316961, #300610).
20371
20372 2005-09-26  Wim Taymans  <wim@fluendo.com>
20373
20374         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20375         Added check that shows error in state change order.
20376
20377 2005-09-26  Wim Taymans  <wim@fluendo.com>
20378
20379         * gst/gstbin.c: (gst_bin_change_state):
20380         Make state change function use 3 queues again, we were
20381         adding elements in the wrong order.
20382
20383         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20384         Some debug info,
20385
20386         * gst/gstpad.c: (gst_pad_dispose):
20387         Added some debug info first.
20388
20389 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
20390
20391         * docs/design/draft-push-pull.txt:
20392         * docs/design/part-events.txt:
20393         * docs/design/part-overview.txt:
20394         * docs/design/part-scheduling.txt:
20395           Replace all _pull_region() with _pull_range()
20396           
20397 2005-09-26  Andy Wingo  <wingo@pobox.com>
20398
20399         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20400
20401         * check/gst-libs/controller.c: Update for controller api change.
20402
20403         * configure.ac: 
20404         * tests/Makefile.am:
20405         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20406         over by GLib bug 118439.
20407         
20408         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20409         routines to a function.
20410
20411         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20412
20413         * libs/gst/controller/gsthelper.c:
20414         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20415         (gst_object_sync_values): Renamed from sink_values. Ugh.
20416
20417         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20418
20419         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20420         Renamed from controller_key, as it is exported.
20421
20422         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20423
20424 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20425
20426         * gst/Makefile.am:
20427         * gst/gst.h:
20428         * gst/gstpad.h:
20429         * gst/gstpadtemplate.h:
20430         * gst/gstquery.c:
20431         * gst/gstquery.h:
20432         * gst/gstqueryutils.c:
20433         * gst/gstqueryutils.h:
20434           remove queryutils headers after moving the two used functions
20435           to gstquery.  also fixes build problem for gstsiddec
20436
20437 2005-09-26  Michael Smith <msmith@fluendo.com>
20438
20439         * tools/gst-launch.1.in:
20440         Correct documentation in manpage of debug syntax
20441
20442 2005-09-26  Wim Taymans  <wim@fluendo.com>
20443
20444         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20445         (gst_base_src_is_seekable), (gst_base_src_change_state):
20446         Some more debugging info.
20447
20448 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20449
20450         * docs/gst/gstreamer-sections.txt:
20451         * gst/base/gstbasetransform.h:
20452         * gst/gstindex.h:
20453           added more docs
20454
20455 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20456
20457         * docs/gst/.cvsignore:
20458         * docs/gst/tmpl/.cvsignore:
20459         * docs/gst/tmpl/gstpipeline.sgml:
20460         * docs/gst/tmpl/gstplugin.sgml:
20461         * gst/gstpipeline.c:
20462         * gst/gstplugin.c:
20463         * gst/gstplugin.h:
20464           inlined the last two docs files
20465           removed the tmpl directory from cvs (no more conflicts here!)
20466
20467 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20468
20469         * docs/gst/gstreamer-sections.txt:
20470         * docs/gst/tmpl/.cvsignore:
20471         * docs/gst/tmpl/gstpad.sgml:
20472         * docs/gst/tmpl/gstpadtemplate.sgml:
20473         * gst/Makefile.am:
20474         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20475         (gst_pad_finalize), (gst_pad_set_pad_template):
20476         * gst/gstpad.h:
20477         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20478         (gst_pad_template_class_init), (gst_pad_template_init),
20479         (gst_pad_template_dispose), (name_is_valid),
20480         (gst_static_pad_template_get), (gst_pad_template_new),
20481         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20482         (gst_pad_template_pad_created):
20483         * gst/gstpadtemplate.h:
20484           inlined two more docs
20485           factored gstpadtemplate out of gstpad
20486
20487 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
20488
20489         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20490         (test_children_state_change_order_semi_sink):
20491           Fix test case: we can't rely on a fixed state change order when
20492           going from READY => PAUSED because the sink might commit its 
20493           new state first when the first buffer created by the source 
20494           reaches the sink before the source has finished its change state.
20495           (Test case still fails at times, see #316856, comment 5 onwards)
20496
20497 2005-09-24  Wim Taymans  <wim@fluendo.com>
20498
20499         * docs/design/part-events.txt:
20500         * docs/design/part-gstbus.txt:
20501         * docs/design/part-gstpipeline.txt:
20502         * docs/design/part-messages.txt:
20503         * docs/design/part-overview.txt:
20504         * docs/design/part-segments.txt:
20505         * gst/gstbin.c:
20506         * gst/gstbuffer.c:
20507         * gst/gstclock.c:
20508         * gst/gstelement.c:
20509         * gst/gstevent.c:
20510         * gst/gstfilter.c:
20511         * gst/gstiterator.c:
20512         Various documentation updates.
20513
20514 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20515
20516         * gst/gstclock.h:
20517           Well, that's embarassing.  Luckily we weren't using
20518           GST_CLOCK_DIFF anywhere.
20519
20520 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20521
20522         * common/gtk-doc.mak:
20523           don't fail on building XML, FC4 slave shows a bunch of doc
20524           missing bits that I don't get
20525         * gst/gstpad.c:
20526         * gst/gstpipeline.c:
20527         * gst/gststructure.c:
20528           some doc updates
20529
20530 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20531
20532         * docs/design/part-gstbin.txt:
20533         * docs/design/part-gstbus.txt:
20534         * gst/gstbus.c:
20535           Add blurb about how the bus goes into flushing mode and
20536           drops all messages when its bin goes from READY into NULL 
20537           state.
20538
20539 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20540
20541         * docs/gst/gstreamer-sections.txt:
20542         * gst/gststructure.c: (gst_structure_get_clock_time):
20543         * gst/gststructure.h:
20544           add a method to get a GstClockTime out of a structure
20545
20546 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20547
20548         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20549         (test_children_state_change_order_semi_sink), (gst_bin_suite):
20550           Added test to check state change order in bins (can still be made
20551           to fail here under heavy disk load; bails out with 'Push on pad
20552           fakesink:sink0, but it was not activated in push mode').
20553
20554         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
20555           Fix state change order when there is only a semi sink (#316856)
20556
20557         * gst/gstbus.c: (gst_bus_class_init):
20558           Use _class_peek_parent(), not _class_ref(); fix docs to say
20559           'default main context' instead of 'mainloop' where that is
20560           what's meant.
20561
20562         * gst/gstelement.c: (gst_element_commit_state),
20563         (gst_element_set_state):
20564           Fix typos in debug messages
20565
20566 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20567
20568         * docs/README:
20569         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
20570         * gst/gstpluginfeature.c:
20571         * gst/gstutils.c:
20572           various doc updates
20573         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20574           change an assert into an error until it gets fixed properly
20575
20576 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
20577
20578         * docs/gst/gstreamer-sections.txt:
20579         * docs/gst/tmpl/.cvsignore:
20580         * docs/gst/tmpl/gstelement.sgml:
20581         * docs/gst/tmpl/gstinfo.sgml:
20582         * docs/gst/tmpl/gstobject.sgml:
20583         * gst/gstelement.c:
20584         * gst/gstelement.h:
20585         * gst/gstinfo.c:
20586         * gst/gstinfo.h:
20587         * gst/gstobject.c: (gst_object_class_init):
20588         * gst/gstobject.h:
20589           inlined 3 more biiiig doc files and added some missing docs on the fly
20590
20591 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20592
20593         * check/gst/.cvsignore:
20594         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
20595         * gst/gstregistryxml.c: (load_plugin),
20596         (gst_registry_xml_save_plugin):
20597           put back source in registry.  add checks for find_plugin.
20598         * testsuite/states/bin.c: (assert_state), (empty_bin),
20599         (test_adding_one_element), (main):
20600         * testsuite/states/locked.c: (main):
20601           some compile/run fixes
20602
20603 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20604
20605         * check/gst/gstvalue.c: (GST_START_TEST):
20606           fix leaks in the test itself
20607
20608 2005-09-22  Wim Taymans  <wim@fluendo.com>
20609
20610         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20611         (gst_base_sink_send_event), (gst_base_sink_peer_query),
20612         (gst_base_sink_query):
20613         Prepare for more accurate position reporting and query
20614         handling.
20615
20616         * gst/gstelement.c: (gst_element_send_event),
20617         (gst_element_set_state):
20618         Add some comment.
20619
20620 2005-09-22  Wim Taymans  <wim@fluendo.com>
20621
20622         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
20623         (gst_query_parse_segment):
20624         * gst/gstquery.h:
20625         More documentation.
20626         Add segment query for future use.
20627
20628 2005-09-22  Wim Taymans  <wim@fluendo.com>
20629
20630         * gst/gstbin.c: (gst_bin_add_func):
20631         Some more debug info.
20632
20633         * gst/gstelement.c: (gst_element_send_event):
20634         Simplify send_event
20635
20636         * gst/gstelement.h:
20637         Don't know how flags got broken.
20638
20639         * gst/gstquery.h:
20640         Added new query.
20641
20642 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20643
20644         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
20645           Add simplistic test suite for GST_TYPE_DATE serialisation and
20646           deserialisation.
20647
20648 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20649
20650         * docs/gst/gstreamer-sections.txt:
20651         * gst/gststructure.c: (gst_structure_set_valist),
20652         (gst_structure_get_date):
20653         * gst/gststructure.h:
20654         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
20655         (gst_date_copy), (gst_value_compare_date),
20656         (gst_value_serialize_date), (gst_value_deserialize_date),
20657         (gst_value_transform_date_string),
20658         (gst_value_transform_string_date), (_gst_value_initialize):
20659         * gst/gstvalue.h:
20660           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
20661           bunch of utility functions along with a hack that checks that
20662           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
20663           is required. Part of the grand scheme in #170777.
20664
20665 2005-09-22  Andy Wingo  <wingo@pobox.com>
20666
20667         * gst/gstconfig.h.in: Psych out gtk-doc.
20668
20669         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
20670
20671         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
20672
20673         * tools/gst-inspect.c (print_element_list): Plug some
20674         inconsequential leaks.
20675
20676         * gst/gstregistry.c (gst_registry_get_default): Doc.
20677
20678         * check/gst/gstplugin.c: 
20679         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
20680         * gst/gstelementfactory.c (gst_element_factory_create): 
20681         * gst/gstindexfactory.c (gst_index_factory_create): Update for
20682         refcount changes.
20683
20684         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
20685         (gst_plugin_feature_load): Doc, don't eat refs.
20686
20687         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
20688         (gst_plugin_list_free): Doc.
20689         (gst_plugin_load_file): Doc updates.
20690
20691         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
20692         accessors returning refcounted objects, return a ref.
20693
20694         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
20695         accessor for caps. IDEMPOTENCE. Oh yes.
20696
20697 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
20698
20699         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20700
20701         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20702         (_gst_debug_register_funcptr):
20703           Add mutex to serialise access to the hash table with
20704           the function pointer => function name string mapping;
20705           make that hash table static scope (#316809).
20706
20707         * gst/registries/.cvsignore:
20708           Remove left-over file.
20709
20710 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20711
20712         * docs/pwg/appendix-porting.xml:
20713           And something about newsegment events and caps-on-buffers to
20714           the porting guide (feel free to improve).
20715
20716 2005-09-21  Andy Wingo  <wingo@pobox.com>
20717
20718         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
20719         data and event probes on the same pad.
20720         (test_buffer_probe_once): Test that removing probes from within
20721         the probe functions works.
20722
20723 2005-09-21  Andy Wingo  <wingo@pobox.com>
20724
20725         * check/gst/gstutils.c: New file.
20726         (test_buffer_probe_n_times): A simple buffer probe test. More to
20727         come, foolios.
20728
20729         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
20730         have-data::buffer, not have-data.
20731         (gst_pad_add_event_probe): Likewise for have-data::event.
20732         (gst_pad_add_data_probe): More docs. The part about 'resolving the
20733         peer' isn't quite right yet though.
20734         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
20735         (gst_pad_remove_data_probe): Change to take the guint handler_id
20736         as their arg, not the function+data, which is more glib-like.
20737
20738         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
20739         the signal emission to indicate if the data is a buffer or an
20740         event.
20741         (gst_pad_get_type): Initialize buffer and event quarks.
20742         (gst_pad_class_init): have-data is now a detailed signal, yes it
20743         is.
20744
20745 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20746
20747         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20748         * gst/gstutils.c: (gst_util_set_value_from_string),
20749         (gst_util_set_object_arg):
20750           Don't put functional code in g_return_if_fail() or
20751           g_return_val_if_fail() statements, otherwise things will 
20752           break when G_DISABLE_CHECKS is defined during compilation.
20753
20754 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20755
20756         * docs/gst/tmpl/.cvsignore:
20757         * docs/gst/tmpl/gstvalue.sgml:
20758         * gst/gstvalue.c:
20759         * gst/gstvalue.h:
20760           inlied another one and added  some obvious docs
20761
20762 2005-09-21  Wim Taymans  <wim@fluendo.com>
20763
20764         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20765         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
20766         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
20767         (gst_fdsrc_get_property), (gst_fdsrc_create):
20768         * gst/elements/gstfdsrc.h:
20769         Properly implement fdsrc. Removed signal and timeout,
20770         better implemented somewhere else.
20771
20772 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20773
20774         * docs/gst/tmpl/.cvsignore:
20775         * docs/gst/tmpl/gstimplementsinterface.sgml:
20776         * gst/gstinterface.c:
20777           inlined more docs
20778
20779 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20780
20781         * docs/gst/gstreamer-sections.txt:
20782         * docs/gst/tmpl/.cvsignore:
20783         * docs/gst/tmpl/gstenumtypes.sgml:
20784           remove obsolete doc file
20785
20786 2005-09-21  David Schleef  <ds@schleef.org>
20787
20788         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
20789         little beer, fix a little leak.
20790
20791 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20792
20793         * docs/gst/gstreamer-docs.sgml:
20794         * docs/gst/gstreamer-sections.txt:
20795         * docs/gst/tmpl/.cvsignore:
20796         * gst/Makefile.am:
20797         * gst/gst.h:
20798         * gst/gstbin.c:
20799         * gst/gstelement.h:
20800         * gst/gstindex.c: (gst_index_class_init):
20801         * gst/gstindex.h:
20802         * gst/gstindexfactory.c: (gst_index_factory_get_type),
20803         (gst_index_factory_class_init), (gst_index_factory_init),
20804         (gst_index_factory_finalize), (gst_index_factory_new),
20805         (gst_index_factory_destroy), (gst_index_factory_find),
20806         (gst_index_factory_create), (gst_index_factory_make):
20807         * gst/gstindexfactory.h:
20808         * gst/gstpluginfeature.c:
20809         * gst/gstpluginfeature.h:
20810         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20811           more docs inlined, splitted gstindex.{c,h}
20812
20813 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20814
20815         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20816           fix a leak
20817
20818 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20819
20820         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20821           Set sync to FALSE by default.
20822
20823 2005-09-20  Wim Taymans  <wim@fluendo.com>
20824
20825         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20826         (gst_base_sink_init):
20827         Make sync property settable from subclass.
20828
20829         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20830         (gst_fake_sink_change_state):
20831         Set sync to FALSE by default.
20832
20833 2005-09-20  Wim Taymans  <wim@fluendo.com>
20834
20835         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
20836         * tools/gst-launch.c: (main):
20837         The timeout handler should have lower priority than the source
20838         so we don't timeout before popping a message with 0 timeout.
20839         Dump error messages after failed state change.
20840
20841 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
20842
20843         * tools/gst-inspect.c: (print_element_properties_info):
20844           Fix two typos.
20845
20846 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20847
20848         * check/gst/gstevent.c:
20849         * gst/elements/gstfakesink.c:
20850         * gst/elements/gstfakesink.h:
20851           remove the sync property from fakesink.
20852           has the side effect of setting sync TRUE
20853           for fakesink, which is a change.  Anyone who knows how
20854           to fix this nicely in a GObject-y way, feel free.
20855
20856 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20857
20858         * docs/gst/gstreamer-docs.sgml:
20859           remove probe refsection
20860
20861 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20862
20863         * check/Makefile.am:
20864           disable valgrinding the controller test again
20865         * docs/gst/gstreamer-sections.txt:
20866           update for api-changes
20867
20868 2005-09-20  Wim Taymans  <wim@fluendo.com>
20869
20870         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20871         (gst_base_sink_set_property), (gst_base_sink_get_property),
20872         (gst_base_sink_do_sync):
20873         * gst/base/gstbasesink.h:
20874         Added sync property to basesink to disable clock sync.
20875
20876 2005-09-20  Andy Wingo  <wingo@pobox.com>
20877
20878         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
20879         eating the caller's refcount.
20880
20881         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
20882         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
20883         refcount.
20884
20885         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
20886         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
20887         of GLib 2.8 public, so we can know which refcount to check in
20888         tests.
20889
20890         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
20891         (gst_object_init): Only set the gst refcount if we're going ahead
20892         with the refcount hack.
20893
20894 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20895
20896         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
20897         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
20898           more leaks plumbed, added more debug-logging
20899         * gst/gstmacros.h:
20900           whitespace fix
20901
20902 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20903
20904         * gst/gstmessage.c:
20905           remove include of gstmemchunk.h
20906
20907 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20908
20909         * gst/gstclock.c: (_gst_clock_id_free):
20910           Commit from the Political Party For More Atomic CVS Commits,
20911           so that people don't waste too much of their day fishing
20912           out obvious leaks out of massive commits.
20913           Oh, and fix a pretty damn obvious leak in the memchunk
20914           removal code.
20915
20916 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
20917
20918         * check/Makefile.am:
20919         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
20920           plug mem-leak, re-add to valgrindable tests
20921
20922 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20923
20924         * gst/gstplugin.h:
20925           unbreak the build for those who have chronic arthritis
20926           and typing "make check" is just too taxing on the hands
20927
20928 2005-09-20  Andy Wingo  <wingo@pobox.com>
20929
20930         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
20931         really want it out, you should fix plugins at the same time.
20932
20933 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
20934
20935         * configure.ac:
20936         * docs/gst/gstreamer-sections.txt:
20937         * gst/gstobject.c:
20938           added missing symbols to api docs
20939           disable ref-count hack if we have glib >= 2.8
20940
20941 2005-09-19  David Schleef  <ds@schleef.org>
20942
20943         * docs/gst/Makefile.am: Ignore a few more internal headers
20944         * docs/gst/gstreamer-docs.sgml: Remove old sections
20945         * docs/gst/gstreamer-sections.txt: Remove old sections
20946         * docs/gst/tmpl/gstobject.sgml: update
20947         * docs/gst/tmpl/gstplugin.sgml: update
20948         * docs/gst/tmpl/gstpluginfeature.sgml: update
20949         * docs/random/ds/0.9-suggested-changes: update.
20950         * gst/Makefile.am: remove memchunk and trashstack, since they're
20951           not used.
20952         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
20953         * gst/gst.h: don't include some headers
20954         * gst/gstchildproxy.c: add gstmarshal.h
20955         * gst/gstclock.c: Don't use memchunks
20956         * gst/gstminiobject.c: Add some docs
20957         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
20958         * gst/gstobject.h: same
20959         * gst/gstplugin.c: include gstmacros.h
20960         * gst/gstplugin.h: don't include gstmacros.h, since it's private
20961         * gst/gstquery.c: don't use memchunks
20962         * gst/gstregistry.c: rename gst_registry_deinit()
20963         * gst/gstregistry.h: same
20964
20965 2005-09-19  David Schleef  <ds@schleef.org>
20966
20967         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
20968         * docs/libs/gstreamer-libs-sections.txt:
20969         * docs/libs/tmpl/gstgetbits.sgml:
20970         * docs/libs/tmpl/gstputbits.sgml:
20971
20972 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
20973
20974         * win32/gstenumtypes.c:
20975         * win32/gstenumtypes.h:
20976           Update.
20977
20978 2005-09-19  Wim Taymans  <wim@fluendo.com>
20979
20980         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
20981         Automatically PAUSE and RESUME a pipeline when a flushing seek
20982         is performed.
20983
20984 2005-09-19  Andy Wingo  <wingo@pobox.com>
20985
20986         * gst/gstregistry.h: Spacing fixen.
20987
20988 2005-09-19  Wim Taymans  <wim@fluendo.com>
20989
20990         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
20991         Handle state change failure more correctly.
20992
20993 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20994
20995         * check/Makefile.am:
20996         * check/pipelines/cleanup.c: (run_pipeline):
20997         * check/pipelines/simple_launch_lines.c: (run_pipeline),
20998         (GST_START_TEST):
20999           enable cleanup again after fixing the leak
21000         * docs/README:
21001           some more info on docs
21002
21003 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21004
21005         * check/Makefile.am:
21006           re-enable tests now that leaks are plugged
21007         * check/gst/gst.c:
21008         * check/gst/gstbin.c:
21009         * check/gst/gstpipeline.c:
21010           add some more tests while fixing leaks
21011         * common/check.mak:
21012           make sure binaries are uptodate when valgrinding/gdbing
21013         * gst/gst.c:
21014         * gst/gstelementfactory.c:
21015           remove a ref too many, and add a FIXME for when we get
21016           round to disposing of classes
21017         * gst/gstplugin.c:
21018           fix the refcounting when loading a plugin from a file and
21019           the code pretends that the pointer is the same even though
21020           of course it can change
21021         * gst/gstpluginfeature.c:
21022           unref plugins marked cached (a bit confusing as a name)
21023           as the docs state should be done
21024           various doc additions to explain refcounting
21025         * gst/gstregistry.c:
21026         * gst/gstregistryxml.c:
21027           debugging
21028
21029 2005-09-19  Wim Taymans  <wim@fluendo.com>
21030
21031         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21032         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21033         (send_messages), (GST_START_TEST), (gstbus_suite):
21034         * check/gst/gstpipeline.c: (GST_START_TEST):
21035         * check/pipelines/cleanup.c: (run_pipeline):
21036         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21037         (GST_START_TEST):
21038         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
21039         (gst_bus_source_check), (gst_bus_source_dispatch),
21040         (gst_bus_create_watch), (gst_bus_add_watch_full),
21041         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
21042         * gst/gstbus.h:
21043         * tools/gst-launch.c: (event_loop):
21044         * tools/gst-md5sum.c: (event_loop):
21045         GstBusHandler -> GstBusFunc, return value has the same meaning as
21046         any other GSource (FALSE == remove source).
21047         _add_watch() and _add_watch_full() now take a MessageType mask to
21048         only handle specific types of messages.
21049         _poll() returns the GstMessage instead of the message type to avoid
21050         race conditions.
21051         _have_pending() takes a MessageType mask now too.
21052         Added testsuite for multiple bus watches.
21053         Fix testsuites and applications for new bus API.
21054
21055 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21056
21057         * check/Makefile.am:
21058           mark a bunch of the tests as to fix until we fix them
21059
21060 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21061
21062         * common/check.mak:
21063           use GST_PLUGIN settings for valgrind tests as well, so we're
21064           valgrinding the correct thing
21065         * gst/gst.c: (init_post):
21066           plug another leak
21067
21068 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21069
21070         * gst/gst.c: (init_post), (gst_deinit):
21071         * gst/gstelementfactory.c: (gst_element_factory_class_init),
21072         (gst_element_factory_finalize), (gst_element_factory_cleanup):
21073         * gst/gstindex.c: (gst_index_factory_class_init),
21074         (gst_index_factory_finalize):
21075         * gst/gstobject.c: (gst_object_dispose):
21076         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
21077         (gst_plugin_load_file), (gst_plugin_desc_free):
21078         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
21079         (gst_plugin_feature_finalize):
21080         * gst/gstregistry.c: (gst_registry_class_init),
21081         (gst_registry_init), (gst_registry_finalize),
21082         (gst_registry_get_default), (gst_registry_deinit):
21083         * gst/gstregistry.h:
21084         * gst/gstregistryxml.c: (load_feature), (load_plugin):
21085           various cleanups and memleak plugging.  make valgrind is happy now.
21086
21087 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21088
21089         * common/check.mak:
21090           add a check-valgrind target
21091
21092 2005-09-18  David Schleef  <ds@schleef.org>
21093
21094         * tools/gst-inspect.c: Revert the GOption code.
21095
21096 2005-09-17  David Schleef  <ds@schleef.org>
21097
21098         * check/Makefile.am: Fix environment variables.
21099         * check/gst/gstplugin.c: Fix for API changes.
21100         * tools/gst-inspect.c: Fix for API changes.
21101         * tools/gst-xmlinspect.c: Fix for API changes.
21102         * gst/gstelementfactory.c:
21103         * gst/gstplugin.c:
21104         * gst/gstplugin.h:
21105         * gst/gstpluginfeature.c:
21106         * gst/gstpluginfeature.h:
21107         * gst/gstregistry.c:
21108         * gst/gstregistry.h:
21109         * gst/gstregistryxml.c:
21110         * gst/gsttypefind.c:
21111         * gst/gsttypefindfactory.c:
21112         * gst/indexers/gstfileindex.c:
21113         * gst/indexers/gstmemindex.c:
21114         * gst/schedulers/Makefile.am:
21115           Change registry to keep track of both plugins and features,
21116           removing the feature tracking from plugins themselves.
21117
21118 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21119
21120         * check/Makefile.am:
21121         * tools/gst-register.1.in:
21122           remove gst-register
21123
21124 2005-09-15  David Schleef  <ds@schleef.org>
21125
21126         * check/gst/gstplugin.c:
21127         * gst/gstelementfactory.c:
21128         * gst/gstplugin.c:
21129         * gst/gstpluginfeature.c:
21130         * gst/gstregistry.c:
21131           Getting tired of debugging.  Disabled all the unreffing of
21132           plugins and features, which fixes the segfaults, but of
21133           course leaks like crazy.  At least playbin works.
21134
21135 2005-09-15  David Schleef  <ds@schleef.org>
21136
21137         * check/gst/gstplugin.c: (register_check_elements),
21138         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
21139         More testing
21140         * gst/elements/gsttypefindelement.c: Fix refcounting.
21141         * gst/gsttypefind.c:
21142         * gst/gsttypefindfactory.c:
21143         * gst/gsttypefindfactory.h:
21144
21145 2005-09-15  David Schleef  <ds@schleef.org>
21146
21147         * gst/gstindex.c: get refcounting correct.
21148         * gst/gstregistry.c: Handle the case where a feature/plugin is
21149           not found.
21150
21151 2005-09-15  David Schleef  <ds@schleef.org>
21152
21153         * check/Makefile.am:
21154         * check/gst/gstplugin.c: Add test
21155         * gst/gstplugin.c: Fix problems noticed by testsuite
21156         * gst/gstplugin.h:
21157         * gst/gstregistry.c: 
21158         * gst/gstregistry.h:
21159
21160 2005-09-15  David Schleef  <ds@schleef.org>
21161
21162         * gst/gstplugin.c: Implement semi-decent recounting and locking
21163           in plugins and plugin features.
21164         * gst/gstplugin.h:
21165         * gst/gstpluginfeature.c:
21166         * gst/gstpluginfeature.h:
21167         * gst/gstregistry.c:
21168
21169 2005-09-15  Michael Smith <msmith@fluendo.com>
21170
21171         * gst/gstregistry.c: (gst_registry_get_feature_list):
21172           Implement this. Makes oggdemux work; decodebin still broken.
21173
21174 2005-09-14  David Schleef  <ds@schleef.org>
21175
21176         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
21177           #316076)
21178         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
21179         * gst/check/Makefile.am:
21180         * libs/gst/controller/Makefile.am:
21181         * libs/gst/dataprotocol/Makefile.am:
21182
21183 2005-09-14  David Schleef  <ds@schleef.org>
21184
21185         * configure.ac: Remove getbits library.  Nothing uses it, and
21186           it should be in something like liboil if someone did want
21187           to use it.
21188         * libs/gst/Makefile.am:
21189         * libs/gst/getbits/Makefile.am:
21190         * libs/gst/getbits/gbtest.c:
21191         * libs/gst/getbits/getbits.c:
21192         * libs/gst/getbits/getbits.h:
21193         * libs/gst/getbits/gstgetbits_generic.c:
21194         * libs/gst/getbits/gstgetbits_i386.s:
21195         * libs/gst/getbits/gstgetbits_inl.h:
21196
21197 2005-09-14  David Schleef  <ds@schleef.org>
21198
21199         * gst/Makefile.am: Dist glib-compat.h
21200
21201 2005-09-14  David Schleef  <ds@schleef.org>
21202
21203         * configure.ac: Remove gst/registries, since it's no longer used.
21204         * gst/registries/Makefile.am:
21205         * gst/registries/gstlibxmlregistry.c:
21206         * gst/registries/gstlibxmlregistry.h:
21207         * gst/registries/gstxmlregistry.c:
21208         * gst/registries/gstxmlregistry.h:
21209         * gst/registries/registrytest.c:
21210
21211 2005-09-14  David Schleef  <ds@schleef.org>
21212
21213         * gst/glib-compat.h:
21214         * gst/gstregistryxml.c:
21215           Convergence is near.  Seriously.
21216
21217 2005-09-14  David Schleef  <ds@schleef.org>
21218
21219         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21220         * gst/glib-compat.h:
21221           Attempt #4 to appease the buildbots.
21222
21223 2005-09-14  David Schleef  <ds@schleef.org>
21224
21225         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21226           Attempt #3.
21227
21228 2005-09-14  David Schleef  <ds@schleef.org>
21229
21230         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21231         Attempt #2.
21232
21233 2005-09-14  David Schleef  <ds@schleef.org>
21234
21235         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
21236           the new functions.
21237
21238 2005-09-14  David Schleef  <ds@schleef.org>
21239
21240         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21241         * gst/glib-compat.h: Add some functions that are in newer versions
21242           of glib than we care to require.
21243         * gst/gstregistryxml.c: Use them.
21244
21245 2005-09-14  David Schleef  <ds@schleef.org>
21246
21247         * po/POTFILES.in: remove gst-register.c
21248
21249 2005-09-14  David Schleef  <ds@schleef.org>
21250
21251         * docs/gst/gstreamer-docs.sgml:
21252         * docs/gst/gstreamer-sections.txt:
21253         * docs/gst/gstreamer.types:
21254         * docs/gst/tmpl/gstelement.sgml:
21255         * docs/gst/tmpl/gstplugin.sgml:
21256         * docs/gst/tmpl/gstpluginfeature.sgml:
21257           Documentation updates for registry changes.
21258
21259 2005-09-14  David Schleef  <ds@schleef.org>
21260
21261         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21262           because we don't require glib-2.8.
21263
21264 2005-09-14  David Schleef  <ds@schleef.org>
21265
21266         * gst/gstregistryxml.c: Added.  Essentially moved out of the
21267           registries directory.
21268
21269 2005-09-14  David Schleef  <ds@schleef.org>
21270
21271         * check/Makefile.am:
21272         * check/generic/states.c:
21273         * gst/Makefile.am:
21274         * gst/gst.c:
21275         * gst/gst.h:
21276         * gst/gst_private.h:
21277         * gst/gstelementfactory.c:
21278         * gst/gstindex.c:
21279         * gst/gstinfo.c:
21280         * gst/gstplugin.c:
21281         * gst/gstplugin.h:
21282         * gst/gstpluginfeature.c:
21283         * gst/gstpluginfeature.h:
21284         * gst/gstregistry.c:
21285         * gst/gstregistry.h:
21286         * gst/gstregistrypool.c: remove
21287         * gst/gstregistrypool.h: remove
21288         * gst/gsttypefind.c:
21289         * gst/gsttypefindfactory.c:
21290         * gst/gsturi.c:
21291         * tools/Makefile.am:
21292         * tools/gst-compprep.c:
21293         * tools/gst-inspect.c:
21294         * tools/gst-register.c: remove
21295         * tools/gst-xmlinspect.c:
21296           Registry rewrite.  Changes registry from being a file created
21297           by a tool into a simple cache file created automatically by 
21298           libgstreamer.  Removed gst-register (because it's no longer
21299           needed).  Remove registry pools, because we only have one
21300           registry implementation (XML).  Fix up other subsystems as
21301           necessary.
21302
21303 2005-09-13  Michael Smith <msmith@fluendo.com>
21304
21305         * gst/gstconfig.h.in:
21306           Don't Use windows linking attributes for MinGW. Fixes #316157
21307
21308 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21309
21310         * gst/gstutils.c: (set_state_async_thread_func),
21311         (gst_element_set_state_async):
21312           Apparently people think it's better if this function doesn't
21313           try to set the state to whatever state was asked for on the first
21314           call to this function for any object.  Seriously.
21315
21316 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21317
21318         * check/gst/gstpipeline.c: (GST_START_TEST):
21319         * docs/gst/gstreamer-sections.txt:
21320         * gst/gstutils.c: (set_state_async_thread_func),
21321         (gst_element_set_state_async):
21322         * gst/gstutils.h:
21323           add a "gst_element_set_state_async" method that
21324           sets the state and starts a thread to make sure the state
21325           change completes as best as it can
21326
21327 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21328
21329         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21330           codify design+behaviour in testsuite after discussion
21331
21332 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21333
21334         * docs/gst/tmpl/gstelement.sgml:
21335         * docs/manual/appendix-quotes.xml:
21336           add a quote
21337         * gst/gstelement.c: (gst_element_set_state):
21338           add some debug
21339
21340 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
21341
21342         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21343         (gst_base_transform_prepare_output_buf),
21344         (gst_base_transform_handle_buffer):
21345         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21346         (gst_capsfilter_prepare_buf):
21347           Remove the requirement for sub-classes to call the parent
21348           implementation of prepare_output_buffer with a wrapper function.
21349           
21350         * gst/gsttaglist.h:
21351         * gst/gsttagsetter.h:
21352           Fix #define wrapper
21353
21354 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
21355
21356         * docs/gst/gstreamer-sections.txt:
21357           more doc cleanups
21358
21359 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21360
21361         * docs/gst/gstreamer-sections.txt:
21362         * docs/gst/tmpl/gstelement.sgml:
21363         * docs/gst/tmpl/gstplugin.sgml:
21364         * gst/gstminiobject.c:
21365         * gst/gstvalue.h:
21366           docs now stop throwing warnings
21367
21368 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21369
21370         * docs/gst/gstreamer-sections.txt:
21371         * docs/gst/gstreamer.types:
21372         * docs/gst/tmpl/gstpad.sgml:
21373         * docs/gst/tmpl/gsttypes.sgml:
21374         * gst/base/gstadapter.h:
21375         * gst/base/gstbasesink.h:
21376         * gst/base/gstbasesrc.h:
21377         * gst/gstbin.h:
21378         * gst/gstbuffer.h:
21379         * gst/gstbus.h:
21380         * gst/gstcaps.h:
21381         * gst/gstclock.h:
21382         * gst/gstelement.h:
21383         * gst/gstevent.h:
21384         * gst/gstmessage.h:
21385         * gst/gstpad.h:
21386         * gst/gststructure.c:
21387         * gst/registries/gstlibxmlregistry.h:
21388           various documentation fixes
21389
21390 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21391
21392         * docs/gst/gstreamer-sections.txt:
21393         * docs/gst/tmpl/gstvalue.sgml:
21394           rearrange gstvalue section
21395         * gst/gstutils.c: (gst_element_state_get_name):
21396           NONE -> VOID
21397         * gst/gstvalue.c: (_gst_value_initialize):
21398         * gst/gstvalue.h:
21399           doc updates
21400
21401 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
21402
21403         * check/gst-libs/controller.c:
21404           Header include fix.
21405         * gst/base/gstbasetransform.c:
21406         (gst_base_transform_default_prepare_buf),
21407         (gst_base_transform_handle_buffer):
21408         * gst/base/gstbasetransform.h:
21409           Some more basetransform changes and fixes to enable sub-classes
21410           that modify buffer metadata only.
21411         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21412         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21413         (gst_capsfilter_prepare_buf):
21414           If the output pad has fixed allowed caps and input buffers 
21415           don't have any, set the fixed caps on outgoing buffers.
21416
21417 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
21418         * check/elements/identity.c: (GST_START_TEST):
21419           Make the error a little clearer when the test fails because
21420           identity made a copy of the buffer.
21421         * docs/gst/gstreamer-sections.txt:
21422           New symbols in gstbasetransform.h
21423         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21424         (gst_base_transform_init), (gst_base_transform_transform_size),
21425         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21426         (gst_base_transform_default_prepare_buf),
21427         (gst_base_transform_get_unit_size),
21428         (gst_base_transform_buffer_alloc),
21429         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21430         (gst_base_transform_change_state),
21431         (gst_base_transform_set_passthrough),
21432         (gst_base_transform_set_in_place),
21433         (gst_base_transform_is_in_place):
21434         * gst/base/gstbasetransform.h:
21435           Change BaseTransform to separate in_place operate from same_caps
21436           output. in_place implies that the element can perform the transform
21437           on incoming buffers in-place, even if the caps on the output are
21438           different.
21439           Sub-class elements can now implement special buffer allocation
21440           methods for outgoing buffers if they wish to.
21441           Big documentation addition.
21442         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21443         * gst/elements/gstelements.c:
21444           Changes for basetransform modifications.
21445         * gst/elements/Makefile.am:
21446         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21447           Compile fix. Extra debug output.
21448
21449 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21450
21451         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21452         (gst_pad_suite):
21453           add tests for valid pad naming
21454         * gst/check/gstcheck.c: (gst_check_log_message_func),
21455         (gst_check_log_critical_func):
21456           add ASSERT_WARNING
21457           remove printing of code, it is fragile when the code contains
21458           % and the line number is enough info
21459         * gst/check/gstcheck.h:
21460         * gst/gstpad.c: (gst_pad_template_new):
21461           fix memleaks
21462
21463 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21464
21465         * configure.ac:
21466           say what CHECK flags we use
21467         * docs/libs/gstreamer-libs.types:
21468         * libs/gst/controller/Makefile.am:
21469         * libs/gst/controller/gst-controller.c:
21470         * libs/gst/controller/gst-controller.h:
21471         * libs/gst/controller/gst-helper.c:
21472         * libs/gst/controller/gst-interpolation.c:
21473         * libs/gst/controller/gstcontroller.c:
21474         * libs/gst/controller/gsthelper.c:
21475         * libs/gst/controller/gstinterpolation.c:
21476         * tools/gst-inspect.c: (print_plugin_info):
21477           we don't use dashes in header names
21478
21479 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21480
21481         * check/Makefile.am:
21482         * check/gst/.cvsignore:
21483         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21484         (gst_pipeline_suite), (main):
21485           adding a test for pipelines and state changes
21486         * gst/gstutils.c: (get_state_func):
21487           add some debugging
21488         * gstreamer.spec.in:
21489           fix up spec file
21490
21491 2005-09-08  Michael Smith <msmith@fluendo.com>
21492
21493         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21494         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21495         (gst_file_src_is_seekable), (gst_file_src_get_size),
21496         (gst_file_src_start):
21497         * gst/elements/gstfilesrc.h:
21498           Various fixes for unseekable, unmmapable, and non-normal files, so
21499           that fallback to read() rather than mmap() works.
21500         * gst/gstevent.c: (gst_event_new_newsegment):
21501           Allow newsegment events with segment_start == segment_end, as will
21502           correctly happen if you use filesrc on a zero-size file, for
21503           example.
21504
21505 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21506
21507         * gst/gstplugin.c: (gst_plugin_load_file):
21508           Call g_module_close when we don't load the module
21509
21510         * gst/registries/gstlibxmlregistry.c:
21511         (gst_xml_registry_get_property):
21512           Port leak fix from 0.8
21513
21514 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21515
21516         * docs/gst/gstreamer-docs.sgml:
21517         * docs/gst/tmpl/.cvsignore:
21518         * docs/gst/tmpl/gsttrace.sgml:
21519         * docs/gst/tmpl/gsttrashstack.sgml:
21520         * gst/Makefile.am:
21521         * gst/gst.h:
21522         * gst/gstelement.h:
21523         * gst/gstevent.h:
21524         * gst/gstmessage.c:
21525         * gst/gstmessage.h:
21526         * gst/gsttag.c:
21527         * gst/gsttag.h:
21528         * gst/gsttaginterface.c:
21529         * gst/gsttaginterface.h:
21530         * gst/gsttaglist.c:
21531         * gst/gsttaglist.h:
21532         * gst/gsttagsetter.c:
21533         * gst/gsttagsetter.h:
21534         * gst/gsttrace.c:
21535         * gst/gsttrace.h:
21536         * gst/gsttrashstack.c:
21537           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
21538           inlined docs for gsttrace, gsttrashstack
21539
21540 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21541
21542         * gst/Makefile.am:
21543         * gst/elements/gstbufferstore.h:
21544         * gst/elements/gsttypefindelement.c:
21545         * gst/elements/gsttypefindelement.h:
21546         * gst/gst.h:
21547         * gst/gsttypefind.c:
21548         * gst/gsttypefind.h:
21549         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
21550         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
21551         (gst_type_find_factory_dispose),
21552         (gst_type_find_factory_unload_thyself),
21553         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
21554         (gst_type_find_factory_get_caps),
21555         (gst_type_find_factory_get_extensions),
21556         (gst_type_find_factory_call_function):
21557         * gst/gsttypefindfactory.h:
21558         * gst/registries/gstlibxmlregistry.c:
21559         * gst/registries/gstxmlregistry.c:
21560           splitted gsttypefind into gsttypefind, gsttypefindfactory
21561
21562 2005-09-07  Andy Wingo  <wingo@pobox.com>
21563
21564         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
21565         condition whereby the pad's task function is entered before the
21566         pad_mode variable was set.
21567
21568 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21569
21570         * gst/gstpad.c: (gst_pad_alloc_buffer):
21571           Catch misbehaving pad_alloc functions that don't
21572           set up caps and do it for them.
21573
21574 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21575
21576         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21577           test for pipe!=NULL
21578         * docs/gst/tmpl/.cvsignore:
21579         * docs/gst/tmpl/gstmemchunk.sgml:
21580         * docs/gst/tmpl/gstparse.sgml:
21581         * docs/gst/tmpl/gsttaglist.sgml:
21582         * docs/gst/tmpl/gsttagsetter.sgml:
21583         * docs/gst/tmpl/gsttypefind.sgml:
21584         * docs/gst/tmpl/gsttypefindfactory.sgml:
21585         * gst/gstmemchunk.c:
21586         * gst/gstparse.c:
21587         * gst/gsttag.c:
21588         * gst/gsttaginterface.c:
21589         * gst/gsttypefind.c:
21590         * gst/gsttypefind.h:
21591           inlined more docs
21592
21593 === release 0.9.2 ===
21594
21595 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21596
21597         * NEWS:
21598         * RELEASE:
21599         * configure.ac:
21600           releasing 0.9.2, "South"
21601
21602 2005-09-05  Andy Wingo  <wingo@pobox.com>
21603
21604         * gst/registries/gstxmlregistry.h:
21605         * gst/registries/gstxmlregistry.c: Um... resurrect...
21606         
21607         * gst/registries/gstxmlregistry.h:
21608         * gst/registries/gstxmlregistry.c: and update to newer API.
21609         Incidentally they should be a bit faster now that they don't have
21610         to parse the caps.
21611         
21612 2005-09-05  Andy Wingo  <wingo@pobox.com>
21613
21614         * gst/registries/gstxmlregistry.h:
21615         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
21616         replaced by the libxml registry a while back
21617
21618 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21619
21620         * docs/gst/tmpl/gstplugin.sgml:
21621         * gst/elements/gstelements.c:
21622         * gst/gst.c:
21623         * gst/gstplugin.c: (gst_plugin_register_func),
21624         (gst_plugin_desc_copy), (gst_plugin_desc_free),
21625         (gst_plugin_get_source):
21626         * gst/gstplugin.h:
21627         * gst/registries/gstlibxmlregistry.c: (load_plugin),
21628         (gst_xml_registry_save_plugin):
21629         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
21630         (gst_xml_registry_save_plugin):
21631         * tools/gst-inspect.c: (print_plugin_info):
21632           add a "source" plugin description field, to represent the source
21633           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
21634           will set it to PACKAGE, which is automake's idea of the name of
21635           the source project.
21636
21637 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21638
21639         * Makefile.am:
21640         * autogen.sh:
21641         * configure.ac:
21642         * docs/Makefile.am:
21643         * docs/faq/Makefile.am:
21644         * docs/gst/tmpl/gstelement.sgml:
21645         * docs/gst/tmpl/gsttypes.sgml:
21646         * docs/htmlinstall.mak:
21647         * docs/manual/Makefile.am:
21648         * docs/pwg/Makefile.am:
21649           reorganize doc build a little
21650           split out docbook and gtk-doc stuff
21651           have two separate --enable's and enable them through autogen
21652           but disable by default in configure (to be similar to other
21653           projects)
21654         * gstreamer.spec.in:
21655           clean up docs install
21656         * po/af.po:
21657         * po/az.po:
21658         * po/ca.po:
21659         * po/cs.po:
21660         * po/de.po:
21661         * po/en_GB.po:
21662         * po/fr.po:
21663         * po/it.po:
21664         * po/nb.po:
21665         * po/nl.po:
21666         * po/ru.po:
21667         * po/sq.po:
21668         * po/sr.po:
21669         * po/sv.po:
21670         * po/tr.po:
21671         * po/uk.po:
21672         * po/vi.po:
21673           translation updates
21674
21675 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
21676
21677         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
21678           Add comment.
21679           
21680         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21681         (gst_fake_sink_change_state):
21682           Make state change function thread-safe.
21683           
21684         * gst/gstpad.c: (gst_pad_alloc_buffer):
21685           Set offset on generic buffer allocated by fallback.
21686
21687 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
21688
21689         * docs/gst/gstreamer-sections.txt:
21690         * docs/gst/tmpl/gstelement.sgml:
21691         * gst/gstpad.c:
21692         * libs/gst/controller/gst-controller.c:
21693         (gst_controlled_property_set_interpolation_mode),
21694         (gst_controlled_property_new),
21695         (gst_controller_find_controlled_property):
21696          run the wingo-magic script against the docs
21697
21698 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21699
21700         * docs/gst/gstreamer-docs.sgml:
21701         * docs/gst/gstreamer-sections.txt:
21702         * docs/gst/tmpl/.cvsignore:
21703         * docs/gst/tmpl/gstelementdetails.sgml:
21704         * docs/gst/tmpl/gstelementfactory.sgml:
21705         * gst/gst.c:
21706         * gst/gstbus.c:
21707         * gst/gstelementfactory.c:
21708         * gst/gstelementfactory.h:
21709           merged elementdetails docs into elementfactory docs
21710           inlined both
21711
21712 2005-09-02  Andy Wingo  <wingo@pobox.com>
21713
21714         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
21715         consider this enum an enum and not a flags.
21716
21717 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21718
21719         * docs/gst/gstreamer-docs.sgml:
21720         * docs/gst/tmpl/.cvsignore:
21721         * docs/gst/tmpl/gstghostpad.sgml:
21722         * docs/gst/tmpl/gstiterator.sgml:
21723         * docs/gst/tmpl/gstmacros.sgml:
21724         * docs/gst/tmpl/gstrealpad.sgml:
21725         * docs/gst/tmpl/gstregistry.sgml:
21726         * docs/gst/tmpl/gstregistrypool.sgml:
21727         * docs/gst/tmpl/gststructure.sgml:
21728         * docs/gst/tmpl/gstsystemclock.sgml:
21729         * docs/gst/tmpl/gsttrace.sgml:
21730         * gst/gstghostpad.c:
21731         * gst/gstmacros.h:
21732         * gst/gstmemchunk.c:
21733         * gst/gstmemchunk.h:
21734         * gst/gstqueue.c:
21735         * gst/gstregistry.c:
21736         * gst/gstregistrypool.c:
21737         * gst/gststructure.c:
21738         * gst/gstsystemclock.c:
21739           more docs inlined
21740
21741 2005-09-02  Andy Wingo  <wingo@pobox.com>
21742
21743         * gst/gstelement.h (GstState): Renamed from GstElementState,
21744         changed to be a normal enum instead of flags.
21745         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
21746         munged to be GST_STATE_CHANGE_*.
21747         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
21748         work with the new state representation.
21749         (GstStateChange): New enumeration of possible state transitions.
21750         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
21751         (GstElementClass::change_state): Pass the GstStateChange along as
21752         an argument. Helps language bindings, so they don't have to use
21753         tricky lock-needing macros like GST_STATE_CHANGE ().
21754
21755         * scripts/update-states (file): New script. Run it on a file to
21756         update it for state naming and API changes. Updates files in
21757         place.
21758
21759         * All files updated for the new API.
21760
21761 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21762
21763         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
21764         * gst/gstutils.c: (gst_util_set_value_from_string),
21765         (gst_util_set_object_arg):
21766           fix a bunch of unchecked return values
21767         * tools/gst-complete.c: (main):
21768         * gstreamer.spec.in:
21769           clean up a little
21770
21771 2005-09-01  Wim Taymans  <wim@fluendo.com>
21772
21773         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21774         (gst_base_sink_event), (gst_base_sink_do_sync),
21775         (gst_base_sink_handle_event):
21776         * gst/base/gstbasesink.h:
21777         Handle newsegments more correctly.
21778
21779         * gst/gstbus.c:
21780         Fix docs.
21781
21782         * gst/gstevent.c: (gst_event_new_newsegment):
21783         A newsegment cannot have a start_time of -1
21784
21785 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
21786
21787         * win32/gstenumtypes.c:
21788         * win32/gstenumtypes.h:
21789           Update
21790
21791 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21792
21793         * libs/gst/controller/gst-controller.c:
21794         (gst_controlled_property_set_interpolation_mode),
21795         (gst_controlled_property_new):
21796          fixed boolean again
21797
21798 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
21799
21800         * docs/faq/gst-uninstalled:
21801           add -good
21802         * gst/gstevent.c:
21803         * gst/gstevent.h:
21804           remove wrong docs
21805         * gst/gstutils.c: (gst_element_link_filtered):
21806         * gst/gstutils.h:
21807           add gst_element_link_filtered
21808
21809 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21810
21811         * docs/gst/gstreamer-docs.sgml:
21812         * docs/gst/gstreamer-sections.txt:
21813         * docs/gst/tmpl/.cvsignore:
21814         * docs/gst/tmpl/gsterror.sgml:
21815         * docs/gst/tmpl/gstfilter.sgml:
21816         * docs/gst/tmpl/gsturihandler.sgml:
21817         * docs/gst/tmpl/gsturitype.sgml:
21818         * docs/gst/tmpl/gstutils.sgml:
21819         * docs/gst/tmpl/gstxml.sgml:
21820         * gst/gsterror.c:
21821         * gst/gsterror.h:
21822         * gst/gstfilter.c:
21823         * gst/gsturi.c:
21824         * gst/gsturitype.c:
21825         * gst/gstutils.c:
21826         * gst/gstxml.c:
21827           inlined more docs, fixed double id-ref
21828
21829 2005-08-31  Wim Taymans  <wim@fluendo.com>
21830
21831         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21832         (gst_base_transform_handle_buffer):
21833         Passthrough elements don't need the caps as they don't care.
21834
21835 2005-08-31  Wim Taymans  <wim@fluendo.com>
21836
21837         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21838         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
21839         Don't leak refcounts on buffers.
21840
21841 2005-08-31  Wim Taymans  <wim@fluendo.com>
21842
21843         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
21844         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21845         (gst_base_transform_chain), (gst_base_transform_change_state):
21846         * gst/base/gstbasetransform.h:
21847         Handle the case where we are not negotiated more gracefully.
21848
21849 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
21850
21851         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
21852         (gst_file_src_map_region):
21853           Set READONLY flag on mmap'ed buffers, otherwise
21854           gst_buffer_make_writable() won't work properly (#314708).
21855
21856 2005-08-31  Wim Taymans  <wim@fluendo.com>
21857
21858         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
21859         passthrough elements can even do inplace on non writable
21860         buffers (as they don't touch them).
21861
21862 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
21863
21864         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21865         (gst_test_mono_source_set_property),
21866         (gst_test_mono_source_class_init), (GST_START_TEST),
21867         (gst_controller_suite):
21868           more tests (hehe I have the most)
21869         * gst/gstbus.c:
21870           describe popping messages whenusing mulltiple sources
21871         * libs/gst/controller/gst-controller.c:
21872         (gst_controlled_property_set_interpolation_mode),
21873         (gst_controlled_property_new):
21874         * libs/gst/controller/gst-controller.h:
21875         * libs/gst/controller/gst-interpolation.c:
21876           implement boolean properties
21877
21878 2005-08-31  Wim Taymans  <wim@fluendo.com>
21879
21880         * gst/gstminiobject.c: (gst_mini_object_ref):
21881         Cannot assert that the refcount has to be positive
21882         since a disposed object can be resurrected.
21883
21884 2005-08-31  Wim Taymans  <wim@fluendo.com>
21885
21886         * gst/gstpad.c: (gst_pad_init):
21887         Revert change, need to first fix badly behaving 
21888         apps.
21889
21890 2005-08-30  Wim Taymans  <wim@fluendo.com>
21891
21892         * check/elements/fakesrc.c: (setup_fakesrc):
21893         * check/elements/identity.c: (setup_identity):
21894         Activate pads before using them.
21895
21896 2005-08-30  Wim Taymans  <wim@fluendo.com>
21897
21898         * gst/base/gstadapter.c: (gst_adapter_flush):
21899         Flushing out 0 bytes is ok for this function.
21900
21901         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21902         no newsegment gives a warning and sets the start/stop to 
21903         invalid.
21904
21905         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
21906         (gst_base_transform_set_passthrough):
21907         Some debug info.
21908
21909         * gst/gstminiobject.c: (gst_mini_object_ref):
21910         Check refcount here too.
21911
21912         * gst/gstpad.c: (gst_pad_init):
21913         Pads are initially flushing and refusing data.
21914
21915         * gst/gstutils.c: (gst_element_link_pads_filtered):
21916         When adding a capsfilter element make sure it has the
21917         same state as the parent bin.
21918
21919 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21920
21921         * docs/gst/tmpl/.cvsignore:
21922         * docs/gst/tmpl/gstformat.sgml:
21923         * docs/gst/tmpl/gstversion.sgml:
21924         * gst/gstbus.h:
21925         * gst/gstformat.c:
21926         * gst/gstformat.h:
21927         * gst/gstversion.h.in:
21928           more docs and two more inlined
21929
21930 2005-08-30  Wim Taymans  <wim@fluendo.com>
21931
21932         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
21933         Don't sync to clock.
21934
21935 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21936
21937         * docs/gst/gstreamer-sections.txt:
21938           ultral33t func10ns deserve to appear in the docs actually
21939         * docs/gst/tmpl/.cvsignore:
21940         * docs/gst/tmpl/gstcompat.sgml:
21941         * docs/gst/tmpl/gstconfig.sgml:
21942         * gst/check/gstcheck.c:
21943         * gst/gstcompat.h:
21944         * gst/gstconfig.h.in:
21945           inlined more docs
21946
21947 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21948
21949         * docs/gst/tmpl/.cvsignore:
21950         * docs/gst/tmpl/gstquery.sgml:
21951         * docs/gst/tmpl/gstutils.sgml:
21952         * gst/gstquery.c:
21953         * gst/gstquery.h:
21954           inlined and extended docs
21955
21956 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
21957
21958         * check/gst-libs/controller.c: (GST_START_TEST),
21959         (gst_controller_suite):
21960           more tests
21961         * docs/gst/tmpl/gstutils.sgml:
21962         * docs/libs/gstreamer-libs-sections.txt:
21963         * docs/libs/tmpl/gstdataprotocol.sgml:
21964           include path fixes
21965         * examples/controller/audio-example.c: (main):
21966           controller example works now
21967         * gst/gstclock.h:
21968           doc fixes
21969         * tools/gst-inspect.c: (print_element_properties_info):
21970           show param spec flags
21971
21972 2005-08-29  Andy Wingo  <wingo@pobox.com>
21973
21974         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
21975
21976 2005-08-28  Andy Wingo  <wingo@pobox.com>
21977
21978         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
21979         as having two arguments instead of just one. Allows superclasses
21980         to access information on subclasses -- see the terrible for() loop
21981         in gtype.c:g_type_create_instance for the reason why. All callers
21982         changed.
21983
21984 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21985
21986         * docs/design/part-messages.txt:
21987           update info
21988         * docs/gst/tmpl/.cvsignore:
21989         * docs/gst/tmpl/gstcaps.sgml:
21990         * docs/gst/tmpl/gstclock.sgml:
21991         * gst/gstbus.c:
21992         * gst/gstcaps.c:
21993         * gst/gstcaps.h:
21994         * gst/gstclock.c:
21995         * gst/gstclock.h:
21996         * gst/gstmessage.c:
21997           added descriptions for bus and message
21998           inline caps and clock docs
21999
22000 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22001
22002         * gst/gstmessage.c:
22003         * gst/gstmessage.h:
22004           doc fixes
22005
22006 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22007
22008         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22009           fix div-by-zero
22010
22011 2005-08-26  Andy Wingo  <wingo@pobox.com>
22012
22013         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
22014         element_set_state's return val.
22015         (test_2_elements): Add test that's been disabled for months.
22016
22017         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
22018         can-activate-pull properties.
22019
22020         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
22021         can-activate-pull properties. Implement is_seekable so fakesrc can
22022         operate in pull mode.
22023
22024         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
22025         properties.
22026         (gst_base_sink_activate, gst_base_sink_activate_pull)
22027         (gst_base_sink_activate_push): Make activation mode choosing work.
22028         Cleanups.
22029         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
22030         is right. Make pull mode work. Post an eos before pausing in pull
22031         mode.
22032         (gst_base_sink_change_state): Pay attention to the core's
22033         change_state() return val.
22034         
22035         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
22036         has-getrange properties. Cleanups.
22037         
22038         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
22039         has_getrange and replace with can_activate_pull and
22040         can_activate_push.
22041
22042         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
22043         locking comments. Remove has_loop, has_chain and replace with
22044         can_activate_pull and can_activate_push.
22045
22046 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
22047
22048         * configure.ac:
22049         * examples/Makefile.am:
22050         * examples/metadata/Makefile.am:
22051         * examples/metadata/read-metadata.c: (message_loop),
22052         (have_pad_handler), (make_pipeline), (print_tag), (main):
22053           Add metadata reading example that loops over a list of filenames,
22054           dumping any tags found.
22055
22056         * gst/gstbus.c: (gst_bus_dispose):
22057         * gst/gstelement.c: (gst_element_dispose):
22058           Release a few potentially-held references in dispose.
22059
22060 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22061
22062         * docs/gst/tmpl/gstminiobject.sgml:
22063           do *not* add tmpl/*.sgml files to CVS!
22064
22065 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22066
22067         * libs/gst/bytestream/.cvsignore:
22068         * libs/gst/bytestream/Makefile.am:
22069         * libs/gst/bytestream/adapter.c:
22070         * libs/gst/bytestream/adapter.h:
22071         * libs/gst/bytestream/bytestream.c:
22072         * libs/gst/bytestream/bytestream.h:
22073         * libs/gst/bytestream/filepad.c:
22074         * libs/gst/bytestream/filepad.h:
22075           removing obsolete files
22076
22077 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22078
22079         * docs/gst/gstreamer-docs.sgml:
22080         * docs/libs/gstreamer-libs-docs.sgml:
22081           disabed additional index entries again, as this makes docs-gen just
22082           slow and they aren't useful yet
22083         * docs/libs/gstreamer-libs-sections.txt:
22084           little -section.txt cleanup for libs
22085
22086 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22087
22088         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22089         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
22090           fix up some debugging
22091         (gst_base_transform_get_unit_size),
22092         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22093         (gst_base_transform_handle_buffer):
22094         * gst/base/gstbasetransform.h:
22095           handle and store timed NEWSEGMENT events so that subclasses that
22096           calculate time by counting samples have a segment_start time they
22097           need to add to their timestamps - see audioresample
22098
22099 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22100
22101         * gst/gstbin.h:
22102           removed ';' from the end of macro defs
22103         * docs/gst/gstreamer-docs.sgml:
22104         * docs/gst/gstreamer-sections.txt:
22105         * docs/gst/tmpl/.cvsignore:
22106         * gst/gstbus.h:
22107         * gst/gstelement.c: (gst_element_class_init),
22108         (gst_element_set_state), (activate_pads),
22109         (gst_element_save_thyself):
22110         * gst/gstevent.c: (gst_event_new_newsegment):
22111         * gst/gstevent.h:
22112         * gst/gstiterator.c:
22113         * gst/gstiterator.h:
22114         * gst/gstpad.c:
22115         * gst/gstprobe.h:
22116         * gst/gstutils.c: (gst_pad_query_convert):
22117         * gst/gstutils.h:
22118           fixed parameter name mismatches between source, header and docs
22119           added some more docs, resolved the last batch of unused elements in
22120           docs (now someone needs to doc them)
22121
22122 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22123
22124         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
22125         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
22126           don't walk through the plugins backwards.  Where is all this
22127           reversed logic coming from ?
22128
22129 2005-08-25  Wim Taymans  <wim@fluendo.com>
22130
22131         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22132         (gst_base_transform_transform_size),
22133         (gst_base_transform_configure_caps),
22134         (gst_base_transform_get_unit_size),
22135         (gst_base_transform_buffer_alloc),
22136         (gst_base_transform_change_state):
22137         * gst/base/gstbasetransform.h:
22138         Cache caps unit_size.
22139         Make sure we cannot negotiate up and downstream at the
22140         same time.
22141
22142 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22143
22144         * gst/gst.c: (init_pre), (init_post):
22145           register the installed plugin path after the env var
22146         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
22147         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
22148           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
22149           directories, so the tests can prefer uninstalled over installed
22150
22151 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22152
22153         * gst/base/gstbasetransform.h:
22154           comment
22155         * gst/gstpad.c:
22156           add to docs
22157
22158 2005-08-25  Wim Taymans  <wim@fluendo.com>
22159
22160         * gst/gstbin.c: (bin_bus_handler):
22161         Be a bit more conservative about the posted message.
22162         
22163         * gst/gstbus.c: (gst_bus_post):
22164         Some cleanups, warn wrong return values.
22165
22166 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
22167
22168         * check/gst/gstbin.c: (GST_START_TEST):
22169         * gst/gstbin.c: (bin_bus_handler):
22170         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22171         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22172         (gst_message_new_warning), (gst_message_new_tag),
22173         (gst_message_new_state_changed), (gst_message_new_segment_start),
22174         (gst_message_new_segment_done), (gst_message_new_custom):
22175         * gst/gstmessage.h:
22176         * tools/gst-launch.c: (event_loop):
22177         * tools/gst-md5sum.c: (event_loop):
22178           Revert unpopular change for GST_MESSAGE_SRC to GObject.
22179
22180 2005-08-25  Wim Taymans  <wim@fluendo.com>
22181
22182         * check/generic/states.c: (GST_START_TEST):
22183         Cleanup can be done at the end.
22184
22185         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
22186         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22187         (gst_task_get_state), (gst_task_start), (gst_task_pause):
22188         Oh boy.. Thanks for finding this, Thomas. 
22189
22190 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22191
22192         * docs/gst/gstreamer.types:
22193           added missing types
22194
22195 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22196
22197         * docs/gst/gstreamer-docs.sgml:
22198         * docs/gst/gstreamer-sections.txt:
22199         * docs/gst/tmpl/.cvsignore:
22200         * gst/gstbin.c:
22201         * gst/gstiterator.c:
22202         * gst/gstutils.c:
22203         * gst/registries/gstxmlregistry.h:
22204           added missing classes and symbols (123 more to go)
22205           removed removed symbols from section file
22206           fixed many doc-comments
22207
22208 2005-08-24  Wim Taymans  <wim@fluendo.com>
22209
22210         * check/generic/states.c: (GST_START_TEST):
22211         Make sure all tasks are stopped.
22212
22213         * check/gst/gstbin.c: (GST_START_TEST):
22214         Unref after usage for proper valgrinding.
22215
22216         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
22217         Really wait for the task to stop before destroying the
22218         mutex.
22219
22220         * gst/gstqueue.c: (gst_queue_sink_activate_push),
22221         (gst_queue_src_activate_push):
22222         Small cleanups. Don't stop the task when we did not start
22223         it.
22224
22225         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
22226         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22227         (gst_task_get_state), (gst_task_start), (gst_task_pause),
22228         (gst_task_join):
22229         * gst/gsttask.h:
22230         Protect the stream lock with the object lock.
22231         Disallow setting the stream lock when running.
22232         Add cleanup_all to wait for the threadpool to finish.
22233         Remove code to autoallocate a mutex if none was provided.
22234         Add _join() to wait for a task to stop.
22235         Protect the thread pool with a global lock.
22236
22237 2005-08-24  Wim Taymans  <wim@fluendo.com>
22238
22239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22240         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22241         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
22242         * gst/base/gstbasesink.h:
22243         Handle newsegment events correctly.
22244         Drop buffers out of the segment range.
22245
22246 2005-08-22  Andy Wingo  <wingo@pobox.com>
22247
22248         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22249         macro, implements an interface and gstimplementsinterface for a
22250         new type.
22251
22252 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22253
22254         * check/Makefile.am:
22255         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22256           add a test that does a bunch of state changes on elements
22257           needs some fixing for valgrind
22258         * check/states/sinks.c: (gst_object_suite):
22259           whitespace
22260         * gst/gstcaps.h:
22261           add prototype for gst_caps_is_equal_fixed
22262         * gst/gstplugin.c:
22263         * gst/gstregistrypool.c:
22264           doc fixes
22265
22266 2005-08-24  Andy Wingo  <wingo@pobox.com>
22267
22268         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22269         convert a negative value. Doesn't make much sense. Mostly this is
22270         here to force callers to ensure -1 maps to -1.
22271
22272 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22273
22274         * docs/pwg/advanced-types.xml:
22275           Well done to Michael for catching my deliberate introduction
22276           of this spelling mistake. 
22277         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22278         * gst/gstelement.h:
22279           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22280           unlink pads before removing the element from the bin.
22281
22282 2005-08-24  Andy Wingo  <wingo@pobox.com>
22283
22284         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22285         the same thing as GST_DEBUG=*:4.
22286         (parse_debug_level, parse_debug_category): New helper parsers.
22287
22288 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22289
22290         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22291         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22292         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22293         (gst_base_transform_buffer_alloc),
22294         (gst_base_transform_handle_buffer):
22295           use gboolean return values and pointers to size so we can use the
22296           full GST_BUFFER_SIZE range (guint) for buffer sizes
22297           use GstPadDirection for transform_caps
22298         * gst/base/gstbasetransform.h:
22299           rename get_size to get_unit_size since that's what it is
22300         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22301           use GstPadDirection for transform_caps
22302         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22303         * gst/gstutils.h:
22304           cleanup and debugging
22305
22306 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22307
22308         * gst/gstelement.c: (gst_element_class_init),
22309         (gst_element_set_state), (activate_pads),
22310         (gst_element_save_thyself):
22311         * tools/gst-compprep.c: (main):
22312         * tools/gst-inspect.c: (print_element_properties_info):
22313         * tools/gst-xmlinspect.c: (print_element_properties):
22314           Fixed long standing mem-leak
22315
22316 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22317
22318         * check/gst/gstbin.c: (GST_START_TEST):
22319         * gst/gstbin.c: (bin_bus_handler):
22320         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22321         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22322         (gst_message_new_warning), (gst_message_new_tag),
22323         (gst_message_new_state_changed), (gst_message_new_segment_start),
22324         (gst_message_new_segment_done), (gst_message_new_custom):
22325         * gst/gstmessage.h:
22326         * tools/gst-launch.c: (event_loop):
22327         * tools/gst-md5sum.c: (event_loop):
22328           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22329           that applications can sensibly post custom messages with references
22330           to their own objects.
22331
22332 2005-08-24  Andy Wingo  <wingo@pobox.com>
22333
22334         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22335         already.
22336
22337 2005-08-24  Wim Taymans  <wim@fluendo.com>
22338
22339         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22340         (gst_base_transform_transform_caps),
22341         (gst_base_transform_transform_size),
22342         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22343         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22344         (gst_base_transform_handle_buffer):
22345         * gst/base/gstbasetransform.h:
22346         Many fixes and new features added by Thomas. Can now also do
22347         transforms with variable sizes and a custom fixate_caps function.
22348
22349 2005-08-24  Wim Taymans  <wim@fluendo.com>
22350
22351         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22352         Some debugging.
22353
22354         * gst/gstclock.h:
22355         Cast to ClockTime before formatting to time.
22356
22357         * gst/gstutils.h:
22358         Cleanups.
22359
22360 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22361
22362         * check/gst-libs/controller.c: (GST_START_TEST),
22363         (gst_controller_suite):
22364         * docs/gst/tmpl/gstcaps.sgml:
22365         * docs/gst/tmpl/gstghostpad.sgml:
22366         * docs/gst/tmpl/gstquery.sgml:
22367         * docs/gst/tmpl/gstutils.sgml:
22368         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22369         (gst_object_sink_values), (gst_object_get_value_arrays),
22370         (gst_object_get_value_array):
22371           gracefully handle helper method calls to objects that are not beeing
22372           controlled, added test case for that          
22373
22374 2005-08-23  Wim Taymans  <wim@fluendo.com>
22375
22376         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22377         (gst_event_new_newsegment), (gst_event_parse_newsegment),
22378         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22379         (gst_event_parse_qos), (gst_event_new_seek),
22380         (gst_event_parse_seek):
22381         * gst/gstevent.h:
22382         Some more debugging output and doc cleanups.
22383
22384         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22385         Fix possible deadlock.
22386
22387 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22388
22389         * docs/gst/gstreamer-docs.sgml:
22390         * docs/gst/gstreamer-sections.txt:
22391         * docs/gst/gstreamer.types:
22392         * docs/gst/tmpl/.cvsignore:
22393         * gst/gstbin.h:
22394         * gst/gstbus.c:
22395         * gst/gstelement.c:
22396         * gst/gstevent.h:
22397           added 100 symbols from gstreamer-unused.txt to the right sections
22398           fixed more broken comments
22399           added GstBus to docs
22400
22401 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22402
22403         * docs/gst/gstreamer-sections.txt:
22404         * docs/gst/tmpl/.cvsignore:
22405         * docs/gst/tmpl/gstbin.sgml:
22406         * docs/gst/tmpl/gstbuffer.sgml:
22407         * gst/base/gstbasesrc.c:
22408         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22409         * gst/gstbuffer.c:
22410         * gst/gstbuffer.h:
22411         * tools/gst-launch.1.in:
22412           inlined more doc comments, added missing comments and fixed comments
22413           fixed typos
22414
22415 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22416
22417         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22418           some debugging
22419         * gst/gstcaps.h:
22420           whitespace fixes
22421         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22422           more debugging
22423         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22424         * gst/gststructure.h:
22425           add a fixate function for booleans; add a FIXME that these func
22426           names should probably be gst_structure_fixate_*
22427
22428 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22429
22430         * docs/gst/gstreamer-docs.sgml:
22431         * docs/gst/gstreamer-sections.txt:
22432         * gst/Makefile.am:
22433         * gst/gstbin.c: (gst_bin_get_type),
22434         (gst_bin_child_proxy_get_child_by_index),
22435         (gst_bin_child_proxy_get_children_count),
22436         (gst_bin_child_proxy_init):
22437         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22438         (gst_child_proxy_get_child_by_index),
22439         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22440         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22441         (gst_child_proxy_get), (gst_child_proxy_set_property),
22442         (gst_child_proxy_set_valist), (gst_child_proxy_set),
22443         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22444         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22445         * gst/gstchildproxy.h:
22446         * gst/parse/grammar.y:
22447         * tools/gst-inspect.c: (print_interfaces),
22448         (print_element_properties_info), (print_element_info):
22449           ported gstchildproxy over from 0.8
22450           ported gst-inspect fixes and enhancements over from 0.8
22451
22452 2005-08-22  Wim Taymans  <wim@fluendo.com>
22453
22454         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22455         (gst_base_transform_handle_buffer):
22456         Also call the transform function if we have ANY caps.
22457
22458         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22459         Fix debug info.
22460
22461 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22462
22463         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22464           Don't pretend to handle seek events if the source is not seekable
22465
22466 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22467
22468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22469           Remove extra parameter to debug output
22470
22471         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22472         (gst_base_src_do_seek), (gst_base_src_activate_push):
22473           Fix seek event handling.
22474
22475         * gst/gstpipeline.c: (gst_pipeline_change_state):
22476         * gst/gstqueue.c: (gst_queue_handle_sink_event),
22477         (gst_queue_src_activate_push):
22478           Don't start the src pad task on FLUSH_STOP if the pad
22479           isn't linked.
22480           Debug changes.
22481
22482 2005-08-22  Wim Taymans  <wim@fluendo.com>
22483
22484         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22485         Added check for gst_static_caps_get() refcounting.
22486
22487 2005-08-22  Wim Taymans  <wim@fluendo.com>
22488
22489         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22490         Make _static_caps_get() refcounting sane.
22491         
22492         * gst/gstelement.c: (gst_element_set_state):
22493         Add g_return_val_if_fail() to protect against segfaults.
22494
22495 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
22496
22497         * docs/gst/tmpl/gstevent.sgml:
22498         * gst/gstevent.c:
22499         * gst/gstevent.h:
22500           inlined remaining docs, added missing doc comments
22501
22502 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22503
22504         * check/gst/gstbin.c: (GST_START_TEST):
22505           since we don't know when preroll is done, use refcount range
22506           check for the sink
22507         * gst/check/gstcheck.h:
22508           add macro for checking refcount range
22509
22510 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22511
22512         * check/Makefile.am:
22513           clean up environment for when registry gets built versus
22514           when actual tests are run; valgrind seems to not report
22515           leaks if GST_PLUGIN_PATH is set to some specific values
22516         * check/gst/gstbin.c: (GST_START_TEST):
22517           add more refcounting checks; maybe this exposes a
22518           preroll lock bug ?
22519         * common/check.mak:
22520         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22521         * gst/check/gstcheck.h:
22522         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22523         (gst_bin_change_state):
22524         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
22525           add/fix debugging/whitespace
22526
22527 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22528
22529         * check/gst/gstevent.c: (event_probe), (test_event),
22530         (GST_START_TEST):
22531          Er, don't call gst_bin_watch_for_state_change you idiot.
22532
22533 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22534
22535         * check/Makefile.am:
22536           Use CHECK_CFLAGS and CHECK_LIBS
22537         * check/gst/gstevent.c: (event_probe), (test_event),
22538         (GST_START_TEST):
22539           Don't leak events.
22540         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22541         (gst_base_src_start), (gst_base_src_stop),
22542         (gst_base_src_activate_push), (gst_base_src_activate_pull),
22543         (gst_base_src_change_state):
22544           Sprinkle gst_base_src_stop liberally around error paths to fix
22545           problems reusing a source after failed state changes.
22546         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22547         (helper_find_suggest), (gst_type_find_helper):
22548           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
22549         * gst/gstevent.h:
22550         * docs/gst/tmpl/gstevent.sgml:
22551           Migrate part of the docs from the SGML file. Wait for ensonic to
22552           tell me how I did it wrong ;)
22553         * tools/gst-typefind.c: (main):
22554           Extra robustness to state changes between files.
22555
22556 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22557
22558         * check/Makefile.am:
22559           don't valgrind the controller test - it's leaking - Stefan, HELP
22560         * gst/check/gstcheck.c: (gst_check_message_error),
22561         (gst_check_chain_func), (gst_check_setup_element),
22562         (gst_check_teardown_element), (gst_check_setup_src_pad),
22563         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
22564         (gst_check_teardown_sink_pad):
22565         * gst/check/gstcheck.h:
22566           add a bunch of methods to set up elements, and src and sink pads
22567         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
22568         * check/elements/identity.c: (setup_identity), (cleanup_identity),
22569         (GST_START_TEST):
22570           use them
22571         * gst/gstmessage.c:
22572         * gst/gsttag.h:
22573           whitespace/doc fixes
22574
22575 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22576
22577         * gst/gstelement.h:
22578           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
22579           be handled by the application and not always printed as well
22580
22581 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22582
22583         * check/Makefile.am:
22584           set GST_TOOLS_DIR
22585         * gst/check/gstcheck.c: (gst_check_message_error):
22586         * gst/check/gstcheck.h:
22587           add a fail_unless_equals_int
22588           add fail_unless for error messages
22589
22590 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22591
22592         * check/Makefile.am:
22593         * check/gst.supp:
22594         * common/Makefile.am:
22595         * common/check.mak:
22596         * common/gst.supp:
22597           factor out some of the common stuff so we can use it
22598
22599 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22600
22601         * check/Makefile.am:
22602         * check/gst/gstiterator.c: (GST_START_TEST):
22603         * check/gst/gstsystemclock.c: (GST_START_TEST),
22604         (gst_systemclock_suite):
22605         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22606         * gst/gstclock.c:
22607           valgrind more tests
22608
22609 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22610
22611         * check/elements/.cvsignore:
22612         * check/elements/gstfakesrc.c:
22613           rename to name of element
22614         * check/elements/identity.c: (chain_func), (event_func),
22615         (setup_identity), (cleanup_identity), (GST_START_TEST),
22616         (identity_suite), (main):
22617           add a test for identity
22618         * check/Makefile.am:
22619         * pkgconfig/Makefile.am:
22620         * pkgconfig/gstreamer-check.pc.in:
22621         * pkgconfig/gstreamer-check-uninstalled.pc.in:
22622         * gst/check:
22623         * gst/Makefile.am:
22624         * configure.ac:
22625           move the check stuff to a library that gets installed
22626         * check/gst-libs/controller.c: (GST_START_TEST):
22627         * check/gst-libs/gdp.c:
22628         * check/gst/gst.c: (GST_START_TEST):
22629         * check/gst/gstbin.c:
22630         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22631         * check/gst/gstbus.c:
22632         * check/gst/gstcaps.c: (GST_START_TEST):
22633         * check/gst/gstelement.c:
22634         * check/gst/gstghostpad.c:
22635         * check/gst/gstiterator.c:
22636         * check/gst/gstmessage.c:
22637         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
22638         * check/gst/gstobject.c:
22639         * check/gst/gstpad.c: (GST_START_TEST):
22640         * check/gst/gststructure.c: (GST_START_TEST):
22641         * check/gst/gstsystemclock.c: (GST_START_TEST),
22642         (gst_systemclock_suite):
22643         * check/gst/gsttag.c: (gst_tag_suite):
22644         * check/gst/gstvalue.c:
22645         * check/pipelines/cleanup.c:
22646         * check/pipelines/simple_launch_lines.c:
22647         * check/states/sinks.c:
22648           change include statement
22649
22650         * docs/gst/gstreamer-sections.txt:
22651         * docs/gst/tmpl/gstpad.sgml:
22652           document more pad stuff
22653         * gst/gstminiobject.c: (gst_mini_object_ref),
22654         (gst_mini_object_unref):
22655           debug refcounting
22656
22657 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
22658
22659         * docs/gst/tmpl/gst.sgml:
22660         * gst/gst.c:
22661           eliminate another tmpl file, fix spelling in the long-description
22662
22663 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22664
22665         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22666         (test_event), (timediff), (gstevents_suite):
22667           Should fix build on 64-bit arch's
22668
22669 2005-08-18  Andy Wingo  <wingo@pobox.com>
22670
22671         Make sure that when a pipeline goes to PLAYING, that data has
22672         actually hit the sink.
22673
22674         * check/states/sinks.c (test_sink): A sink that doesn't get any
22675         data shouldn't return SUCCESS for going to either PLAYING or
22676         PAUSED. Test also the return values on the way back down.
22677
22678         * gst/gstelement.c (gst_element_set_state): When changing the
22679         state of an element currently changing state asynchronously, go to
22680         lost-state after commiting the pending state. Makes future calls
22681         to get_state continue to return ASYNC.
22682
22683         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
22684         ASYNC when going to PLAYING if we still don't have preroll, as can
22685         happen with live sources.
22686
22687 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22688
22689         * docs/pwg/advanced-types.xml:
22690           Hack long paragraph into 2 chunks as a workaround for buggy
22691           jadetex version in sid and breezy that loops infinitely and
22692           eats all RAM.
22693
22694 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22695
22696         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22697         (test_event), (timediff), (gstevents_suite):
22698           Provide more error margin in clock measurements to allow for 
22699           g_get_current_time inaccuracies.
22700
22701 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22702
22703         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22704         (test_event), (timediff), (gstevents_suite):
22705            Fix error message output so I might be able to tell why the
22706            test works here but fails on the build farm.
22707
22708 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22709
22710         * check/Makefile.am:
22711         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22712         (test_event), (timediff), (gstevents_suite), (main):
22713           I wrote a test!
22714
22715         * docs/design/part-seeking.txt:
22716           Spelling correction
22717
22718         * docs/gst/tmpl/gstevent.sgml:
22719         * docs/gst/tmpl/gstfakesrc.sgml:
22720           Docs updates.
22721
22722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22723           Treat a buffer-without-newsegment the same as a receiving 
22724           a newsegment not in time format, and disable syncing to the clock
22725           with a warning.
22726
22727         * gst/gstbus.c: (gst_bus_set_sync_handler):
22728           Assert if anyone tries to replace the existing sync_handler for bus, 
22729           as only the owner should be setting it.
22730
22731         * gst/gstevent.h:
22732           Have a fixed set of custom event enums with events identified by
22733           their structure name (as in 0.8), rather than a free-for-all
22734           allowing collisions between enum values from different plugins.
22735
22736         * gst/gstpad.c: (gst_pad_class_init):
22737           Docs change.
22738           
22739         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22740           Handle out-of-band downstream events from the sending thread.
22741
22742 2005-08-17  Andy Wingo  <wingo@pobox.com>
22743
22744         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
22745         play-timeout==0 to mean no timeout at all. In that case, don't
22746         bother with a get_state or a warning, just return directly, even
22747         if it's ASYNC.
22748
22749         * gst/base/gstbasetransform.c: Debug changes.
22750
22751         * gst/gstutils.h:
22752         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
22753         ensure bins post state change messages. A bit of a hack but I can't
22754         think of a way to avoid it.
22755
22756         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
22757
22758 2005-08-16  Andy Wingo  <wingo@pobox.com>
22759
22760         * gst/base/gstadapter.h:
22761         * gst/base/gstadapter.c (gst_adapter_take): New function, like
22762         peek() but you own the data. Not terribly efficient atm.
22763
22764 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22765
22766         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
22767         (gst_element_found_tags):
22768         * gst/gstutils.h:
22769           Add two utility functions for tag handling.
22770
22771 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22772
22773         * docs/manual/advanced-dataaccess.xml:
22774         * docs/manual/basics-helloworld.xml:
22775           Fix docs to use _bin_add() before _link(), which fixes the examples
22776           with recent core versions (reported by Madhan Raj M
22777           <raj_madan@rediffmail.com>, #313199).
22778
22779 2005-08-16  Wim Taymans  <wim@fluendo.com>
22780
22781         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22782         Added subtract checks.
22783
22784         * docs/design/part-events.txt:
22785         Some more docs about newsegment
22786
22787         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22788         Fix FIXME
22789
22790         * gst/gstcaps.c: (gst_caps_to_string):
22791         Add comments, cleanups.
22792         
22793         * gst/gstelement.c: (gst_element_save_thyself):
22794         cleanups
22795         
22796         * gst/gstvalue.c: (gst_value_collect_int_range),
22797         (gst_string_unwrap), (gst_value_union_int_int_range),
22798         (gst_value_union_int_range_int_range),
22799         (gst_value_intersect_int_int_range),
22800         (gst_value_intersect_int_range_int_range),
22801         (gst_value_intersect_double_double_range),
22802         (gst_value_intersect_double_range_double_range),
22803         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
22804         (gst_value_subtract_int_range_int),
22805         (gst_value_subtract_double_range_double),
22806         (gst_value_subtract_double_range_double_range),
22807         (gst_value_subtract_from_list), (gst_value_subtract_list),
22808         (gst_value_can_compare), (gst_value_compare_fraction):
22809         Cleanups, add comments, remove unneeded asserts.
22810
22811 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22812
22813         * tools/gst-launch.c: (event_loop):
22814           don't convert NULL structures to strings
22815
22816 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
22817
22818         * docs/gst/gstreamer-sections.txt:
22819           made some defines private
22820         * docs/gst/tmpl/gstconfig.sgml:
22821         * docs/gst/tmpl/gstqueue.sgml:
22822         * docs/gst/tmpl/gsttaglist.sgml:
22823         * docs/gst/tmpl/gsttypes.sgml:
22824         * docs/gst/tmpl/gstutils.sgml:
22825         * docs/pwg/appendix-porting.xml:
22826         * gst/base/gstbasesink.h:
22827         * gst/base/gstbasesrc.c:
22828         * gst/base/gstbasesrc.h:
22829         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
22830         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
22831         * gst/gstelement.c: (gst_element_class_init):
22832         * gst/gstpad.c: (gst_pad_class_init):
22833         * gst/gstqueue.c: (gst_queue_class_init):
22834         * gst/gstxml.c: (gst_xml_class_init):
22835           documented all undocumented signal inline
22836         * libs/gst/controller/gst-controller.h:
22837           added padding
22838
22839 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22840
22841         * docs/pwg/appendix-porting.xml:
22842           Document _set_link_function -> _set_setcaps_function.
22843
22844 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22845
22846         * check/Makefile.am:
22847           add a .check target for running the check
22848         * check/gst-libs/controller.c: (GST_START_TEST):
22849           cosmetic fixups
22850         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22851           complete checks for gstbuffer; would be nice if I could get the
22852           gcov stuff to work so I can see if I actually completed gstbuffer.c
22853         * check/gstcheck.h:
22854           add ASSERT_BUFFER_REFCOUNT
22855
22856 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
22857
22858         * docs/gst/gstreamer-sections.txt:
22859         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
22860         * gst/gsttag.h:
22861           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
22862           spew out a warning if a tag that is already registered
22863           is re-registered, unless it is re-registered with a 
22864           different type (#308438).
22865
22866 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
22867
22868         * docs/pwg/appendix-porting.xml:
22869         * docs/pwg/building-state.xml:
22870           Add some paragraphs about state changes in 0.9 to the PWG
22871           and the porting guide, in particular about the new meaning
22872           of GST_STATE_PAUSED and how to write state change functions
22873           with concurrent access by multiple threads in mind.
22874
22875 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
22876
22877         * docs/gst/gstreamer-docs.sgml:
22878         * docs/libs/gstreamer-libs-docs.sgml:
22879           added deprecation and since indexes
22880         * libs/gst/controller/gst-controller.c:
22881         * libs/gst/controller/gst-helper.c:
22882           added since tags
22883
22884
22885 2005-08-11  Wim Taymans  <wim@fluendo.com>
22886
22887         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
22888         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
22889         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
22890         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
22891         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
22892         (gst_ghost_pad_set_target):
22893         Actually implement (re)setting the target on a ghostpad
22894         as described in the docs.
22895
22896 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
22897
22898         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
22899           Check whether GST_DEBUG_NO_COLOR environment variable is
22900           set and disable coloured debug output if that is the case.
22901
22902 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
22903
22904         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22905         (gst_type_find_helper):
22906           The memory returned by gst_type_find_peek() needs to
22907           stay valid until the end of a typefind function, and
22908           typefind functions may keep results from different 
22909           offsets around, so we can't just unref the buffer from
22910           the previous _peek(), but have to save all buffers 
22911           returned by _peek() until typefinding is done and only
22912           free them then.
22913
22914 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
22915
22916         * docs/gst/gstreamer-sections.txt:
22917         * gst/gstutils.h:
22918           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
22919
22920 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22921
22922         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
22923           Fix a pretty good memleak.
22924
22925 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
22926
22927         * gst/gstiterator.h:
22928           Fix wrong include and 'make distcheck'.
22929
22930 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22931
22932         * gst/gstbin.c: (bin_bus_handler):
22933           Use gst_element_post_message() instead.
22934
22935 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
22936
22937         * gst/base/gstadapter.h:
22938         * gst/base/gstbasesink.h:
22939         * gst/base/gstbasesrc.h:
22940         * gst/base/gstbasetransform.h:
22941         * gst/base/gstcollectpads.h:
22942         * gst/base/gstpushsrc.h:
22943         * gst/gstiterator.h:
22944           Add padding to our base elements' class and instance structs and
22945           to GstIterator (you will need to rebuild all plugins and apps!)
22946
22947 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22948
22949         * gst/gstbin.c: (bin_bus_handler):
22950           Make default message forwarding from child->bus to bin->bus
22951           threadsafe and make it not emit warnings if the parent has no bus.
22952
22953 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22954
22955         * gst/gstelement.c: (activate_pads):
22956           On paused->ready, set pad->caps to NULL, as is the documented
22957           behaviour in this state change. Fixes playback of series of
22958           media files when visualization is enabled in Totem.
22959
22960 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22961
22962         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
22963           Allow NULL as filter-caps (which means "any").
22964
22965 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22966
22967         * docs/libs/gstreamer-libs-sections.txt:
22968         * libs/gst/controller/gst-controller.c:
22969         * libs/gst/controller/gst-controller.h:
22970         * libs/gst/controller/gst-helper.c:
22971           adding more entries to the docs and fix small doc-bugs
22972
22973 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22974
22975         * docs/gst/gstreamer-docs.sgml:
22976         * docs/gst/gstreamer-sections.txt:
22977         * docs/gst/gstreamer.types:
22978         * docs/gst/tmpl/gstbasesink.sgml:
22979         * docs/gst/tmpl/gstbasesrc.sgml:
22980         * docs/gst/tmpl/gstbasetransform.sgml:
22981         * docs/gst/tmpl/gstfakesrc.sgml:
22982         * gst/base/gstcollectpads.c:
22983         * gst/base/gstcollectpads.h:
22984         * libs/gst/controller/gst-controller.c:
22985         * libs/gst/controller/gst-controller.h:
22986         * libs/gst/controller/gst-helper.c:
22987         * libs/gst/controller/gst-interpolation.c:
22988         * libs/gst/controller/lib.c:
22989           added long/short desc for controller docs
22990           added collectpads base class docs
22991           added correct includes to base-class docs
22992
22993 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
22994
22995         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22996         (gst_test_mono_source_set_property),
22997         (gst_test_mono_source_class_init), (GST_START_TEST),
22998         (gst_controller_suite):
22999         * docs/gst/gstreamer-docs.sgml:
23000         * docs/gst/gstreamer-sections.txt:
23001         * docs/gst/gstreamer.types:
23002         * docs/libs/gstreamer-libs-docs.sgml:
23003         * docs/libs/gstreamer-libs-sections.txt:
23004         * gst/base/gstadapter.c:
23005         * libs/gst/controller/gst-controller.c:
23006         (gst_controlled_property_new), (gst_controlled_property_free),
23007         (gst_controller_new_valist),
23008         (gst_controller_remove_properties_valist),
23009         (gst_controller_sink_values), (_gst_controller_finalize):
23010         * libs/gst/controller/gst-controller.h:
23011         * libs/gst/controller/gst-helper.c:
23012         (gst_object_control_properties), (gst_object_uncontrol_properties),
23013         (gst_object_get_controller), (gst_object_set_controller),
23014         (gst_object_sink_values), (gst_object_get_value_arrays),
23015         (gst_object_get_value_array):
23016           more tests (and fixes) for the controller
23017           more docs for the controller
23018           integrated companies docs for the adapter 
23019
23020 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23021
23022         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
23023         (GST_START_TEST), (fakesrc_suite):
23024           add tests for sizetype
23025
23026 2005-08-04  Andy Wingo  <wingo@pobox.com>
23027
23028         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
23029         fixes buffer_alloc proxying among other things.
23030
23031         * gst/base/gstbasetransform.c:
23032         * gst/base/gstbasetransform.h:
23033         Revert patch to gstbasetransform from 7-28 removing
23034         delay_configure.
23035
23036         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
23037         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
23038         Semantics changed, should return not the size of the output buffer
23039         but the byte size of a buffer with a given caps.
23040
23041         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
23042         debug object.
23043         (gst_base_transform_configure_caps): Don't set out_size here: (in,
23044         out) are not the pad caps until setcaps finishes.
23045         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
23046         not-in-place case as well. Deal with changing from in-place to
23047         not-in-place within calling pad_alloc_buffer. Still a bit
23048         concerned about the overhead here...
23049
23050 2005-08-03  Andy Wingo  <wingo@pobox.com>
23051
23052         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
23053         fixating is an error.
23054
23055 2005-08-04  Edward Hervey  <edward@fluendo.com>
23056
23057         * gst/base/gstadapter.h: 
23058         Added gst_adapter_get_type() to the header
23059
23060 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23061
23062         * check/Makefile.am:
23063         * check/gst-libs/controller.c:
23064         * libs/gst/controller/gst-controller.c:
23065         (gst_controller_new_valist):
23066           added check test suite for the controller
23067         * gst/base/gstpushsrc.c:
23068           fixed a doc typo
23069
23070 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23071
23072         * docs/gst/Makefile.am:
23073         * docs/gst/gstreamer-docs.sgml:
23074         * docs/gst/gstreamer-sections.txt:
23075         * docs/gst/gstreamer.types:
23076         * docs/gst/tmpl/gstfakesrc.sgml:
23077         * gst/base/README:
23078         * gst/base/gstbasesink.c:
23079         * gst/base/gstbasesink.h:
23080         * gst/base/gstbasesrc.c:
23081         * gst/base/gstbasesrc.h:
23082         * gst/base/gstbasetransform.c:
23083         * gst/base/gstpushsrc.c:
23084         * gst/base/gstpushsrc.h:
23085           add short/long description docs to base classes
23086           add pushsrc to the docs
23087           remove consolidated doc fragments
23088
23089 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23090
23091         * configure.ac:
23092         * docs/libs/Makefile.am:
23093         * docs/libs/gstreamer-libs-docs.sgml:
23094         * docs/libs/gstreamer-libs-sections.txt:
23095         * docs/libs/gstreamer-libs.types:
23096         * examples/Makefile.am:
23097         * examples/controller/.cvsignore:
23098         * examples/controller/Makefile.am:
23099         * examples/controller/audio-example.c: (main):
23100         * libs/gst/Makefile.am:
23101         * libs/gst/controller/.cvsignore:
23102         * libs/gst/controller/Makefile.am:
23103         * libs/gst/controller/gst-controller.c:
23104         (on_object_controlled_property_changed), (gst_timed_value_compare),
23105         (gst_timed_value_find),
23106         (gst_controlled_property_set_interpolation_mode),
23107         (gst_controlled_property_new), (gst_controlled_property_free),
23108         (gst_controller_find_controlled_property),
23109         (gst_controller_new_valist), (gst_controller_new),
23110         (gst_controller_remove_properties_valist),
23111         (gst_controller_remove_properties), (gst_controller_set),
23112         (gst_controller_set_from_list), (gst_controller_unset),
23113         (gst_controller_get), (gst_controller_get_all),
23114         (gst_controller_sink_values), (gst_controller_get_value_arrays),
23115         (gst_controller_get_value_array),
23116         (gst_controller_set_interpolation_mode),
23117         (_gst_controller_finalize), (_gst_controller_init),
23118         (_gst_controller_class_init), (gst_controller_get_type):
23119         * libs/gst/controller/gst-controller.h:
23120         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
23121         (g_object_uncontrol_properties), (g_object_get_controller),
23122         (g_object_set_controller), (g_object_sink_values),
23123         (g_object_get_value_arrays), (g_object_get_value_array):
23124         * libs/gst/controller/gst-interpolation.c:
23125         (gst_controlled_property_find_timed_value_node),
23126         (interpolate_none_get), (interpolate_trigger_get),
23127         (interpolate_trigger_get_value_array):
23128         * libs/gst/controller/lib.c: (gst_controller_init):
23129         * pkgconfig/Makefile.am:
23130         * pkgconfig/gstreamer-control-uninstalled.pc.in:
23131         * pkgconfig/gstreamer-control.pc.in:
23132         * testsuite/Makefile.am:
23133         * testsuite/controller/.cvsignore:
23134         * testsuite/controller/Makefile.am:
23135         * testsuite/controller/interpolator.c: (main):
23136           added controller code
23137           removed dparam pc files
23138
23139 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23140         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
23141         (gst_collectpads_stop):
23142           Broadcast the condition when shutting down, to make sure we wake all
23143           threads up. Shut down pads on finalize, for safety.
23144
23145 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23146         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23147         (gst_base_transform_handle_buffer),
23148         (gst_base_transform_change_state):
23149           Handle PAUSED->READY->PAUSED transition after negotiation
23150           occurred already.
23151         * gst/gstmessage.c: (gst_message_init):
23152           Extra piece of debug for new messages.
23153
23154 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
23155
23156         * configure.ac:
23157         * docs/gst/tmpl/gstbasesrc.sgml:
23158         * docs/gst/tmpl/gstelement.sgml:
23159         * docs/gst/tmpl/gstevent.sgml:
23160         * docs/gst/tmpl/gstfakesrc.sgml:
23161         * docs/gst/tmpl/gstformat.sgml:
23162         * docs/gst/tmpl/gstghostpad.sgml:
23163         * docs/gst/tmpl/gstpad.sgml:
23164         * docs/gst/tmpl/gstquery.sgml:
23165         * docs/gst/tmpl/gststructure.sgml:
23166         * docs/gst/tmpl/gsttaglist.sgml:
23167         * docs/gst/tmpl/gstvalue.sgml:
23168         * docs/libs/gstreamer-libs-docs.sgml:
23169         * docs/libs/gstreamer-libs-sections.txt:
23170         * docs/libs/gstreamer-libs.types:
23171         * libs/gst/Makefile.am:
23172         * libs/gst/control/.cvsignore:
23173         * libs/gst/control/Makefile.am:
23174         * libs/gst/control/control.c:
23175         * libs/gst/control/control.h:
23176         * libs/gst/control/dparam.c:
23177         * libs/gst/control/dparam.h:
23178         * libs/gst/control/dparam_smooth.c:
23179         * libs/gst/control/dparam_smooth.h:
23180         * libs/gst/control/dparamcommon.h:
23181         * libs/gst/control/dparammanager.c:
23182         * libs/gst/control/dparammanager.h:
23183         * libs/gst/control/dplinearinterp.c:
23184         * libs/gst/control/dplinearinterp.h:
23185         * libs/gst/control/unitconvert.c:
23186         * libs/gst/control/unitconvert.h:
23187         * testsuite/Makefile.am:
23188         * testsuite/dynparams/.cvsignore:
23189         * testsuite/dynparams/Makefile.am:
23190         * testsuite/dynparams/dparamstest.c:
23191         * tools/Makefile.am:
23192         * tools/gst-inspect.c: (print_element_info), (main):
23193         * tools/gst-xmlinspect.c: (print_element_info), (main):
23194           deactivate and remove dparams (libgstcontrol)
23195
23196 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23197
23198         * gst/elements/gsttypefindelement.c:
23199         (gst_type_find_element_have_type), (gst_type_find_element_init),
23200         (stop_typefinding), (gst_type_find_element_handle_event),
23201         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23202         * gst/elements/gsttypefindelement.h:
23203           Set caps on all outgoing buffers, not just the first one.
23204
23205 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23206
23207         * gst/elements/gsttypefindelement.c:
23208         (gst_type_find_element_have_type),
23209         (gst_type_find_element_check_set_buffer_caps),
23210         (gst_type_find_element_init), (stop_typefinding),
23211         (gst_type_find_element_handle_event),
23212         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23213         * gst/elements/gsttypefindelement.h:
23214           Set caps on first outgoing buffer when we've found the type.
23215
23216 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23217
23218         * docs/gst/gstreamer-docs.sgml:
23219         * docs/gst/gstreamer-sections.txt:
23220         * docs/gst/tmpl/gstscheduler.sgml:
23221         * docs/gst/tmpl/gstschedulerfactory.sgml:
23222           Remove some old cruft from docs.
23223
23224 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
23225
23226         * gst/gstpad.h:
23227           Fix inline docs for GstPadLinkReturn.
23228           
23229         * gst/gststructure.c: (gst_structure_has_name):
23230         * gst/gststructure.h:
23231         * docs/gst/gstreamer-sections.txt:
23232           New API: gst_structure_has_name().
23233
23234 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
23235
23236         * configure.ac:
23237           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
23238           and _LARGEFILE_SOURCE in config.h as required. Do not 
23239           export those flags in our .pc files any longer (#142209).
23240
23241           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
23242
23243         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
23244         (gst_file_sink_do_seek), (gst_file_sink_event),
23245         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23246           Redo seek/tell calls with large file support in mind; add some
23247           debugging messages; add log message that tells us when large
23248           file support is unavailable or not enabled for some reason.
23249
23250         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23251           Add log message that tells us when large file support 
23252           is unavailable or not enabled for some reason.
23253
23254 2005-07-29  Wim Taymans  <wim@fluendo.com>
23255
23256         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23257         Added test for removing an element with ghostpad from a bin.
23258         Fixed test as current implementation does the right thing.
23259
23260         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23261         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23262         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23263         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23264         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23265         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23266         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23267         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23268         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23269         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23270         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23271         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23272         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23273         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23274         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23275         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23276         * gst/gstghostpad.h:
23277         Clean up ghostpads, remove properties for internal stuff.
23278         Make threadsafe.
23279         Fix refcounting.
23280         Prepare for switching targets, not all use cases work yet.
23281
23282 2005-07-29  Wim Taymans  <wim@fluendo.com>
23283
23284         * docs/design/part-gstghostpad.txt:
23285         Small update.
23286
23287         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23288         (gst_bin_remove_func):
23289         Unlinking pads while holding the bin LOCK is not a good
23290         idea.
23291
23292         * gst/gstpad.c: (gst_pad_class_init),
23293         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23294         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23295         No prob setting template after creating the pad.
23296
23297 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
23298
23299         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23300         (gst_bus_peek), (gst_bus_source_dispatch),
23301         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23302         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23303           gst_bus_poll may be called from other threads. Handle
23304           this nicely by not making poll_data disappear off the
23305           stack once gst_bus_poll returns.
23306           gst_bus_peek now increments the refcount on the returned
23307           message.
23308
23309 2005-07-29  Wim Taymans  <wim@fluendo.com>
23310
23311         * docs/design/part-gstghostpad.txt:
23312         Overview of current GhostPad datastructures and use
23313         cases for changing the target.
23314
23315 2005-07-28  Wim Taymans  <wim@fluendo.com>
23316
23317         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23318         Added checks for hierarchy consistency whan adding linked
23319         elements to bins.
23320
23321         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23322         Added check to test element scheduling without bin/pipeline.
23323
23324         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23325         First add elements to bin, then link.
23326         
23327         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23328         (gst_bin_remove_func):
23329         Unlink pads from elements added/removed from bin to maintain
23330         hierarchy consistency.
23331
23332 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23333
23334         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23335         (gst_base_transform_handle_buffer):
23336         * gst/base/gstbasetransform.h:
23337           Remove broken delay_configure (fixes renegotiation of software
23338           scaling pipelines); remove some leftover printf()s.
23339
23340 2005-07-28  Wim Taymans  <wim@fluendo.com>
23341
23342         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23343         Added some more tests for wrong hierarchy
23344
23345         * docs/design/part-overview.txt:
23346         Some updates.
23347
23348         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23349         Cleanups.
23350
23351         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23352         (gst_element_dispose):
23353         Some more cleanups.
23354
23355         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23356         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23357         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23358         (gst_pad_set_caps), (gst_pad_send_event):
23359         Check for correct hierarchy when linking pads. Moving to
23360         strict requirement for ghostpads when linking elements in
23361         different bins.
23362
23363         * gst/gstpad.h:
23364         Clean ups. Added WRONG_HIERARCHY return value.
23365
23366 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23367
23368         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23369           Better debug if no transform is possible.
23370
23371 2005-07-27  Wim Taymans  <wim@fluendo.com>
23372
23373         * docs/random/wtay/network-transp:
23374         Some old doc I had.
23375
23376 2005-07-27  Wim Taymans  <wim@fluendo.com>
23377
23378         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23379         (gst_dp_event_from_packet):
23380         Fix serialization of seek events.
23381
23382 2005-07-27  Wim Taymans  <wim@fluendo.com>
23383
23384         * check/gst-libs/gdp.c: (GST_START_TEST):
23385         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23386         Fix compilation and fix event serialization.
23387
23388 2005-07-27  Wim Taymans  <wim@fluendo.com>
23389
23390         * CHANGES-0.9:
23391         * docs/design/part-TODO.txt:
23392         * docs/design/part-events.txt:
23393         Some docs updates
23394
23395         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23396         (gst_base_sink_event), (gst_base_sink_do_sync),
23397         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23398         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23399         (gst_base_src_do_seek), (gst_base_src_event_handler),
23400         (gst_base_src_loop):
23401         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23402         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23403         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23404         (gst_base_transform_event), (gst_base_transform_handle_buffer),
23405         (gst_base_transform_set_passthrough),
23406         (gst_base_transform_is_passthrough):
23407         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23408         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23409         Event updates.
23410
23411         * gst/gstbuffer.h:
23412         Use faster casts.
23413
23414         * gst/gstelement.c: (gst_element_seek):
23415         * gst/gstelement.h:
23416         Update gst_element_seek.
23417
23418         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23419         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23420         (gst_event_new_flush_start), (gst_event_new_flush_stop),
23421         (gst_event_new_eos), (gst_event_new_newsegment),
23422         (gst_event_parse_newsegment), (gst_event_new_tag),
23423         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23424         (gst_event_parse_qos), (gst_event_new_seek),
23425         (gst_event_parse_seek), (gst_event_new_navigation):
23426         * gst/gstevent.h:
23427         Make GstEvent use GstStructure. Add parsing code, make sure the
23428         API is sufficiently generic.
23429         Mark possible directions of events and serialization.
23430
23431         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23432         (_gst_message_copy), (gst_message_new_segment_start),
23433         (gst_message_new_segment_done), (gst_message_new_custom),
23434         (gst_message_parse_segment_start),
23435         (gst_message_parse_segment_done):
23436         Small cleanups.
23437
23438         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23439         (gst_pad_set_caps), (gst_pad_send_event):
23440         Update for new events. 
23441         Catch events sent in wrong directions.
23442
23443         * gst/gstqueue.c: (gst_queue_link_src),
23444         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23445         (gst_queue_handle_src_query):
23446         Event updates.
23447
23448         * gst/gsttag.c:
23449         * gst/gsttag.h:
23450         Remove event code from this file.
23451
23452         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23453         (gst_dp_event_from_packet):
23454         Event updates.
23455
23456 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23457
23458         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23459         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23460         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23461           Make debugging actually useful.
23462
23463 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23464
23465         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23466         (gst_pad_fixate_caps):
23467           Implement default fixation once again, so that gst_pad_fixate()
23468           actually does anything at all. This probably needs to be some
23469           sort of a last resort, and use profile-based fixation first, but
23470           since that doesn't exist yet, this is the best we have. Fixes
23471           visualization in Totem.
23472
23473 2005-07-22  Wim Taymans  <wim@fluendo.com>
23474
23475         * docs/design/part-events.txt:
23476         Small update.
23477
23478         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23479         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23480         (gst_base_sink_activate_pull):
23481         Some more comments.
23482
23483         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23484         (gst_fake_src_create):
23485         Fix handoff marshall.
23486
23487         * gst/elements/gstidentity.c: (gst_identity_class_init),
23488         (gst_identity_transform_ip):
23489         We're a real inplace element.
23490
23491         * gst/gstbus.c: (gst_bus_post):
23492         Added some comments.
23493
23494         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23495         * tests/muxing/case1.c: (main):
23496         * tests/sched/dynamic-pipeline.c: (main):
23497         * tests/sched/interrupt1.c: (main):
23498         * tests/sched/interrupt2.c: (main):
23499         * tests/sched/interrupt3.c: (main):
23500         * tests/sched/runxml.c: (main):
23501         * tests/sched/sched-stress.c: (main):
23502         * tests/seeking/seeking1.c: (event_received), (main):
23503         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23504         (main):
23505         * tests/threadstate/threadstate3.c: (main):
23506         * tests/threadstate/threadstate4.c: (main):
23507         * tests/threadstate/threadstate5.c: (main):
23508         Fix the tests.
23509
23510 2005-07-21  Wim Taymans  <wim@fluendo.com>
23511
23512         * docs/design/part-seeking.txt:
23513         Some small additions.
23514
23515         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23516         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23517         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23518         * gst/base/gstbasesink.h:
23519         discont values are gint64, handle the math correctly.
23520
23521         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23522         Make the basesrc report error if the source pad is not linked.
23523
23524         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
23525         (gst_queue_loop), (gst_queue_handle_src_query),
23526         (gst_queue_src_activate_push):
23527         Make queue collect data even if the srcpad is not linked.
23528         Start pushing out data as soon as it is linked.
23529
23530         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
23531         * gst/gstutils.h:
23532         Added gst_flow_get_name() to ease error reporting.
23533
23534 2005-07-20  Wim Taymans  <wim@fluendo.com>
23535
23536         * gst/gstmessage.c: (gst_message_new_segment_start),
23537         (gst_message_new_segment_done), (gst_message_parse_segment_start),
23538         (gst_message_parse_segment_done):
23539         * gst/gstmessage.h:
23540         Added a bunch of messages for advanced seeking.
23541
23542         * gst/parse/grammar.y:
23543         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
23544         (gst_dpman_state_changed):
23545         Fix some new-pad -> pad-added signals
23546
23547 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23548
23549         * docs/manual/appendix-porting.xml:
23550         * docs/pwg/appendix-porting.xml:
23551           Document new-pad/state-change signal renames and the FixedList
23552           type rename.
23553
23554 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23555
23556         * docs/manual/advanced-autoplugging.xml:
23557         * docs/manual/basics-helloworld.xml:
23558         * docs/manual/basics-pads.xml:
23559         * docs/random/ds/0.9-suggested-changes:
23560         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
23561         * gst/gstelement.h:
23562         * gst/gstevent.h:
23563         * gst/gstformat.h:
23564         * gst/gstquery.h:
23565         * gst/gststructure.c: (gst_structure_value_get_generic_type),
23566         (gst_structure_parse_array), (gst_structure_parse_value):
23567         * gst/gstvalue.c: (gst_type_is_fixed),
23568         (gst_value_list_prepend_value), (gst_value_list_append_value),
23569         (gst_value_list_get_size), (gst_value_list_get_value),
23570         (gst_value_transform_array_string), (gst_value_serialize_array),
23571         (gst_value_deserialize_array), (gst_value_intersect_array),
23572         (gst_value_is_fixed), (_gst_value_initialize):
23573         * gst/gstvalue.h:
23574           GstElement::new-pad -> pad-added, GstElement::state-change ->
23575           state-changed, GstValueFixedList -> GstValueArray, add format and
23576           flags as their own arguments in gst_element_seek() (should improve
23577           "bindeability"), remove function generators since they don't work
23578           under a whole bunch of compilers (they were deprecated already
23579           anyway).
23580
23581 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23582
23583         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23584         (_gst_debug_register_funcptr):
23585         * gst/gstinfo.h:
23586           Fix illegal cast on some platforms (#309253).
23587
23588 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23589
23590         * gst/gstmessage.c: (gst_message_new_custom):
23591         * gst/gstmessage.h:
23592           Add _new_custom, make _new_application a macro to _new_custom.
23593
23594 2005-07-20  Wim Taymans  <wim@fluendo.com>
23595
23596         * gst/base/gstbasesrc.c: (gst_base_src_init),
23597         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
23598         * gst/base/gstbasesrc.h:
23599         Add a gboolean to decide when to push out a discont.
23600
23601         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23602         (gst_queue_loop), (gst_queue_handle_src_query),
23603         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
23604         (gst_queue_set_property), (gst_queue_get_property):
23605         Some cleanups.
23606
23607         * tests/threadstate/threadstate1.c: (main):
23608         Make a thread test compile and run... very silly..
23609
23610
23611 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23612
23613         * docs/manual/appendix-porting.xml:
23614           Mention removal of libgstgconf-0.9.la and existence of gconf
23615           elements.
23616
23617 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23618
23619         * docs/pwg/advanced-clock.xml:
23620         * docs/pwg/appendix-porting.xml:
23621         * docs/pwg/intro-preface.xml:
23622         * docs/pwg/other-base.xml:
23623         * docs/pwg/other-manager.xml:
23624         * docs/pwg/other-nton.xml:
23625         * docs/pwg/other-ntoone.xml:
23626         * docs/pwg/other-oneton.xml:
23627         * docs/pwg/pwg.xml:
23628           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
23629           demuxer), remove n-to-n (was never written), fix some code examples
23630           and links and update the porting section to include all this.
23631
23632 2005-07-19  Wim Taymans  <wim@fluendo.com>
23633
23634         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
23635         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
23636         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
23637         (gst_queue_src_activate_push), (gst_queue_change_state),
23638         (gst_queue_get_property):
23639         * gst/gstqueue.h:
23640         Propagate GstFlowReturn more intelligently upstream and output
23641         an ERROR/EOS when streaming stopped due to fatal error.
23642
23643 2005-07-19  Wim Taymans  <wim@fluendo.com>
23644
23645         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23646         Don't block forever for the state change to complete, the
23647         pipeline already did with a sensible timeout.
23648
23649 2005-07-19  Wim Taymans  <wim@fluendo.com>
23650
23651         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23652         Make sure we never call the create function is we
23653         got deactivated.
23654
23655 2005-07-19  Andy Wingo  <wingo@pobox.com>
23656
23657         * gst/parse/parse.l: Attempt to solve bug #172815.
23658
23659 2005-07-19  Wim Taymans  <wim@fluendo.com>
23660
23661         * docs/design/part-clocks.txt:
23662         * docs/design/part-events.txt:
23663         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
23664         Small docs updates.
23665         Only update the seeking values when we are not
23666         busy streaming.
23667
23668 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23669
23670         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23671           Oops, ignore the result of gst_pad_push_event here.
23672
23673 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23674
23675         * gst/base/gstbasesrc.c: (gst_base_src_loop),
23676         (gst_base_src_activate_push):
23677           Send discont event from the loop function, as pads
23678           aren't activated yet in the activate_push handler.
23679
23680         * gst/gstbin.c: (bin_bus_handler):
23681           Don't leak element name.
23682
23683 2005-07-18  Andy Wingo  <wingo@pobox.com>
23684
23685         * configure.ac: Use AS_LIBTOOL_TAGS.
23686
23687 2005-07-18  Wim Taymans  <wim@fluendo.com>
23688
23689         * docs/gst/gstreamer.types:
23690         Remove deleted types.
23691
23692 2005-07-18  Wim Taymans  <wim@fluendo.com>
23693
23694         * check/elements/gstfakesrc.c: (GST_START_TEST):
23695         * configure.ac:
23696         * gst/Makefile.am:
23697         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
23698         (init_popt_callback):
23699         * gst/gst.h:
23700         * gst/gst_private.h:
23701         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
23702         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
23703         * gst/gstbin.h:
23704         * gst/gstbus.h:
23705         * gst/gstconfig.h.in:
23706         * gst/gstelement.c: (gst_element_class_init),
23707         (gst_element_set_base_time), (gst_element_get_base_time),
23708         (iterator_fold_with_resync), (gst_element_change_state),
23709         (gst_element_dispose), (gst_element_get_bus):
23710         * gst/gstelement.h:
23711         * gst/gstelementfactory.h:
23712         * gst/gsterror.c: (_gst_core_errors_init):
23713         * gst/gsterror.h:
23714         * gst/gstevent.h:
23715         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23716         * gst/gstindex.c:
23717         * gst/gstinfo.c: (_gst_debug_init):
23718         * gst/gstmessage.c: (_gst_message_copy):
23719         * gst/gstmessage.h:
23720         * gst/gstminiobject.h:
23721         * gst/gstobject.c:
23722         * gst/gstobject.h:
23723         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23724         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
23725         * gst/gstpad.h:
23726         * gst/gstparse.h:
23727         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23728         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23729         (gst_pipeline_get_last_stream_time):
23730         * gst/gstpipeline.h:
23731         * gst/gstpluginfeature.h:
23732         * gst/gstquery.h:
23733         * gst/gstscheduler.c:
23734         * gst/gstscheduler.h:
23735         * gst/gststructure.h:
23736         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23737         (gst_task_finalize), (gst_task_func), (gst_task_create),
23738         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
23739         (gst_task_stop), (gst_task_pause):
23740         * gst/gsttask.h:
23741         * gst/gsttypefind.h:
23742         * gst/gsttypes.h:
23743         * gst/registries/gstlibxmlregistry.c: (load_feature),
23744         (gst_xml_registry_load), (gst_xml_registry_save_feature):
23745         * gst/registries/gstxmlregistry.c:
23746         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
23747         * gst/schedulers/threadscheduler.c:
23748         * libs/gst/control/dparammanager.h:
23749         * tools/gst-inspect.c: (print_element_list),
23750         (print_plugin_features), (print_element_features):
23751         * tools/gst-xmlinspect.c: (print_element_list),
23752         (print_plugin_info), (main):
23753         Removed plugable schedulers.
23754         Removed Scheduler/Manager from elements.
23755         Removed gsttypes.h, rearranged includes.
23756         Removed dependency pad<->element, element<>pipeline, and
23757         various others,  fix includes.
23758         implement gst_pad_get_parent() with gst_object_get_parent()
23759         Make GstTask sefcontained.
23760         Fix _get_state() on GstBin, it did not return ASYNC with a 0
23761         timeout.
23762         Fix endless loop in iterator_fold_with_resync.
23763
23764
23765 2005-07-18  Wim Taymans  <wim@fluendo.com>
23766
23767         * gst/Makefile.am:
23768         * gst/gstarch.h:
23769         Remove old file.
23770
23771 2005-07-18  Wim Taymans  <wim@fluendo.com>
23772
23773         * gst/Makefile.am:
23774         No more cothreads.h
23775
23776 2005-07-18  Wim Taymans  <wim@fluendo.com>
23777
23778         * gst/cothreads.c:
23779         * gst/cothreads.h:
23780         Let's remove these.
23781
23782 2005-07-18  Wim Taymans  <wim@fluendo.com>
23783
23784         * docs/design/part-dynamic.txt:
23785         * docs/design/part-events.txt:
23786         * docs/design/part-seeking.txt:
23787         Some more docs in the works.
23788
23789         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23790         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
23791         (gst_base_transform_setcaps), (gst_base_transform_get_size),
23792         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23793         (gst_base_transform_handle_buffer),
23794         (gst_base_transform_sink_activate_push),
23795         (gst_base_transform_src_activate_pull),
23796         (gst_base_transform_set_passthrough),
23797         (gst_base_transform_is_passthrough):
23798         Refcounting fixes.
23799
23800         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
23801         Cleanups.
23802
23803         * gst/gstevent.c: (gst_event_finalize):
23804         Set SRC to NULL.
23805
23806         * gst/gstutils.c: (gst_element_unlink),
23807         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
23808         (gst_pad_proxy_setcaps):
23809         * gst/gstutils.h:
23810         Add _get_parent_element() to get a pads parent as an element.
23811
23812 2005-07-18  Wim Taymans  <wim@fluendo.com>
23813
23814         * check/gst/gstbin.c: (GST_START_TEST):
23815         Remove bogus test.
23816
23817 2005-07-18  Wim Taymans  <wim@fluendo.com>
23818
23819         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
23820         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
23821         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23822         (gst_base_sink_event), (gst_base_sink_do_sync),
23823         (gst_base_sink_chain), (gst_base_sink_loop),
23824         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
23825         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
23826         Refcounting fixes.
23827         Fix logic for returning ASYNC when not prerolled.
23828
23829 2005-07-18  Wim Taymans  <wim@fluendo.com>
23830
23831         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23832         Fix nasty refcount bug.
23833
23834 2005-07-16 Philippe Khalaf <burger@speedy.org>
23835
23836         * gst/elements/gstfdsrc.c:
23837         * gst/elements/gstfdsrc.h:
23838         * gst/elements/gstelements.c:
23839         * gst/elements/Makefile.am:
23840         Ported fdsrc to 0.9.
23841
23842 2005-07-16  Wim Taymans  <wim@fluendo.com>
23843
23844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23845         (gst_base_sink_do_sync):
23846         Fix compile error.
23847
23848 2005-07-16  Wim Taymans  <wim@fluendo.com>
23849
23850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23851         (gst_base_sink_event), (gst_base_sink_get_times),
23852         (gst_base_sink_do_sync), (gst_base_sink_change_state):
23853         * gst/base/gstbasesink.h:
23854         Store and use discont values when syncing buffers as described
23855         in design docs.
23856         
23857         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23858         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
23859         (gst_base_src_activate_push):
23860         Push discont event when starting.
23861
23862         * gst/elements/gstidentity.c: (gst_identity_transform):
23863         Small cleanups.
23864
23865         * gst/gstbin.c: (gst_bin_change_state):
23866         Small cleanups in base_time  distribution.
23867
23868         * gst/gstelement.c: (gst_element_set_base_time),
23869         (gst_element_get_base_time), (gst_element_change_state):
23870         * gst/gstelement.h:
23871         Added methods for the base_time of the element.
23872         Some MT fixes.
23873
23874         * gst/gstpipeline.c: (gst_pipeline_send_event),
23875         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23876         (gst_pipeline_get_last_stream_time):
23877         * gst/gstpipeline.h:
23878         MT fixes.
23879         Handle seeking as described in design doc, remove stream_time
23880         hack.
23881         Cleanups clock and stream_time selection code. Added accessors
23882         for the stream_time.
23883         
23884
23885 2005-07-16  Andy Wingo  <wingo@pobox.com>
23886
23887         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
23888         (#305291).
23889
23890 2005-07-16  Wim Taymans  <wim@fluendo.com>
23891
23892         * check/gst/gstbin.c: (GST_START_TEST):
23893         Make elements silent as the deep_notify refs the
23894         parent, which might make the test fail.
23895
23896         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23897         Don't hold the lock for too long.
23898
23899 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
23900
23901         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
23902           Don't unref the caps we passed to gst_caps_make_writable() after
23903           passing them. gst_caps_make_writable() will do that for us.
23904
23905 2005-07-15  Andy Wingo  <wingo@pobox.com>
23906
23907         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
23908         (#157311).
23909
23910         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
23911         own marshalling function for the handoff signal. Properly type the
23912         buffer as a buffer. Fixes some warnings. Should do a more general
23913         solution.
23914         (gst_identity_class_init): Plug into the right marshaller.
23915
23916 2005-07-15  Wim Taymans  <wim@fluendo.com>
23917
23918         * docs/design/part-TODO.txt:
23919         * docs/design/part-clocks.txt:
23920         * docs/design/part-element-sink.txt:
23921         * docs/design/part-events.txt:
23922         * docs/design/part-gstpipeline.txt:
23923         Updated docs, mostly DISCONT related.
23924
23925 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
23926
23927         * docs/pwg/building-pads.xml:
23928           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
23929
23930 2005-07-15  Andy Wingo  <wingo@pobox.com>
23931
23932         * tools/gst-typefind.c: Update, add copyright block.
23933
23934         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
23935         Normalize and truncate caps before fixation.
23936
23937         * gst/gstcaps.h:
23938         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
23939         discards all but the first structure from its argument.
23940
23941 2005-07-15  Wim Taymans  <wim@fluendo.com>
23942
23943         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23944         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
23945         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23946         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23947         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
23948         (gst_base_transform_chain), (gst_base_transform_change_state),
23949         (gst_base_transform_set_passthrough),
23950         (gst_base_transform_is_passthrough):
23951         * gst/base/gstbasetransform.h:
23952         Make passthrough work using the bufferpools.
23953         Changed API a bit, subclasses have to write into a buffer
23954         provided by the base class.
23955         More debug info in nego functions.
23956         
23957         * gst/elements/gstidentity.c: (gst_identity_init),
23958         (gst_identity_transform):
23959         Port to new base class.
23960
23961 2005-07-15  Wim Taymans  <wim@fluendo.com>
23962
23963         * gst/gstmessage.c: (gst_message_new_state_changed):
23964         * tools/gst-launch.c: (event_loop), (main):
23965         Totally dump messages in -launch with the -m option.
23966         Fix message name for State messages,
23967
23968 2005-07-14  Wim Taymans  <wim@fluendo.com>
23969
23970         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23971         Post error messages on errors.
23972
23973 2005-07-14  Wim Taymans  <wim@fluendo.com>
23974
23975         * gst/gstcaps.c: (gst_caps_do_simplify):
23976         Remove debug info.
23977
23978         * gst/gsterror.h:
23979         Define error for stream stopped.
23980
23981         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23982         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
23983         Do proper return values.
23984
23985         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23986         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
23987         (gst_pad_get_range):
23988         Better return values.
23989
23990         * gst/gstpad.h:
23991         Reorganise return values, add macro to check for fatal errors.
23992
23993         * gst/gstqueue.c: (gst_queue_chain):
23994         Return proper GstFlowReturn values,
23995
23996 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
23997
23998         * docs/gst/gstreamer-sections.txt:
23999         * docs/gst/gstreamer.types:
24000         * docs/gst/tmpl/gst.sgml:
24001         * docs/gst/tmpl/gstbasesink.sgml:
24002         * docs/gst/tmpl/gstbasesrc.sgml:
24003         * docs/gst/tmpl/gstbasetransform.sgml:
24004         * docs/gst/tmpl/gstbin.sgml:
24005         * docs/gst/tmpl/gstbuffer.sgml:
24006         * docs/gst/tmpl/gstcaps.sgml:
24007         * docs/gst/tmpl/gstclock.sgml:
24008         * docs/gst/tmpl/gstcompat.sgml:
24009         * docs/gst/tmpl/gstconfig.sgml:
24010         * docs/gst/tmpl/gstelement.sgml:
24011         * docs/gst/tmpl/gstelementdetails.sgml:
24012         * docs/gst/tmpl/gstelementfactory.sgml:
24013         * docs/gst/tmpl/gstenumtypes.sgml:
24014         * docs/gst/tmpl/gsterror.sgml:
24015         * docs/gst/tmpl/gstevent.sgml:
24016         * docs/gst/tmpl/gstfakesink.sgml:
24017         * docs/gst/tmpl/gstfakesrc.sgml:
24018         * docs/gst/tmpl/gstfilesink.sgml:
24019         * docs/gst/tmpl/gstfilesrc.sgml:
24020         * docs/gst/tmpl/gstfilter.sgml:
24021         * docs/gst/tmpl/gstformat.sgml:
24022         * docs/gst/tmpl/gstghostpad.sgml:
24023         * docs/gst/tmpl/gstimplementsinterface.sgml:
24024         * docs/gst/tmpl/gstindex.sgml:
24025         * docs/gst/tmpl/gstindexfactory.sgml:
24026         * docs/gst/tmpl/gstinfo.sgml:
24027         * docs/gst/tmpl/gstiterator.sgml:
24028         * docs/gst/tmpl/gstmacros.sgml:
24029         * docs/gst/tmpl/gstmemchunk.sgml:
24030         * docs/gst/tmpl/gstminiobject.sgml:
24031         * docs/gst/tmpl/gstobject.sgml:
24032         * docs/gst/tmpl/gstpad.sgml:
24033         * docs/gst/tmpl/gstpadtemplate.sgml:
24034         * docs/gst/tmpl/gstparse.sgml:
24035         * docs/gst/tmpl/gstpipeline.sgml:
24036         * docs/gst/tmpl/gstplugin.sgml:
24037         * docs/gst/tmpl/gstpluginfeature.sgml:
24038         * docs/gst/tmpl/gstquery.sgml:
24039         * docs/gst/tmpl/gstqueue.sgml:
24040         * docs/gst/tmpl/gstregistry.sgml:
24041         * docs/gst/tmpl/gstregistrypool.sgml:
24042         * docs/gst/tmpl/gstscheduler.sgml:
24043         * docs/gst/tmpl/gstschedulerfactory.sgml:
24044         * docs/gst/tmpl/gststructure.sgml:
24045         * docs/gst/tmpl/gstsystemclock.sgml:
24046         * docs/gst/tmpl/gsttaglist.sgml:
24047         * docs/gst/tmpl/gsttagsetter.sgml:
24048         * docs/gst/tmpl/gsttrace.sgml:
24049         * docs/gst/tmpl/gsttrashstack.sgml:
24050         * docs/gst/tmpl/gsttypefind.sgml:
24051         * docs/gst/tmpl/gsttypefindfactory.sgml:
24052         * docs/gst/tmpl/gsttypes.sgml:
24053         * docs/gst/tmpl/gsturihandler.sgml:
24054         * docs/gst/tmpl/gsturitype.sgml:
24055         * docs/gst/tmpl/gstutils.sgml:
24056         * docs/gst/tmpl/gstvalue.sgml:
24057         * docs/gst/tmpl/gstversion.sgml:
24058         * docs/gst/tmpl/gstxml.sgml:
24059         * docs/libs/tmpl/gstcontrol.sgml:
24060         * docs/libs/tmpl/gstdataprotocol.sgml:
24061         * docs/libs/tmpl/gstdparam.sgml:
24062         * docs/libs/tmpl/gstdplinint.sgml:
24063         * docs/libs/tmpl/gstdpman.sgml:
24064         * docs/libs/tmpl/gstdpsmooth.sgml:
24065         * docs/libs/tmpl/gstgetbits.sgml:
24066         * docs/libs/tmpl/gstunitconvert.sgml:
24067         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
24068         (gst_push_src_base_init), (gst_push_src_class_init),
24069         (gst_push_src_init), (gst_push_src_create):
24070         * gst/base/gstpushsrc.h:
24071         * gst/elements/gstelements.c:
24072         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
24073         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
24074         (gst_fake_sink_init), (gst_fake_sink_set_property),
24075         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
24076         (gst_fake_sink_event), (gst_fake_sink_preroll),
24077         (gst_fake_sink_render), (gst_fake_sink_change_state):
24078         * gst/elements/gstfakesink.h:
24079         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
24080         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
24081         (gst_fake_src_base_init), (gst_fake_src_class_init),
24082         (gst_fake_src_init), (gst_fake_src_event_handler),
24083         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
24084         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
24085         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
24086         (gst_fake_src_create_buffer), (gst_fake_src_create),
24087         (gst_fake_src_start), (gst_fake_src_stop):
24088         * gst/elements/gstfakesrc.h:
24089         * gst/elements/gstfilesink.c: (_do_init),
24090         (gst_file_sink_base_init), (gst_file_sink_class_init),
24091         (gst_file_sink_init), (gst_file_sink_dispose),
24092         (gst_file_sink_set_location), (gst_file_sink_set_property),
24093         (gst_file_sink_get_property), (gst_file_sink_open_file),
24094         (gst_file_sink_close_file), (gst_file_sink_query),
24095         (gst_file_sink_event), (gst_file_sink_render),
24096         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
24097         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
24098         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
24099         * gst/elements/gstfilesink.h:
24100         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
24101         (gst_file_src_class_init), (gst_file_src_init),
24102         (gst_file_src_finalize), (gst_file_src_set_location),
24103         (gst_file_src_set_property), (gst_file_src_get_property),
24104         (gst_file_src_map_region), (gst_file_src_map_small_region),
24105         (gst_file_src_create_mmap), (gst_file_src_create_read),
24106         (gst_file_src_create), (gst_file_src_is_seekable),
24107         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
24108         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
24109         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
24110         (gst_file_src_uri_handler_init):
24111         * gst/elements/gstfilesrc.h:
24112           more autistic cleanliness in functions/names/defines
24113
24114 2005-07-13  Andy Wingo  <wingo@pobox.com>
24115
24116         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
24117         source couldn't negotiate.
24118
24119         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
24120         connections again.
24121
24122         * gst/gstutils.h:
24123         * gst/gstutils.c (gst_element_link_pads_filtered): New old
24124         function. I am channeling Hades. Put your boots on suckers!!!
24125
24126 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24127
24128         * testsuite/caps/Makefile.am:
24129         * testsuite/caps/value_compare.c:
24130         * testsuite/caps/value_intersect.c:
24131         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24132           move two testsuite apps over to the check dir
24133
24134 2005-07-12  Wim Taymans  <wim@fluendo.com>
24135
24136         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24137         Added more debug info in the negotiate process.
24138
24139         * gst/gstmessage.h:
24140         Prepare for segment playback.
24141
24142         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
24143         Better debugging.
24144
24145         * gst/gstutils.c:
24146         Some more docs.
24147
24148         * tools/gst-launch.c: (main):
24149         NULL pipeline on errors.
24150
24151 2005-07-12  Andy Wingo  <wingo@pobox.com>
24152
24153         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
24154         not it comes from a malloc region. Make sure our copy gets freed.
24155
24156 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24157
24158         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24159         * check/gst/gstmessage.c: (GST_START_TEST):
24160         * check/gst/gststructure.c: (GST_START_TEST),
24161         (gst_structure_suite), (main):
24162           more testing
24163         * gst/gstelement.c: (gst_element_message_full):
24164           clean up GError and debug string now that they get copied
24165         * gst/gstmessage.c: (gst_message_new_error),
24166         (gst_message_new_warning), (gst_message_parse_error),
24167         (gst_message_parse_warning):
24168           use GST_TYPE_G_ERROR for structure_new, and take copies of
24169           arguments, so that we don't mess up refcounting
24170
24171 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24172
24173         * check/Makefile.am:
24174           add per-test valgrind targets
24175         * check/gst-libs/gdp.c: (GST_START_TEST),
24176         (gst_data_protocol_suite), (main):
24177           clean up
24178
24179 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24180
24181         * check/Makefile.am:
24182           instate more valgrindable tests
24183         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24184         (GST_START_TEST), (fakesrc_suite):
24185         * check/gst/gstpad.c: (GST_START_TEST):
24186         * check/gst/gststructure.c: (GST_START_TEST):
24187           fix test leaks
24188         * docs/gst/tmpl/gstminiobject.sgml:
24189         * gst/gstpad.c: (gst_pad_finalize):
24190           fix the static mutex leak
24191
24192 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24193
24194         * check/Makefile.am:
24195           add two more tests for valgrinding
24196         * check/gst/gstvalue.c: (GST_START_TEST):
24197           test refcount of deserialized buffer, found a leak
24198         * docs/gst/gstreamer-docs.sgml:
24199         * docs/gst/gstreamer-sections.txt:
24200         * docs/gst/gstreamer.types:
24201         * docs/gst/tmpl/gstminiobject.sgml:
24202           add miniobject to docs
24203         * gst/gstminiobject.c:
24204           add some docs
24205         * gst/gstvalue.c: (gst_value_deserialize_buffer),
24206         (gst_string_unwrap):
24207           fix a hard-to-find invalid write for one of the tests
24208           fix a leak for deserialized buffers
24209
24210 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24211
24212         * docs/pwg/advanced-events.xml:
24213         * docs/pwg/advanced-request.xml:
24214         * docs/pwg/advanced-scheduling.xml:
24215         * docs/pwg/appendix-porting.xml:
24216         * docs/pwg/building-boiler.xml:
24217         * docs/pwg/intro-preface.xml:
24218         * docs/pwg/other-ntoone.xml:
24219           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
24220           of example code and explanation for pad activation, loop() and
24221           getrange() functions and a bit more. Remove old comments pointing
24222           to loop-functions.
24223         * examples/pwg/Makefile.am:
24224           Add loop/getrange examples.
24225
24226 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24227
24228         * configure.ac:
24229           check for valgrind binary + some fixes
24230         * check/gst.supp:
24231           valgrind suppressions for the tests
24232         * check/Makefile.am:
24233           add a valgrind: target that valgrinds the unit tests
24234         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
24235         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24236         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24237         * check/gst/gstghostpad.c:
24238           added some cleanup
24239         * check/gst/gstdata.c:
24240           removed
24241         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
24242         (thread_unref), (gst_mini_object_suite), (main):
24243           added
24244         * gst/gst.c: (gst_deinit):
24245         * gst/gst.h:
24246           add a method to clean up.
24247         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24248         (gst_system_clock_obtain):
24249           allow for disposing the system clock.
24250         * tools/gst-launch.c: (main):
24251           deinit
24252
24253 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24254
24255         * docs/gst/tmpl/gstbasesrc.sgml:
24256         * docs/gst/tmpl/gstfakesrc.sgml:
24257         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24258         (gst_base_src_init), (gst_base_src_set_property),
24259         (gst_base_src_get_property), (gst_base_src_get_range),
24260         (gst_base_src_start):
24261         * gst/base/gstbasesrc.h:
24262           add num-buffers property
24263         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24264         (gst_fakesrc_init), (gst_fakesrc_set_property),
24265         (gst_fakesrc_get_property), (gst_fakesrc_create),
24266         (gst_fakesrc_start):
24267           remove num-buffers property
24268
24269 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24270
24271         * docs/gst/gstreamer-sections.txt:
24272         * docs/gst/tmpl/gstbasesink.sgml:
24273         * docs/gst/tmpl/gstbasesrc.sgml:
24274         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24275         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24276         (gst_base_sink_finalize), (gst_base_sink_set_clock),
24277         (gst_base_sink_set_property), (gst_base_sink_get_property),
24278         (gst_base_sink_handle_object), (gst_base_sink_event),
24279         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24280         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24281         (gst_base_sink_loop), (gst_base_sink_deactivate),
24282         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24283         (gst_base_sink_change_state):
24284         * gst/base/gstbasesink.h:
24285         * gst/base/gstbasesrc.h:
24286         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24287         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24288         (gst_filesink_init):
24289           more macro splitting
24290
24291 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24292
24293         * gst/gstelement.c: (gst_element_get_bus):
24294           add debug
24295         * tools/gst-launch.c: (check_intr), (event_loop):
24296           fix bus leaks
24297
24298 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24299
24300         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24301           fix a caps leak
24302
24303 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24304
24305         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24306         (gst_base_src_finalize):
24307           add finalize method and clean up properly
24308         * gst/gstpipeline.c: (gst_pipeline_dispose):
24309           add debug
24310
24311 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24312
24313         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24314         (gst_bin_suite):
24315           add more things to check
24316         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24317         * gst/gstelement.c:
24318           more debug
24319
24320 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24321
24322         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24323         (GST_START_TEST), (fakesrc_suite):
24324         * check/gst-libs/gdp.c: (GST_START_TEST):
24325         * check/gst/gst.c: (GST_START_TEST):
24326         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24327         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24328         * check/gst/gstbus.c: (GST_START_TEST):
24329         * check/gst/gstcaps.c: (GST_START_TEST):
24330         * check/gst/gstdata.c: (GST_START_TEST):
24331         * check/gst/gstelement.c: (GST_START_TEST):
24332         * check/gst/gstghostpad.c: (GST_START_TEST):
24333         * check/gst/gstiterator.c: (GST_START_TEST):
24334         * check/gst/gstmessage.c: (GST_START_TEST):
24335         * check/gst/gstobject.c: (GST_START_TEST):
24336         * check/gst/gstpad.c: (GST_START_TEST):
24337         * check/gst/gststructure.c: (GST_START_TEST):
24338         * check/gst/gstsystemclock.c: (GST_START_TEST),
24339         (gst_systemclock_suite):
24340         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24341         * check/gst/gstvalue.c: (GST_START_TEST):
24342         * check/pipelines/cleanup.c: (GST_START_TEST):
24343         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24344         * check/states/sinks.c: (GST_START_TEST):
24345         * check/gstcheck.c: (gst_check_init):
24346         * check/gstcheck.h:
24347           add debugging category
24348           use GST_START_TEST now, so we add a debug line
24349
24350 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24351
24352         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24353           add test for state change message on a bin
24354         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24355           add another test
24356         * gst/gstbin.c: (gst_bin_init):
24357         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24358         * gst/gstelement.c: (gst_element_post_message),
24359         (gst_element_set_state):
24360         * gst/gstelementfactory.c: (gst_element_factory_create):
24361         * gst/gstmessage.c: (gst_message_new):
24362         * gst/gstscheduler.c:
24363           various debugging additions and cleanups
24364
24365 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24366
24367         * check/Makefile.am:
24368         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24369         (main):
24370           adding tests for elements
24371         * gst/gstelement.c: (gst_element_dispose):
24372
24373 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24374
24375         * gst/registries/gstlibxmlregistry.c: (load_feature):
24376           plug more leaks.  A simple gst_init() now is leakfree, yay.
24377
24378 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24379
24380         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24381         (gst_xml_registry_load):
24382           plug another memleak
24383
24384 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24385
24386         * configure.ac:
24387           use GST_SET_ERROR_CFLAGS
24388         * docs/faq/cvs.xml:
24389           change to ERROR_CFLAGS
24390
24391 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24392
24393         * configure.ac:
24394           make GST_ERROR_CFLAGS overridable and re-enable Werror
24395         * docs/faq/cvs.xml:
24396           add a note about error CFLAGS
24397         * docs/gst/tmpl/gstfakesrc.sgml:
24398         * gst/elements/gstfakesrc.c:
24399           comment out some unused code
24400         * gst/gst.c: (split_and_iterate):
24401         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24402         (load_feature):
24403           plug some memleaks
24404
24405 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24406
24407         * common/Makefile.am:
24408         * common/gtk-doc.mak:
24409         * docs/gst/Makefile.am:
24410           factor out gtk-doc.mak
24411
24412 2005-07-07  Wim Taymans  <wim@fluendo.com>
24413
24414         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24415         (gst_thread_scheduler_dispose):
24416         Unlock the STREAM_LOCK completely.
24417
24418 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24419
24420         * check/Makefile.am:
24421         * check/elements/.cvsignore:
24422         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24423         (START_TEST), (fakesrc_suite), (main):
24424         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24425         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24426         (gst_fakesrc_create), (gst_fakesrc_start):
24427         * gst/elements/gstfakesrc.h:
24428           adding a first element test
24429
24430 2005-07-07  Andy Wingo  <wingo@pobox.com>
24431
24432         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24433         debug message.
24434
24435 2005-07-07  Wim Taymans  <wim@fluendo.com>
24436
24437         * gst/gstquery.c:
24438         * gst/gstquery.h:
24439         Remove old types
24440
24441 2005-07-07  Wim Taymans  <wim@fluendo.com>
24442
24443         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24444         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24445         Allow subclasses to implement their own negotiation.
24446
24447 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24448
24449         * docs/design/part-gstbin.txt:
24450         * docs/design/part-gstpipeline.txt:
24451           Update design notes to reflect the movement of
24452           responsibility for bus handling from GstPipeline to
24453           GstBin
24454
24455 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24456
24457         * configure.ac:
24458           Remove unnecessary queue2/3/4 examples.
24459
24460 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24461
24462         * examples/Makefile.am:
24463         * examples/helloworld/helloworld.c: (event_loop), (main):
24464         * examples/queue/queue.c: (event_loop), (main):
24465         * examples/queue2/queue2.c: (main):
24466           Update a couple of the examples to work again.
24467
24468         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24469         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24470          Spelling corrections and extra debug.
24471         
24472         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24473         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24474         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24475         * gst/gstbin.h:
24476         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24477         (gst_pipeline_change_state):
24478         * gst/gstpipeline.h:
24479           Move the bus handler for children to the GstBin, and create a
24480           separate bus for receiving messages from children to the one the
24481           bus sends 'upwards' on.
24482
24483 2005-07-06  Wim Taymans  <wim@fluendo.com>
24484
24485         * gst/base/README:
24486         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24487         (gst_base_sink_handle_object), (gst_base_sink_loop),
24488         (gst_base_sink_change_state):
24489         * gst/base/gstbasesink.h:
24490         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24491         (gst_base_src_init), (gst_base_src_setcaps),
24492         (gst_base_src_getcaps), (gst_base_src_loop),
24493         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24494         (gst_base_src_start), (gst_base_src_change_state):
24495         * gst/base/gstbasesrc.h:
24496         Make basesrc negotiate.
24497         Handle the case where preroll fails in basesink.
24498         Update README.
24499
24500 2005-07-06  Wim Taymans  <wim@fluendo.com>
24501
24502         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24503         Implement the fixate function.
24504         Clean up acceptcaps.
24505
24506 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24507
24508         * docs/pwg/building-filterfactory.xml:
24509         * docs/pwg/pwg.xml:
24510           Remove never-written filter-factory chapter; I'll add the various
24511           base classes to part 4 ("other element types") later on.
24512
24513 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24514
24515         * docs/pwg/advanced-negotiation.xml:
24516         * docs/pwg/building-boiler.xml:
24517         * docs/pwg/building-pads.xml:
24518         * docs/pwg/pwg.xml:
24519         * examples/pwg/Makefile.am:
24520           Add a chapter on caps negotiation, simplify the original code
24521           samples a bit w.r.t. caps negotiation, add link to the advanced
24522           section. Add a bunch of examples showing different use cases of
24523           different types of caps negotiation. Upstream renegotiation isn't
24524           fully documented yet since nobody knows how that works.
24525
24526 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24527
24528         * check/gst/gstpad.c:
24529         * check/gstcheck.c:
24530         * gst/gstpad.c: (gst_pad_get_internal_links_default):
24531           if pad has no parent, return NULL as list of internal links
24532
24533 2005-07-05  Andy Wingo  <wingo@pobox.com>
24534
24535         * gst/elements/gstfilesrc.c:
24536         * gst/elements/gstfakesrc.c: 
24537         * gst/base/gstpushsrc.c:
24538         * gst/base/gstbasesrc.h: 
24539         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
24540         
24541 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
24542
24543         * Makefile.am:
24544           better report generation target (lcov needs a patch)
24545
24546 2005-07-05  Andy Wingo  <wingo@pobox.com>
24547
24548         * gst/elements, testsuite: Null if we got it...
24549
24550 2005-07-05  Wim Taymans  <wim@fluendo.com>
24551
24552         * configure.ac:
24553         * libs/gst/dataprotocol/Makefile.am:
24554         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
24555         * libs/gst/dataprotocol/dataprotocol.h:
24556         * pkgconfig/Makefile.am:
24557         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
24558         * pkgconfig/gstreamer-dataprotocol.pc.in:
24559         Ported dataprotol to 0.9. 
24560         Added pkgconfig files.
24561
24562 2005-07-05  Andy Wingo  <wingo@pobox.com>
24563
24564         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
24565         Default to returning TRUE for the case when tranform_caps returns
24566         a fixed caps, like for identity or volume.
24567
24568         * check/gst/gstbus.c (pound_bus_with_messages): 
24569         * check/gst/gstmessage.c (START_TEST): 
24570         * check/pipelines/simple_launch_lines.c (got_handoff): Application
24571         message API change.
24572
24573         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
24574         logic weaks here: always run transform_caps, trying passthrough
24575         operation only if the original caps intersects with the transform.
24576
24577         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
24578         source and sink caps.
24579
24580         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
24581         Intersect the peer caps with the pad template before going into
24582         transform_caps.
24583         (gst_base_transform_transform_caps): More debugging.
24584
24585         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
24586         src argument.
24587
24588 2005-07-04  Edward Hervey  <edward@fluendo.com>
24589
24590         * gst/gstutils.c:
24591         * gst/gstutils.h:
24592         (gst_pad_add_*_probe): now returns the signal id for better wrapping
24593         in bindings.
24594
24595 2005-07-04  Andy Wingo  <wingo@pobox.com>
24596
24597         * check/gst/gstpad.c: Only set explicit caps on pads.
24598
24599 2005-07-01  Andy Wingo  <wingo@pobox.com>
24600
24601         * tests/network-clock.scm: Commentary update.
24602
24603         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
24604         Didn't really make sense, not implementable with basetransform,
24605         etc.
24606         (gst_identity_transform): Unref inbuf via make_writable. Feeble
24607         attempt at implementing the sync property, needs an unlock method.
24608
24609         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
24610         New func, by default returns the same caps (the identity
24611         transformation).
24612         (gst_base_transform_getcaps): Uses transform_caps to return
24613         something sensible.
24614         (gst_base_transform_setcaps): Complicated logic to get caps on
24615         both pads, even if they are different, and to call set_caps once
24616         for every time both pads get their caps set.
24617         (gst_base_transform_handle_buffer): Give the ref to the transform
24618         function. Allows in-place modification of the buffer.
24619
24620         * gst/base/gstbasetransform.h (transform_caps): New class method.
24621         Given caps on one side, what can I do on the other.
24622         (set_caps): Take two caps, one for each side of the element.
24623
24624         * gst/gstpad.h:
24625         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
24626         caps in place. This is safe because we can check the mutability of
24627         the caps, and a good idea because fixate functions are just called
24628         as a matter of last resort. (Not actually implemented.)
24629         (gst_pad_set_caps): If the caps we're setting is actually the same
24630         as the existing pad caps, just update the pointer without calling
24631         setcaps. Assert that caps is either NULL or fixed, as per the
24632         docs.
24633
24634         * gst/gstghostpad.c: Update for fixate changes.
24635
24636 2005-07-02  Andy Wingo  <wingo@pobox.com>
24637
24638         * gst/gstcaps.c:
24639         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
24640         two refcounts makes it immutable, which is enough. Doc more.
24641
24642 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
24643
24644         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
24645           Put the mini_object into GValue as a mini_object,
24646           not a gpointer, since that's how we declared
24647           the signal.
24648
24649 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24650
24651         * examples/pwg/Makefile.am:
24652           Fix buildbot again.
24653
24654 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24655
24656         * docs/pwg/building-testapp.xml:
24657           Add extra check.
24658         * examples/pwg/Makefile.am:
24659           Fix buildbot.
24660
24661 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24662
24663         * configure.ac:
24664         * examples/Makefile.am:
24665         * examples/pwg/Makefile.am:
24666         * examples/pwg/extract.pl:
24667           Enable building the PWG examples.
24668         * docs/pwg/advanced-interfaces.xml:
24669           Add URI interface stub.
24670         * docs/pwg/advanced-types.xml:
24671         * docs/pwg/other-autoplugger.xml:
24672         * docs/pwg/appendix-porting.xml:
24673         * docs/pwg/pwg.xml:
24674           Add porting guide (mostly stubs), remove autoplugging (see ADM).
24675         * docs/pwg/building-boiler.xml:
24676         * docs/pwg/building-chainfn.xml:
24677         * docs/pwg/building-pads.xml:
24678         * docs/pwg/building-props.xml:
24679         * docs/pwg/building-state.xml:
24680         * docs/pwg/building-testapp.xml:
24681           Update the building-*.xml parts for 0.9 changes. All examples
24682           code blocks compile in examples/pwg/*.
24683
24684 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24685
24686         * docs/manual/advanced-autoplugging.xml:
24687         * docs/manual/appendix-checklist.xml:
24688         * docs/manual/appendix-integration.xml:
24689         * docs/manual/highlevel-components.xml:
24690           Fix playbin/decodebin examples, update docs a bit, mention bus
24691           instead of signals in various places, mention kmplayer and
24692           kaffeine since they have a working GStreamer backend in the KDE
24693           section.
24694
24695 2005-06-30  Wim Taymans  <wim@fluendo.com>
24696
24697         * CHANGES-0.9:
24698         * docs/design/draft-ghostpads.txt:
24699         * docs/design/draft-push-pull.txt:
24700         * docs/design/draft-query.txt:
24701         * docs/design/part-TODO.txt:
24702         * docs/design/part-query.txt:
24703         Added CHANGES-0.9 doc, updated status of other docs.
24704         
24705         * gst/gstquery.h:
24706         Remove "hmm" macro
24707
24708 2005-06-30  Wim Taymans  <wim@fluendo.com>
24709
24710         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24711         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24712         (gst_base_sink_change_state):
24713         * gst/base/gstbasesink.h:
24714         Some tweaks, only EOS and a buffer complete a preroll.
24715
24716 2005-06-30  Andy Wingo  <wingo@pobox.com>
24717
24718         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
24719         activate_push down to the internal pad as well.
24720
24721 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
24722
24723         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24724
24725         * gst/gsttaginterface.c:
24726           Some documentation fixes (#307394 and #307397).
24727
24728 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
24729
24730         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24731
24732         * gst/gstvalue.c: (gst_value_intersect_list):
24733           Fix memleak (#309125).
24734
24735 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24736
24737         * docs/manual/advanced-dataaccess.xml:
24738           Fix fakesrc example to compile; doesn't work, bug somewhere...?
24739         * docs/manual/basics-pads.xml:
24740           Add reference for filtered caps to above chapter.
24741
24742 2005-06-30  Wim Taymans  <wim@fluendo.com>
24743
24744         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
24745         (gst_bin_change_state):
24746         Probes are gone.
24747         Lame attempt at making the state change function a bit
24748         more readable.
24749
24750 2005-06-30  Wim Taymans  <wim@fluendo.com>
24751
24752         * docs/design/part-clocks.txt:
24753         * docs/design/part-element-sink.txt:
24754         * docs/design/part-events.txt:
24755         * docs/design/part-preroll.txt:
24756         * docs/design/part-states.txt:
24757         Some more tweeks and additions to the docs.
24758
24759 2005-06-30  Wim Taymans  <wim@fluendo.com>
24760
24761         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24762         (default_have_data), (gst_pad_class_init), (gst_pad_init),
24763         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24764         (gst_pad_check_pull_range), (gst_pad_get_range),
24765         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
24766         * gst/gstpad.h:
24767         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
24768         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24769         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24770         (gst_pad_remove_buffer_probe):
24771         Removed atomic operations, use existing LOCK.
24772         Move exception handling out of main code path.
24773
24774 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24775
24776         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24777         (silly_return_true_function), (gst_pad_class_init),
24778         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24779         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
24780         (gst_pad_send_event):
24781           Fix accumulator, add default value by using _emitv() instead
24782           of _emit() for signal emission.
24783
24784 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24785
24786         * docs/manual/advanced-dataaccess.xml:
24787         * examples/manual/Makefile.am:
24788           Add probe example.
24789         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
24790           Make work (??).
24791
24792 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
24793
24794         * gst/elements/gstfilesink.c: (gst_filesink_render):
24795           Simplify code so that we don't have to handle short
24796           writes and return GST_FLOW_ERROR if an error occured.
24797
24798 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24799
24800         * docs/gst/gstreamer-docs.sgml:
24801           Remove probes more.
24802
24803 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24804
24805         * docs/gst/gstreamer-sections.txt:
24806         * docs/gst/tmpl/gstpad.sgml:
24807         * docs/gst/tmpl/gstprobe.sgml:
24808         * gst/Makefile.am:
24809         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24810         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
24811         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24812         (gst_pad_push_event), (gst_pad_send_event):
24813         * gst/gstpad.h:
24814         * gst/gstutils.c: (gst_pad_add_data_probe),
24815         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24816         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24817         (gst_pad_remove_buffer_probe):
24818         * gst/gstutils.h:
24819           Remove old probes, add new g-signal-based probes and some utility
24820           functions.
24821
24822 2005-06-29  Edward Hervey  <edward@fluendo.com>
24823
24824         * gst/gstelementfactory.c:
24825         * gst/gstutils.h:
24826         * gst/gstutils.c:
24827         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
24828         the definition to the header file.
24829
24830 2005-06-29  Andy Wingo  <wingo@pobox.com>
24831
24832         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
24833         plugins from the source directory.
24834
24835 2005-06-29  Wim Taymans  <wim@fluendo.com>
24836
24837         * docs/gst/tmpl/gstbuffer.sgml:
24838         * docs/gst/tmpl/gstclock.sgml:
24839         Some fixings for blantently wrong text.
24840
24841 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24842
24843         * check/Makefile.am:
24844         * gst/gst.c: (add_path_func), (init_pre):
24845         * gst/gstregistry.c: (gst_registry_add_path):
24846           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
24847           only scan the GST_PLUGIN_PATH locations, and not add
24848           system locations
24849
24850 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24851
24852         * docs/gst/gstreamer-sections.txt:
24853         * docs/gst/tmpl/gstbasesrc.sgml:
24854         * gst/gstelement.c:
24855         * gst/gstelement.h:
24856         * gst/gstevent.c:
24857         * gst/gstutils.c:
24858           doc fixes
24859
24860 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24861
24862         * docs/manual/advanced-autoplugging.xml:
24863           Fix autoplugging example.
24864
24865 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24866
24867         * docs/manual/advanced-autoplugging.xml:
24868         * docs/manual/mime-world.fig:
24869           Try to get autoplugging working, fix type detection. Fix text
24870           in hello-world image.
24871
24872 2005-06-29  Wim Taymans  <wim@fluendo.com>
24873
24874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24875         (gst_base_sink_change_state):
24876         Small debug line.
24877
24878         * gst/gstclock.h:
24879         map SIGNAL and BROADCAST to the right function.
24880
24881         * gst/gstobject.h:
24882         Remove redundant braces.
24883
24884         * gst/gstpad.c: (gst_pad_set_caps):
24885         Don't call setcaps function when reseting caps to NULL.
24886
24887         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24888         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
24889         (gst_system_clock_id_unschedule):
24890         Use BROADCAST as this is what we do.
24891
24892 2005-06-29  Wim Taymans  <wim@fluendo.com>
24893
24894         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24895         We are actually prerolling before commiting the state
24896         change. 
24897
24898 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24899
24900         * docs/manual/advanced-clocks.xml:
24901         * docs/manual/advanced-interfaces.xml:
24902         * docs/manual/advanced-metadata.xml:
24903         * docs/manual/advanced-position.xml:
24904         * docs/manual/advanced-schedulers.xml:
24905         * docs/manual/advanced-threads.xml:
24906         * docs/manual/appendix-porting.xml:
24907         * docs/manual/basics-bins.xml:
24908         * docs/manual/basics-bus.xml:
24909         * docs/manual/basics-elements.xml:
24910         * docs/manual/basics-helloworld.xml:
24911         * docs/manual/basics-pads.xml:
24912         * docs/manual/highlevel-components.xml:
24913         * docs/manual/manual.xml:
24914         * docs/manual/thread.fig:
24915           Update (until threads/scheduling) Application Development Manual;
24916           remove GstThread, add GstBus, add simple porting checklist, add
24917           documentation for tag writing, clocks, make all examples until this
24918           part compile and run.
24919         * examples/manual/Makefile.am:
24920           Update from changes to Application Development Manual; add bus
24921           example, remove thread example.
24922
24923 2005-06-28  Wim Taymans  <wim@fluendo.com>
24924
24925         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
24926         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
24927         (gst_bus_source_dispatch):
24928         Add debugging messages.
24929         Make internal methods static.
24930         Handle the case where the bus is flushed in the handler.
24931         
24932         * gst/gstelement.c: (gst_element_get_bus):
24933         Fix refcount in _get_bus();
24934
24935         * gst/gstpipeline.c: (gst_pipeline_change_state),
24936         (gst_pipeline_get_clock_func):
24937         Clock refcounting fixes.
24938         Handle the case where preroll timed out more gracefully.
24939         
24940         * gst/gstsystemclock.c: (gst_system_clock_dispose):
24941         Clean up the internal thread in dispose. This is needed
24942         for subclasses that actually get disposed.
24943         
24944         * gst/schedulers/threadscheduler.c:
24945         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
24946         (gst_thread_scheduler_dispose):
24947         Free thread pool in dispose.
24948
24949 2005-06-28  Andy Wingo  <wingo@pobox.com>
24950
24951         * tests/network-clock-utils.scm (debug, print-event): New utils.
24952
24953         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
24954         (*packet-loss*): Unified loss probability.
24955         (network-time): Report out-of-band events.
24956
24957         * tests/plot-data: Add support for out-of-band events. Hack it
24958         into this script instead of passing it down the pipe; should fix
24959         this later.
24960
24961 2005-06-28  Wim Taymans  <wim@fluendo.com>
24962
24963         * docs/gst/gstreamer.types:
24964         * docs/gst/tmpl/gstbasesrc.sgml:
24965         * docs/gst/tmpl/gstpad.sgml:
24966         Docs fixes.
24967
24968 2005-06-28  Wim Taymans  <wim@fluendo.com>
24969
24970         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24971         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
24972         (gst_proxy_pad_do_fixatecaps):
24973         Correctly proxy the check_pull_range function.
24974
24975 2005-06-28  Andy Wingo  <wingo@pobox.com>
24976
24977         * tests/network-clock.scm: Removed need for slib.
24978         
24979 2005-06-28  Wim Taymans  <wim@fluendo.com>
24980
24981         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
24982         (gst_basesink_preroll_queue_flush):
24983         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
24984         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
24985         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24986         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
24987         (gst_proxy_pad_set_property):
24988         * gst/gstpad.c:
24989         * gst/gstpad.h:
24990         * gst/gstqueue.c: (gst_queue_init):
24991         The deprecated pad loop function is removed now.
24992
24993 2005-06-28  Andy Wingo  <wingo@pobox.com>
24994
24995         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
24996         New parameters, simulate network packet loss.
24997
24998         * tests/network-clock-utils.scm: Initialize the RNG.
24999
25000 2005-06-28  Wim Taymans  <wim@fluendo.com>
25001
25002         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
25003         (gst_basesink_event), (gst_basesink_deactivate):
25004         Flushing the preroll queue always needs to unlock the waiters.
25005
25006 2005-06-28  Edward Hervey  <edward@fluendo.com>
25007
25008         * gst/gstpipeline.c: (gst_pipeline_send_event): 
25009         Wheen a seek was successful on a pipeline, set the stream_time to the
25010         seek offset in order to have a synchronized stream_time.
25011
25012 2005-06-28  Wim Taymans  <wim@fluendo.com>
25013
25014         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25015         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
25016         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25017         (gst_proxy_pad_do_fixatecaps):
25018         Call wrapper function instead of just calling the function
25019         pointers. This takes care of any locking and whatmore.
25020
25021 2005-06-28  Wim Taymans  <wim@fluendo.com>
25022
25023         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
25024         (gst_pad_pull_range):
25025         * gst/gstpad.h:
25026         CONNECTED -> LINKED.
25027
25028 2005-06-28  Andy Wingo  <wingo@pobox.com>
25029
25030         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
25031         source-munging commit!!!
25032
25033         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
25034         (gst_object_sink): Take gpointer arguments, not GstObject --
25035         avoids casts. Like GLib.
25036
25037         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
25038         activate.
25039
25040 2005-06-27  Andy Wingo  <wingo@pobox.com>
25041
25042         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
25043         remaining buffer.
25044
25045         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
25046         returns a sorted copy of the trace list.
25047         (gst_alloc_trace_print_live): New API, only prints traces with
25048         live objects. Sort the list.
25049         (gst_alloc_trace_print_all): Sort the list.
25050         (gst_alloc_trace_print): Align columns.
25051
25052         * gst/elements/gstttypefindelement.c:
25053         * gst/elements/gsttee.c:
25054         * gst/base/gstbasesrc.c:
25055         * gst/base/gstbasesink.c:
25056         * gst/base/gstbasetransform.c:
25057         * gst/gstqueue.c: Adapt for pad activation changes.
25058
25059         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
25060         sched.
25061         (gst_pipeline_dispose): Drop ref on sched.
25062
25063         * gst/gstpad.c (gst_pad_init): Set the default activate func.
25064         (gst_pad_activate_default): Push mode by default.
25065         (pre_activate_switch, post_activate_switch): New stubs, things to
25066         do before and after switching activation modes on pads.
25067         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
25068         the pad's activate function to choose which mode to activate.
25069         Shortcut on deactivation and call the right function directly.
25070         (gst_pad_activate_pull): New API, (de)activates a pad in pull
25071         mode.
25072         (gst_pad_activate_push): New API, same for push mode.
25073         (gst_pad_set_activate_function) 
25074         (gst_pad_set_activatepull_function) 
25075         (gst_pad_set_activatepush_function): Setters for new API.
25076
25077         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
25078         Trace all miniobjects.
25079         (gst_mini_object_make_writable): Unref the arg if we copy, like
25080         gst_caps_make_writable.
25081
25082         * gst/gstmessage.c (_gst_message_initialize): No trace init.
25083
25084         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
25085         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
25086         Adapt for new pad API.
25087
25088         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
25089
25090         * gst/gstelement.h:
25091         * gst/gstelement.c (gst_element_iterate_src_pads) 
25092         (gst_element_iterate_sink_pads): New API functions.
25093         
25094         * gst/gstelement.c (iterator_fold_with_resync): New utility,
25095         should fold into gstiterator.c in some form.
25096         (gst_element_pads_activate): Simplified via use of fold and
25097         delegation of decisions to gstpad->activate.
25098
25099         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
25100         help in debugging.
25101
25102         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
25103         class once in init, like gstmessage. Didn't run into this issue
25104         but it seems correct. Don't initialize a trace, gstminiobject does
25105         that.
25106
25107         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
25108         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
25109         to the bus.
25110         (assert_live_count): New util function, uses alloc traces to check
25111         cleanup.
25112
25113         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
25114         To be modified when unlink drops the internal pad.
25115
25116 2005-06-27  Wim Taymans  <wim@fluendo.com>
25117
25118         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
25119         (gst_bin_change_state):
25120         Cleanup the get_state() function a little, make sure it
25121         iterates the same set of elements.
25122         Added stub iterate_state_order().
25123
25124 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
25125
25126         * docs/gst/gstreamer-docs.sgml:
25127         * docs/gst/gstreamer-sections.txt:
25128         * docs/gst/gstreamer.types:
25129         * docs/gst/tmpl/gstbasesink.sgml:
25130         * docs/gst/tmpl/gstbasesrc.sgml:
25131         * docs/gst/tmpl/gstbasetransform.sgml:
25132         * docs/gst/tmpl/gstelement.sgml:
25133         * docs/gst/tmpl/gstiterator.sgml:
25134         * gst/base/gstbasesrc.c:
25135         * gst/base/gstbasesrc.h:
25136         * gst/base/gstbasetransform.h:
25137         * gst/gstelement.c:
25138         * gst/gstiterator.h:
25139           adding basetransform and iterator docs
25140
25141 2005-06-27  Andy Wingo  <wingo@pobox.com>
25142
25143         * docs/design/part-activation.txt: Notes on how activation should
25144         work -- not quite implemented yet.
25145
25146 2005-06-25  Wim Taymans  <wim@fluendo.com>
25147
25148         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
25149         At least get the chain function correct, needs more
25150         fixing.
25151
25152 2005-06-25  Wim Taymans  <wim@fluendo.com>
25153
25154         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25155         (gst_basesink_handle_object), (gst_basesink_event),
25156         (gst_basesink_do_sync), (gst_basesink_handle_event),
25157         (gst_basesink_change_state):
25158         * gst/gsttask.h:
25159         Right, two problems here: ghostpads don't take locks and
25160         glib _rec_mutex_lock_full() with depth==0 still locks.
25161         Catch illegal locking and g_warn them.
25162
25163 2005-06-25  Wim Taymans  <wim@fluendo.com>
25164
25165         * check/states/sinks.c: (START_TEST), (gst_object_suite):
25166         Have to check for completion now...
25167
25168 2005-06-25  Wim Taymans  <wim@fluendo.com>
25169
25170         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25171         (gst_basesink_handle_object), (gst_basesink_event),
25172         (gst_basesink_do_sync), (gst_basesink_handle_event),
25173         (gst_basesink_change_state):
25174         * gst/gstpad.h:
25175         Unlock STREAM_LOCK whatever the recursion was.
25176
25177 2005-06-25  Wim Taymans  <wim@fluendo.com>
25178
25179         * gst/base/gstbasesink.c: (gst_basesink_set_property),
25180         (gst_basesink_preroll_queue_empty),
25181         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
25182         (gst_basesink_event), (gst_basesink_do_sync),
25183         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
25184         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
25185         (gst_basesink_change_state):
25186         Reworked the base sink, handle event and buffer serialisation
25187         correctly and removed possible deadlock.
25188         Handle EOS correctly.
25189
25190 2005-06-25  Wim Taymans  <wim@fluendo.com>
25191
25192         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
25193         (gst_pipeline_change_state):
25194         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25195         Allow elements to post EOS in the state change function.
25196         Fix up -launch, make it exit the poll loop when the
25197         pipeline actually changed state.
25198         Fix up warning parsing in -launch.
25199
25200 2005-06-25  Wim Taymans  <wim@fluendo.com>
25201
25202         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
25203         (gst_tee_sink_activate):
25204         Core takes STREAM_LOCK for us now.
25205
25206 2005-06-25  Wim Taymans  <wim@fluendo.com>
25207
25208         * gst/gstelement.c: (gst_element_get_state_func),
25209         (gst_element_set_state):
25210         * gst/gstelement.h:
25211         * gst/gstmessage.c: (gst_message_parse_error),
25212         (gst_message_parse_warning):
25213         Keep track of current target state while performing a state
25214         change so that subclasses can do something interesting.
25215         Fix parsing of warning/error messages when GError is NULL.
25216
25217 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25218
25219         * docs/gst/Makefile.am:
25220         * docs/gst/gstreamer-docs.sgml:
25221         * docs/gst/gstreamer-sections.txt:
25222         * docs/gst/gstreamer.types:
25223         * docs/gst/tmpl/gstbasesink.sgml:
25224         * docs/gst/tmpl/gstbasesrc.sgml:
25225         * docs/gst/tmpl/gstbin.sgml:
25226         * docs/gst/tmpl/gstcompat.sgml:
25227         * docs/gst/tmpl/gstfakesink.sgml:
25228         * docs/gst/tmpl/gstfakesrc.sgml:
25229         * docs/gst/tmpl/gstfilesink.sgml:
25230         * docs/gst/tmpl/gstfilesrc.sgml:
25231         * docs/gst/tmpl/gstindex.sgml:
25232         * docs/manual/appendix-quotes.xml:
25233         * gst/base/gstbasesrc.h:
25234         * gst/elements/gstfakesrc.h:
25235         * gst/gstmessage.h:
25236           start pulling in base classes and elements in our docs
25237
25238 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
25239
25240         * docs/gst/Makefile.am:
25241         * docs/libs/Makefile.am:
25242           fixed make distcheck with gtk-doc 1.3
25243
25244 2005-06-23  Wim Taymans  <wim@fluendo.com>
25245
25246         * gst/gstelement.c: (gst_element_get_state_func),
25247         (gst_element_set_state), (gst_element_change_state):
25248         When the state did not change, also report NO_PREROLL
25249         when it matters.
25250
25251 2005-06-23  Wim Taymans  <wim@fluendo.com>
25252
25253         * gst/gstpad.c: (gst_pad_event_default):
25254         * gst/gstqueue.c: (gst_queue_loop):
25255         No unsafe task pausing please.
25256
25257 2005-06-23  Wim Taymans  <wim@fluendo.com>
25258
25259         * gst/schedulers/threadscheduler.c:
25260         (gst_thread_scheduler_task_start),
25261         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25262         Ref the task before pushing it on the threadpool. This
25263         makes sure that we have a ref when the threadfunction is
25264         actually called.
25265
25266 2005-06-23  Andy Wingo  <wingo@pobox.com>
25267
25268         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25269         offset is greater than the file's size.
25270
25271         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
25272         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25273         * gst/gstobject.c (gst_object_class_init): Make the class lock
25274         recursive. Wim won't let me drop deep_notify. Decodebin works
25275         again, whoopdy doo.
25276
25277         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25278         internal pad, and hacks accordingly. Doesn't do it on the target
25279         pad because we change its caps. Probably catches all cases of
25280         interest tho.
25281         (gst_ghost_pad_set_property): Connect to notify::caps as
25282         appropritate.
25283
25284         * tests/network-clock.scm (plot-simulation): Pipe data to the
25285         elite python skript.
25286
25287         * tests/network-clock-utils.scm (define-parameter): New macro,
25288         defines a parameter that can be set via the command line.
25289         (set-parameter!, parse-parameter-arguments): Command line args
25290         parser.
25291
25292         * tests/plot-data: Simple matplotlib-based plotter, takes input on
25293         stdin.
25294
25295 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
25296
25297         * gst/elements/gsttypefindelement.c:
25298         (gst_type_find_element_handle_event):
25299           Don't restart typefinding on a discont.
25300         * gst/gstelement.c: (gst_element_set_state):
25301           Debug spelling fix.
25302         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25303           Allow changing mode of an active pad.
25304           Debug output fixes.
25305         * gst/registries/gstlibxmlregistry.c: (load_feature):
25306           Don't cast a static pad template to a normal pad template.
25307
25308 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25309
25310         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25311         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25312           remove gst_strtoll completely, since it didn't actually do
25313           anything more than what g_ascii_strtoull already does.
25314           check for range errors when deserializing
25315           do a cast for the unsigned cases; but further fixing needs
25316           a decision on what the interpretation of "(int)" and
25317           deserialization should be for values that fall outside the
25318           type's boundaries (ie, refuse, or interpret as casting)
25319
25320 2005-06-23  Wim Taymans  <wim@fluendo.com>
25321
25322         * check/Makefile.am:
25323         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25324         * docs/design/part-live-source.txt:
25325         * docs/design/part-states.txt:
25326         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25327         (gst_basesrc_set_live), (gst_basesrc_is_live),
25328         (gst_basesrc_get_range), (gst_basesrc_activate),
25329         (gst_basesrc_change_state):
25330         * gst/base/gstbasesrc.h:
25331         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25332         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25333         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25334         * gst/gstelement.c: (gst_element_get_state_func),
25335         (gst_element_set_state):
25336         * gst/gstelement.h:
25337         * gst/gsttypes.h:
25338         * tools/gst-launch.c: (event_loop), (main):
25339         Added support for live sources and other elements that
25340         cannot do preroll.
25341         Updated design docs, added live-source design doc.
25342         Implemented live source functionality in basesrc
25343         Fix error condition in _bin_get_state()
25344         Implement live source handling in -launch.
25345         Added check for live sources.
25346         Fixed case in GstBin where elements were changed state
25347         multiple times.
25348
25349
25350 2005-06-23  Andy Wingo  <wingo@pobox.com>
25351
25352         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25353         borken refcounting.
25354
25355         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25356         gst_caps_replace takes care of this for us.
25357
25358         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25359         gst_pad_set_caps on the target, not just its setcaps() function.
25360
25361         * tests/network-clock.scm: 
25362         * tests/network-clock-utils.scm: A network clock simulator.
25363         Something of an algorithmic testbed before doing something in C.
25364
25365 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25366
25367         * check/Makefile.am:
25368         * check/gst/capslist.h:
25369           copy over from 0.8, and add two with bitmasks specified with
25370           (int) 0xFF...
25371         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25372           add test to parse everything from capslist.h
25373         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25374         (main):
25375           add test for structure deserialization
25376         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25377           add tests for deserialization of strings to int types
25378         * gst/gststructure.c: (gst_structure_nth_field_name):
25379         * gst/gststructure.h:
25380           add a way to get the name of a field referenced by index
25381         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25382           instead of checking if the resulting long long lies between
25383           min and max, we check if the long long would fit into
25384           a number of bytes for the final type.
25385           This fixes cases where a string represents 2^32 - 1, which
25386           when cast to int would be the (valid) -1, but is bigger than
25387           G_MAXINT
25388
25389 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25390
25391         * gst/parse/grammar.y:
25392           add a log line for type deserialization
25393
25394 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25395
25396         * check/gst/gstvalue.c: (START_TEST):
25397         * gst/gstvalue.c: (gst_value_deserialize):
25398           return long long, not int, so gint64 deserialization actually
25399           works.  Is there any flag that makes the compiler check this ?
25400           Fixes #308559
25401
25402 2005-06-22  Wim Taymans  <wim@fluendo.com>
25403
25404         * gst/gstbuffer.h:
25405         Added convenience macros for setting buffers in GValue.
25406
25407 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25408
25409         * check/gst/.cvsignore:
25410         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25411           add a test deserializing int64, and comment part out because
25412           it fails, yay !
25413
25414 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25415
25416         * check/Makefile.am:
25417         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25418         * testsuite/Makefile.am:
25419         * testsuite/caps/Makefile.am:
25420         * testsuite/caps/value_serialize.c:
25421         * testsuite/test_gst_init.c:
25422           move a value_serialize test over
25423
25424 2005-06-20  Wim Taymans  <wim@fluendo.com>
25425
25426         * gst/gstpad.c:
25427         Small doc updates.
25428         
25429         * gst/gstvalue.c: (gst_value_compare_buffer),
25430         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25431         (gst_value_compare_flags), (gst_value_serialize_flags),
25432         (gst_value_deserialize_flags), (_gst_value_initialize):
25433         Fix serialisation of buffers, they are not boxed types anymore
25434
25435 2005-06-20  Wim Taymans  <wim@fluendo.com>
25436
25437         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25438         Testcase to show error in buffer-on-caps serialisation.
25439
25440 2005-06-20  Andy Wingo  <wingo@pobox.com>
25441
25442         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25443         will be adding to later.
25444
25445         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25446         if its socks fill with rocks.
25447         (gst_system_clock_obtain): Set the name on object construction.
25448         Avoid double-checked locking.
25449
25450 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
25451
25452         * gst/gsturi.c: (gst_element_make_from_uri):
25453           Fix potential endless loop.
25454
25455 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25456
25457         * check/Makefile.am:
25458           add gsttag
25459         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25460         (main):
25461           move over from testsuite dir and clean up
25462         * configure.ac:
25463         * gst/gsttag.c:
25464         * testsuite/Makefile.am:
25465         * testsuite/tags/.cvsignore:
25466         * testsuite/tags/Makefile.am:
25467         * testsuite/tags/merge.c:
25468           remove testsuite/tags
25469
25470 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25471
25472         * docs/gst/gstreamer-sections.txt:
25473         * docs/gst/tmpl/gstenumtypes.sgml:
25474         * win32/gstenumtypes.c:
25475           clean up documentation build a little
25476
25477 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25478
25479         * check/gstcheck.h:
25480           add macros for checking refcounts on objects and caps
25481         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25482           add some more unit tests
25483         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25484         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25485           fix leaked refcounts (I hope :)) so unittest works
25486         * gst/gstpad.h:
25487           whitespace removal
25488
25489 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25490
25491         * configure.ac: back to HEAD
25492
25493 === release 0.9.1 ===
25494
25495 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25496
25497         * NEWS:
25498         * RELEASE:
25499           updated
25500
25501 2005-06-17  Andy Wingo  <wingo@pobox.com>
25502
25503         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25504         assert; it's always possible that the pad gets deactivated in
25505         between the checks in gstpad.c and the implementation. Rely on
25506         finish_preroll() to return a FLUSHING or similar instead of on the
25507         assert.
25508         
25509         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25510         clock and post an EOS message if we come out of finish_preroll in
25511         the playing state.
25512
25513 2005-06-16  David Schleef  <ds@schleef.org>
25514
25515         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25516         (gst_capsfilter_set_property): Allow NULL as possible value
25517         for filter_caps property, indicating GST_CAPS_ANY.
25518
25519 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25520
25521         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25522           fix debug output
25523         * gst/schedulers/Makefile.am:
25524           use libgst prefix
25525         * gstreamer.spec.in:
25526           fix spec for it
25527
25528 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25529
25530         * gstreamer.spec.in:
25531           clean up
25532
25533 2005-06-08  Andy Wingo  <wingo@pobox.com>
25534
25535         * gst/gstutils.c: RPAD fixes all around.
25536         (gst_element_link_pads): Refcounting fixes.
25537
25538         * tools/gst-inspect.c:
25539         * tools/gst-xmlinspect.c:
25540         * parse/grammar.y:
25541         * gst/base/gsttypefindhelper.c:
25542         * gst/base/gstbasesink.c:
25543         * gst/gstqueue.c: RPAD fixes.
25544
25545         * gst/gstghostpad.h:
25546         * gst/gstghostpad.c: New ghost pad implementation as full proxy
25547         pads. The tricky thing is they provide both source and sink
25548         interfaces, since they proxy the internal pad for the external
25549         pad, and vice versa. Implement with lower-level ProxyPad objects,
25550         with the interior proxy pad as a child of the exterior ghost pad.
25551         Should write a doc on this.
25552         
25553         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
25554         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
25555         gst_object API.
25556         
25557         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
25558         pads are real pads. No ghost pads in this file. Not documenting
25559         the myriad s/RPAD/PAD/ and REALIZE fixes.
25560         (gst_pad_class_init): Add properties for "direction" and
25561         "template". Both are construct-only, so they can't change during
25562         the life of the pad. Fixes properly deriving from GstPad.
25563         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
25564         derived objects, just set properties when creating the objects via
25565         g_object_new.
25566         (gst_pad_get_parent): Implement as a function, return NULL if the
25567         parent is not an element.
25568         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
25569         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
25570         
25571         * gst/gstobject.c (gst_object_class_init): Make name a construct
25572         property. Don't set it in the object init.
25573
25574         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
25575         with UNKNOWN direction.
25576         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
25577         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
25578         (gst_element_remove_pad): Remove ghost-pad special cases.
25579         (gst_element_pads_activate): Remove rpad cruft.
25580
25581         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
25582         catch the pad's-parent-not-an-element case.
25583
25584         * gst/gst.h: Include gstghostpad.h.
25585
25586         * gst/gst.c (init_post): No more real, ghost pads.
25587
25588         * gst/Makefile.am: Add gstghostpad.[ch].
25589
25590         * check/Makefile.am:
25591         * check/gst/gstbin.c:
25592         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
25593         into a bin creates ghost pads, and that the refcounts are right.
25594         Partly moved from gstbin.c.
25595
25596 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25597
25598         * check/gst-libs/.cvsignore:
25599         * check/gst/.cvsignore:
25600         * check/pipelines/.cvsignore:
25601           ignore more
25602         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
25603         (START_TEST), (cleanup_suite), (main):
25604           add some tests related to cleanup after running pipelines
25605
25606 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25607
25608         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
25609           add a testsuite for GstBuffer
25610
25611 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25612
25613         * gst/gstminiobject.h:
25614           add defines for accessing the refcount
25615
25616 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
25617
25618         * Makefile.am: added support for html unit test coverage reports
25619
25620 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
25621
25622         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25623           Free existing caps if the capsfilter changes. Add a FIXME about
25624           setting those caps on the pads.
25625
25626         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
25627           Before adding a ghost pad to a parent bin, check that there isn't
25628           already one for the element on the bin. Prevents infinite recursion
25629           when using decodebin in parse pipelines. Andy says he'll rewrite the
25630           way this works anyway, so ignore the hack.
25631
25632 2005-06-02  Andy Wingo  <wingo@pobox.com>
25633
25634         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
25635         file size, pass it on to the type find helper.
25636
25637         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
25638         segment_start and segment_end properly according to the seek
25639         method. Segment_end is still a bit flaky because offset can be
25640         negative for CUR and END cases, but it takes -1 as an "unset"
25641         value.
25642
25643 2005-06-02  Wim Taymans  <wim@fluendo.com>
25644
25645         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
25646         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
25647         (gst_basesink_activate):
25648         * gst/base/gstbasesink.h:
25649         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25650         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25651         (gst_pad_query), (gst_pad_start_task):
25652         * gst/gstpad.h:
25653         * gst/gstqueue.c: (gst_queue_bufferalloc),
25654         (gst_queue_handle_sink_event), (gst_queue_chain):
25655         Bufferalloc: return GstFlowReturn to more accuratly report
25656         why allocation failed.
25657
25658 2005-06-02  Wim Taymans  <wim@fluendo.com>
25659
25660         * gst/gstpipeline.c: (gst_pipeline_send_event):
25661         Take snapshot of state without blocking.
25662
25663 2005-06-02  Wim Taymans  <wim@fluendo.com>
25664
25665         * docs/design/part-TODO.txt:
25666         * docs/design/part-caps.txt:
25667         * docs/design/part-clocks.txt:
25668         * docs/design/part-negotiation.txt:
25669         * docs/design/part-preroll.txt:
25670         Small doc updates 
25671
25672 2005-05-30  Wim Taymans  <wim@fluendo.com>
25673
25674         * gst/elements/gstidentity.c: (gst_identity_event),
25675         (gst_identity_transform), (gst_identity_get_property):
25676         Protect last_message property as it is accessed from
25677         multiple threads.
25678
25679 2005-05-30  Wim Taymans  <wim@fluendo.com>
25680
25681         * gst/gstelement.c: (gst_element_init),
25682         (gst_element_pads_activate), (gst_element_change_state):
25683         Slicker pad activation code.
25684
25685 2005-05-30  Wim Taymans  <wim@fluendo.com>
25686
25687         * gst/Makefile.am:
25688         * gst/gstelement.h:
25689         * gst/gstelementfactory.h:
25690         * gst/gsttypes.h:
25691         Move elementfactory methods to separate .h file.
25692
25693 2005-05-30  Wim Taymans  <wim@fluendo.com>
25694
25695         * docs/design/part-overview.txt:
25696         * gst/gstsystemclock.h:
25697         Small typo fixes, doc updates.
25698
25699 2005-05-30  Wim Taymans  <wim@fluendo.com>
25700
25701         * gst/gst.c: (gst_init_get_popt_table), (init_post),
25702         (init_popt_callback):
25703         Remove cpu-opt flag.
25704
25705 2005-05-30  Wim Taymans  <wim@fluendo.com>
25706
25707         * gst/gstbuffer.c: (gst_subbuffer_finalize),
25708         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
25709         * gst/gstbuffer.h:
25710         Avoid typechecking in places where not needed.
25711         Added accessor for malloc_data.
25712
25713 2005-05-30  Wim Taymans  <wim@fluendo.com>
25714
25715         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
25716         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
25717         (gst_pad_configure_sink), (gst_pad_configure_src),
25718         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
25719         (gst_pad_start_task):
25720         Propagate errors from _set_caps() in configure_src/sink
25721         functions instead of returning TRUE.
25722         FLUSH events can travel up and downstream
25723
25724
25725 2005-05-30  Wim Taymans  <wim@fluendo.com>
25726
25727         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25728         (gst_basesink_activate):
25729         Handle EOS in preroll.
25730
25731 2005-05-30  Wim Taymans  <wim@fluendo.com>
25732
25733         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25734         (gst_queue_loop), (gst_queue_handle_src_event):
25735         Remove old pieces of code
25736         Flushing the queue in an upstream event is a very bad idea.
25737
25738 2005-05-26  Andy Wingo  <wingo@pobox.com>
25739
25740         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
25741         gst_value_set_mini_object so as to add a ref on the object (which
25742         will be removed when the value is unset).
25743
25744         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
25745         arg type in ::handoff.
25746
25747         * gst/gstelement.c (gst_element_change_state): Also deactivate
25748         pads in READY->NULL, just in case the element didn't make it to
25749         PAUSED. Wingo tested, Wim approved.
25750
25751 2005-05-26  Wim Taymans  <wim@fluendo.com>
25752
25753         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25754         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25755         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
25756         A flushing pad cannot be used to alloc_buffer from.
25757
25758 2005-05-26  Wim Taymans  <wim@fluendo.com>
25759
25760         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
25761         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
25762         (gst_bus_source_dispatch), (gst_bus_source_finalize),
25763         (gst_bus_create_watch), (gst_bus_add_watch_full):
25764         * gst/gstbus.h:
25765         Implement a real GSource and use g_main_context_wakeup() to
25766         signal new messages instead of the socketpair.
25767
25768 2005-05-25  Wim Taymans  <wim@fluendo.com>
25769
25770         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
25771         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
25772         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25773         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25774         (gst_pad_send_event), (gst_pad_start_task):
25775         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
25776         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25777         (gst_queue_sink_activate), (gst_queue_src_activate),
25778         (gst_queue_change_state):
25779         * gst/gstqueue.h:
25780         Fix state changes for non sinks. We now change sinks, then elements
25781         with unconnected srcpads, then the rest.
25782         More efficient queue unlocking in flush and state changes.
25783         Set the pad activate mode even if it does not have an activate
25784         function.
25785
25786 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25787
25788         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
25789           Don't go in pull mode for non-seekable sources.
25790         * gst/elements/gsttypefindelement.h:
25791         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
25792         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
25793         (free_entry), (stop_typefinding),
25794         (gst_type_find_element_handle_event), (find_peek),
25795         (gst_type_find_element_chain), (do_pull_typefind),
25796         (gst_type_find_element_change_state):
25797           Allow typefinding (w/o seeking) in push-mode, simplified version
25798           of what was in 0.8.
25799         * gst/gstutils.c: (gst_buffer_join):
25800         * gst/gstutils.h:
25801           gst_buffer_join() from 0.8.
25802
25803 2005-05-25  Wim Taymans  <wim@fluendo.com>
25804
25805         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25806         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
25807         (gst_pad_send_event), (gst_pad_start_task):
25808         Disable attempt at mode switching until it is figured out.
25809
25810 2005-05-25  Wim Taymans  <wim@fluendo.com>
25811
25812         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
25813         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25814         (gst_basesink_finish_preroll), (gst_basesink_chain),
25815         (gst_basesink_loop), (gst_basesink_activate),
25816         (gst_basesink_change_state):
25817         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
25818         (gst_basesrc_get_range), (gst_basesrc_loop),
25819         (gst_basesrc_activate):
25820         * gst/elements/gsttee.c: (gst_tee_sink_activate):
25821         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25822         (gst_real_pad_init), (gst_real_pad_set_property),
25823         (gst_real_pad_get_property), (gst_pad_set_active),
25824         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
25825         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
25826         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
25827         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
25828         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25829         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
25830         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
25831         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25832         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
25833         (gst_pad_stop_task):
25834         * gst/gstpad.h:
25835         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25836         (gst_queue_loop), (gst_queue_src_activate):
25837         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
25838         (gst_task_get_state):
25839         * gst/gsttask.h:
25840         * gst/schedulers/threadscheduler.c:
25841         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
25842         Implement gst_pad_pause/start/stop_task(), take STREAM lock
25843         in task function.
25844         Remove ACTIVE pad flag, use FLUSHING everywhere
25845         Added _pad_chain(), _pad_get_range() to call chain/getrange 
25846         functions.
25847         Add locks around IS_FLUSHING when reading.
25848         Take STREAM lock in chain(), get_range() functions so plugins
25849         don't need to take it anymore.
25850         
25851
25852
25853 2005-05-25  Wim Taymans  <wim@fluendo.com>
25854
25855         * tools/gst-launch.c: (event_loop):
25856         Unref message after using its contents instead of
25857         before.
25858
25859 2005-05-24  Wim Taymans  <wim@fluendo.com>
25860
25861         * docs/design/draft-ghostpads.txt:
25862         * docs/design/draft-push-pull.txt:
25863         * docs/design/draft-query.txt:
25864         * docs/design/part-overview.txt:
25865         Docs updates, added general overview doc.
25866
25867 2005-05-21  David Schleef  <ds@schleef.org>
25868
25869         * docs/gst/tmpl/old/GstBin.sgml:
25870         * docs/gst/tmpl/old/GstBuffer.sgml:
25871         * docs/gst/tmpl/old/GstCaps.sgml:
25872         * docs/gst/tmpl/old/GstClock.sgml:
25873         * docs/gst/tmpl/old/GstCompat.sgml:
25874         * docs/gst/tmpl/old/GstData.sgml:
25875         * docs/gst/tmpl/old/GstElement.sgml:
25876         * docs/gst/tmpl/old/GstEvent.sgml:
25877         * docs/gst/tmpl/old/GstIndex.sgml:
25878         * docs/gst/tmpl/old/GstStructure.sgml:
25879         * docs/gst/tmpl/old/GstTag.sgml:
25880         * docs/gst/tmpl/old/cothreads.sgml:
25881         * docs/gst/tmpl/old/cothreads_compat.sgml:
25882         * docs/gst/tmpl/old/gettext.sgml:
25883         * docs/gst/tmpl/old/gobject2gtk.sgml:
25884         * docs/gst/tmpl/old/grammar.tab.sgml:
25885         * docs/gst/tmpl/old/gst-i18n-app.sgml:
25886         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
25887         * docs/gst/tmpl/old/gst_private.sgml:
25888         * docs/gst/tmpl/old/gstaggregator.sgml:
25889         * docs/gst/tmpl/old/gstarch.sgml:
25890         * docs/gst/tmpl/old/gstatomic_impl.sgml:
25891         * docs/gst/tmpl/old/gstbufferstore.sgml:
25892         * docs/gst/tmpl/old/gstdata_private.sgml:
25893         * docs/gst/tmpl/old/gstdisksink.sgml:
25894         * docs/gst/tmpl/old/gstdisksrc.sgml:
25895         * docs/gst/tmpl/old/gstelementfactory.sgml:
25896         * docs/gst/tmpl/old/gstextratypes.sgml:
25897         * docs/gst/tmpl/old/gstfakesink.sgml:
25898         * docs/gst/tmpl/old/gstfakesrc.sgml:
25899         * docs/gst/tmpl/old/gstfdsink.sgml:
25900         * docs/gst/tmpl/old/gstfdsrc.sgml:
25901         * docs/gst/tmpl/old/gstfilesink.sgml:
25902         * docs/gst/tmpl/old/gstfilesrc.sgml:
25903         * docs/gst/tmpl/old/gsthttpsrc.sgml:
25904         * docs/gst/tmpl/old/gstidentity.sgml:
25905         * docs/gst/tmpl/old/gstindexfactory.sgml:
25906         * docs/gst/tmpl/old/gstmarshal.sgml:
25907         * docs/gst/tmpl/old/gstmd5sink.sgml:
25908         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
25909         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
25910         * docs/gst/tmpl/old/gstpadtemplate.sgml:
25911         * docs/gst/tmpl/old/gstpipefilter.sgml:
25912         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
25913         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
25914         * docs/gst/tmpl/old/gstshaper.sgml:
25915         * docs/gst/tmpl/old/gstspider.sgml:
25916         * docs/gst/tmpl/old/gstspideridentity.sgml:
25917         * docs/gst/tmpl/old/gststatistics.sgml:
25918         * docs/gst/tmpl/old/gsttee.sgml:
25919         * docs/gst/tmpl/old/gsttimecache.sgml:
25920         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
25921         * docs/gst/tmpl/old/gstxmlregistry.sgml:
25922         * docs/gst/tmpl/old/gthread-cothreads.sgml:
25923         * docs/gst/tmpl/old/types.sgml:
25924           I didn't intend to add these or check them in.
25925
25926 2005-05-19  David Schleef  <ds@schleef.org>
25927
25928         * configure.ac: Use -no-common everywhere.  In a sane world, it
25929           would be the default in libtool, because without it, you can't
25930           build DLLs on Windows.
25931         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
25932         * docs/gst/gstreamer-sections.txt:
25933         * docs/gst/tmpl/gstcpu.sgml:
25934         * docs/gst/tmpl/gstdata.sgml:
25935         * docs/gst/tmpl/gstthread.sgml:
25936
25937 2005-05-19  David Schleef  <ds@schleef.org>
25938
25939         * gst/gstminiobject.c: (gst_value_set_mini_object),
25940         (gst_value_take_mini_object), (gst_value_get_mini_object):
25941         * gst/gstminiobject.h: Add GValue set/get functions.
25942
25943 2005-05-19  Wim Taymans  <wim@fluendo.com>
25944
25945         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
25946         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
25947         (gst_subbuffer_init), (gst_buffer_is_span_fast):
25948         * gst/gstbuffer.h:
25949         * gst/gstbus.c: (gst_bus_post):
25950         * gst/gstelement.c: (gst_element_get_random_pad):
25951         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
25952         Make subbufer unref the parent in finalize.
25953         some more debugging info.
25954
25955
25956 2005-05-19  Wim Taymans  <wim@fluendo.com>
25957
25958         * gst/base/gstbasesink.c: (gst_basesink_class_init),
25959         (gst_basesink_init), (gst_basesink_finalize),
25960         (gst_basesink_activate), (gst_basesink_change_state):
25961         Don't free preroll queue too early.
25962
25963 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25964
25965         * gst/Makefile.am:
25966         * gst/ROADMAP:
25967           Hi, I'm outdated. Please shoot me.
25968
25969 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25970
25971         * gst/gstpipeline.c: (gst_pipeline_send_event):
25972           Do not access variables after they have been deleted.
25973
25974 2005-05-19  Wim Taymans  <wim@fluendo.com>
25975
25976         * tools/gst-inspect.c: (print_plugin_features):
25977         A plugin feature does unfortunatly not use the
25978         object name yet...
25979
25980 2005-05-18  Wim Taymans  <wim@fluendo.com>
25981
25982         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
25983         Port _span() functions to new subbuffers.
25984
25985 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25986
25987         * gst/gstbin.c: (gst_bin_add_func):
25988           Fix clock settery in bins when adding kids after the clock has
25989           been selected.
25990
25991 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25992
25993         * gst/elements/gstidentity.c: (gst_identity_class_init):
25994           Workaround until signals support GstMiniObject.
25995
25996 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
25997
25998         * gst/gstbuffer.c:
25999         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
26000
26001 2005-05-18  Wim Taymans  <wim@fluendo.com>
26002
26003         * gst/base/Makefile.am:
26004         * gst/base/gstadapter.c: (gst_adapter_base_init),
26005         (gst_adapter_class_init), (gst_adapter_init),
26006         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
26007         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
26008         (gst_adapter_flush), (gst_adapter_available),
26009         (gst_adapter_available_fast):
26010         * gst/base/gstadapter.h:
26011         Ported and added adapter to the base classes.
26012
26013 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26014
26015         * gst/gst.c:
26016         * gst/gstmessage.c:
26017           Make sure the class is reffed/unreffed once before threads can be
26018           used.  Fixes #304551.
26019
26020 2005-05-17  Wim Taymans  <wim@fluendo.com>
26021
26022         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
26023         (gst_basesink_chain_unlocked), (gst_basesink_activate):
26024         * gst/gstminiobject.c: (gst_mini_object_get_type),
26025         (gst_mini_object_free):
26026         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
26027         (gst_pad_push), (gst_pad_push_event):
26028         * gst/gstqueue.c: (gst_queue_change_state):
26029         Don't queue buffers in basesink when we are flushing.
26030         Unref buffer when flushing in basesink.
26031         Flush queue when going to READY
26032         Unref buffer when _push() returns an error.
26033         Don't free MiniObject instance when refcount is incremented
26034         in _finalize() so that we can recover objects.
26035
26036 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
26037
26038         * docs/manual/advanced-schedulers.xml:
26039         * docs/manual/appendix-checklist.xml:
26040         * docs/pwg/advanced-clock.xml:
26041         * docs/pwg/advanced-interfaces.xml:
26042         * docs/pwg/advanced-request.xml:
26043         * docs/pwg/advanced-types.xml:
26044         * docs/pwg/intro-preface.xml:
26045         * examples/plugins/example.c: (gst_example_get_type),
26046         (gst_example_class_init), (gst_example_chain),
26047         (gst_example_set_property), (gst_example_get_property),
26048         (gst_example_change_state), (plugin_init):
26049         * examples/plugins/example.h:
26050           small doc fixes
26051
26052 2005-05-17  Wim Taymans  <wim@fluendo.com>
26053
26054         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
26055         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
26056         * gst/gstqueue.c: (gst_queue_change_state):
26057         Clear queue when going to READY.
26058         Remove IN_SETCAPS flag too.
26059
26060 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
26061
26062         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
26063           Remove implicit cast from gboolean to GstElementStateReturn;
26064           make sure we still return failure in paused => ready case if
26065           the parent class fails to change state and our own stop 
26066           vfunc succeeds.
26067
26068 2005-05-17  Wim Taymans  <wim@fluendo.com>
26069
26070         * tools/gst-launch.c: (event_loop):
26071         Message was unreffed too soon.
26072
26073 2005-05-16  Andy Wingo  <wingo@pobox.com>
26074
26075         * gst/gstbin.c (sink_iterator_filter): Err... um...
26076
26077         * check/gst/gstbin.c (test_ghost_pads): New test for the
26078         ghosting-if-elements-not-in-same-bin behavior.
26079
26080 2005-05-16  David Schleef  <ds@schleef.org>
26081
26082         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
26083         accessing refcount directly.
26084
26085 2005-05-15  David Schleef  <ds@schleef.org>
26086
26087         * check/Makefile.am: remove GstData checks
26088         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
26089         * gst/Makefile.am: add miniobject, remove data
26090         * gst/gst.h: add miniobject, remove data
26091         * gst/gstdata.c: remove
26092         * gst/gstdata.h: remove
26093         * gst/gstdata_private.h: remove
26094         * gst/gsttypes.h: remove GstEvent and GstMessage
26095         * gst/gstelement.c: (gst_element_post_message): fix for API changes
26096         * gst/gstmarshal.list: change BOXED -> OBJECT
26097
26098         Implement GstMiniObject.
26099         * gst/gstminiobject.c:
26100         * gst/gstminiobject.h:
26101
26102         Modify to be subclasses of GstMiniObject.
26103         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
26104         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
26105         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
26106         (gst_subbuffer_get_type), (gst_subbuffer_init),
26107         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
26108         (gst_buffer_span):
26109         * gst/gstbuffer.h:
26110         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
26111         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
26112         (_gst_event_copy), (gst_event_new):
26113         * gst/gstevent.h:
26114         * gst/gstmessage.c: (_gst_message_initialize),
26115         (gst_message_get_type), (gst_message_class_init),
26116         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
26117         (gst_message_new), (gst_message_new_error),
26118         (gst_message_new_warning), (gst_message_new_tag),
26119         (gst_message_new_state_changed), (gst_message_new_application):
26120         * gst/gstmessage.h:
26121         * gst/gstprobe.c: (gst_probe_perform),
26122         (gst_probe_dispatcher_dispatch):
26123         * gst/gstprobe.h:
26124         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
26125         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
26126         (_gst_query_copy), (gst_query_new):
26127
26128         Update elements for GstData -> GstMiniObject changes
26129         * gst/gstquery.h:
26130         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
26131         (gst_queue_chain), (gst_queue_loop):
26132         * gst/elements/gstbufferstore.c:
26133         (gst_buffer_store_add_buffer_func),
26134         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
26135         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26136         (gst_fakesink_render):
26137         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26138         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
26139         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
26140         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
26141         (gst_filesrc_create_read):
26142         * gst/elements/gstidentity.c: (gst_identity_class_init):
26143         * gst/elements/gsttypefindelement.c:
26144         (gst_type_find_element_src_event), (free_entry_buffers),
26145         (gst_type_find_element_handle_event):
26146         * libs/gst/dataprotocol/dataprotocol.c:
26147         (gst_dp_header_from_buffer):
26148         * libs/gst/dataprotocol/dataprotocol.h:
26149         * libs/gst/dataprotocol/dp-private.h:
26150
26151 2005-05-15  David Schleef  <ds@schleef.org>
26152
26153         * gst/elements/gstelements.c: Don't include headers that were
26154         just removed.
26155
26156 2005-05-15  David Schleef  <ds@schleef.org>
26157
26158         * gst/elements/Makefile.am: Remove some elements that don't
26159         need to be in the core (or even exist at all).
26160         * gst/elements/gstaggregator.c:
26161         * gst/elements/gstaggregator.h:
26162         * gst/elements/gstmd5sink.c:
26163         * gst/elements/gstmd5sink.h:
26164         * gst/elements/gstmultifilesrc.c:
26165         * gst/elements/gstmultifilesrc.h:
26166         * gst/elements/gstpipefilter.c:
26167         * gst/elements/gstpipefilter.h:
26168         * gst/elements/gstshaper.c:
26169         * gst/elements/gstshaper.h:
26170         * gst/elements/gststatistics.c:
26171         * gst/elements/gststatistics.h:
26172         * po/POTFILES.in: Remove above files.
26173
26174 2005-05-14  Andy Wingo  <wingo@pobox.com>
26175
26176         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
26177         so as to get the refs right.
26178         (sink_iterator_filter): New function, wraps bin_element_is_sink,
26179         unreffing objects that don't pass the filter.
26180
26181         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
26182         gst_element_set_bus.
26183         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
26184         normal cases, this will destroy the bus.
26185
26186         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
26187         object.
26188
26189         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
26190         has no sinks.
26191
26192 2005-05-13  Andy Wingo  <wingo@pobox.com>
26193
26194         * gst/gstutils.c (gst_element_link_pads): Instead of calling
26195         gst_pad_link, call pad_link_maybe_ghosting,
26196         (pad_link_maybe_ghosting): Links pads, making sure that the
26197         elements being linked are in the same bin.
26198         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
26199         Helpers for pad_link_maybe_ghosting.
26200
26201 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26202
26203         * configure.ac:
26204           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
26205
26206 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26207
26208         * docs/design/part-element-source.txt:
26209           Mention GstPushSrc
26210
26211 2005-05-12  Wim Taymans  <wim@fluendo.com>
26212
26213         * gst/base/gstbasesink.c: (gst_basesink_init),
26214         (gst_basesink_activate):
26215         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
26216         (gst_basesrc_is_seekable):
26217         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
26218         (bin_element_is_sink), (gst_bin_change_state):
26219         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26220         * gst/gstelement.h:
26221         Identify sinks by their flag to avoid overly complicated
26222         checks (fow now).
26223         Do state changes even for elements not reachable from the
26224         sinks.
26225         BaseSink is a sink now :)
26226         Some more debugging info in the basesrc.
26227
26228
26229 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26230
26231         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
26232           Implement _query on a bin, similar to _send_event.
26233
26234 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
26235
26236         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
26237           Discont event offset format should be GST_FORMAT_BYTES,
26238           not GST_FORMAT_TIME.
26239
26240 2005-05-12  Wim Taymans  <wim@fluendo.com>
26241
26242         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
26243         Same fix as Ronald's but without the signal. 
26244
26245 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26246
26247         * gst/gstutils.c: (gst_element_query_position):
26248           No, an element is not a pad.
26249
26250 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26251
26252         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26253         (gst_bin_get_state):
26254           If a child is removed from a bin while we remove the child from
26255           the bin and while we're retrieving its state, signal this to the
26256           get_state function so we abort the wait (instead of waiting for
26257           a timeout) and can immediately re-iterate over all other elements.
26258
26259 2005-05-12  Wim Taymans  <wim@fluendo.com>
26260
26261         * gst/base/Makefile.am:
26262         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26263         (gst_basesrc_start):
26264         * gst/base/gstbasesrc.h:
26265         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26266         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26267         (gst_pushsrc_init), (gst_pushsrc_create):
26268         * gst/base/gstpushsrc.h:
26269         Added is_seekable to BaseSrc
26270         Added simple PushSrc.
26271
26272 2005-05-11  Wim Taymans  <wim@fluendo.com>
26273
26274         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26275         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26276         (gst_element_link_pads), (gst_element_query_position),
26277         (gst_element_query_convert), (intersect_caps_func),
26278         (gst_pad_query_position), (gst_pad_query_convert):
26279         Fix refcounting in utils function.
26280         No point in trying to activate a pad when it's added, it could
26281         be added from the state change function and then we deadlock, the
26282         element has to decide what to do.
26283
26284 2005-05-10  Andy Wingo  <wingo@pobox.com>
26285
26286         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26287         *all* the arguments.
26288
26289         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26290         stream lock if it's a FLUSH_DONE; normal flushes don't get the
26291         lock (according to the docs -- if this is wrong change the docs).
26292
26293         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26294         flush messages in the NULL state.
26295
26296         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26297         message immediately and return.
26298         (gst_bus_set_flushing): New function. If a bus is flushing, it
26299         flushes out any queued messages and immediately unrefs new
26300         messages. This is so when an element goes to NULL, all of the
26301         unhandled messages coming from it can be freed, and their
26302         references to the element dropped. In other words: message source
26303         ref considered harmful :P
26304
26305         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26306         we're finished with it.
26307
26308         * gst/gstmessage.c (gst_message_new_state_changed): 
26309
26310 2005-05-10  Wim Taymans  <wim@fluendo.com>
26311
26312         * gst/gstvalue.c: (gst_value_compare_flags),
26313         (gst_value_serialize_flags), (gst_value_deserialize_flags),
26314         (_gst_value_initialize):
26315         Added flags serialize/deserialize/compare code.
26316
26317 2005-05-09  Andy Wingo  <wingo@pobox.com>
26318
26319         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26320         Intersect the peer's caps with our caps.
26321
26322 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26323
26324         * gst/base/gsttypefindhelper.c: (helper_find_peek):
26325         * gst/elements/gsttypefindelement.c: (find_peek):
26326           Handle negative offsets better. Fixes decodebin.
26327
26328 2005-05-09  Wim Taymans  <wim@fluendo.com>
26329
26330         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26331         (gst_base_transform_event):
26332         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26333         Implement accept_caps.
26334         Fix silly lock/unlock mismatch in base class.
26335
26336 2005-05-09  Wim Taymans  <wim@fluendo.com>
26337
26338         * docs/design/draft-push-pull.txt:
26339         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26340         * gst/elements/gstfilesink.c: (gst_filesink_init),
26341         (gst_filesink_query):
26342         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26343         (gst_type_find_handle_src_query), (find_element_get_length):
26344         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26345         * gst/gstelement.h:
26346         * gst/gstmessage.c:
26347         * gst/gstmessage.h:
26348         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26349         (gst_real_pad_get_caps_unlocked),
26350         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26351         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26352         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26353         (gst_real_pad_dispose), (gst_real_pad_finalize),
26354         (gst_pad_load_and_link), (gst_pad_save_thyself),
26355         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26356         (gst_pad_check_pull_range), (gst_pad_pull_range),
26357         (gst_pad_template_get_type), (gst_pad_template_class_init),
26358         (gst_pad_template_init), (gst_pad_template_dispose),
26359         (name_is_valid), (gst_static_pad_template_get),
26360         (gst_pad_template_new), (gst_static_pad_template_get_caps),
26361         (gst_pad_template_get_caps), (gst_pad_set_element_private),
26362         (gst_pad_get_element_private), (gst_pad_start_task),
26363         (gst_pad_pause_task), (gst_pad_stop_task),
26364         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26365         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26366         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26367         (gst_ghost_pad_new):
26368         * gst/gstpad.h:
26369         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26370         (gst_query_new_position), (gst_query_set_position),
26371         (gst_query_parse_position), (gst_query_new_convert),
26372         (gst_query_set_convert), (gst_query_parse_convert):
26373         * gst/gstquery.h:
26374         * gst/gstqueryutils.c:
26375         * gst/gstqueryutils.h:
26376         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26377         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26378         (gst_queue_handle_src_query):
26379         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26380         (gst_element_query_position), (gst_element_query_convert),
26381         (intersect_caps_func), (gst_pad_query_position),
26382         (gst_pad_query_convert):
26383         * gst/gstutils.h:
26384         * tools/gst-inspect.c: (print_pad_info):
26385         * tools/gst-xmlinspect.c: (print_element_info):
26386         Remove old query functions. Ported old code.
26387         Added position/convert helper functions to gstutils.
26388         Reordered gstpad.c code, grouping relevant things.
26389         Remove gst_message_new(), always need to speficy a specific
26390         message.
26391
26392
26393 2005-05-09  Andy Wingo  <wingo@pobox.com>
26394
26395         * gst/gstiterator.h: Add some includes.
26396
26397         * gst/gstqueryutils.h: Include more headers.
26398
26399         * gst/gstpad.h:
26400         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26401         some uses of gst_pad_query.
26402
26403         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26404         NULL out parameters.
26405         (gst_query_new_position): New proc, allocates a new position
26406         query.
26407
26408         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26409         gstqueryutils.c to the build.
26410
26411         * gst/gststructure.c (gst_structure_set_valist): Implement with
26412         the generic G_VALUE_COLLECT.
26413         
26414 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
26415
26416         * gst/Makefile.am: (gst_headers):
26417         Added gstqueryutils.h to the list of headers to install, that was
26418         a 'nachty' move wingo :)
26419
26420 2005-05-06  Andy Wingo  <wingo@pobox.com>
26421
26422         * gst/gstquery.h
26423         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26424         GstData, init a memchunk.
26425         (standard_definitions): Add a few query types, deprecate a few.
26426         (gst_query_get_type): New proc.
26427         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26428         implementation.
26429         (gst_query_new_application, gst_query_get_structure): New public
26430         procs.
26431
26432         * docs/design/draft-query.txt: Removed LINKS from the query types,
26433         because all the rest can be dispatched to other pads -- seemed
26434         ugly to have a query that couldn't be dispatched. internal_links
26435         is fine as a pad method.
26436
26437         * gst/gstpad.h: Add query2 as a pad method, add the new functions
26438         in gstpad.c, but maintain binary compatibility for the moment.
26439         Will fix before 0.9 is out.
26440
26441         * gst/gstqueryutils.c: 
26442         * gst/gstqueryutils.h: New files, implement 3 methods for each
26443         query type: parse_query, parse_response, and set. Probably need an
26444         allocator as well.
26445
26446         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26447
26448         * gst/elements/gstfilesink.c (gst_filesink_query2):
26449         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26450         query_types, and formats methods.
26451
26452         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26453         (gst_pad_set_query2_function): New functions.
26454         (gst_real_pad_init): Set query2_default as the default query2
26455         function. Basically just dispatches to internally linked pads.
26456
26457         Needs review!
26458         
26459         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26460         without using the atomic operations. Only one thread can possibly
26461         be accessing the data at this point. Changed so as to avoid
26462         gst_atomic operations.
26463
26464 2005-05-06  Wim Taymans  <wim@fluendo.com>
26465
26466         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26467         Also set caps if we use the fallback buffer alloc.
26468
26469 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
26470
26471         * docs/gst/Makefile.am:
26472         * docs/gst/gstreamer-docs.sgml:
26473         * docs/gst/gstreamer-sections.txt:
26474         * docs/gst/tmpl/gstatomic.sgml:
26475         * docs/gst/tmpl/gstmemchunk.sgml:
26476         * testsuite/elements/struct_i386.h:
26477         * win32/GStreamer.vcproj:
26478         * win32/Makefile:
26479           Purge GstAtomic stuff from docs and win32 makefiles as well
26480
26481 2005-05-06  Wim Taymans  <wim@fluendo.com>
26482
26483         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26484         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26485         * gst/gstpad.c: (gst_pad_peer_get_caps):
26486         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26487         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26488         (gst_queue_src_activate), (gst_queue_change_state):
26489         * gst/gstqueue.h:
26490         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26491         (intersect_caps_func):
26492         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26493         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26494         Some fixes for the peer_get_caps() change.
26495
26496 2005-05-06  Wim Taymans  <wim@fluendo.com>
26497
26498         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26499         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26500         (gst_basesink_activate):
26501         Actually do something with error codes returned from the push
26502         functions.
26503
26504 2005-05-06  Wim Taymans  <wim@fluendo.com>
26505
26506         * docs/design/part-element-sink.txt:
26507         * docs/design/part-element-source.txt:
26508         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26509         (gst_basesink_event), (gst_basesink_activate):
26510         * gst/base/gstbasesink.h:
26511         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26512         (gst_basesrc_activate):
26513         * gst/base/gstbasesrc.h:
26514         * gst/gstelement.c: (gst_element_pads_activate):
26515         Some more documentation.
26516         Fixed scheduling decision in _pads_activate().
26517
26518 2005-05-05  Andy Wingo  <wingo@pobox.com>
26519
26520         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26521         the test suite.
26522
26523 2005-05-05  Wim Taymans  <wim@fluendo.com>
26524
26525         * gst/base/Makefile.am:
26526         * gst/base/gstbasesink.h:
26527         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26528         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
26529         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
26530         (gst_collectpads_class_init), (gst_collectpads_init),
26531         (gst_collectpads_finalize), (gst_collectpads_new),
26532         (gst_collectpads_set_function), (gst_collectpads_add_pad),
26533         (find_pad), (gst_collectpads_remove_pad),
26534         (gst_collectpads_is_active), (gst_collectpads_collect),
26535         (gst_collectpads_collect_range), (gst_collectpads_start),
26536         (gst_collectpads_stop), (gst_collectpads_peek),
26537         (gst_collectpads_pop), (gst_collectpads_available),
26538         (gst_collectpads_read), (gst_collectpads_flush),
26539         (gst_collectpads_chain):
26540         * gst/base/gstcollectpads.h:
26541         * gst/elements/Makefile.am:
26542         * gst/elements/gstelements.c:
26543         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26544         (gst_fakesink_get_times), (gst_fakesink_event),
26545         (gst_fakesink_preroll), (gst_fakesink_render):
26546         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26547         (gst_filesink_init), (gst_filesink_set_location),
26548         (gst_filesink_open_file), (gst_filesink_close_file),
26549         (gst_filesink_pad_query), (gst_filesink_event),
26550         (gst_filesink_render), (gst_filesink_change_state):
26551         * gst/elements/gstfilesink.h:
26552         Added object to help in making collect pad based elements.
26553         Ported filesink.
26554         Make event function in sink baseclass return gboolean.
26555
26556 2005-05-05  Wim Taymans  <wim@fluendo.com>
26557
26558         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
26559         (gst_bin_get_by_name):
26560         * gst/gstbuffer.h:
26561         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
26562         (gst_clock_finalize):
26563         * gst/gstdata.c: (gst_data_replace):
26564         * gst/gstdata.h:
26565         * gst/gstelement.c: (gst_element_request_pad),
26566         (gst_element_pads_activate):
26567         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
26568         (gst_object_unref):
26569         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26570         (gst_pad_set_checkgetrange_function),
26571         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
26572         (gst_pad_check_pull_range), (gst_pad_pull_range),
26573         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26574         (gst_pad_pause_task), (gst_pad_stop_task):
26575         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26576         (gst_element_request_pad), (gst_pad_proxy_getcaps):
26577         Fix name lookup in GstBin.
26578         Added _data_replace() function and _buffer_replace()
26579         Use finalize method to clean up clock.
26580         Fix refcounting on request pads.
26581         Fix pad schedule mode error.
26582         Some more object refcounting debug info,
26583
26584
26585 2005-05-04  Andy Wingo <wingo@pobox.com>
26586
26587         * check/Makefile.am:
26588         * docs/gst/tmpl/gstatomic.sgml:
26589         * docs/gst/tmpl/gstplugin.sgml:
26590         * gst/base/gstbasesink.c: (gst_basesink_activate):
26591         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
26592         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
26593         (gst_basesrc_query), (gst_basesrc_set_property),
26594         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
26595         (gst_basesrc_activate):
26596         * gst/base/gstbasesrc.h:
26597         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
26598         (gst_base_transform_src_activate):
26599         * gst/elements/gstelements.c:
26600         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26601         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26602         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26603         * gst/elements/gsttypefindelement.c: (find_element_get_length),
26604         (gst_type_find_element_checkgetrange),
26605         (gst_type_find_element_activate):
26606         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
26607         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
26608         (gst_caps_load_thyself):
26609         * gst/gstelement.c: (gst_element_pads_activate),
26610         (gst_element_save_thyself), (gst_element_restore_thyself):
26611         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
26612         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
26613         * gst/gstpad.h:
26614         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
26615         (gst_xml_parse_file), (gst_xml_parse_memory),
26616         (gst_xml_get_element), (gst_xml_make_element):
26617         * gst/indexers/gstfileindex.c: (gst_file_index_load),
26618         (_file_index_id_save_xml), (gst_file_index_commit):
26619         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
26620         (read_enum), (load_pad_template), (load_feature), (load_plugin),
26621         (load_paths):
26622         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
26623         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
26624         * tools/gst-complete.c: (main):
26625         * tools/gst-compprep.c: (main):
26626         * tools/gst-inspect.c: (print_element_properties_info):
26627         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
26628         * tools/gst-xmlinspect.c: (print_element_properties):
26629         GCC 4 fixen.
26630         
26631 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26632
26633         * gst/gstplugin.c: (gst_plugin_check_module),
26634         (gst_plugin_check_file), (gst_plugin_load_file):
26635             apply patch from #172526 to make register work on MacOSX
26636
26637 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26638
26639         * docs/gst/tmpl/gstconfig.sgml:
26640         * gst/gstconfig.h.in:
26641           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
26642         * testsuite/debug/printf_extension.c: (main):
26643           Do not use GST_PTR_FORMAT on pointers to types with
26644           sizeof < sizeof(gpointer).  Fixes test on 64-bit
26645         * testsuite/elements/property.h:
26646           use correct printf format
26647
26648 2005-05-02  Wim Taymans  <wim@fluendo.com>
26649
26650         * docs/design/draft-push-pull.txt:
26651         * docs/design/draft-query.txt:
26652         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
26653         (gst_basesrc_start):
26654         Added draft for new query API.
26655         Added draft for better selecting scheduling methods.
26656         Make basesrc ignore length if the subclass does not support
26657         it.
26658
26659 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26660
26661         * gst/Makefile.am:
26662           possible fixes for automake-1.5 - _LIBADD is reserved
26663
26664 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26665
26666         * docs/faq/Makefile.am:
26667         * docs/manual/Makefile.am:
26668         * docs/manuals.mak:
26669         * docs/pwg/Makefile.am:
26670         * gst/Makefile.am:
26671           possible fixes for automake-1.5
26672
26673 2005-04-28  Wim Taymans  <wim@fluendo.com>
26674
26675         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26676         (gst_basesink_pad_getcaps), (gst_basesink_init),
26677         (gst_basesink_do_sync):
26678         * gst/gstclock.c: (gst_clock_entry_new):
26679         * gst/gstevent.c: (gst_event_discont_get_value):
26680         * gst/gstpipeline.c: (pipeline_bus_handler),
26681         (gst_pipeline_change_state):
26682         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
26683         Better debugging of clocking info.
26684         Allow NULL values when getting discont values.
26685
26686 2005-04-27  Wim Taymans  <wim@fluendo.com>
26687
26688         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26689         * check/gst/gstpad.c: (gst_pad_suite):
26690         Increase timeout for checks.
26691
26692 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26693
26694         * check/Makefile.am:
26695           fix the broken rule for cleanup.  Apparently this rule is
26696           only needed on FC2, so maybe this warrants further autotool
26697           inspection.
26698
26699 2005-04-26  Wim Taymans  <wim@fluendo.com>
26700
26701         * gst/gsttrashstack.h:
26702         Ooohh. a nasty one! After having a failed pop() from the stack,
26703         it's possible that the stack is empty. In that case, don't
26704         follow the NULL pointer.
26705
26706 2005-04-25  Wim Taymans  <wim@fluendo.com>
26707
26708         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26709         (gst_pad_set_checkgetrange_function),
26710         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
26711         (gst_pad_check_pull_range), (gst_pad_pull_range),
26712         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26713         (gst_pad_pause_task), (gst_pad_stop_task):
26714         * gst/gstplugin.c: (gst_plugin_load):
26715         * gst/gstplugin.h:
26716         Remove gst_library_load as it does more harm than good with
26717         the new g_module flags.
26718         Revert bogus caps template check in pad linking, pad caps
26719         are important when linking not the template, which is more
26720         general than the current caps.
26721
26722 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26723
26724         * gst/autoplug/.cvsignore:
26725         * gst/autoplug/Makefile.am:
26726         * gst/autoplug/gstsearchfuncs.c:
26727         * gst/autoplug/gstsearchfuncs.h:
26728         * gst/autoplug/gstspider.c:
26729         * gst/autoplug/gstspider.h:
26730         * gst/autoplug/gstspideridentity.c:
26731         * gst/autoplug/gstspideridentity.h:
26732         * gst/autoplug/spidertest.c:
26733           Die, spider, die.
26734
26735 2005-04-25  Wim Taymans  <wim@fluendo.com>
26736
26737         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26738         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26739         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
26740         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
26741         * gst/gstpad.h:
26742         Added stubs for unimplemented functions. 
26743
26744 2005-04-24  David Schleef  <ds@schleef.org>
26745
26746         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
26747         please fix.
26748
26749 2005-04-24  David Schleef  <ds@schleef.org>
26750
26751         Convert everything from GstAtomicInt to g_atomic_int_*, and
26752         remove gstatomic.
26753         * gst/Makefile.am:
26754         * gst/gstatomic.c:
26755         * gst/gstatomic.h:
26756         * gst/gstatomic_impl.h:
26757         * gst/gstbuffer.c:
26758         * gst/gstcaps.c:
26759         * gst/gstcaps.h:
26760         * gst/gstclock.c:
26761         * gst/gstclock.h:
26762         * gst/gstdata.c:
26763         * gst/gstdata.h:
26764         * gst/gstdata_private.h:
26765         * gst/gstevent.c:
26766         * gst/gstinfo.c:
26767         * gst/gstinfo.h:
26768         * gst/gstmessage.c:
26769         * gst/gstobject.c:
26770         * gst/gstobject.h:
26771         * gst/gststructure.c:
26772         * gst/gststructure.h:
26773         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
26774         * gst/gstutils.h:
26775
26776 2005-04-24  David Schleef  <ds@schleef.org>
26777
26778         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
26779         make the regressions tests work.  Remove some code that is no
26780         longer true.
26781         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
26782         Disable warning for pads without templates.
26783
26784 2005-04-24  David Schleef  <ds@schleef.org>
26785
26786         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
26787         functions that handle filtered links.
26788         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
26789         removed functions.
26790         * gst/gstutils.c: Fix/remove utility functions that handle
26791         filtered caps.
26792         * gst/gstutils.h:
26793         * gst/gstvalue.c: Add serialization/deserialization of caps
26794         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
26795         requires fixing so that the filter caps notation creates
26796         a capsfilter element and sets the filter_caps property.  I
26797         think everyone probably wants to keep the shorthand notation.
26798         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
26799         * docs/gst/tmpl/gstpad.sgml:
26800
26801         * gst/elements/gstelements.c: Register capsfilter element.
26802         * gst/Makefile.am: fix spacing
26803         * docs/random/ds/0.9-suggested-changes: random
26804
26805 2005-04-23  David Schleef  <ds@schleef.org>
26806
26807         * gst/elements/Makefile.am:
26808         * gst/elements/gstcapsfilter.c: New element that acts like an
26809         identity, but filters caps.  Will eventually replace filtered
26810         caps in pad linking.
26811         * gst/gstutils.c: (gst_element_create_all_pads): New function
26812         to create all the ALWAYS pads that are registered with an
26813         element class.  This functionality should eventually be
26814         merged in with GstElement initialization.
26815         * gst/gstutils.h:
26816         * testsuite/trigger/README: part of trigger test code that should
26817         have been checked in a long time ago.
26818
26819 2005-04-23  David Schleef  <ds@schleef.org>
26820
26821         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
26822         needed with new versions of libtool (nobody will confirm this),
26823         and hard to carry around.
26824         * gst/autoplug/Makefile.am:
26825         * gst/base/Makefile.am:
26826         * gst/elements/Makefile.am:
26827         * gst/indexers/Makefile.am:
26828         * gst/schedulers/Makefile.am:
26829         * libs/gst/bytestream/Makefile.am:
26830         * libs/gst/control/Makefile.am:
26831         * libs/gst/dataprotocol/Makefile.am:
26832         * libs/gst/getbits/Makefile.am:
26833
26834 2005-04-21  Wim Taymans  <wim@fluendo.com>
26835
26836         * docs/design/draft-push-pull.txt:
26837         * docs/design/part-MT-refcounting.txt:
26838         * docs/design/part-TODO.txt:
26839         * docs/design/part-caps.txt:
26840         * docs/design/part-events.txt:
26841         * docs/design/part-gstbus.txt:
26842         * docs/design/part-gstpipeline.txt:
26843         * docs/design/part-messages.txt:
26844         * docs/design/part-push-pull.txt:
26845         * docs/design/part-query.txt:
26846         Some more docs.
26847
26848 2005-04-21  Wim Taymans  <wim@fluendo.com>
26849
26850         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
26851         (gst_message_new), (gst_message_new_error),
26852         (gst_message_new_warning), (gst_message_new_tag),
26853         (gst_message_new_state_changed), (gst_message_new_application),
26854         (gst_message_get_structure):
26855         * gst/gstmessage.h:
26856         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26857         (gst_structure_copy_conditional):
26858         Use parent refcount in GstMessage to ensure GstStructure
26859         consistency.
26860         Cleaned up headers a bit.
26861         
26862
26863 2005-04-20  Wim Taymans  <wim@fluendo.com>
26864
26865         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26866         (gst_basesink_pad_getcaps), (gst_basesink_init),
26867         (gst_basesink_chain_unlocked):
26868         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
26869         (gst_type_find_helper):
26870         * gst/elements/gsttypefindelement.c:
26871         (gst_type_find_element_have_type), (gst_type_find_element_init),
26872         (stop_typefinding), (gst_type_find_element_handle_event),
26873         (find_suggest), (gst_type_find_element_chain),
26874         (gst_type_find_element_checkgetrange),
26875         (gst_type_find_element_getrange), (do_typefind),
26876         (gst_type_find_element_activate):
26877         * gst/gstbuffer.c: (_gst_buffer_sub_free),
26878         (gst_buffer_default_free), (gst_buffer_default_copy),
26879         (gst_buffer_set_caps):
26880         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
26881         (gst_caps_replace):
26882         * gst/gstmessage.c: (gst_message_new),
26883         (gst_message_new_state_changed):
26884         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26885         (gst_pad_set_checkgetrange_function),
26886         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
26887         (gst_pad_set_caps), (gst_pad_check_pull_range),
26888         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
26889         * gst/gstpad.h:
26890         * gst/gsttypefind.c: (gst_type_find_register):
26891         Make gst_caps_replace() work like other _replace() functions.
26892         Use _caps_replace() where possible.
26893         Make sure _message_new() initialises its field.
26894         Add gst_static_pad_template_get_caps()
26895
26896
26897 2005-04-18  Andy Wingo  <wingo@pobox.com>
26898
26899         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
26900         on the peer, not the pad. I think that was a typo. Pass an extra
26901         arg to see if random access is possible. Activate the pads as
26902         PULL_RANGE if possible.
26903
26904         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
26905
26906         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
26907         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
26908         to PROP_....
26909
26910 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26911
26912         * docs/faq/using.xml:
26913           Add note on gstreamer-properties (#154996).
26914
26915 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26916
26917         * docs/random/bbb/optional-properties:
26918           Some analysis on optional properties.
26919
26920 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26921
26922         * docs/gst/tmpl/gstelementfactory.sgml:
26923         * gst/gstelement.h:
26924         * gst/gstelementfactory.c: (gst_element_factory_init),
26925         (gst_element_factory_cleanup), (gst_element_register),
26926         (__gst_element_factory_add_static_pad_template),
26927         (gst_element_factory_get_static_pad_templates),
26928         (gst_element_factory_can_src_caps),
26929         (gst_element_factory_can_sink_caps):
26930         * gst/registries/Makefile.am:
26931         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
26932         (gst_xml_registry_class_init), (gst_xml_registry_init),
26933         (gst_xml_registry_new), (gst_xml_registry_set_property),
26934         (gst_xml_registry_get_property), (get_time), (make_dir),
26935         (gst_xml_registry_get_perms_func),
26936         (plugin_times_older_than_recurse), (plugin_times_older_than),
26937         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
26938         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
26939         (add_to_char_array), (read_string), (read_uint), (read_enum),
26940         (load_pad_template), (load_feature), (load_plugin), (load_paths),
26941         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
26942         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
26943         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
26944         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
26945         (gst_xml_registry_rebuild):
26946         * gst/registries/gstlibxmlregistry.h:
26947         * tools/gst-compprep.c: (main):
26948         * tools/gst-inspect.c: (print_pad_templates_info):
26949         * tools/gst-xmlinspect.c: (print_element_info):
26950           Use libxml2 for registry parsing, use staticpadtemplates in
26951           elementfactories. Makes gst_init() +/- 10x faster.
26952
26953 2005-04-12  Wim Taymans  <wim@fluendo.com>
26954
26955         * gst/base/Makefile.am:
26956         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26957         (gst_basesink_pad_getcaps), (gst_basesink_init),
26958         (gst_basesink_event), (gst_basesink_change_state):
26959         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26960         (gst_basesrc_init), (gst_basesrc_query),
26961         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
26962         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
26963         (gst_basesrc_check_get_range), (gst_basesrc_loop),
26964         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
26965         (gst_basesrc_stop), (gst_basesrc_activate),
26966         (gst_basesrc_change_state):
26967         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26968         (helper_find_suggest), (gst_type_find_helper):
26969         * gst/base/gsttypefindhelper.h:
26970         * gst/elements/Makefile.am:
26971         * gst/elements/gstelements.c:
26972         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26973         (gst_fakesink_get_times), (gst_fakesink_event),
26974         (gst_fakesink_preroll), (gst_fakesink_render):
26975         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26976         (gst_fakesrc_init), (gst_fakesrc_event_handler),
26977         (gst_fakesrc_get_property), (gst_fakesrc_create),
26978         (gst_fakesrc_start), (gst_fakesrc_stop):
26979         * gst/elements/gstfakesrc.h:
26980         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
26981         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
26982         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
26983         (gst_filesrc_create_read), (gst_filesrc_create),
26984         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
26985         (gst_filesrc_start):
26986         * gst/elements/gsttypefindelement.c:
26987         (gst_type_find_element_have_type), (gst_type_find_element_init),
26988         (start_typefinding), (stop_typefinding), (push_buffer_store),
26989         (gst_type_find_element_handle_event),
26990         (gst_type_find_element_chain),
26991         (gst_type_find_element_checkgetrange),
26992         (gst_type_find_element_getrange), (do_typefind),
26993         (gst_type_find_element_activate),
26994         (gst_type_find_element_change_state):
26995         * gst/elements/gsttypefindelement.h:
26996         * gst/gstpipeline.c: (pipeline_bus_handler):
26997         Added typefind helper.
26998         Small preroll fix in the base sink.
26999         Disable typefind code in basesrc.
27000         Crude port of typefindelement.
27001         Fakesrc cleanups.
27002
27003
27004 2005-04-11  Wim Taymans  <wim@fluendo.com>
27005
27006         * check/gst/gstbus.c: (gstbus_suite):
27007         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
27008         * check/gstcheck.h:
27009           Fix up the timeout so that the test does not fail.
27010
27011 2005-04-06  Wim Taymans  <wim@fluendo.com>
27012
27013         * gst/base/README:
27014         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27015         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
27016         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27017         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27018         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27019         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27020         (gst_basesrc_stop), (gst_basesrc_activate),
27021         (gst_basesrc_change_state), (basesrc_find_peek),
27022         (basesrc_find_suggest), (gst_basesrc_type_find):
27023         * gst/base/gstbasesrc.h:
27024         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
27025         (gst_filesrc_class_init), (gst_filesrc_init),
27026         (gst_filesrc_finalize), (gst_filesrc_set_location),
27027         (gst_filesrc_set_property), (gst_filesrc_get_property),
27028         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27029         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27030         (gst_filesrc_create_read), (gst_filesrc_create),
27031         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
27032         * gst/elements/gstfilesrc.h:
27033         * gst/gstelement.c: (gst_element_get_state_func),
27034         (gst_element_lost_state), (gst_element_pads_activate):
27035         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27036         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27037         (gst_pad_pull_range):
27038         * gst/gstpad.h:
27039         More work on the generic source base class, implement seeking,
27040         query.
27041         Make filesrc extend the base source class.
27042         Added gst_pad_set_checkgetrange_function to GstPad.
27043
27044 2005-04-06  Andy Wingo  <wingo@pobox.com>
27045
27046         * pkgconfig/gstreamer-base.pc.in:
27047         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
27048
27049         * pkgconfig/Makefile.am:
27050         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
27051
27052 2005-04-04  Wim Taymans  <wim@fluendo.com>
27053
27054         * gst/base/Makefile.am:
27055         * gst/base/README:
27056         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27057         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27058         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27059         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
27060         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27061         (gst_basesrc_base_init), (gst_basesrc_class_init),
27062         (gst_basesrc_init), (gst_basesrc_get_formats),
27063         (gst_basesrc_get_query_types), (gst_basesrc_query),
27064         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
27065         (gst_basesrc_set_property), (gst_basesrc_get_property),
27066         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
27067         (gst_basesrc_loop), (gst_basesrc_activate),
27068         (gst_basesrc_change_state):
27069         * gst/base/gstbasesrc.h:
27070         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
27071         (gst_fakesrc_class_init), (gst_fakesrc_init),
27072         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
27073         (gst_fakesrc_get_property), (gst_fakesrc_create):
27074         * gst/elements/gstfakesrc.h:
27075         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
27076         (gst_filesrc_open_file), (gst_filesrc_loop),
27077         (gst_filesrc_activate), (filesrc_find_peek),
27078         (gst_filesrc_type_find):
27079         Made base source class, make fakesrc extend it.
27080         Add comments to basesink class.
27081         Some filesrc cleanup.
27082
27083 2005-03-31  David Schleef  <ds@schleef.org>
27084
27085         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
27086         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
27087         expected to link against libgstreamer.
27088         * gst/base/Makefile.am: link against libgstreamer
27089         * gst/elements/Makefile.am: same
27090
27091 2005-03-31  Andy Wingo  <wingo@pobox.com>
27092
27093         * tests/instantiate/Makefile.am:
27094         * tests/instantiate/caps.c: Add test to test speed of caps copy
27095         and free.
27096
27097         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
27098         GMemChunk to be fair.
27099
27100         * gst/gsttrashstack.h: Remove warning about using the fallback
27101         trash stack implementation, it's still faster than malloc.
27102
27103 2005-03-30  Andy Wingo  <wingo@pobox.com>
27104
27105         * tests/complexity.c: Add a copyright.
27106
27107 2005-03-31  Wim Taymans  <wim@fluendo.com>
27108
27109         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
27110         (gst_base_transform_class_init), (gst_base_transform_init),
27111         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
27112         (gst_base_transform_get_property),
27113         (gst_base_transform_sink_activate),
27114         (gst_base_transform_src_activate),
27115         (gst_base_transform_change_state):
27116         * gst/base/gstbasetransform.h:
27117         * gst/elements/gstidentity.c: (gst_identity_class_init),
27118         (gst_identity_event), (gst_identity_check_perfect),
27119         (gst_identity_transform), (gst_identity_start),
27120         (gst_identity_stop):
27121         Added start/stop methods to transform base class so subclasses 
27122         don't need to deal with state changes even.
27123
27124 2005-03-31  Wim Taymans  <wim@fluendo.com>
27125
27126         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
27127         (gst_event_new_discontinuous), (gst_event_discont_get_value):
27128         * gst/gstevent.h:
27129         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27130         (gst_pad_pull_range):
27131         Added rate to the discont event to prepare for variable speed
27132         and reverse playback.
27133
27134 2005-03-29  David Schleef  <ds@schleef.org>
27135
27136         * configure.ac:
27137         * testsuite/trigger/Makefile.am:
27138         * testsuite/trigger/trigger.c: A little example program to show
27139         how trigger-based elements can work.
27140
27141 2005-03-29  Wim Taymans  <wim@fluendo.com>
27142
27143         * gst/base/Makefile.am:
27144         * gst/base/README:
27145         * gst/base/gstbasesink.c: (gst_basesink_get_type),
27146         (gst_basesink_base_init), (gst_basesink_class_init),
27147         (gst_basesink_pad_getcaps), (gst_basesink_init),
27148         (gst_basesink_activate), (gst_basesink_change_state):
27149         * gst/base/gstbasesink.h:
27150         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
27151         (gst_base_transform_base_init), (gst_base_transform_finalize),
27152         (gst_base_transform_class_init), (gst_base_transform_init),
27153         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
27154         (gst_base_transform_event), (gst_base_transform_getrange),
27155         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
27156         (gst_base_transform_set_property),
27157         (gst_base_transform_get_property),
27158         (gst_base_transform_sink_activate),
27159         (gst_base_transform_src_activate),
27160         (gst_base_transform_change_state):
27161         * gst/base/gstbasetransform.h:
27162         * gst/elements/gstidentity.c: (gst_identity_finalize),
27163         (gst_identity_class_init), (gst_identity_init),
27164         (gst_identity_event), (gst_identity_check_perfect),
27165         (gst_identity_transform), (gst_identity_set_property),
27166         (gst_identity_get_property), (gst_identity_change_state):
27167         * gst/elements/gstidentity.h:
27168         * gst/gstelement.c: (gst_element_get_state_func),
27169         (gst_element_lost_state), (gst_element_pads_activate):
27170         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27171         (gst_pad_check_pull_range), (gst_pad_pull_range):
27172         * gst/gstpad.h:
27173         Simplify pad activation.
27174         Added function to check if pull_range can be performed.
27175         Error out when pulling inactive or flushing pads.
27176         Removed const from refcounted types as it does not make sense.
27177         Simplify pad templates in basesink
27178         Added base class for simple 1-to-1 transforms.
27179         Make identity subclass the base transform.
27180
27181 2005-03-29  Andy Wingo  <wingo@pobox.com>
27182
27183         * docs/libs/gstreamer-libs-overrides.txt: 
27184         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
27185         really don't understand what's going on, but like whatever. I want
27186         green buildbot!
27187
27188         * docs/gst/Makefile.am:
27189         * docs/libs/Makefile.am: Dist the overrides files.
27190
27191         * check/Makefile.am (clean-local): Remove .libs directories.
27192
27193         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
27194         elements to EXTRA_DIST, so po/ files are happy.
27195
27196         * po/POTFILES.in: Er, remove it here.
27197
27198         * po/POTFILES: Remove gstspider.c.
27199
27200         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
27201
27202         * docs/libs/gstreamer-libs-docs.sgml: 
27203         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
27204         bytestream.
27205
27206         * tests/complexity.c (main): Set the length of the preroll queue
27207         on the sinks to prevent a lockup.
27208
27209         * libs/gst/dataprotocol/Makefile.am: 
27210         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
27211         the same as the one in check/gst-libs/gdp.c.
27212
27213         * po/, docs/gst/: Commit automatic changes to docs and po files.
27214
27215         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
27216         the versioned libgstbase.
27217
27218         * check/Makefile.am: Depend on an unversioned gst-register, seems
27219         to make autoconf happier.
27220
27221         * gst/base/Makefile.am: Make libgstbase a versioned lib.
27222
27223 2005-03-28  Wim Taymans  <wim@fluendo.com>
27224
27225         * configure.ac:
27226         * docs/design/part-gstelement.txt:
27227         * docs/design/part-negotiation.txt:
27228         * docs/design/part-preroll.txt:
27229         * docs/design/part-scheduling.txt:
27230         * docs/design/part-states.txt:
27231         * gst/Makefile.am:
27232         * gst/base/Makefile.am:
27233         * gst/base/README:
27234         * gst/base/gstbasesink.c: (gst_basesink_get_template),
27235         (gst_basesink_base_init), (gst_basesink_class_init),
27236         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27237         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27238         (gst_basesink_set_pad_functions),
27239         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
27240         (gst_basesink_set_property), (gst_basesink_get_property),
27241         (gst_base_sink_get_template), (gst_base_sink_get_caps),
27242         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
27243         (gst_basesink_preroll_queue_push),
27244         (gst_basesink_preroll_queue_empty),
27245         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27246         (gst_basesink_event), (gst_basesink_get_times),
27247         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27248         (gst_basesink_chain_unlocked), (gst_basesink_chain),
27249         (gst_basesink_loop), (gst_basesink_activate),
27250         (gst_basesink_change_state):
27251         * gst/base/gstbasesink.h:
27252         * gst/elements/Makefile.am:
27253         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27254         (gst_fakesink_class_init), (gst_fakesink_init),
27255         (gst_fakesink_set_property), (gst_fakesink_get_property),
27256         (gst_fakesink_get_times), (gst_fakesink_event),
27257         (gst_fakesink_preroll), (gst_fakesink_render),
27258         (gst_fakesink_change_state):
27259         * gst/elements/gstfakesink.h:
27260         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27261         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27262         * gst/gstelement.c: (gst_element_add_pad),
27263         (gst_element_get_state_func), (gst_element_abort_state),
27264         (gst_element_commit_state), (gst_element_lost_state),
27265         (gst_element_set_state), (gst_element_pads_activate):
27266         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27267         * gst/gstpipeline.c: (gst_pipeline_send_event),
27268         (gst_pipeline_change_state):
27269         Added state change code.
27270         Added/updated docs.
27271         Added sink base class, make fakesink extend the base class.
27272         Small cleanups in GstPipeline.
27273
27274 2005-03-26  David Schleef  <ds@schleef.org>
27275
27276         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
27277         is broken and should be implemented in a different library.
27278         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27279         * gst/gst.h: remove gstcpu.h
27280         * gst/gstcpu.c: remove
27281         * gst/gstcpu.h: remove
27282         * gst/Makefile.am.future: Remove this file.  It's ancient.
27283
27284 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27285
27286         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27287         (gst_bin_send_event):
27288           Add default event/set_manager handlers. The set_manager handler
27289           takes care that the manager is distributed over kids that were
27290           already in the bin before the manager was set. The event handler
27291           is a utility virtual function that sends the event over all sinks,
27292           so that gst_element_send_event (bin, event); has the expected
27293           behaviour.
27294         * gst/gstpad.c: (gst_pad_event_default):
27295           Re-install default event handling for discontinuities, so that
27296           seeking works without requiring hacks in applications or extra
27297           code in sinks.
27298         * gst/gstpipeline.c: (gst_pipeline_class_init),
27299         (gst_pipeline_send_event):
27300           Half hack, half utility: set a pipeline to PAUSED for seek events,
27301           since that is the only way we can guarantee a/v sync. Means that
27302           you can do gst_element_seek (pipeline, method, pos); on a pipeline
27303           and it "just works".
27304
27305 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27306
27307         * gst/gstpipeline.c: (gst_pipeline_use_clock):
27308           Lock/unlock mismatch.
27309
27310 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
27311
27312         * docs/faq/gst-uninstalled:
27313           add gst-plugins-base
27314         * docs/gst/Makefile.am:
27315           don't error out until docs are fixed
27316         * docs/gst/gstreamer.types:
27317           remove thread
27318
27319 2005-03-22  Wim Taymans  <wim@fluendo.com>
27320
27321         * check/Makefile.am:
27322         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27323         * gst/gststructure.c: (gst_structure_set_valist),
27324         (gst_structure_copy_conditional):
27325         Activated more tests.
27326         Added message test.
27327         Added G_TYPE_POINTER to GstStructure.
27328         
27329
27330 2005-03-22  Wim Taymans  <wim@fluendo.com>
27331
27332         * docs/design/part-TODO.txt:
27333         * docs/design/part-events.txt:
27334         * docs/design/part-gstbin.txt:
27335         * docs/design/part-gstbus.txt:
27336         * docs/design/part-gstpipeline.txt:
27337         * docs/design/part-messages.txt:
27338         * gst/gstbus.c:
27339         * gst/gstmessage.c:
27340         Docs updates
27341
27342 2005-03-21  Wim Taymans  <wim@fluendo.com>
27343
27344         * gst/gstbus.c: (gst_bus_post):
27345         Fix copy-and-paste error.
27346
27347 2005-03-21  Wim Taymans  <wim@fluendo.com>
27348
27349         * check/Makefile.am:
27350         * gst/Makefile.am:
27351         * gst/elements/Makefile.am:
27352         * gst/elements/gstelements.c:
27353         * gst/elements/gstfakesink.c: (gst_fakesink_init),
27354         (gst_fakesink_event), (gst_fakesink_chain):
27355         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27356         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27357         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27358         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27359         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27360         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27361         (gst_fakesrc_loop), (gst_fakesrc_activate),
27362         (gst_fakesrc_change_state):
27363         * gst/elements/gstfakesrc.h:
27364         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27365         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27366         (gst_filesrc_open_file), (gst_filesrc_loop),
27367         (gst_filesrc_activate), (gst_filesrc_change_state),
27368         (filesrc_find_peek), (filesrc_find_suggest),
27369         (gst_filesrc_type_find):
27370         * gst/elements/gstidentity.c: (gst_identity_finalize),
27371         (gst_identity_class_init), (gst_identity_init),
27372         (gst_identity_proxy_getcaps), (identity_queue_push),
27373         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27374         (gst_identity_getrange), (gst_identity_chain),
27375         (gst_identity_sink_loop), (gst_identity_src_loop),
27376         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27377         (gst_identity_set_property), (gst_identity_get_property),
27378         (gst_identity_change_state):
27379         * gst/elements/gstidentity.h:
27380         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27381         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27382         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27383         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27384         (gst_tee_sink_activate):
27385         * gst/elements/gsttee.h:
27386         * gst/gst.c: (gst_register_core_elements), (init_post):
27387         * gst/gst.h:
27388         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27389         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27390         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27391         (gst_bin_change_state):
27392         * gst/gstbin.h:
27393         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27394         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27395         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27396         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27397         (gst_bus_set_sync_handler), (gst_bus_create_watch),
27398         (bus_watch_callback), (bus_watch_destroy),
27399         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27400         (poll_timeout), (gst_bus_poll):
27401         * gst/gstbus.h:
27402         * gst/gstcaps.h:
27403         * gst/gstdata.h:
27404         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27405         (gst_element_post_message), (gst_element_message_full),
27406         (gst_element_get_state_func), (gst_element_get_state),
27407         (gst_element_abort_state), (gst_element_commit_state),
27408         (gst_element_lost_state), (gst_element_set_state),
27409         (gst_element_pads_activate), (gst_element_change_state),
27410         (gst_element_dispose), (gst_element_set_manager_func),
27411         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27412         (gst_element_set_manager), (gst_element_get_manager),
27413         (gst_element_set_bus), (gst_element_get_bus),
27414         (gst_element_set_scheduler), (gst_element_get_scheduler):
27415         * gst/gstelement.h:
27416         * gst/gstevent.c: (gst_event_new_segment_seek),
27417         (gst_event_new_flush):
27418         * gst/gstevent.h:
27419         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27420         (_gst_message_free), (gst_message_get_type), (gst_message_new),
27421         (gst_message_new_eos), (gst_message_new_error),
27422         (gst_message_new_warning), (gst_message_new_tag),
27423         (gst_message_new_state_changed), (gst_message_new_application),
27424         (gst_message_get_structure), (gst_message_parse_tag),
27425         (gst_message_parse_state_changed), (gst_message_parse_error),
27426         (gst_message_parse_warning):
27427         * gst/gstmessage.h:
27428         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27429         (gst_real_pad_set_property), (gst_pad_set_active),
27430         (gst_pad_is_active), (gst_pad_set_blocked_async),
27431         (gst_pad_set_blocked), (gst_pad_is_blocked),
27432         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27433         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27434         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27435         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27436         (gst_pad_link_filtered), (gst_pad_relink_filtered),
27437         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27438         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27439         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27440         (gst_pad_set_caps), (gst_pad_configure_sink),
27441         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27442         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27443         (gst_real_pad_dispose), (gst_real_pad_finalize),
27444         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27445         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27446         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27447         * gst/gstpad.h:
27448         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27449         (pipeline_bus_handler), (gst_pipeline_change_state),
27450         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27451         * gst/gstpipeline.h:
27452         * gst/gstprobe.h:
27453         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27454         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27455         (gst_queue_link_src), (gst_queue_bufferalloc),
27456         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27457         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27458         (gst_queue_loop), (gst_queue_handle_src_event),
27459         (gst_queue_handle_src_query), (gst_queue_src_activate),
27460         (gst_queue_change_state):
27461         * gst/gstqueue.h:
27462         * gst/gstscheduler.c: (gst_scheduler_init),
27463         (gst_scheduler_dispose), (gst_scheduler_create_task),
27464         (gst_scheduler_factory_create):
27465         * gst/gstscheduler.h:
27466         * gst/gststructure.c: (gst_structure_get_type),
27467         (gst_structure_copy_conditional):
27468         * gst/gststructure.h:
27469         * gst/gsttaginterface.h:
27470         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27471         (gst_task_init), (gst_task_dispose), (gst_task_create),
27472         (gst_task_get_state), (gst_task_start), (gst_task_stop),
27473         (gst_task_pause):
27474         * gst/gsttask.h:
27475         * gst/gstthread.c:
27476         * gst/gstthread.h:
27477         * gst/gsttypes.h:
27478         * gst/schedulers/Makefile.am:
27479         * gst/schedulers/cothreads_compat.h:
27480         * gst/schedulers/entryscheduler.c:
27481         * gst/schedulers/faircothreads.c:
27482         * gst/schedulers/faircothreads.h:
27483         * gst/schedulers/fairscheduler.c:
27484         * gst/schedulers/gstbasicscheduler.c:
27485         * gst/schedulers/gstoptimalscheduler.c:
27486         * gst/schedulers/gthread-cothreads.h:
27487         * gst/schedulers/threadscheduler.c:
27488         (gst_thread_scheduler_task_get_type),
27489         (gst_thread_scheduler_task_class_init),
27490         (gst_thread_scheduler_task_init),
27491         (gst_thread_scheduler_task_start),
27492         (gst_thread_scheduler_task_stop),
27493         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27494         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27495         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27496         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27497         (plugin_init):
27498         * libs/gst/Makefile.am:
27499         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27500         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27501         (gst_file_pad_parent_set):
27502         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27503         (gst_dp_event_from_packet):
27504         * tests/complexity.c: (main):
27505         * tests/mass_elements.c: (main):
27506         * testsuite/states/locked.c: (message_received), (main):
27507         * testsuite/states/parent.c: (main):
27508         * tools/gst-inspect.c: (print_element_flag_info),
27509         (print_implementation_info), (print_pad_info):
27510         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27511         (main):
27512         * tools/gst-md5sum.c: (event_loop), (main):
27513         * tools/gst-typefind.c: (main):
27514         * tools/gst-xmlinspect.c: (print_element_info):
27515         Next big merge.
27516         Added GstBus for mainloop integration.
27517         Added GstMessage for sending notifications on the bus.
27518         Added GstTask as an abstraction for pipeline entry points.
27519         Removed GstThread.
27520         Removed Schedulers.
27521         Simplified GstQueue for multithreaded core.
27522         Made _link threadsafe, removed old capsnego.
27523         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27524         Added pad blocking functions.
27525         Reworked scheduling functions in GstPad to prepare for
27526         scheduling updates soon.
27527         Moved events out of data stream.
27528         Simplified GstEvent types.
27529         Added return values to push/pull.
27530         Removed clocking from GstElement.
27531         Added prototypes for state change function for next merge.
27532         Removed iterate from bins and state change management.
27533         Fixed some elements, disabled others for now.
27534         Fixed -inspect and -launch.
27535         Added check for GstBus.
27536
27537 2005-03-10  Wim Taymans  <wim@fluendo.com>
27538
27539         * docs/design/part-MT-refcounting.txt:
27540         * docs/design/part-clocks.txt:
27541         * docs/design/part-gstelement.txt:
27542         * docs/design/part-gstobject.txt:
27543         * docs/design/part-standards.txt:
27544         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27545         (gst_bin_remove_func), (gst_bin_remove):
27546         * gst/gstbin.h:
27547         * gst/gstbuffer.c:
27548         * gst/gstcaps.h:
27549         * testsuite/clock/clock1.c: (main):
27550         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
27551         (main):
27552         * testsuite/dlopen/loadgst.c: (do_test):
27553         * testsuite/refcounting/bin.c: (add_remove_test1),
27554         (add_remove_test2), (main):
27555         * testsuite/refcounting/element.c: (main):
27556         * testsuite/refcounting/element_pad.c: (main):
27557         * testsuite/refcounting/pad.c: (main):
27558         * tools/gst-launch.c: (sigint_handler_sighandler):
27559         * tools/gst-typefind.c: (main):
27560         Doc updates.
27561         Added doc about clock.
27562         removed gst_bin_iterate_recurse_up(), marked methods
27563         for removal.
27564         Fix more testsuites.
27565
27566 2005-03-09  Wim Taymans  <wim@fluendo.com>
27567
27568         * gst/gstpad.c: (gst_pad_get_direction),
27569         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
27570         (gst_pad_collect_valist):
27571         * testsuite/bins/interface.c: (main):
27572         * testsuite/caps/audioscale.c: (test_caps):
27573         * testsuite/caps/caps.c: (test1), (test2), (test3):
27574         * testsuite/caps/deserialize.c: (main):
27575         * testsuite/caps/enumcaps.c: (main):
27576         * testsuite/caps/filtercaps.c: (main):
27577         * testsuite/caps/intersect2.c: (main):
27578         * testsuite/caps/random.c: (main):
27579         * testsuite/caps/renegotiate.c: (my_fixate), (main):
27580         * testsuite/caps/sets.c: (check_caps):
27581         * testsuite/caps/simplify.c: (check_caps), (main):
27582         * testsuite/caps/subtract.c: (check_caps):
27583         Fix _pad_get_direction wrt ghostpads.
27584         Fix caps testsuite.
27585
27586 2005-03-09  Wim Taymans  <wim@fluendo.com>
27587
27588         * check/Makefile.am:
27589         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
27590         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
27591         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
27592         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
27593         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
27594         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
27595         (gst_bin_remove), (gst_bin_iterate_recurse_up),
27596         (bin_element_is_sink), (gst_bin_iterate_sinks),
27597         (gst_bin_iterate_all_by_interface):
27598         * gst/gstbin.h:
27599         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
27600         (gst_element_change_state), (gst_element_dispose),
27601         (gst_element_finalize), (gst_element_set_loop_function):
27602         * gst/gstelement.h:
27603         * gst/gstiterator.c: (find_custom_fold_func):
27604         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27605         (gst_pad_collectv), (gst_pad_collect_valist),
27606         (gst_pad_template_new):
27607         * gst/gstpipeline.c: (gst_pipeline_class_init),
27608         (gst_pipeline_dispose), (gst_pipeline_set_property),
27609         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
27610         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
27611         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
27612         * gst/gstutils.h:
27613         * gst/schedulers/entryscheduler.c:
27614         * gst/schedulers/gstbasicscheduler.c:
27615         (gst_basic_scheduler_cothreaded_chain),
27616         (gst_basic_scheduler_chain_add_element):
27617         * testsuite/bins/interface.c: (main):
27618         Added GstBin test.
27619         Added GstSystemClock test.
27620         Implemented clock distribution code in GstBin.
27621         Implemented iterate sinks method for future use.
27622         Rearranged gstelement.h
27623         Fix GstIterator comparison bug.
27624         Moved some code to GstPipeline, mostly clocking related.
27625
27626 2005-03-09  Wim Taymans  <wim@fluendo.com>
27627
27628         * configure.ac:
27629         * gst/gst_private.h:
27630         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27631         (gst_bin_remove_func), (gst_bin_remove),
27632         (gst_bin_get_by_name_recurse_up):
27633         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
27634         (gst_clock_id_compare_func), (gst_clock_id_wait),
27635         (gst_clock_id_wait_async), (gst_clock_init),
27636         (gst_clock_adjust_unlocked), (gst_clock_get_time):
27637         * gst/gstelement.h:
27638         * gst/gstinfo.c: (_gst_debug_init):
27639         * gst/gstobject.h:
27640         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27641         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
27642         * gst/gstpad.h:
27643         Bump version number, we're now 0.9.0
27644         Add future debugging category.
27645         Fix NULL _unref() in _get_by_name_recurse_up
27646         Rearrange gstpad.h.
27647         Update some docs.
27648
27649 2005-03-08  Wim Taymans  <wim@fluendo.com>
27650
27651         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
27652         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
27653         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27654         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
27655         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
27656         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
27657         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
27658         * gst/elements/gstidentity.c: (gst_identity_class_init):
27659         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
27660         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
27661         * gst/elements/gstshaper.c: (gst_shaper_class_init):
27662         * gst/elements/gststatistics.c: (gst_statistics_class_init):
27663         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
27664         (gst_tee_link):
27665         * gst/gstelement.c: (gst_element_class_init),
27666         (gst_element_base_class_init), (gst_element_init),
27667         (gst_element_get_random_pad), (gst_element_wait_state_change),
27668         (gst_element_change_state), (gst_element_dispose),
27669         (gst_element_finalize), (gst_element_set_loop_function):
27670         * gst/gstelement.h:
27671         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
27672         * gst/gstthread.c: (gst_thread_class_init),
27673         (gst_thread_release_children_locks), (gst_thread_change_state):
27674         * gst/schedulers/gstbasicscheduler.c:
27675         (gst_basic_scheduler_loopfunc_wrapper),
27676         (gst_basic_scheduler_chain_wrapper),
27677         (gst_basic_scheduler_src_wrapper),
27678         (gst_basic_scheduler_remove_element):
27679         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
27680         Remove threadsafe properties. Fix elements because GObject
27681         complains when installing a property before declaring a
27682         set/get_property handler.
27683         Rearrange gstelement.h file, use STATE macros for state locks.
27684         Free mutexes in the finalize method instead of dispose.
27685
27686 2005-03-08  Wim Taymans  <wim@fluendo.com>
27687
27688         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27689         * gst/gstthread.c: (gst_thread_release_children_locks):
27690         Added parentage check.
27691         Fix build og GstThread again.
27692
27693 2005-03-08  Wim Taymans  <wim@fluendo.com>
27694
27695         * docs/design/part-MT-refcounting.txt:
27696         * docs/design/part-conventions.txt:
27697         * docs/design/part-gstobject.txt:
27698         * docs/design/part-relations.txt:
27699         * docs/design/part-standards.txt:
27700         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27701         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
27702         (gst_bin_get_by_name), (gst_bin_get_by_interface),
27703         (gst_bin_iterate_all_by_interface):
27704         * gst/gstbuffer.h:
27705         * gst/gstclock.h:
27706         * gst/gstelement.c: (gst_element_class_init),
27707         (gst_element_change_state), (gst_element_set_loop_function):
27708         * gst/gstelement.h:
27709         * gst/gstiterator.c:
27710         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
27711         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
27712         (gst_object_dispatch_properties_changed), (gst_object_set_name),
27713         (gst_object_set_parent), (gst_object_unparent),
27714         (gst_object_check_uniqueness):
27715         * gst/gstobject.h:
27716         Docs updates, clean up some headers.
27717
27718 2005-03-07  Wim Taymans  <wim@fluendo.com>
27719
27720         * check/.cvsignore:
27721         * check/Makefile.am:
27722         * check/gst-libs/.cvsignore:
27723         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
27724         * check/gst/.cvsignore:
27725         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
27726         (START_TEST), (gstbus_suite), (main):
27727         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
27728         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
27729         (gst_data_suite), (main):
27730         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
27731         (add_fold_func), (gstiterator_suite), (main):
27732         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
27733         (thread_name_object), (thread_name_object_default),
27734         (gst_object_name_compare), (gst_object_suite), (main):
27735         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
27736         (gst_pad_suite), (main):
27737         * check/gstcheck.c: (gst_check_log_message_func),
27738         (gst_check_log_critical_func), (gst_check_init):
27739         * check/gstcheck.h:
27740         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
27741         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
27742         Added checks.
27743
27744 2005-03-07  Wim Taymans  <wim@fluendo.com>
27745
27746         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
27747         (gst_list_iterator_next), (gst_list_iterator_resync),
27748         (gst_list_iterator_free), (gst_iterator_new_list),
27749         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
27750         (gst_iterator_free), (gst_iterator_push), (filter_next),
27751         (filter_resync), (filter_uninit), (filter_free),
27752         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
27753         (gst_iterator_foreach), (find_custom_fold_func),
27754         (gst_iterator_find_custom):
27755         * gst/gstiterator.h:
27756         Added missing files.
27757
27758 2005-03-07  Wim Taymans  <wim@fluendo.com>
27759
27760         * Makefile.am:
27761         * configure.ac:
27762         * docs/design/part-MT-refcounting.txt:
27763         * docs/design/part-conventions.txt:
27764         * docs/design/part-gstobject.txt:
27765         * docs/design/part-relations.txt:
27766         * examples/mixer/mixer.c: (main):
27767         * examples/thread/thread.c: (eos), (main):
27768         * gst/Makefile.am:
27769         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
27770         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
27771         (gst_spider_plug_from_srcpad):
27772         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
27773         (gst_spider_identity_change_state),
27774         (gst_spider_identity_sink_loop_type_finding):
27775         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
27776         * gst/elements/gstidentity.c: (gst_identity_init):
27777         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
27778         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
27779         * gst/elements/gsttypefindelement.c: (free_entry):
27780         * gst/gst.c:
27781         * gst/gst.h:
27782         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
27783         (gst_bin_set_clock_func), (gst_bin_auto_clock),
27784         (gst_bin_set_index), (gst_bin_set_element_sched),
27785         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
27786         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
27787         (gst_bin_iterate_elements), (iterate_child_recurse),
27788         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
27789         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
27790         (compare_interface), (gst_bin_get_by_interface),
27791         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
27792         * gst/gstbin.h:
27793         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
27794         (gst_buffer_default_free), (gst_buffer_default_copy),
27795         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
27796         (gst_buffer_create_sub):
27797         * gst/gstbuffer.h:
27798         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
27799         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
27800         (gst_caps_unref), (gst_static_caps_get),
27801         (gst_caps_remove_and_get_structure), (gst_caps_append),
27802         (gst_caps_append_structure), (gst_caps_remove_structure),
27803         (gst_caps_copy_nth), (gst_caps_set_simple),
27804         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
27805         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
27806         (gst_caps_structure_intersect_field), (gst_caps_intersect),
27807         (gst_caps_structure_subtract_field), (gst_caps_subtract),
27808         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
27809         (gst_caps_structure_figure_out_union),
27810         (gst_caps_switch_structures), (gst_caps_do_simplify),
27811         (gst_caps_replace), (gst_caps_from_string),
27812         (gst_caps_copy_conditional):
27813         * gst/gstcaps.h:
27814         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
27815         (_gst_clock_id_free), (gst_clock_id_unref),
27816         (gst_clock_id_compare_func), (gst_clock_id_wait),
27817         (gst_clock_id_wait_async), (gst_clock_class_init),
27818         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
27819         (gst_clock_get_time), (gst_clock_set_time_adjust),
27820         (gst_clock_set_property), (gst_clock_get_property):
27821         * gst/gstclock.h:
27822         * gst/gstcompat.h:
27823         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
27824         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
27825         * gst/gstdata.h:
27826         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27827         (gst_element_requires_clock), (gst_element_provides_clock),
27828         (gst_element_set_clock), (gst_element_clock_wait),
27829         (gst_element_wait), (gst_element_set_time_delay),
27830         (gst_element_is_indexable), (gst_element_add_pad),
27831         (gst_element_add_ghost_pad), (gst_element_remove_pad),
27832         (pad_compare_name), (gst_element_get_static_pad),
27833         (gst_element_request_pad), (gst_element_get_request_pad),
27834         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
27835         (gst_element_class_get_pad_template_list),
27836         (gst_element_class_get_pad_template), (gst_element_error_func),
27837         (gst_element_get_random_pad), (gst_element_get_event_masks),
27838         (gst_element_send_event), (gst_element_seek),
27839         (gst_element_get_query_types), (gst_element_query),
27840         (gst_element_get_formats), (gst_element_convert),
27841         (gst_element_is_locked_state), (gst_element_set_locked_state),
27842         (gst_element_sync_state_with_parent), (gst_element_change_state),
27843         (gst_element_finalize), (gst_element_yield),
27844         (gst_element_interrupt), (gst_element_set_scheduler),
27845         (gst_element_get_scheduler), (gst_element_set_loop_function):
27846         * gst/gstelement.h:
27847         * gst/gstevent.h:
27848         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
27849         (gst_format_get_by_nick), (gst_format_get_details),
27850         (gst_format_iterate_definitions):
27851         * gst/gstformat.h:
27852         * gst/gstindex.c: (gst_index_gtype_resolver):
27853         * gst/gstinfo.c:
27854         * gst/gstinfo.h:
27855         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
27856         (gst_mem_chunk_free):
27857         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
27858         (gst_object_ref), (gst_object_unref), (gst_object_sink),
27859         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
27860         (gst_object_dispatch_properties_changed),
27861         (gst_object_set_name_default), (gst_object_set_name),
27862         (gst_object_get_name), (gst_object_set_name_prefix),
27863         (gst_object_get_name_prefix), (gst_object_set_parent),
27864         (gst_object_get_parent), (gst_object_unparent),
27865         (gst_object_check_uniqueness), (gst_object_save_thyself),
27866         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
27867         (gst_object_set_property), (gst_object_get_property),
27868         (gst_object_get_path_string):
27869         * gst/gstobject.h:
27870         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27871         (gst_real_pad_init), (gst_real_pad_get_property),
27872         (gst_pad_custom_new), (gst_pad_get_direction),
27873         (gst_pad_set_active), (gst_pad_is_active),
27874         (gst_pad_set_event_function), (gst_pad_is_linked),
27875         (gst_pad_link_free), (gst_pad_link_intersect),
27876         (gst_pad_link_fixate), (gst_pad_set_caps),
27877         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
27878         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
27879         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
27880         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
27881         (gst_pad_get_caps), (gst_pad_peer_get_caps),
27882         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
27883         (gst_pad_realize), (gst_pad_get_allowed_caps),
27884         (gst_real_pad_dispose), (gst_real_pad_finalize),
27885         (gst_pad_collectv), (gst_pad_collect_valist),
27886         (gst_pad_template_dispose), (gst_pad_template_new),
27887         (gst_pad_get_internal_links):
27888         * gst/gstpad.h:
27889         * gst/gstpipeline.c: (gst_pipeline_dispose),
27890         (gst_pipeline_change_state):
27891         * gst/gstpipeline.h:
27892         * gst/gstplugin.c:
27893         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
27894         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
27895         * gst/gstpluginfeature.h:
27896         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
27897         * gst/gstquery.c: (_gst_query_type_initialize),
27898         (gst_query_type_register), (gst_query_type_get_by_nick),
27899         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
27900         * gst/gstquery.h:
27901         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
27902         * gst/gstscheduler.c: (gst_scheduler_add_element),
27903         (gst_scheduler_factory_create):
27904         * gst/gststructure.c: (gst_structure_set_parent_refcount),
27905         (gst_structure_free), (gst_structure_set_name),
27906         (gst_structure_id_set_value), (gst_structure_set_value),
27907         (gst_structure_set_valist), (gst_structure_remove_field),
27908         (gst_structure_remove_fields),
27909         (gst_structure_remove_fields_valist),
27910         (gst_structure_remove_all_fields), (gst_structure_foreach),
27911         (gst_structure_map_in_place),
27912         (gst_caps_structure_fixate_field_nearest_int),
27913         (gst_caps_structure_fixate_field_nearest_double):
27914         * gst/gststructure.h:
27915         * gst/gstsystemclock.c: (gst_system_clock_class_init),
27916         (gst_system_clock_init), (gst_system_clock_dispose),
27917         (gst_system_clock_async_thread),
27918         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
27919         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
27920         * gst/gstsystemclock.h:
27921         * gst/gsttag.c: (gst_tag_list_add_value_internal),
27922         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
27923         * gst/gsttaginterface.c:
27924         * gst/gstthread.c: (gst_thread_dispose),
27925         (gst_thread_release_children_locks), (gst_thread_change_state),
27926         (gst_thread_main_loop):
27927         * gst/gsttrashstack.h:
27928         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
27929         * gst/gsttypes.h:
27930         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27931         (gst_element_request_pad), (gst_element_get_pad_from_template),
27932         (gst_element_request_compatible_pad),
27933         (gst_element_get_compatible_pad_filtered),
27934         (gst_element_get_compatible_pad), (gst_element_state_get_name),
27935         (gst_element_link_pads_filtered), (gst_element_link_filtered),
27936         (gst_element_link_many), (gst_element_link),
27937         (gst_element_link_pads), (gst_element_unlink_pads),
27938         (gst_element_unlink_many), (gst_element_unlink),
27939         (gst_pad_can_link_filtered), (gst_pad_can_link),
27940         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
27941         (gst_object_default_error), (gst_bin_add_many),
27942         (gst_bin_remove_many), (gst_element_populate_std_props),
27943         (gst_element_class_install_std_props), (gst_buffer_merge),
27944         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
27945         (link_fold_func), (gst_pad_proxy_setcaps):
27946         * gst/gstutils.h:
27947         * gst/gstvalue.c: (gst_value_deserialize_string):
27948         * gst/parse/grammar.y:
27949         * gst/schedulers/gstbasicscheduler.c:
27950         (gst_basic_scheduler_cothreaded_chain),
27951         (gst_basic_scheduler_chain_recursive_add),
27952         (gst_basic_scheduler_pad_link):
27953         * gst/schedulers/gstoptimalscheduler.c:
27954         (get_group_schedule_function),
27955         (gst_opt_scheduler_state_transition),
27956         (gst_opt_scheduler_add_element), (element_get_reachables_func):
27957         * libs/gst/bytestream/bytestream.c:
27958         * libs/gst/dataprotocol/dataprotocol.c:
27959         (gst_dp_header_from_buffer):
27960         * po/nb.po:
27961         * po/ru.po:
27962         * tests/threadstate/threadstate2.c: (eos):
27963         * tools/gst-compprep.c: (main):
27964         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
27965         (print_pad_info), (print_children_info):
27966         * tools/gst-launch.c: (idle_func), (main):
27967         * tools/gst-md5sum.c: (idle_func), (main):
27968         * tools/gst-xmlinspect.c: (print_element_info):
27969         First THREADED backport attempt, focusing on adding locks and
27970         making sure the API is threadsafe. Needs more work. More docs
27971         follow this week.
27972
27973 2005-02-24  Andy Wingo  <wingo@pobox.com>
27974
27975         * tests/bench-complexity.scm:
27976         * tests/complexity.gnuplot: New files, good for running complexity
27977         benchmarks.
27978
27979         * tests/Makefile.am:
27980         * tests/complexity.c: New test, sets up N elements, at each level
27981         teeing into M streams per element. Eeeenteresting.
27982
27983         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
27984         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
27985         running bench-mass_elements.scm.
27986
27987         * tests/bench-mass_elements.scm: New script, runs mass_elements
27988         for various numbers of identities, outputting the results to a
27989         file. Requires guile 1.6. Just for testing.
27990
27991 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27992
27993         * gst/schedulers/fairscheduler.c:
27994           compile with debug disabled
27995
27996 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27997
27998         * configure.ac:
27999           hunting season on 0.9 is now OPEN