check/gst/gstvalue.c: Add a deserialisation test for fractions
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4           Add a deserialisation test for fractions
5         * examples/metadata/read-metadata.c: (message_loop),
6         (make_pipeline), (main):
7           Fix up metadata reading sample.
8         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9           Debug format fix
10         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11           Don't try and fixate empty caps
12         * gst/gst_private.h:
13           Wrap in G_BEGIN_DECLS/G_END_DECLS
14         * gst/gstvalue.c: (gst_value_collect_fraction),
15         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
16         (gst_value_transform_string_fraction),
17         (gst_value_compare_fraction):
18           Add some extra guards to ensure that we don't end up 
19           with an invalid denominator of 0 in a gstfraction and
20           that fractions always get reduced.
21
22 2005-11-20  Wim Taymans  <wim@fluendo.com>
23
24         * docs/gst/gstreamer-sections.txt:
25         * gst/gstbuffer.h:
26         * gst/gstelement.c:
27         * gst/gstformat.c:
28         * gst/gstformat.h:
29         * gst/gstindex.h:
30         * gst/gstquery.c:
31         * gst/gstquery.h:
32         * gst/gstvalue.c:
33         Doc fixes.
34
35 2005-11-20  Wim Taymans  <wim@fluendo.com>
36
37         * docs/design/part-TODO.txt:
38         * gst/gstcaps.h:
39         Make a proper enum of the flag.
40
41 2005-11-19  Wim Taymans  <wim@fluendo.com>
42
43         * docs/design/part-TODO.txt:
44         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
45         (gst_format_to_quark), (gst_format_register):
46         * gst/gstformat.h:
47         * gst/gstquery.c: (_gst_query_initialize),
48         (gst_query_type_get_name), (gst_query_type_to_quark),
49         (gst_query_type_register):
50         * gst/gstquery.h:
51         Add type to quark and type to string conversions.
52
53 2005-11-19  Andy Wingo  <wingo@pobox.com>
54
55         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
56         #320097.
57
58 2005-11-19  Wim Taymans  <wim@fluendo.com>
59
60         * docs/design/part-TODO.txt:
61         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
62         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
63         (gst_bin_handle_message_func):
64         * gst/gstbin.h:
65         Make message handling overridable.
66
67 2005-11-19  Andy Wingo  <wingo@pobox.com>
68
69         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
70
71         * gst/gstclock.h:
72         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
73         be a GstClockTime.
74         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
75         is a GstClockTime. Fixes #321710.
76
77         * gst/gstclock.h (GstClock): Remove offset property. Add
78         internal_calibration and external_calibration. Fix padding. Pad
79         also by GstClockTime so we don't run into problems.
80
81         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
82         (gst_clock_get_rate_offset): Remove.
83         (gst_clock_set_time_adjust): Remove. Fixes #321712.
84
85         * gst/gstutils.h:
86         * gst/gstutils.c (g_static_rec_cond_wait)
87         (g_static_rec_cond_timed_wait): Removed, no longer needed.
88
89         * gst/gstbin.c: Remove terrible continue_state prototype.
90
91         * gst/gstelement.h (gst_element_continue_state): Make public.
92
93         * gst/gstelement.h:
94         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
95         by continue_state. Fixes #319389.
96
97         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
98         Really fixes #168438. However I don't see anywhere where the
99         filter function is called... stupid GStreamer...
100         
101         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
102         don't have a dispose function, so it won't get called when the
103         object is unreffed, but oh well!
104
105         * gst/gstindex.c (gst_index_set_filter_full): New API function,
106         allows a destroy function to be set so user_data can be freed.
107         Fixes #168438.
108         (gst_index_set_filter): Call gst_index_set_filter_full.
109
110         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
111
112         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
113         string should produce an error, given the lack of a way to
114         represent NULL strings. Fixes #165650.
115         
116         * gst/gstvalue.h: 
117         * gst/gstvalue.c (gst_value_array_append_value) 
118         (gst_value_array_prepend_value, gst_value_array_get_size) 
119         (gst_value_array_get_value): New API, copied from
120         gst_value_list_*, only operates on arrays.
121         (gst_value_list_append_value, gst_value_list_prepend_value) 
122         (gst_value_list_concat, gst_value_list_get_size) 
123         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
124
125         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
126         init_list, because it works on both.
127         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
128         (gst_value_copy_list_or_array): Renamed from copy_list.
129         (gst_value_free_list_or_array): Renamed from free_list.
130         (gst_value_collect_list_or_array): Renamed from collect_list.
131         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
132         (gst_value_list_or_array_peek_pointer): Renamed from
133         list_peek_pointer.
134         (_gst_value_array_value_table, _gst_value_list_value_table):
135         Update value table functions.
136         (gst_value_compare_list_or_array): Renamed from compare_list.
137
138         * gsttaglist.h: Whoops, foreach function returns void. Also fix
139         some constness.
140
141         * gst/gsttaglist.c:
142         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
143         GstTagList*. Fixes #143472.
144
145         * gst/gststructure.h: Clarify what the foreach/map functions can
146         or can't do to their arguments.
147
148 2005-11-18  Wim Taymans  <wim@fluendo.com>
149
150         * gst/gstclock.c: (gst_clock_set_calibration),
151         (gst_clock_get_calibration):
152         Doc and API fixes.
153         Callibration can be set with internal time equal to current
154         internal time too.
155
156 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
157
158         * gst/gsterror.c:
159         * gst/gsterror.h:
160           document
161
162 2005-11-18  Andy Wingo  <wingo@pobox.com>
163
164         * configure.ac: 
165         * pkgconfig/gstreamer-net.pc.in:
166         * pkgconfig/gstreamer-net-uninstalled.pc.in:
167         * pkgconfig/Makefile.am: Add net pkgconfig files.
168
169 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
170
171         * gst/gstcaps.c:
172         * gst/gstghostpad.c:
173         * gst/gsttrace.c:
174         * gst/gstvalue.c:
175         * gst/gstvalue.h:
176           docs fixes
177
178 2005-11-18  Andy Wingo  <wingo@pobox.com>
179
180         * gst/net/gstnetclientclock.c: Turn off debugging.
181
182         * check/net/gstnetclientclock.c (test_functioning): Assert that the
183         times connverge somewhat. Can't make a real test.
184
185         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
186         integer arithmetic. Return the minimum of the domain, which can be
187         set as "internal" for gst_clock_set_calibration.
188         (gst_net_client_clock_observe_times): Call _set_calibration.
189         (gst_net_client_clock_new): Call _set_calibration instead of
190         rate_offset.
191
192         * check/net/gstnetclientclock.c (test_functioning): Use the right
193         adjustment api.
194
195         * gst/gstclock.h:
196         * gst/gstclock.c (gst_clock_get_calibration) 
197         (gst_clock_set_calibration): New functions, obsolete the ones I
198         added yesterday. Doh. Precision issues mean we have to extrapolate
199         from a point in the more recent past than 1970.
200         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
201         obsolete.
202         (gst_clock_adjust_unlocked): Use the right calibration data.
203
204 2005-11-18  Edward Hervey  <edward@fluendo.com>
205
206         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
207         Also reset the ->current_* values in READY->PAUSED
208
209 2005-11-18  Andy Wingo  <wingo@pobox.com>
210
211         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
212         Whoops, check the right fd. Also add some debugging.
213         (gst_net_client_clock_observe_times): Adjust for int64 offset.
214         (do_linear_regression): Add a crapload of debugging. Subtract off
215         the minimum values from the input series to discard unneeded bits.
216         Use only int arithmetic. There is still double arithmetic when
217         calculating the intercept that needs fixing. Return boolean to
218         indicate success; FALSE would mean the domain or range is too
219         great. Still needs fixes.
220
221 2005-11-18  Wim Taymans  <wim@fluendo.com>
222
223         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
224         For the current position in stream time, we need to subtract
225         accumulated time.
226         
227         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
228         Release lock before calling the callback function of async
229         entries.
230
231 2005-11-18  Andy Wingo  <wingo@pobox.com>
232
233         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
234         Port goes all the way to MAXUINT16.
235
236         * gst/net/gstnettimeprovider.c: Make the port range the same as
237         for the kernel: 0 assigns, otherwise ports are less than
238         MAXUINT16.
239
240         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
241         port change.
242
243         * check/net/gstnetclientclock.c (test_functioning): Add the start
244         of another test. 
245
246 2005-11-18  Wim Taymans  <wim@fluendo.com>
247
248         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
249         (gst_bin_remove_func), (bin_bus_handler):
250         * gst/gstbin.h:
251         Removing a clock provider from a bin, triggers a clock lost message
252         so that a new clock will be selected.
253         Adding a clock to a bin triggers a clock provider message.
254         Make sure we reselect a clock when we received a clock lost message.
255         Keep a reference to the element that provided the clock.
256
257 2005-11-18  Andy Wingo  <wingo@pobox.com>
258
259         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
260         the clock initially so it produces values around the base time.
261         (gst_net_client_clock_class_init): Typo fix.
262         (gst_net_client_clock_thread): Add note on when the socket gets
263         closed.
264
265 2005-11-17  Wim Taymans  <wim@fluendo.com>
266
267         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
268         Free remote and local time arrays.
269
270 2005-11-17  Wim Taymans  <wim@fluendo.com>
271
272         * gst/net/gstnetclientclock.c: (do_linear_regression),
273         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
274         Fix compilation, uninitialized vars and a forgotten continue.
275
276 2005-11-17  Andy Wingo  <wingo@pobox.com>
277
278         * check/Makefile.am (check_PROGRAMS): 
279         * check/net/gstnetclientclock.c: Add a most minimal test for the
280         net client clock. More to come later.
281
282         * gst/net/gstnet.h: 
283         * gst/net/Makefile.am: Add netclientclock.
284
285         * gst/net/gstnetclientclock.h:
286         * gst/net/gstnetclientclock.c: New files, implement an untested
287         GstClock that takes its time from a network time provider.
288         Implements the algorithm in network-clock.scm.
289
290         * tests/network-clock.scm (*window-size*): Rename from
291         *queue-length*.
292         * tests/network-clock.scm (network-time): 
293         * tests/network-clock-utils.scm (q-push): Update callers.
294
295 2005-11-17  Wim Taymans  <wim@fluendo.com>
296
297         * gst/gstbin.c: (gst_bin_provide_clock_func),
298         (gst_bin_sort_iterator_new):
299         And unref the child too..
300
301 2005-11-17  Wim Taymans  <wim@fluendo.com>
302
303         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
304         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
305         Refactor the sort iterator so it can be used while holding the
306         LOCK too.
307         Make clock selection select a clock closest to the source.
308
309 2005-11-17  Michael Smith <msmith@fluendo.com>
310
311         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
312         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
313         * gst/gstclock.h:
314           Anonymous structs are a gcc (and some other compilers) extension, so
315           don't use them. Since this is only for ABI-compatibility, and our
316           API/ABI freeze is over in a few days, this whole thing will only
317           last a few days, so don't bother trying to think up a meaningful
318           name for the struct.
319
320 2005-11-17  Andy Wingo  <wingo@pobox.com>
321
322         * gst/gstclock.h (GstClock): Add rate and offset properties,
323         preserving ABI stability. Add rate/offset accessors. Will file bug
324         for the freeze break.
325
326         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
327         and offset, trying to keep precision and avoiding
328         underflow/overflow.
329         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
330         functions. Make gst_clock_set_time_adjust obsolete.
331         (gst_clock_set_time_adjust): Note that this function is obsolete.
332         Will file bug soon.
333
334         * gst/base/gstbasetransform.h: Make the ABI-stability hack
335         greppable by using GST_PADDING-1+1.
336
337 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
338
339         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
340
341         * gst/gstmessage.c: (gst_message_parse_clock_lost):
342           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
343
344         * gst/gstpadtemplate.h:
345         * gst/gstpluginfeature.h:
346           Don't use c++ style comments in headers (#321638).
347
348 2005-11-16  Andy Wingo  <wingo@pobox.com>
349
350         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
351         buffer.
352
353         * check/net/gstnettimeprovider.c: Check to see that the time
354         provider actually provides times. Works, yo!
355
356 2005-11-16  Wim Taymans  <wim@fluendo.com>
357
358         * check/Makefile.am:
359         Enable more tests.
360
361         * check/elements/fakesrc.c: (GST_START_TEST):
362         Set element to NULL before disposing it.
363
364 2005-11-16  Andy Wingo  <wingo@pobox.com>
365
366         * gst/net/Makefile.am:
367         * gst/net/gstnet.h:
368         * gst/net/gstnettimeprovider.c: 
369         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
370         provider, include it from gstnet.h, and add it to the build.
371
372         * gst/net/gstnettimepacket.h: 
373         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
374         sending and receiving.
375
376 2005-11-16  Wim Taymans  <wim@fluendo.com>
377
378         * check/Makefile.am:
379         Enable valgrind check.
380
381         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
382         (gst_fake_src_alloc_buffer):
383         Fix memleak.
384
385 2005-11-16  Wim Taymans  <wim@fluendo.com>
386
387         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
388         Call parent finalize too.
389
390 2005-11-16  Wim Taymans  <wim@fluendo.com>
391
392         * check/Makefile.am:
393         Enable valgrind check that should work fine now.
394
395         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
396         * gst/gstqueue.c: (gst_queue_init):
397         Fix memleaks in pad allocation.
398
399 2005-11-16  Andy Wingo  <wingo@pobox.com>
400
401         * gst/net/Makefile.am:
402         * gst/net/gstnet.h: New part of core to hold network elements and
403         objects. Put in core because it exposes API that applications want
404         to use. The library is named libgstnet-tempname right now because
405         of the existing libgstnet in gst-plugins-base. Solution is
406         probably to rename the one in plugins-base; will file a bug for
407         the freeze break.
408
409         * gst/net/gstnettimeprovider.c: 
410         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
411         get_time call over the network.
412
413         * configure.ac: 
414         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
415
416         * check/Makefile.am:
417         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
418         get additions shortly.
419
420 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
421
422         * gst/gstpad.c: (gst_pad_new_from_static_template):
423         * gst/gstpad.h:
424           add gst_pad_new_from_static_template functions
425         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
426         (gst_check_setup_sink_pad):
427         * gst/elements/gsttee.c: (gst_tee_init):
428           and use them
429
430 2005-11-16  Wim Taymans  <wim@fluendo.com>
431
432         * gst/gstpad.c: (gst_pad_pause_task):
433         Removed warning, it's not really an error either.
434
435 2005-11-16  Wim Taymans  <wim@fluendo.com>
436
437         * gst/base/gstbasetransform.c:
438         (gst_base_transform_prepare_output_buf),
439         (gst_base_transform_event):
440         Check if the caps are NULL, this can happen if the element
441         is shutting down and the pad caps are set to NULL.
442
443 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
444
445         * gst/elements/gsttee.c: (gst_tee_init):
446           fix pad tempalte leak in tee
447
448 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
449
450         * gst/glib-compat.c: (g_value_dup_gst_object):
451         * gst/glib-compat.h:
452         * gst/gstpad.c: (gst_pad_set_property):
453           use gst_object_ref when setting the pad template; this will
454           trigger the pad template leaks on GLib 2.6 and the slaves
455
456 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
457
458         * gst/glib-compat.c: (gst_flags_get_first_value):
459         * gst/glib-compat.h:
460         * gst/gstregistryxml.c:
461           remove functions copied from GLib 2.6
462
463 2005-11-16  Michael Smith <msmith@fluendo.com>
464
465         * gst/Makefile.am:
466           Don't link against VALGRIND_LIBS. That was always the wrong thing to
467           do, but only breaks with newer valgrind versions. We're not a
468           valgrind tool, we have no link-time dependencies on libcoregrind.
469
470 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
471
472         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
473           some debug changes
474         * gst/gstmessage.h:
475           typo fixes
476
477 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
478
479         * gst/base/gstbasesrc.c: (gst_base_src_init):
480         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
481         * gst/gstqueue.c: (gst_queue_init):
482         * gst/gstregistryxml.c: (load_feature):
483           Revert all these unrefs, they don't even pass make check !
484
485 2005-11-15  Johan Dahlin  <johan@gnome.org>
486
487         * gst/base/gstbasesrc.c: (gst_base_src_init):
488         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
489         * gst/gstqueue.c: (gst_queue_init): 
490         Free pad templates, fixes a couple of leaks.
491
492 2005-11-15  Daniel Fischer  <dan at f3c dot com>
493
494         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
495
496         * gst/gstpad.c: (gst_pad_get_property):
497           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
498           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
499           (#321452)
500
501 2005-11-15  Wim Taymans  <wim@fluendo.com>
502
503         * gst/gstevent.c:
504         Small doc update.
505
506 2005-11-15  Andy Wingo  <wingo@pobox.com>
507
508         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
509
510         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
511         using GST_CLOCK_TIME_NONE to disable base time management.
512         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
513         time if it was NONE before.
514         (gst_pipeline_change_state): Only munge the base time if
515         stream_time != GST_CLOCK_TIME_NONE.
516
517         * check/gst/gstpipeline.c (test_base_time): Punt around the
518         problem of the probe not being called, because that's not the
519         issue I'm looking at. Add a check that setting stream_time to NONE
520         disables base time management.
521         
522 2005-11-15  Wim Taymans  <wim@fluendo.com>
523
524         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
525         segment_stop == -1 at startup.
526
527         * gst/base/gstbasetransform.c: (gst_base_transform_event),
528         (gst_base_transform_change_state):
529         Init segment values at start.
530
531 2005-11-15  Wim Taymans  <wim@fluendo.com>
532
533         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
534         0 segment values are 0 in any format.
535
536         * gst/base/gstbasetransform.c: (gst_base_transform_event):
537         * gst/base/gstbasetransform.h:
538         Parse newsegment correctly in basetransform
539
540         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
541         Sync to clock using updated segment values.
542
543 2005-11-15  Andy Wingo  <wingo@pobox.com>
544
545         * check/gst/gstpipeline.c (test_base_time): Add check that the
546         base time and stream time are reset correctly.
547
548 2005-11-15  Wim Taymans  <wim@fluendo.com>
549
550         * docs/design/part-TODO.txt:
551         Some more TODO items.
552
553 2005-11-15  Andy Wingo  <wingo@pobox.com>
554
555         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
556         error if the user selected "no clock" as the clocking method.
557
558         * check/gst/gstpipeline.c (test_base_time): New test for buffer
559         timestamps with live capture.
560
561         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
562         is 0 but we are a live source, timestamp the buffers using the
563         element's clock.
564
565 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
566
567         * docs/gst/gstreamer-sections.txt:
568         * gst/gsterror.c:
569         * gst/gstghostpad.c:
570         * gst/gstobject.h:
571         * gst/gstxml.c:
572           more section docs
573
574 2005-11-14  Wim Taymans  <wim@fluendo.com>
575
576         * common/gst.supp:
577           add suppressions from Wim's Debian machine
578
579 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
580
581         * common/gst.supp:
582           add suppressions from Andy's AMD64 Ubuntu machine
583
584 2005-11-14  Andy Wingo  <wingo@pobox.com>
585
586         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
587         STATE_LOCK not necessary. Fixes #311489.
588
589         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
590         #305291.
591
592         * gst/gstindex.c (gst_index_add_object): Note in the docs that
593         this function is not implemented.
594
595 2005-11-14  Julien MOUTTE  <julien@moutte.net>
596
597         * gst/base/gstbasetransform.c:
598         (gst_base_transform_prepare_output_buf):
599         Ref the source pad caps while we need them.
600         Fixes (#321386)
601
602 2005-11-11  Wim Taymans  <wim@fluendo.com>
603
604         * docs/gst/gstreamer-sections.txt:
605         Added some docs for GstCollectData.
606
607         * gst/base/gstadapter.c:
608         Some small code example fix.
609
610         * gst/base/gstcollectpads.c:
611         * gst/base/gstcollectpads.h:
612         Document some more.
613
614 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
615
616         * configure.ac: back to HEAD
617
618 === release 0.9.5 ===
619
620 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
621
622         * configure.ac:
623           releasing 0.9.5, "Bike Lunch Day"
624
625 2005-11-11  Wim Taymans  <wim@fluendo.com>
626
627         * gst/gstbuffer.c: (_gst_buffer_copy):
628         Copy more flags.
629
630         * gst/gstcaps.c: (gst_caps_is_equal):
631         Fix some docs.
632         Make _is_equal fast in the trivial cases.
633
634         * gst/gstminiobject.c:
635         * gst/gstminiobject.h:
636         More docs. Spifify .h file.
637
638         * gst/gstutils.c:
639         Small doc update.
640
641 2005-11-11  Wim Taymans  <wim@fluendo.com>
642
643         * gst/base/gstbasetransform.c:
644         (gst_base_transform_prepare_output_buf),
645         (gst_base_transform_handle_buffer):
646         Small cleanups.
647         If we're processing a buffer and need to allocate an output
648         buffer, we cannot accept a format change. If we did get a 
649         format change, we have to alloc a buffer ourselves of the 
650         right size.
651
652 2005-11-11  Wim Taymans  <wim@fluendo.com>
653
654         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
655         While checking the flag for reentrancy in the gstcaps function
656         is nice to detect recursive invocations, it also makes it 
657         impossible to call getcaps from multiple threads, which must be
658         possible. So, checking for recursive calls has to go.
659
660 2005-11-11  Michael Smith <msmith@fluendo.com>
661
662         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
663           Don't sync on buffers that fall partially outside our current
664           segment. Prevents an assertion failure/abort playing some files.
665
666 2005-11-10  Andy Wingo  <wingo@pobox.com>
667
668         * check/gst/gstbin.c (test_message_state_changed_children): Style
669         fix..
670
671         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
672         gst_bus_poll with the signal watch. Ensures that poll and a signal
673         watch see the same messages.
674
675         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
676         a poll and a watch at the same time get the same messages.
677
678 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
679
680         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
681         * gst/gstcaps.c: (gst_caps_intersect):
682           Don't call gst_caps_do_simplify - it doesn't respect order of caps
683           and it's not needed.
684
685 2005-11-10  Wim Taymans  <wim@fluendo.com>
686
687         * docs/design/part-TODO.txt:
688         Updated todo.
689
690 2005-11-10  Wim Taymans  <wim@fluendo.com>
691
692         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
693         * gst/base/gstbasesrc.c: (gst_base_src_wait),
694         (gst_base_src_do_sync), (gst_base_src_get_range):
695         Implement clock sync in base class.
696
697 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
698
699         patch by: Tim-Philipp Müller <tim at centricular dot net>
700
701         * gst/gststructure.c: (gst_structure_parse_field),
702         (gst_structure_from_string):
703           Forward-port a 0.8 patch to handle escaped spaces in structure string,
704           so that gst_parse_launch() can deal with spaces in filtered link
705           caps (fixes #164479)
706         * check/gst/capslist.h:
707         * check/gst/gststructure.c: (GST_START_TEST):
708           add unit tests for this change
709
710 2005-11-10  Wim Taymans  <wim@fluendo.com>
711
712         * docs/gst/gstreamer-sections.txt:
713         * gst/gstelement.c:
714         * gst/gstelement.h:
715         Fix docs, move some STATE macros to private.
716
717 2005-11-10  Wim Taymans  <wim@fluendo.com>
718
719         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
720         Added check for bug #317341
721
722         * gst/gstbuffer.c:
723         * gst/gstbuffer.h:
724         Some more spiffifying.
725
726         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
727         Call peer linkfunction if we are a source pad. Totally fixes
728         #317341
729
730         * gst/gstpad.c:
731         Update docs, source pads should call the peer linkfunction
732         so they can atomically perform the pad link.
733
734 2005-11-09  Wim Taymans  <wim@fluendo.com>
735
736         * gst/gstbuffer.c:
737         * gst/gstbuffer.h:
738         Uber-spiffy-spiffify some more.
739
740 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
741
742         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
743         * gst/elements/gstfilesink.c: (gst_file_sink_init):
744         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
745         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
746         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
747         * gst/gstpad.c: (gst_pad_init):
748           Use GST_DEBUG_FUNCPTR() more extensively.
749
750 2005-11-09  Wim Taymans  <wim@fluendo.com>
751
752         * gst/gstobject.c: (gst_object_class_init):
753         * gst/gstobject.h:
754         Documentation fixes.
755
756 2005-11-09  Edward Hervey  <edward@fluendo.com>
757
758         * gst/gsttypefindfactory.c:
759         Fix docs.
760         
761 2005-11-09  Edward Hervey  <edward@fluendo.com>
762
763         * gst/base/gsttypefindhelper.c:
764         * gst/gsttypefind.c:
765         * gst/gsttypefind.h:
766         Fix docs.
767
768 2005-11-09  Wim Taymans  <wim@fluendo.com>
769
770         * gst/gstiterator.c:
771         Fix revision data.
772
773         * gst/gsttask.c:
774         * gst/gsttask.h:
775         Fix docs.
776
777 2005-11-09  Wim Taymans  <wim@fluendo.com>
778
779         * gst/gstevent.h:
780         * gst/gsturi.h:
781         Fix docs.
782
783 2005-11-09  Wim Taymans  <wim@fluendo.com>
784
785         * docs/gst/gstreamer-sections.txt:
786         Moved the message async delivery private lock and cond
787         to the private section.
788
789         * gst/gstmessage.c:
790         * gst/gstmessage.h:
791         Fixed docs.
792
793 2005-11-09  Edward Hervey  <edward@fluendo.com>
794
795         * docs/gst/gstreamer-sections.txt:
796         * gst/gsturi.c:
797         * gst/gsturi.h:
798         Document GstURIHandler
799
800 2005-11-09  Wim Taymans  <wim@fluendo.com>
801
802         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
803         (gst_iterator_find_custom):
804         * gst/gstiterator.h:
805         Fix iterator docs.
806
807 2005-11-09  Wim Taymans  <wim@fluendo.com>
808
809         * gst/gstbin.h:
810         Document another field.
811
812         * gst/gststructure.c:
813         * gst/gststructure.h:
814         Document.
815
816 2005-11-09  Wim Taymans  <wim@fluendo.com>
817
818         * gst/gstbin.h:
819         Documented structs.
820
821 2005-11-09  Wim Taymans  <wim@fluendo.com>
822
823         * docs/gst/gstreamer-sections.txt:
824         Added some new macros.
825
826         * gst/gstclock.c:
827         * gst/gstclock.h:
828         * gst/gstobject.h:
829         Docs updates.
830
831 2005-11-09  Wim Taymans  <wim@fluendo.com>
832
833         * docs/design/part-TODO.txt:
834         Some more items for the TODO
835
836         * gst/gstcaps.c:
837         * gst/gstcaps.h:
838         Document GstCaps.
839
840 2005-11-09  Andy Wingo  <wingo@pobox.com>
841
842         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
843         to work on something else now tho...
844
845         * gst/base/gstadapter.c: More adapter docs.
846
847         * gst/elements/gstfilesink.c (gst_file_sink_start) 
848         (gst_file_sink_stop): New functions, replace the state change
849         handler.
850         (gst_file_sink_class_init): Hook up the start and stop functions.
851         (gst_file_sink_base_init): Don't set the state change handler any
852         more. It was a bit ugly too, being set from here...
853         (gst_file_sink_get_property, gst_file_sink_set_property):
854         Cleanups...
855         (gst_file_sink_set_location): More robust check that doesn't call
856         GST_STATE. Ugggggg.
857
858 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
859
860         * gst/base/gstbasetransform.c: (gst_base_transform_event):
861           Hold STREAM_LOCK while pushing newsegment or tag events as well.
862
863 2005-11-08  Wim Taymans  <wim@fluendo.com>
864
865         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
866         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
867         (gst_base_sink_chain), (gst_base_sink_change_state):
868         * gst/base/gstbasesink.h:
869         * gst/base/gstbasesrc.h:
870         * gst/gstelement.h:
871         * gst/gstevent.h:
872         Avoid excessive typechecking in macros.
873
874         * gst/gstminiobject.c: (gst_mini_object_get_type),
875         (gst_mini_object_init), (gst_mini_object_new),
876         (gst_mini_object_free):
877         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
878         (gst_object_finalize):
879         Remove cruft code, optimize alloc_trace.
880
881 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
882
883         * docs/faq/gst-uninstalled:
884           fix up PS1 for systems that try to reset it
885
886 2005-11-07  Wim Taymans  <wim@fluendo.com>
887
888         * gst/base/gstbasesrc.c: (gst_base_src_init),
889         (gst_base_src_get_range):
890         Set the segment_end to -1 initially. Fixed typefind.
891
892 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * gst/base/gstadapter.c:
895           Debug category should be 'adapter', not 'GstAdapter'.
896           
897         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
898         (gst_collectpads_class_init), (gst_collectpads_init),
899         (gst_collectpads_peek), (gst_collectpads_pop),
900         (gst_collectpads_event), (gst_collectpads_chain):
901           Add debug category and some debugging output. Use boilerplate
902           macros. Remove some extraneous words from docs.
903
904 2005-11-05  Andy Wingo  <wingo@pobox.com>
905
906         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
907         macro.
908
909 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
910
911         * docs/gst/gstreamer-sections.txt:
912         * gst/gstcaps.h:
913         * gst/gstinfo.c:
914         * gst/gstminiobject.h:
915         * gst/gstobject.h:
916         * gst/gstutils.h:
917           more docs added
918
919 2005-11-04  Wim Taymans  <wim@fluendo.com>
920
921         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
922         Small update to stop at the configured segment_end
923         position.
924
925 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
926
927         * gst/gstregistry.c:
928         * gst/gstregistry.h:
929           added missing docs
930
931 2005-11-04  Edward Hervey  <edward@fluendo.com>
932
933         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
934         Check if we are doing a segment seek and have arrived at the
935         end of that segment.
936
937 2005-11-04  Wim Taymans  <wim@fluendo.com>
938
939         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
940         Don't leak a mutex unlock in case of an error.
941
942         * gst/gstbus.h:
943         Doc fixes.
944
945 2005-11-04  Wim Taymans  <wim@fluendo.com>
946
947         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
948         (gst_bus_post):
949         Get the context to wake up only once.
950
951 2005-11-03  Wim Taymans  <wim@fluendo.com>
952
953         * check/states/sinks.c: (GST_START_TEST):
954         Uncomment fixed check.
955
956         * docs/design/part-TODO.txt:
957         Updated TODO.
958
959         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
960         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
961         (gst_base_sink_get_position):
962         If we are going to PLAYING, post the right pending state
963         when we post the intermediate paused message.
964
965         * gst/gstelement.c: (gst_element_continue_state),
966         (gst_element_set_state_func), (gst_element_change_state):
967         Don't post state changes that were between the same state
968         and were not ASYNC.
969
970 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
971
972         * docs/gst/gstreamer-sections.txt:
973         * gst/gstcaps.h:
974         * gst/gstinfo.c:
975         * gst/gstminiobject.h:
976         * gst/gstobject.h:
977         * gst/gstutils.h:
978           more docs and doc style fixes
979
980 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
981
982         * docs/gst/gstreamer-sections.txt:
983         * gst/gstelement.c:
984         * gst/gstminiobject.c:
985         doc fixes
986
987 2005-11-03  Andy Wingo  <wingo@pobox.com>
988
989         * check/states/sinks.c (test_livesrc_sink): Add checks that the
990         state-changed messages actually have the right order and the right
991         values.
992
993 2005-11-03  Wim Taymans  <wim@fluendo.com>
994
995         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
996         Added some more checks. Specifically the case where NO_PREROLL
997         elements are in the pipeline.
998
999         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1000         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1001         (gst_base_sink_get_position):
1002         Post READY->PAUSED state change messages too.
1003         Fix bug where VOID was posted as pending state...
1004
1005         * gst/gstbin.c: (gst_bin_recalc_state):
1006         use _element_continue_state() to continue the state change.
1007
1008         * gst/gstelement.c: (gst_element_continue_state),
1009         (gst_element_commit_state), (gst_element_set_state_func),
1010         (gst_element_change_state), (gst_element_change_state_func):
1011         Lots of state change cleanups, assign the STATE_RETURN in
1012         a new continue_state() function that also propagates the
1013         last return value from a state change to the app.
1014         Update some debug statements with proper category.
1015
1016 2005-11-03  Wim Taymans  <wim@fluendo.com>
1017
1018         * docs/design/part-events.txt:
1019         * docs/design/part-gstpipeline.txt:
1020         * docs/design/part-messages.txt:
1021         * docs/design/part-overview.txt:
1022         * docs/design/part-seeking.txt:
1023         * docs/design/part-states.txt:
1024         * docs/design/part-trickmodes.txt:
1025         * docs/manual/advanced-position.xml:
1026         Small docs updates.
1027
1028         * gst/gstobject.h:
1029         People think !! is ugly, this looks better.
1030
1031         * gst/gstpad.c: (gst_pad_set_blocked_async):
1032         Remove !! since it's fixed elsewhere now.
1033
1034 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1035
1036         * gst/gstminiobject.h:
1037         * gst/gstobject.h:
1038           Add !! to _FLAG_IS_SET macros to make the result boolean.
1039
1040 2005-11-03  Edward Hervey  <edward@fluendo.com>
1041
1042         * gst/gstpad.c: (gst_pad_set_blocked_async):
1043         comparing a flag and a gboolean rarely returns coherent results...
1044         Added two characters (!!) to make that work correctly.
1045         
1046 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1047
1048         * gst/gstbus.c: (gst_bus_class_init):
1049           Fix some typos.
1050           
1051         * gst/gstqueue.c: (gst_queue_loop):
1052           Don't assume a miniobject that isn't a buffer is an
1053           event (it could be that there is a refcounting
1054           problem somewhere and the pointer is stale and
1055           refers to an already destroyed miniobject).
1056
1057 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1058
1059         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1060
1061 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1062
1063         * docs/manual/advanced-position.xml:
1064           Update seek example and explanations to current 0.9 API.
1065
1066         * gst/elements/gsttypefindelement.c:
1067         (gst_type_find_element_activate):
1068           Remove FIXME comment now that the found caps
1069           are unreffed.
1070
1071 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * gst/gstregistryxml.c: (load_feature):
1074           Add another GST_STR_NULL instance
1075
1076 2005-11-02  Edward Hervey  <edward@fluendo.com>
1077
1078         * gst/gstpad.c: (handle_pad_block):
1079         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1080         
1081 2005-11-02  Wim Taymans  <wim@fluendo.com>
1082
1083         * gst/gstbin.c:
1084         Fix typo in docs.
1085
1086         * gst/gstelement.c: (gst_element_commit_state):
1087         Remove unused value.
1088
1089         * gst/gstiterator.c:
1090         Mention that the returned element is reffed in the docs.
1091
1092 2005-11-02  Wim Taymans  <wim@fluendo.com>
1093
1094         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1095         (gst_pad_push), (gst_pad_push_event):
1096         Unlock blocked pads when they are flushed.
1097
1098 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1099
1100         * docs/README:
1101         * docs/gst/gstreamer-sections.txt:
1102         * gst/gstbin.c:
1103           doc updates
1104         * gst/gstregistry.c: (gst_registry_scan_path_level):
1105           fix for a nasty little missed situation where an installed plug-in
1106           which was in the cache did not get overridden by an uninstalled one
1107           which was earlier in the plugin path because the newly created plugin
1108           for the uninstalled one (not in the registry) didn't get its
1109           ->registered set to TRUE
1110
1111 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1112
1113         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1114         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1115         (gst_collectpads_is_active), (gst_collectpads_collect),
1116         (gst_collectpads_collect_range), (gst_collectpads_start),
1117         (gst_collectpads_stop), (gst_collectpads_peek),
1118         (gst_collectpads_pop), (gst_collectpads_available),
1119         (gst_collectpads_read), (gst_collectpads_flush):
1120           Guard public API with assertions.
1121         
1122         * gst/gstpad.c:
1123           Fix docs for gst_pad_set_link_function().
1124
1125 2005-11-02  Johan Dahlin  <johan@gnome.org>
1126
1127         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
1128         Unref found_caps after we used it.
1129
1130 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1131
1132         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
1133           Don't try to ref NULL.
1134
1135 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1136
1137         * win32/common/config.h.in:
1138           provide a GST_FUNCTION that just gives a string for now
1139
1140 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1141
1142         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1143         (gst_object_flags_get_type), (register_gst_bin_flags),
1144         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1145         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1146         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1147         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
1148         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1149         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1150         (gst_clock_flags_get_type), (register_gst_state),
1151         (gst_state_get_type), (register_gst_state_change_return),
1152         (gst_state_change_return_get_type), (register_gst_state_change),
1153         (gst_state_change_get_type), (register_gst_element_flags),
1154         (gst_element_flags_get_type), (register_gst_core_error),
1155         (gst_core_error_get_type), (register_gst_library_error),
1156         (gst_library_error_get_type), (register_gst_resource_error),
1157         (gst_resource_error_get_type), (register_gst_stream_error),
1158         (gst_stream_error_get_type), (register_gst_event_type),
1159         (gst_event_type_get_type), (register_gst_seek_type),
1160         (gst_seek_type_get_type), (register_gst_seek_flags),
1161         (gst_seek_flags_get_type), (register_gst_format),
1162         (gst_format_get_type), (register_gst_index_certainty),
1163         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1164         (gst_index_entry_type_get_type),
1165         (register_gst_index_lookup_method),
1166         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1167         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1168         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1169         (gst_index_flags_get_type), (register_gst_debug_level),
1170         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1171         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1172         (gst_iterator_result_get_type), (register_gst_iterator_item),
1173         (gst_iterator_item_get_type), (register_gst_message_type),
1174         (gst_message_type_get_type), (register_gst_mini_object_flags),
1175         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1176         (gst_pad_link_return_get_type), (register_gst_flow_return),
1177         (gst_flow_return_get_type), (register_gst_activate_mode),
1178         (gst_activate_mode_get_type), (register_gst_pad_direction),
1179         (gst_pad_direction_get_type), (register_gst_pad_flags),
1180         (gst_pad_flags_get_type), (register_gst_pad_presence),
1181         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1182         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1183         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1184         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1185         (gst_plugin_flags_get_type), (register_gst_rank),
1186         (gst_rank_get_type), (register_gst_query_type),
1187         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1188         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1189         (gst_tag_flag_get_type), (register_gst_task_state),
1190         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1191         (gst_alloc_trace_flags_get_type),
1192         (register_gst_type_find_probability),
1193         (gst_type_find_probability_get_type), (register_gst_uri_type),
1194         (gst_uri_type_get_type), (register_gst_parse_error),
1195         (gst_parse_error_get_type):
1196         * win32/common/gstversion.h:
1197           update win32 copies
1198
1199 2005-11-01  Luca Ognibene  <luogni@tin.it>
1200
1201         * gst/gst.c:
1202           fix docs. popt is dead, long live GOption.
1203
1204 2005-10-31  Wim Taymans  <wim@fluendo.com>
1205
1206         * gst/gstbuffer.h:
1207         Small doc fix.
1208
1209 2005-10-31  Andy Wingo  <wingo@pobox.com>
1210
1211         * Boo!
1212
1213         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
1214
1215         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
1216         need to serialize property notifications on GLib 2.8. GLib 2.6 has
1217         the possibility of deadlocks here if code calling notify() or
1218         set() has a lock that can be taken in another notify handler (ABBA
1219         with class lock and e.g. python GIL state lock).
1220
1221 2005-10-28  Julien MOUTTE  <julien@moutte.net>
1222
1223         * gst/gstbus.c: Doc updates.
1224
1225 2005-10-28  Wim Taymans  <wim@fluendo.com>
1226
1227         * docs/design/part-TODO.txt:
1228         * gst/gstiterator.c:
1229         * gst/gstsystemclock.c:
1230         * gst/gstsystemclock.h:
1231         Doc updates.
1232
1233 2005-10-28  Edward Hervey  <edward@fluendo.com>
1234
1235         * docs/gst/gstreamer-docs.sgml:
1236         * docs/gst/gstreamer-sections.txt:
1237         the GstURIType documentation page is private, it only defines GstURIType
1238         which should be defined in the GstURIHandler page
1239         
1240 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1241
1242         * gst/gstbin.c: (gst_bin_class_init):
1243         * gst/gstbin.h:
1244         * gst/gstutils.c:
1245         Documentation updates.
1246
1247 2005-10-28  Wim Taymans  <wim@fluendo.com>
1248
1249         * docs/gst/gstreamer-sections.txt:
1250         * gst/gstclock.c:
1251         * gst/gstclock.h:
1252         Documented the clocks.
1253
1254 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
1255
1256         * docs/gst/gstreamer-sections.txt:
1257           move some macros to private sections
1258         * gst/gstminiobject.c:
1259         * gst/gstminiobject.h:
1260           add descriptions provided by ds and some more
1261         * gst/gstpad.h:
1262           mark macro as to be removed
1263
1264 2005-10-28  Wim Taymans  <wim@fluendo.com>
1265
1266         * docs/design/part-TODO.txt:
1267         Add an item to TODO.
1268
1269         * gst/gstiterator.c: (gst_iterator_fold),
1270         (gst_iterator_find_custom):
1271         * gst/gstiterator.h:
1272         Add iterator docs.
1273
1274 2005-10-28  Wim Taymans  <wim@fluendo.com>
1275
1276         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1277         (gst_base_transform_init):
1278         Don't leak class.
1279
1280         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
1281         An EOS event marks the queue as completely filled.
1282
1283 2005-10-27  Wim Taymans  <wim@fluendo.com>
1284
1285         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1286         (gst_base_sink_do_sync), (gst_base_sink_get_position):
1287         Some more debugging.
1288
1289         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1290         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
1291         (gst_base_transform_event), (gst_base_transform_getrange),
1292         (gst_base_transform_chain):
1293         * gst/base/gstbasetransform.h:
1294         Fix debugging,
1295         Protect transform and concurrent buffer alloc with a new lock.
1296         Try not to break ABI/API.
1297
1298 2005-10-27  Wim Taymans  <wim@fluendo.com>
1299
1300         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1301         (gst_base_src_init), (gst_base_src_query),
1302         (gst_base_src_default_newsegment),
1303         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1304         (gst_base_src_send_event), (gst_base_src_event_handler),
1305         (gst_base_src_pad_get_range), (gst_base_src_loop),
1306         (gst_base_src_unlock), (gst_base_src_default_negotiate),
1307         (gst_base_src_start), (gst_base_src_deactivate),
1308         (gst_base_src_activate_push), (gst_base_src_change_state):
1309         Move some stuff around and cleanup things.
1310
1311 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
1312
1313         * gst/base/gstbasesrc.c: (gst_base_src_query):
1314           Add missing break statements.
1315
1316 2005-10-27  Wim Taymans  <wim@fluendo.com>
1317
1318         * check/gst/gstbin.c: (GST_START_TEST):
1319         An extra refcount is taken in basesrc.
1320
1321         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1322         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1323         (gst_base_src_loop):
1324         Small cleanups, check for flushing after being unlocked from the 
1325         LIVE_LOCK. take refcounts correctly (not yet everywhere).
1326         Don't send out EOS when going to READY.
1327
1328 2005-10-27  Wim Taymans  <wim@fluendo.com>
1329
1330         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1331         (gst_base_sink_get_position):
1332         Some more debug.
1333
1334         * gst/gstbin.c: (message_check), (bin_replace_message),
1335         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1336         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1337         (bin_query_duration_init), (bin_query_duration_fold),
1338         (bin_query_duration_done), (bin_query_generic_fold),
1339         (gst_bin_query):
1340         * tools/gst-launch.c: (main):
1341         Remove old option.
1342
1343 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
1344
1345         * examples/controller/audio-example.c: (main):
1346         * examples/queue/queue.c: (event_loop):
1347         * gst/base/gstbasetransform.h:
1348         * gst/gstelement.c: (gst_element_send_event):
1349         * gst/gstevent.h:
1350         * gst/gstpad.c: (gst_pad_send_event):
1351           fixing examples
1352           fixing docs typos
1353           changing log priority in error situations
1354
1355 2005-10-25  Wim Taymans  <wim@fluendo.com>
1356
1357         * gst/gstbin.c: (message_check), (bin_replace_message),
1358         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1359         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1360         (bin_query_duration_init), (bin_query_duration_fold),
1361         (bin_query_duration_done), (bin_query_generic_fold),
1362         (gst_bin_query):
1363         Some doc and debug updates.
1364         Cache previously requested query DURATION for speed. invalidate
1365         cached duration if element posts a DURATION message.
1366
1367 2005-10-25  Wim Taymans  <wim@fluendo.com>
1368
1369         * docs/design/part-TODO.txt:
1370         Update TODO.
1371
1372         * gst/gstbin.c: (message_check), (bin_replace_message),
1373         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1374         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1375         (bin_query_duration_init), (bin_query_duration_fold),
1376         (bin_query_duration_done), (bin_query_generic_fold),
1377         (gst_bin_query):
1378         Handle SEGMENT_START/DONE messages correctly.
1379         More evolved query algorithm that handles duration queries
1380         correctly.
1381
1382         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
1383         (gst_element_get_state_func), (gst_element_abort_state),
1384         (gst_element_commit_state), (gst_element_lost_state):
1385         Some more debugging.
1386
1387         * gst/gstmessage.h:
1388         Added doc.
1389
1390 2005-10-25  Wim Taymans  <wim@fluendo.com>
1391
1392         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1393         Don't use invalid stream_time.
1394
1395         * gst/gstevent.c: (gst_event_new_newsegment):
1396         stream_time in newsegment cannot be undefined.
1397
1398 2005-10-24  Wim Taymans  <wim@fluendo.com>
1399
1400         * gst/gstbus.c:
1401         Doc fix.
1402
1403         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1404         (gst_queue_loop):
1405         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
1406
1407 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
1408
1409         * docs/libs/tmpl/gstdparam.sgml:
1410         * docs/libs/tmpl/gstdplinint.sgml:
1411         * docs/libs/tmpl/gstdpman.sgml:
1412         * docs/libs/tmpl/gstdpsmooth.sgml:
1413         * docs/libs/tmpl/gstunitconvert.sgml:
1414           these are obsolete
1415
1416 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1417
1418         * configure.ac:
1419           back to HEAD
1420
1421 === release 0.9.4 ===
1422
1423 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1424
1425         * configure.ac:
1426           releasing 0.9.4, "Tyrannosaurus Rex"
1427
1428 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
1429
1430         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
1431         (gst_file_sink_get_current_offset):
1432           Use fseeko() and ftello() if available. When falling back on
1433           lseek() to get the current offset, fflush() first to make sure
1434           everything is up-to-date and we get the right offset.
1435
1436 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1437
1438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1439         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1440         * gst/gsterror.c: (_gst_stream_errors_init):
1441         * gst/gsterror.h:
1442         * gst/gstqueue.c: (gst_queue_loop):
1443         * po/POTFILES.in:
1444           remove prematurely added error category and clean up the instances
1445
1446 2005-10-21  Wim Taymans  <wim@fluendo.com>
1447
1448         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1449         (gst_base_sink_get_position), (gst_base_sink_query),
1450         (gst_base_sink_change_state):
1451         Simply set the right flag when going to playing, that's all
1452         we need to do instead of calling a function inside the object
1453         lock (that could take the lock as well and deadlock)
1454
1455 2005-10-21  Wim Taymans  <wim@fluendo.com>
1456
1457         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
1458         (gst_base_src_loop):
1459         Don't warn, the peer element knows what to do best when
1460         the seek failed, it might try something else.
1461
1462 2005-10-21  Wim Taymans  <wim@fluendo.com>
1463
1464         * gst/base/gstbasesrc.c: (gst_base_src_init),
1465         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1466         Fix seeking.
1467
1468 2005-10-21  Wim Taymans  <wim@fluendo.com>
1469
1470         * docs/design/part-segments.txt:
1471         More docs.
1472
1473         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1474         Correctly set caps, even on the subbufer.
1475
1476 2005-10-21  Wim Taymans  <wim@fluendo.com>
1477
1478         * docs/gst/gstreamer-docs.sgml:
1479         * docs/gst/gstreamer-sections.txt:
1480         * gst/gstelement.h:
1481         * gst/gstevent.c:
1482         * gst/gstevent.h:
1483         * gst/gstmessage.h:
1484         * gst/gstpad.h:
1485         * gst/gstparse.h:
1486         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
1487         * gst/gsttask.h:
1488         * gst/gstutils.c:
1489         * gst/gstutils.h:
1490         And 2% more doc coverage.
1491
1492 2005-10-21  Andy Wingo  <wingo@pobox.com>
1493
1494         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
1495         position reporting.
1496
1497 2005-10-20  Wim Taymans  <wim@fluendo.com>
1498
1499         * gst/gsterror.c: (gst_error_get_message):
1500         * gst/gstparse.h:
1501         * gst/gstquery.h:
1502         * gst/gststructure.c:
1503         * gst/gsttrace.c:
1504         * gst/gstutils.c:
1505         More docs.
1506
1507 2005-10-20  Wim Taymans  <wim@fluendo.com>
1508
1509         * gst/gstbuffer.h:
1510         * gst/gstpad.c:
1511         * gst/gstparse.c:
1512         Another 1% more coverage.
1513
1514 2005-10-20  Wim Taymans  <wim@fluendo.com>
1515
1516         * docs/gst/gstreamer-sections.txt:
1517         * gst/gstelement.c: (gst_element_get_state_func),
1518         (gst_element_abort_state), (gst_element_commit_state),
1519         (gst_element_lost_state):
1520         * gst/gstevent.h:
1521         * gst/gstquery.c: (gst_query_set_position),
1522         (gst_query_parse_position), (gst_query_set_duration),
1523         (gst_query_parse_duration), (gst_query_new_convert):
1524         * gst/gstutils.c:
1525         Yay! 1% more docs coverage.
1526
1527 2005-10-20  Wim Taymans  <wim@fluendo.com>
1528
1529         * gst/gstpad.h:
1530         * gst/gstquery.c: (gst_query_set_position),
1531         (gst_query_parse_position), (gst_query_set_duration),
1532         (gst_query_parse_duration), (gst_query_new_convert):
1533         * gst/gstquery.h:
1534         * gst/gstutils.c: (gst_element_query_convert):
1535         * gst/gstutils.h:
1536         Docs and consistency fixes.
1537
1538 2005-10-20  Wim Taymans  <wim@fluendo.com>
1539
1540         * gst/gsttask.c:
1541         * gst/gsttask.h:
1542         More docs.
1543
1544 2005-10-20  Wim Taymans  <wim@fluendo.com>
1545
1546         * gst/gstbin.c: (message_check), (bin_replace_message),
1547         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1548         (update_degree), (gst_bin_sort_iterator_next),
1549         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
1550         Reworked the message handling a bit, cache the messages instead of
1551         only the senders. alows us to do more in the future.
1552
1553 2005-10-20  Wim Taymans  <wim@fluendo.com>
1554
1555         * docs/design/part-TODO.txt:
1556         Update TODO
1557
1558         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1559         (gst_base_sink_query):
1560         Don't use clock time to report position when in EOS.
1561
1562 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
1563
1564         * tools/gst-inspect.c: (print_interfaces),
1565         (print_element_properties_info), (print_element_info):
1566           Fix interface output with gst-inspect -a; don't print
1567           newlines after double/float properties.
1568
1569 2005-10-20  Wim Taymans  <wim@fluendo.com>
1570
1571         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1572         (gst_base_sink_query):
1573         Speed up current position calculation.
1574
1575         * gst/base/gstbasesrc.c: (gst_base_src_query),
1576         (gst_base_src_default_newsegment):
1577         Correctly set stream position in newsegment.
1578
1579         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
1580         (update_degree), (gst_bin_sort_iterator_next),
1581         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
1582         * gst/gstmessage.c: (gst_message_new_custom):
1583         Clean up debugging info
1584
1585         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1586         (gst_queue_loop), (gst_queue_handle_src_query):
1587         Pause task faster.
1588
1589 2005-10-19  Wim Taymans  <wim@fluendo.com>
1590
1591         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1592         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1593         Fix query handling again.
1594
1595 2005-10-19  Wim Taymans  <wim@fluendo.com>
1596
1597         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1598         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1599         * gst/base/gstbasesrc.c: (gst_base_src_query):
1600         * gst/elements/gstfilesink.c: (gst_file_sink_query):
1601         * gst/elements/gsttypefindelement.c:
1602         (gst_type_find_handle_src_query), (find_element_get_length),
1603         (gst_type_find_element_activate):
1604         API change fix.
1605
1606         * gst/gstquery.c: (gst_query_new_position),
1607         (gst_query_set_position), (gst_query_parse_position),
1608         (gst_query_new_duration), (gst_query_set_duration),
1609         (gst_query_parse_duration), (gst_query_set_segment),
1610         (gst_query_parse_segment):
1611         * gst/gstquery.h:
1612         Bundling query position/duration is not a good idea since duration
1613         does not change much and we don't want to recalculate it for every
1614         position query, so they are separated again..
1615         Base value in segment query is not needed.
1616
1617         * gst/gstqueue.c: (gst_queue_handle_src_query):
1618         * gst/gstutils.c: (gst_element_query_position),
1619         (gst_element_query_duration), (gst_pad_query_position),
1620         (gst_pad_query_duration):
1621         * gst/gstutils.h:
1622         Updates for query API change.
1623         Added some docs here and there.
1624
1625 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1626
1627         * check/gst/gstbin.c: (GST_START_TEST):
1628         * check/gst/gstghostpad.c: (GST_START_TEST):
1629         * check/pipelines/cleanup.c: (GST_START_TEST):
1630           wait on thread to die so we can check refcount correctly
1631
1632 2005-10-18  Wim Taymans  <wim@fluendo.com>
1633
1634         * check/pipelines/stress.c: (GST_START_TEST):
1635         Make check a little more time consuming.
1636
1637 2005-10-18  Wim Taymans  <wim@fluendo.com>
1638
1639         * check/Makefile.am:
1640         * check/pipelines/stress.c: (GST_START_TEST),
1641         (simple_launch_lines_suite), (main):
1642         Small state change torture test.
1643
1644         * docs/design/part-states.txt:
1645         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1646         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
1647         (gst_base_sink_change_state):
1648         Never take state lock from streaming thread, clean up ugly
1649         hacks. Unfortunatly core does not yet support nice ways to
1650         async commit state.
1651         
1652         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
1653         (bin_bus_handler):
1654         Start state recalc if a STATE_DIRTY message is posted, but only
1655         on the toplevel bin.
1656
1657         * gst/gstelement.c: (gst_element_sync_state_with_parent),
1658         (gst_element_get_state_func), (gst_element_abort_state),
1659         (gst_element_commit_state), (gst_element_lost_state),
1660         (gst_element_set_state_func), (gst_element_change_state):
1661         * gst/gstelement.h:
1662         State variables are now protected with the LOCK, the state
1663         lock is only used to serialize _set_state().
1664
1665 2005-10-18  Wim Taymans  <wim@fluendo.com>
1666
1667         * check/gst/gstbin.c: (GST_START_TEST):
1668         * check/gst/gstmessage.c: (GST_START_TEST):
1669         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1670         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
1671         (bin_bus_handler):
1672         * gst/gstelement.c: (gst_element_abort_state),
1673         (gst_element_commit_state), (gst_element_lost_state):
1674         * gst/gstmessage.c: (gst_message_new_state_changed),
1675         (gst_message_new_state_dirty), (gst_message_new_segment_start),
1676         (gst_message_new_segment_done), (gst_message_new_duration),
1677         (gst_message_parse_state_changed),
1678         (gst_message_parse_segment_start),
1679         (gst_message_parse_segment_done), (gst_message_parse_duration):
1680         * gst/gstmessage.h:
1681         * tools/gst-launch.c: (event_loop):
1682         Seriously, this is better than a previous commit as we only need
1683         to notify the fact that an element changed state in a streaming
1684         thread, marking the state of the parents dirty, hence the 
1685         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
1686         message.
1687
1688 2005-10-18  Wim Taymans  <wim@fluendo.com>
1689
1690         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
1691         (gst_bin_recalc_func):
1692         * gst/gstelement.c: (gst_element_set_clock),
1693         (gst_element_abort_state), (gst_element_lost_state):
1694         Cleanups, prepare for state change fixes.
1695
1696 2005-10-18  Wim Taymans  <wim@fluendo.com>
1697
1698         * gst/gstbin.h:
1699         * gst/gstelement.c: (gst_element_class_init),
1700         (gst_element_set_state), (gst_element_set_state_func):
1701         * gst/gstelement.h:
1702         Pending ABI changes.
1703         GThreadPool in GstBinClass to monitor async state changes.
1704         state_cookie in GstElement to detect concurrent gst/set state.
1705         set_state is now virtual too in case a very complicated element
1706         has to be constructed.
1707
1708 2005-10-18  Wim Taymans  <wim@fluendo.com>
1709
1710         * check/gst/gstbin.c: (GST_START_TEST):
1711         * check/gst/gstmessage.c: (GST_START_TEST):
1712         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1713         * gst/gstbin.c: (bin_bus_handler):
1714         * gst/gstelement.c: (gst_element_commit_state),
1715         (gst_element_lost_state):
1716         * gst/gstmessage.c: (gst_message_new_state_changed),
1717         (gst_message_new_segment_start), (gst_message_new_segment_done),
1718         (gst_message_new_duration), (gst_message_parse_state_changed),
1719         (gst_message_parse_segment_start),
1720         (gst_message_parse_segment_done), (gst_message_parse_duration):
1721         * gst/gstmessage.h:
1722         * tools/gst-launch.c: (event_loop):
1723         Make messages future proof.
1724         state-change gets a flag if it was a message comming from the
1725         streaming thread.
1726         segment-start/stop can also be specified in other formats.
1727         A message to notify an app that a pipeline changed playback 
1728         duration.
1729         Also fix a GstMessage leak in -launch
1730
1731 2005-10-18  Andy Wingo  <wingo@pobox.com>
1732
1733         * gst/gstelement.c (gst_element_dispose): More helpful message.
1734
1735 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1736
1737         reviewed by: <delete if not using a buddy>
1738
1739         * common/gtk-doc.mak:
1740
1741 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1742
1743         * gst/gstregistry.c: (gst_registry_scan_path_level):
1744           unref a plug-in we get that was already initialized
1745
1746 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
1747
1748         * docs/gst/gstreamer-sections.txt:
1749         * docs/libs/gstreamer-libs-sections.txt:
1750         * gst/gstelement.h:
1751           add new api entries
1752           hide internal macro
1753
1754 2005-10-17  Andy Wingo  <wingo@pobox.com>
1755
1756         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
1757         cleanup.
1758
1759         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
1760
1761         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
1762
1763         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
1764         (gst_element_get_state_func): Better debug message.
1765         (gst_element_commit_state): s/INFO/DEBUG/.
1766         (gst_element_lost_state, gst_element_change_state): 
1767
1768         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
1769         (gst_message_new_custom): s/INFO/LOG/.
1770
1771 2005-10-17  Michael Smith <msmith@fluendo.com>
1772
1773         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1774           Check if end time is valid using end time, not start time.
1775
1776 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
1777
1778         * check/gst-libs/controller.c: (GST_START_TEST),
1779         (gst_controller_suite):
1780         * libs/gst/controller/gstcontroller.c:
1781         (gst_controlled_property_set_interpolation_mode):
1782         * libs/gst/controller/gstcontroller.h:
1783         * libs/gst/controller/gstinterpolation.c:
1784         * testsuite/controller/.cvsignore:
1785         * testsuite/controller/Makefile.am:
1786         * testsuite/controller/interpolator.c:
1787           merge controller testsuites
1788           fix broken tests
1789           remove mem-chunk from docs
1790
1791 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1792
1793         * gst/gstmemchunk.c:
1794         * gst/gstmemchunk.h:
1795         * gst/gsttrashstack.c:
1796         * gst/gsttrashstack.h:
1797           out.  get out.  you're fired.  to the Attic !
1798
1799 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1800
1801         * gst/gstcaps.c: (gst_caps_intersect):
1802           fix signedness issues in a (hopefully) correct way
1803         * gst/gstelement.c: (gst_element_pads_activate):
1804           some debugging
1805         * gst/gstobject.c: (gst_object_set_parent):
1806           some debugging
1807
1808 2005-10-17  Julien MOUTTE  <julien@moutte.net>
1809
1810         * gst/gstvalue.h: Fix prototypes.
1811
1812 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1813
1814         * docs/gst/gstreamer-sections.txt:
1815         * gst/gst.c: (gst_version_string):
1816         * gst/gst.h:
1817         * gst/gstversion.h.in:
1818         * win32/common/libgstreamer.def:
1819           add gst_version_string ()
1820
1821 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1822
1823         * configure.ac:
1824           clean up further
1825         * gst/gst.c: (init_post):
1826         * win32/common/config.h.in:
1827           it's PLUGINDIR now
1828         * gst/gstcaps.c: (gst_caps_intersect):
1829           use gint64, the range could be bigger than a guint
1830
1831 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1832
1833         * gst/gstclock.h:
1834           document potential problem in 2038
1835
1836 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1837
1838         * gst/gstcaps.c: (gst_caps_intersect):
1839           Fix guint j diving under 0
1840
1841 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1842
1843         * configure.ac:
1844         * win32/common/config.h:
1845         * win32/common/config.h.in:
1846           check for process.h, declares getpid() on Windows
1847         * gst/gstinfo.c:
1848           include process.h if we have it
1849         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
1850         * gst/gstmemchunk.h:
1851           fix signedness issues
1852         * win32/common/libgstreamer.def:
1853           fix get_type's
1854
1855 2005-10-16  Julien MOUTTE  <julien@moutte.net>
1856
1857         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
1858         fix. Because of unsigned ints, caps intersection was going nuts and
1859         trying to access structures with G_MAXUINT index. That fixes
1860         videotestsrc ! ffmpegcolorspace ! fakesink
1861         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
1862         consistency.
1863
1864 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1865
1866         * configure.ac:
1867           use the gettext macro
1868         * gst/elements/gstelements.c:
1869         * gst/gst.c:
1870         * gst/indexers/gstindexers.c:
1871           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
1872         * win32/common/config.h:
1873           updated config.h
1874         * win32/common/config.h.in:
1875           add the template to generate config.h
1876         * win32/common/gstenumtypes.c:
1877         * win32/common/gstversion.h:
1878           updated copies
1879
1880 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1881
1882         * gst/gst.c: (gst_version):
1883         * gst/gstversion.h.in:
1884           add the nano
1885
1886 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
1887
1888         * gst/gstevent.h:
1889           Oops, add missing closing bracket.
1890
1891 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1892
1893         * configure.ac:
1894           use common m4's for argument checking
1895
1896 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
1897
1898         * docs/gst/gstreamer-sections.txt:
1899         * gst/gstevent.h:
1900           Add GST_EVENT_TYPE_NAME() macro.
1901
1902 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1903
1904         * gst/gstinfo.c:
1905         * gst/gstpluginfeature.c:
1906         * gst/gsttask.c:
1907           privatize more symbols
1908
1909 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * configure.ac:
1912           add srcdir, builddir includes to GST_ALL_CFLAGS, since
1913           everything that uses GStreamer API should have the includes
1914
1915 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1916
1917         * docs/gst/gstreamer-sections.txt:
1918         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1919         * gst/gstvalue.h:
1920           give each value a _get_type, removes the DATA exports
1921
1922 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1923
1924         * gst/gst.c:
1925         * gst/gst.h:
1926           remove _gst_registry_auto_load, not used anymore
1927         * gst/gstbin.c: (gst_bin_get_type):
1928         * gst/gstbin.h:
1929         * gst/gstelement.c: (gst_element_get_type):
1930         * gst/gstelement.h:
1931         * gst/gstobject.c: (gst_object_get_type):
1932         * gst/gstobject.h:
1933         * gst/gstpad.c: (gst_pad_get_type):
1934         * gst/gstpad.h:
1935           make _get_type functions similar, fixes data export from library
1936
1937 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1938
1939         * configure.ac:
1940           correctly make conditionals
1941         * gst/elements/Makefile.am:
1942         * gst/elements/gstelements.c:
1943           fix typo causing fdsrc not to build
1944
1945 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1946
1947         * testsuite/Makefile.am:
1948         * testsuite/bytestream/.cvsignore:
1949         * testsuite/bytestream/Makefile.am:
1950         * testsuite/bytestream/filepadsink.c:
1951         * testsuite/bytestream/gstbstest.c:
1952         * testsuite/bytestream/test1.c:
1953         * testsuite/bytestream/testfile1:
1954         * testsuite/caps/normalisation.c:
1955         * testsuite/caps/random.c: (main):
1956         * testsuite/cleanup/.cvsignore:
1957         * testsuite/cleanup/Makefile.am:
1958         * testsuite/cleanup/cleanup1.c:
1959         * testsuite/cleanup/cleanup2.c:
1960         * testsuite/cleanup/cleanup3.c:
1961         * testsuite/cleanup/cleanup4.c:
1962         * testsuite/cleanup/cleanup5.c:
1963         * testsuite/controller/interpolator.c:
1964         * testsuite/debug/printf_extension.c: (main):
1965         * testsuite/elements/tee.c:
1966         * testsuite/negotiation/.cvsignore:
1967         * testsuite/negotiation/Makefile.am:
1968         * testsuite/negotiation/pad_link.c:
1969         * testsuite/pad/Makefile.am:
1970         * testsuite/pad/chainnopull.c:
1971         * testsuite/pad/getnopush.c:
1972         * testsuite/pad/link.c:
1973         * testsuite/refcounting/sched.c: (create_pipeline):
1974         * testsuite/registry/Makefile.am:
1975         * testsuite/registry/gst-print-formats.c:
1976         * testsuite/schedulers/.cvsignore:
1977         * testsuite/schedulers/142183-2.c:
1978         * testsuite/schedulers/142183.c:
1979         * testsuite/schedulers/143777-2.c:
1980         * testsuite/schedulers/143777.c:
1981         * testsuite/schedulers/147713.c:
1982         * testsuite/schedulers/147819.c:
1983         * testsuite/schedulers/147894-2.c:
1984         * testsuite/schedulers/147894.c:
1985         * testsuite/schedulers/Makefile.am:
1986         * testsuite/schedulers/group_link.c:
1987         * testsuite/schedulers/queue_link.c:
1988         * testsuite/schedulers/relink.c:
1989         * testsuite/schedulers/unlink.c:
1990         * testsuite/schedulers/unref.c:
1991         * testsuite/schedulers/useless_iteration.c:
1992         * testsuite/states/bin.c:
1993           clean out/remove some stuff from the testsuite directories
1994
1995 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1996
1997         * configure.ac:
1998           check for some headers
1999         * gst/elements/Makefile.am:
2000         * gst/elements/gstelements.c:
2001           don't compile fdsrc without sys/socket.h
2002         * gst/indexers/Makefile.am:
2003         * gst/indexers/gstindexers.c: (plugin_init):
2004           don't compile fileindex without mmap
2005
2006 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2007
2008         * configure.ac:
2009           reorganize
2010           clean up
2011           document more
2012           remove cruft
2013         * check/Makefile.am:
2014         * docs/gst/Makefile.am:
2015         * examples/helloworld/Makefile.am:
2016         * gst/Makefile.am:
2017         * gst/base/Makefile.am:
2018         * gst/check/Makefile.am:
2019         * gst/elements/Makefile.am:
2020         * gst/indexers/Makefile.am:
2021         * gst/parse/Makefile.am:
2022         * libs/gst/controller/Makefile.am:
2023         * libs/gst/dataprotocol/Makefile.am:
2024         * examples/helloworld/helloworld.c: (event_loop):
2025           compile fixes, though it's not being compiled currently
2026
2027 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2028
2029         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2030           Add some simple tests for the new taglist date API.
2031
2032 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2033
2034         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2035         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2036           Beautify 'last-message' output: print 'none' for buffer timestamps
2037           and durations if none is set; improve alignment with next messages.
2038
2039 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2040
2041         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2042         * gst/gstpluginfeature.h:
2043         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2044         * gst/gstregistry.h:
2045         * docs/gst/gstreamer-sections.txt:
2046           Add new API to check plugin feature version requirements.
2047
2048         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2049           Some basic tests for the above.         
2050
2051 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2052
2053         * gst/gststructure.c: (gst_structure_to_string):
2054           guard against NULL printf - happens when for example
2055           a message structure with GstClock gets serialized
2056
2057 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2058
2059         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2060           Fix presumable copy'n'pasto.
2061
2062 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2063
2064         * gst/elements/gstfakesrc.h:
2065         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2066         * gst/elements/gsttypefindelement.c:
2067           fix some signedness
2068         * gst/elements/gstfilesink.c: (gst_file_sink_render):
2069           I wonder if this could actually write +2GB files before
2070
2071 2005-10-13  Andy Wingo  <wingo@pobox.com>
2072
2073         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2074         Fix Timmeke Waymans bug.
2075         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2076         string of the proper length to gst_caps_from_string. There's a
2077         potential for, before this fix, that this could cause someone
2078         connecting over the network to cause a segfault if the payload is
2079         not NUL-terminated.
2080
2081 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2082
2083         * docs/design/draft-push-pull.txt:
2084         * docs/design/part-overview.txt:
2085         * docs/random/TODO-pre-0.9:
2086         * docs/random/old/ChangeLog.gstreamer:
2087         * gst/base/gstpushsrc.c:
2088         * gst/gstclock.c:
2089           fixed typos
2090
2091 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2092
2093         * gst/glib-compat.c: (gst_flags_get_first_value):
2094         * gst/glib-compat.h:
2095         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2096         (gst_value_compare_double), (gst_value_serialize_flags):
2097           GLib 2.6 g_flags_get_first_value has a bug that triggers an
2098           infinite loop
2099
2100 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2101
2102         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2103         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2104           fix up debugging
2105         * tools/gst-launch.c: (event_loop):
2106           print out clock nicely
2107
2108 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2109
2110         * docs/gst/gstreamer-sections.txt:
2111         * gst/gsttaglist.h:
2112         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2113         (gst_tag_list_get_date_index):
2114           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2115           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2116
2117 2005-10-13  Julien MOUTTE  <julien@moutte.net>
2118
2119         * gst/base/gstcollectpads.c: (gst_collectpads_event),
2120         (gst_collectpads_chain):
2121         * gst/base/gstcollectpads.h: Handle newsegment and store informations
2122         in CollectData.
2123
2124 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2125
2126         * docs/gst/gstreamer-sections.txt:
2127         * gst/gst.c:
2128         * gst/gsterror.h:
2129         * tools/gst-inspect.c: (main):
2130         * tools/gst-launch.c: (main):
2131         * tools/gst-run.c: (main):
2132         * tools/gst-xmlinspect.c: (main):
2133           fix GOption context leaks
2134           doc fixes
2135
2136 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2137
2138         * gst/gstbus.c:
2139           use HAVE_UNISTD_H
2140         * win32/common/config.h:
2141           update config
2142         * win32/vs6/grammar.dsp:
2143         * win32/vs6/libgstelements.dsp:
2144         * win32/vs6/libgstreamer.dsp:
2145           update vs6 files
2146
2147 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2148
2149         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2150         * gst/base/gstbasesrc.c: (gst_base_src_query):
2151           fix more guint64<->gdouble conversions
2152
2153 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2154
2155         * Makefile.am:
2156           add win32-update target
2157         * win32/common/gstconfig.h:
2158         * win32/common/gstenumtypes.c:
2159         * win32/common/gstenumtypes.h:
2160         * win32/common/gstversion.h:
2161           add files that visual studio can't generate
2162
2163 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2164
2165         * Makefile.am:
2166           add a win32-update target
2167         * configure.ac:
2168
2169 2005-10-12  Wim Taymans  <wim@fluendo.com>
2170
2171         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2172         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
2173         * gst/gstelement.c: (gst_element_commit_state),
2174         (gst_element_set_state):
2175         Protect flags with proper lock.
2176         unref provided cached clock in dispose.
2177
2178 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2179
2180         * gst/gst.c:
2181         * gst/gstminiobject.h:
2182         * gst/gstpad.h:
2183         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
2184           removed unused flags from miniobject
2185           doc fixes
2186
2187 2005-10-12  Wim Taymans  <wim@fluendo.com>
2188
2189         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2190         (gst_file_sink_event), (gst_file_sink_render):
2191         Flush before seeking.
2192
2193 2005-10-12  Andy Wingo  <wingo@pobox.com>
2194
2195         * gst/gst.c (gst_init_check): Ignore unknown options, as has
2196         always been the case.
2197
2198 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2199
2200         * check/gst/gstbin.c: (GST_START_TEST):
2201         * docs/gst/gstreamer-sections.txt:
2202         * gst/base/gstbasesink.c: (gst_base_sink_init):
2203         * gst/base/gstbasesrc.c: (gst_base_src_init),
2204         (gst_base_src_get_range), (gst_base_src_check_get_range),
2205         (gst_base_src_start), (gst_base_src_stop):
2206         * gst/base/gstbasesrc.h:
2207         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
2208         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2209         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
2210         (bin_bus_handler):
2211         * gst/gstbin.h:
2212         * gst/gstbuffer.h:
2213         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
2214         * gst/gstbus.h:
2215         * gst/gstelement.c: (gst_element_is_locked_state),
2216         (gst_element_set_locked_state), (gst_element_commit_state),
2217         (gst_element_set_state):
2218         * gst/gstelement.h:
2219         * gst/gstindex.c: (gst_index_init):
2220         * gst/gstindex.h:
2221         * gst/gstminiobject.h:
2222         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
2223         (gst_object_set_parent):
2224         * gst/gstobject.h:
2225         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
2226         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
2227         * gst/gstpad.h:
2228         * gst/gstpadtemplate.h:
2229         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
2230         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2231         * gst/gstpipeline.h:
2232         * gst/indexers/gstfileindex.c: (gst_file_index_load),
2233         (gst_file_index_commit):
2234         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
2235         * testsuite/pad/link.c: (gst_test_src_init),
2236         (gst_test_filter_init), (gst_test_sink_init):
2237         * testsuite/states/locked.c: (main):
2238           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
2239           moved bitshift from macro to enum definition
2240
2241 2005-10-12  Wim Taymans  <wim@fluendo.com>
2242
2243         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
2244         * gst/elements/gstfilesink.c: (gst_file_sink_event),
2245         (gst_file_sink_render):
2246         Some more debugging info.
2247
2248 2005-10-12  Wim Taymans  <wim@fluendo.com>
2249
2250         * docs/design/part-states.txt:
2251         * tools/gst-launch.c: (main):
2252         Some doc updates.
2253         Revert non-intentional change.
2254
2255 2005-10-12  Wim Taymans  <wim@fluendo.com>
2256
2257         * check/gst/gstbin.c: (GST_START_TEST):
2258         * check/gst/gstelement.c: (GST_START_TEST):
2259         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
2260         * check/gst/gstghostpad.c: (GST_START_TEST):
2261         * check/gst/gstpipeline.c: (GST_START_TEST):
2262         * check/pipelines/simple_launch_lines.c: (run_pipeline):
2263         * check/states/sinks.c: (GST_START_TEST):
2264         * gst/elements/gsttypefindelement.c: (stop_typefinding):
2265         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2266         (gst_bin_remove_func), (gst_bin_get_state_func),
2267         (gst_bin_recalc_state), (gst_bin_change_state_func),
2268         (bin_bus_handler):
2269         * gst/gstelement.c: (gst_element_get_state_func),
2270         (gst_element_get_state), (gst_element_abort_state),
2271         (gst_element_commit_state), (gst_element_set_state),
2272         (gst_element_change_state), (gst_element_change_state_func):
2273         * gst/gstelement.h:
2274         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
2275         (gst_pipeline_provide_clock_func):
2276         * gst/gstutils.c: (gst_element_link_pads_filtered):
2277         * tools/gst-launch.c: (main):
2278         * tools/gst-typefind.c: (main):
2279         Use GstClockTime in _get_state() instead of GTimeVal.
2280         Remove old code in gstutils.c
2281
2282 2005-10-12  Andy Wingo  <wingo@pobox.com>
2283
2284         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
2285         removed.
2286
2287         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
2288         there is no task. Shouldn't affect any code, as nothing in our
2289         plugins checks this return value.
2290         (gst_pad_stop_task): Also take the stream lock if the pad has no
2291         task. Docs updated.
2292
2293 2005-10-12  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/gstpad.c: (pre_activate), (post_activate),
2296         (gst_pad_activate_pull), (gst_pad_activate_push):
2297         Cleanup activation code. Reset old state if
2298         activation failed.
2299
2300 2005-10-12  Wim Taymans  <wim@fluendo.com>
2301
2302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2303         (gst_base_sink_change_state):
2304         No need to prerol after receiving EOS.
2305
2306         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
2307         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
2308         * gst/elements/gstidentity.c: (gst_identity_event):
2309         Print events more verbosely.
2310
2311 2005-10-12  Wim Taymans  <wim@fluendo.com>
2312
2313         * check/Makefile.am:
2314         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2315         * check/states/sinks2.c:
2316         Moved sinks2 testcode in sinks check.
2317
2318         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2319         (gst_bin_remove_func), (gst_bin_recalc_state),
2320         (gst_bin_change_state_func), (bin_bus_handler):
2321         Fix potential race condition when _get_state() iterated over an
2322         ASYNC element right before it posted a state completion.
2323
2324         * gst/gstclock.h:
2325         Do proper cast here.
2326
2327         * gst/gstevent.c: (gst_event_new_newsegment),
2328         (gst_event_parse_newsegment):
2329         A playback rate of 0.0 is not allowed.
2330
2331 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2332
2333         * win32/common/config.h:
2334         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
2335         (_trewinddir), (_ttelldir), (_tseekdir):
2336         * win32/common/dirent.h:
2337         * win32/common/gtchar.h:
2338         * win32/common/libgstbase.def:
2339         * win32/common/libgstreamer.def:
2340         * win32/vs6/grammar.dsp:
2341         * win32/vs6/gst_inspect.dsp:
2342         * win32/vs6/gst_launch.dsp:
2343         * win32/vs6/gstreamer.dsw:
2344         * win32/vs6/libgstbase.dsp:
2345         * win32/vs6/libgstelements.dsp:
2346         * win32/vs6/libgstreamer.dsp:
2347           Visual Studio 6 project files, and a new common directory.
2348           Phear.
2349
2350 2005-10-11  Wim Taymans  <wim@fluendo.com>
2351
2352         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2353         (gst_base_sink_do_sync), (gst_base_sink_query),
2354         (gst_base_sink_change_state):
2355         * gst/base/gstbasesink.h:
2356         Correctly parse newsegment info.
2357
2358 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2359
2360         * gst/gst.c: (init_post):
2361           split plugin paths correctly
2362
2363 2005-10-11  Wim Taymans  <wim@fluendo.com>
2364
2365         * check/gst/gstevent.c: (GST_START_TEST):
2366         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2367         (gst_base_sink_change_state):
2368         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
2369         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2370         * gst/elements/gstfilesink.c: (gst_file_sink_event):
2371         * gst/gstevent.c: (gst_event_new_newsegment),
2372         (gst_event_parse_newsegment):
2373         * gst/gstevent.h:
2374         Added extra flag to newsegment for future API freeze.
2375         Updated check and base elements.
2376
2377 2005-10-11  Julien MOUTTE  <julien@moutte.net>
2378
2379         * gst/base/gstcollectpads.c: (gst_collectpads_init),
2380         (gst_collectpads_add_pad), (gst_collectpads_pop),
2381         (gst_collectpads_event), (gst_collectpads_chain):
2382         * gst/base/gstcollectpads.h: Handle EOS correctly.
2383
2384 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2385
2386         * tools/gst-launch.c: (main):
2387           more null protecting
2388
2389 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2390
2391         * gst/gst-i18n-lib.h:
2392           check for ENABLE_NLS, not GETTEXT_PACKAGE
2393         * gst/gstregistry.c: (gst_registry_add_plugin),
2394         (gst_registry_scan_path_level),
2395         (_gst_registry_remove_cache_plugins):
2396           protect possibly NULL strings
2397         * gst/parse/types.h:
2398           config.h already included before
2399         * tools/gst-inspect.c: (main):
2400           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
2401           check for ENABLE_NLS, not GETTEXT_PACKAGE
2402         * tools/gst-launch.c: (main):
2403           check for ENABLE_NLS, not GETTEXT_PACKAGE
2404
2405 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2406
2407         * configure.ac:
2408           if we don't have glib, fail before testing 2.8
2409         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
2410           fix a leak, should fix plugins-base testsuite
2411
2412 2005-10-11  Andy Wingo  <wingo@pobox.com>
2413
2414         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
2415         take the mode we're going to as an arg. Go head and set the mode
2416         and flushing flags now, so that if the activate function starts a
2417         thread all the flags will be in the right state.
2418         (post_activate): Renamed also. Just handle making sure streaming
2419         finishes for the deactivation case, and setting the deactivated
2420         mode.
2421         (gst_pad_set_active): Complain loudly if deactivation fails.
2422         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
2423         (gst_pad_activate_push): Adapt to pre/post_activate changes,
2424         remove the terrible hack.
2425
2426 2005-10-11  Wim Taymans  <wim@fluendo.com>
2427
2428         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2429         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
2430         (gst_bin_recalc_state), (gst_bin_change_state_func),
2431         (gst_bin_dispose), (bin_bus_handler):
2432         * gst/gstbin.h:
2433         Prepare to make current EOS message queue more generic.
2434         Fix some typos.
2435
2436         * gst/gstevent.c: (gst_event_new_newsegment),
2437         (gst_event_parse_newsegment):
2438         * gst/gstevent.h:
2439         Rename base to stream_time.
2440
2441         * gst/gstmessage.h:
2442         Fix typo in docs.
2443
2444 2005-10-11  Wim Taymans  <wim@fluendo.com>
2445
2446         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2447         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
2448         (gst_bin_change_state_func), (bin_bus_handler):
2449         * gst/gstbin.h:
2450         Work on proper clock selection.
2451
2452 2005-10-11  Edward Hervey  <edward@fluendo.com>
2453
2454         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
2455         * libs/gst/controller/gstcontroller.h:
2456         Added GList* version of _remove_properties() in order to be able to wrap
2457         it in bindings.
2458
2459 2005-10-11  Wim Taymans  <wim@fluendo.com>
2460
2461         * docs/design/part-states.txt:
2462         Some more docs.
2463
2464         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
2465         (gst_bin_change_state_func), (bin_bus_handler):
2466         Doc updates. Don't distribute the same clock over and over again.
2467
2468         * gst/gstclock.c:
2469         * gst/gstclock.h:
2470         Doc updates.
2471
2472         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
2473         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
2474         (gst_pad_send_event):
2475         * gst/gstpad.h:
2476         Make probe emission threadsafe again.
2477         Register quarks and move _get_name() from utils.
2478         Doc updates.
2479
2480         * gst/gstpipeline.c: (gst_pipeline_class_init),
2481         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2482         Only redistribute the clock of it changed.
2483
2484         * gst/gstsystemclock.h:
2485         Doc updates. 
2486
2487         * gst/gstutils.c:
2488         * gst/gstutils.h:
2489         Moved the _flow_get_name() to GstPad.
2490
2491 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2492
2493         * check/gst-libs/gdp.c: (GST_START_TEST):
2494         * check/gst/gstcaps.c: (GST_START_TEST):
2495         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
2496         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
2497         (gst_dp_packet_from_caps):
2498           fix more valgrind warnings before turning up the heat
2499
2500 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2501
2502         * gst/parse/grammar.y:
2503           some cleanup before the hacking
2504
2505 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2506
2507         * gst/base/gstbasesrc.c: (gst_base_src_query):
2508           use conversions
2509         * gst/gstutils.c: (gst_guint64_to_gdouble),
2510         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
2511         * gst/gstutils.h:
2512           externalize, basesrc uses it
2513           obviously the implementation needs testing
2514
2515 2005-10-10  Wim Taymans  <wim@fluendo.com>
2516
2517         * tests/sched/Makefile.am:
2518         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
2519         (make_pipeline3), (make_pipeline4), (print_elem), (main):
2520
2521 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2522
2523         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
2524           apparently converting from guint64 to double is not implemented
2525           on MSVC
2526
2527 2005-10-10  Wim Taymans  <wim@fluendo.com>
2528
2529         * check/Makefile.am:
2530         * check/generic/states.c: (GST_START_TEST):
2531         * check/gst/gstbin.c: (GST_START_TEST):
2532         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2533         * check/states/sinks.c: (GST_START_TEST):
2534         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
2535         (main):
2536         Check fixes, use API as stated in design docs, remove hacks.
2537
2538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2539         (gst_base_sink_change_state):
2540         Catch stopping our task while we're shutting down.
2541
2542         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2543         (gst_bin_remove_func), (gst_bin_get_state_func),
2544         (gst_bin_recalc_state), (gst_bin_change_state_func),
2545         (bin_bus_handler):
2546         * gst/gstbin.h:
2547         * gst/gstelement.c: (gst_element_init),
2548         (gst_element_get_state_func), (gst_element_abort_state),
2549         (gst_element_commit_state), (gst_element_lost_state),
2550         (gst_element_set_state), (gst_element_change_state),
2551         (gst_element_change_state_func):
2552         * gst/gstelement.h:
2553         New state change algorithm (see #318116)
2554
2555         * gst/gstpipeline.c: (gst_pipeline_class_init),
2556         (gst_pipeline_init), (gst_pipeline_set_property),
2557         (gst_pipeline_get_property), (do_pipeline_seek),
2558         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2559         * gst/gstpipeline.h:
2560         Remove crude state change hacks.
2561
2562         * gst/gstutils.h:
2563         Remove crude hacks.
2564
2565         * tools/gst-launch.c: (main):
2566         Fixes for state change. Needs some more work to fully use the
2567         new stuff.
2568
2569 2005-10-10  Andy Wingo  <wingo@pobox.com>
2570
2571         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
2572
2573         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
2574         this flag, but it's not even in GLib 2.6. Odd. Hack around the
2575         issue.
2576
2577 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2578
2579         * gst/gstiterator.c: (gst_iterator_new):
2580           Fix my previous commit: GTypes passed to gst_iterator_new()
2581           can be fundamental types.
2582
2583 2005-10-10  Wim Taymans  <wim@fluendo.com>
2584
2585         * gst/gstelement.c: (gst_element_iterate_pad_list),
2586         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
2587         (gst_element_iterate_sink_pads):
2588         Use src/sink pads lists for the respective iterators instead
2589         of filtering.
2590
2591 2005-10-10  Andy Wingo  <wingo@pobox.com>
2592
2593         Merged in popt removal + GOption addition patch from Ronald, bug
2594         #169772.
2595
2596         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
2597         GstElement macros around, remove popt-related symbols, add goption
2598         stuff.
2599
2600         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
2601         
2602         * docs/gst/Makefile.am:
2603         * docs/libs/Makefile.am: No POPT_CFLAGS.
2604         
2605         * examples/manual/Makefile.am:
2606         * docs/manual/basics-init.xml: Doc updates with an example.
2607         
2608         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2609         (gst_init), (parse_one_option), (parse_goption_arg):
2610         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
2611         bit of hand merging and debugging to get the GOption stuff working
2612         tho.
2613         
2614         * tests/Makefile.am:
2615         * tools/Makefile.am:
2616         * tools/gst-inspect.c: (main):
2617         * tools/gst-launch.c: (main):
2618         * tools/gst-run.c: (main):
2619         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
2620
2621 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2622
2623         * gst/gstiterator.c: (gst_iterator_new):
2624           Add assertions to make sure passed GType is likely to really
2625           be a GType (as the compiler won't catch it if the size and
2626           GType arguments get mixed up, see #318447).
2627
2628 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
2629
2630         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2631
2632         * gst/gstbin.c: (gst_bin_iterate_sorted):
2633           Pass GType and size arguments to gst_iterator_new() in the right
2634           order (maybe we should make _new() take the GType as first argument
2635           just like _new_list()?) (#318447).
2636           
2637
2638 2005-10-10  Wim Taymans  <wim@fluendo.com>
2639
2640         * gst/gstelement.c: (gst_element_finalize):
2641         And free the GStaticRecMutex too
2642
2643 2005-10-10  Andy Wingo  <wingo@pobox.com>
2644
2645         * gst/gstelement.c (gst_element_init, gst_element_finalize):
2646         Allocate and free the mutex properly.
2647
2648         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
2649         New macros.
2650         (GstElement): The state_lock is now recursive. Rebuild your
2651         plugins, suckers. Old macros adapted.
2652
2653         * docs/gst/gstreamer-sections.txt: Doc updates.
2654
2655         * gst/gstutils.h:
2656         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
2657         (g_static_rec_cond_wait): Ported from state changes patch, while
2658         we wait on bug #317802 to be solved in a well-distributed GLib.
2659
2660         * gst/gstelement.c (gst_element_change_state_func): Renamed from
2661         gst_element_change_state, variable name changes.
2662         (gst_element_change_state): Split out of gst_element_set_state in
2663         preparation for the state change merge. Doesn't pay attention to
2664         the 'transition' argument.
2665         (gst_element_set_state): Updates, hopefully purely cosmetic.
2666         (gst_element_sync_state_with_parent): MT-safety. Ported from the
2667         state change patch.
2668         (gst_element_get_state_func): Renamed from get_state, cosmetic
2669         changes.
2670
2671 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2672
2673         * gst/elements/gstelements.c:
2674         * win32/GStreamer.vcproj:
2675         * win32/config.h:
2676         * win32/dirent.c: (_tseekdir):
2677         * win32/gst-inspect.vcproj:
2678         * win32/gst-launch.vcproj:
2679         * win32/gstconfig.h:
2680         * win32/gstelements.vcproj:
2681         * win32/gstenumtypes.c: (gst_object_flags_get_type):
2682         * win32/gstreamer.def:
2683         * win32/msvc71.sln:
2684           updates for the win32 build (patch from Sebastien Moutte)
2685
2686 2005-10-10  Andy Wingo  <wingo@pobox.com>
2687
2688         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
2689         gst_bin_get_state, cleaned up (but no logic changes).
2690         (bin_element_is_sink): Comment updates.
2691         (sink_iterator_filter): Remove needless cast.
2692         (gst_bin_iterate_sinks): Doc update.
2693         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
2694         cleaned up (but no logic changes).
2695
2696         * check/states/sinks.c (test_src_sink): Cleanups from the state
2697         change patch.
2698         (test_livesrc_sink): Sync on the state.
2699
2700         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
2701         the state change patch.
2702
2703         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
2704         change patch.
2705
2706         * check/gst/gstbin.c: Merge in some style fixes and additional
2707         checks from Wim's state change patch.
2708
2709 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2710
2711         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2712         (gst_type_find_helper):
2713           Check whether we have the requested data already in our list of
2714           cached buffers before pulling a new buffer; also make the buffer
2715           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
2716
2717 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2718
2719         * gst/gstcaps.c:
2720         * gst/gstevent.c:
2721           doc updates
2722         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2723           don't use long long, it's not portable.  Replacing with
2724           gint64 seems to work; let's hope no skeletons fall out of the closet.
2725
2726 2005-10-10  Andy Wingo  <wingo@pobox.com>
2727
2728         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
2729
2730 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
2731
2732         * docs/gst/gstreamer-sections.txt:
2733         * gst/gstevent.c:
2734         * gst/gstevent.h:
2735         * gst/gstinfo.c:
2736         * gst/gstinfo.h:
2737         * gst/gstmessage.c: (gst_message_parse_state_changed):
2738         * gst/gstpad.c:
2739         * gst/gstpad.h:
2740           more docs, fix compilation
2741
2742 2005-10-09  Philippe Khalaf <burger@speedy.org>
2743         * gst/gstmessage.c:
2744           Fixed a few forgotten variables on previous commit
2745
2746 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2747
2748         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2749           Fix evil typefind crasher: getrange() might return a short
2750           buffer at the end of a file, but gst_type_find_peek() must
2751           either return the full data as requested or NULL, but
2752           never a short buffer.
2753
2754 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2755
2756         * gst/gstmessage.c: (gst_message_new_state_changed),
2757         (gst_message_parse_state_changed):
2758         * gst/gstmessage.h:
2759           don't use "new", it's a C++ keyword
2760
2761 2005-10-08  Wim Taymans  <wim@fluendo.com>
2762
2763         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
2764         * gst/gstelement.c: (gst_element_post_message):
2765         * gst/gstpipeline.c: (gst_pipeline_change_state):
2766         Small docs and debug updates.
2767
2768 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
2769
2770         * docs/gst/gstreamer-sections.txt:
2771         * gst/gstelementfactory.c:
2772         * gst/gstevent.c:
2773         * gst/gsttaglist.c:
2774           more docs
2775
2776 2005-10-08  Wim Taymans  <wim@fluendo.com>
2777
2778         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
2779         (gst_bin_dispose), (bin_bus_handler):
2780         Fix typos, add comments.
2781         Clear EOS list when going to PAUSED from any direction and do it
2782         in a threadsafe way.
2783         Get base time in a threadsafe way too.
2784         Fix confusing debug in the change_state function.
2785         Various other small cleanups.
2786         
2787         * gst/gstelement.c: (gst_element_post_message):
2788         Fix very verbose bus posting code.
2789
2790         * gst/gstpipeline.c: (gst_pipeline_class_init),
2791         (gst_pipeline_set_property), (gst_pipeline_get_property),
2792         (gst_pipeline_change_state):
2793         Small ARG_ -> PROP_ cleanup
2794
2795 2005-10-08  Wim Taymans  <wim@fluendo.com>
2796
2797         * gst/gstbin.c: (is_eos), (bin_bus_handler):
2798         Do a less CPU demanding EOS check because we can.
2799
2800 2005-10-08  Wim Taymans  <wim@fluendo.com>
2801
2802         * libs/gst/dataprotocol/dataprotocol.c:
2803         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2804         (gst_dp_packet_from_event):
2805         * libs/gst/dataprotocol/dataprotocol.h:
2806         * libs/gst/dataprotocol/dp-private.h:
2807         It's about time we bump the version number.
2808         Since event types don't fit in the guint8 anymore describing
2809         the payload type, make payload type 16 bits wide.
2810
2811 2005-10-08  Wim Taymans  <wim@fluendo.com>
2812
2813         * docs/design/part-TODO.txt:
2814         * docs/design/part-clocks.txt:
2815         * docs/design/part-events.txt:
2816         * docs/design/part-gstbin.txt:
2817         * docs/design/part-gstelement.txt:
2818         * docs/design/part-gstpipeline.txt:
2819         * docs/design/part-live-source.txt:
2820         * docs/design/part-messages.txt:
2821         * docs/design/part-overview.txt:
2822         * docs/design/part-states.txt:
2823         Many doc updates.
2824
2825 2005-10-08  Wim Taymans  <wim@fluendo.com>
2826
2827         * gst/gstevent.c:
2828         * gst/gstevent.h:
2829         Fix event quark registration.
2830         Add some space between events so we can insert them in the
2831         right groups.
2832
2833 2005-10-08  Wim Taymans  <wim@fluendo.com>
2834
2835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2836         (gst_base_sink_handle_buffer):
2837         Better log message.
2838
2839         * gst/gstbus.h:
2840         * gst/gstelement.h:
2841         More docs.
2842
2843         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2844         (gst_queue_set_property), (gst_queue_get_property):
2845         * gst/gstqueue.h:
2846         Remove old unused properties.
2847
2848 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
2849         * docs/gst/gstreamer-sections.txt:
2850         * gst/gstmessage.c:
2851         * gst/gstmessage.h:
2852         * gst/gstminiobject.c:
2853         * gst/gstminiobject.h:
2854         * gst/gstobject.h:
2855         * gst/gstpad.h:
2856         * gst/gstutils.h:
2857           lots of new docs and doc fixes
2858
2859 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2860
2861         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
2862         * gst/gstplugin.h:
2863         * gst/gstregistry.c: (gst_registry_lookup_locked),
2864         (gst_registry_scan_path_level):
2865         * gst/gstregistryxml.c: (load_plugin):
2866           Only ever load one plugin for a given plugin basename.
2867           This ensures correct overriding of GST_PLUGIN_PATH over
2868           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
2869           system installed plugins.
2870
2871 2005-10-08  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2874         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
2875         Prepare for doing QOS.
2876
2877 2005-10-08  Wim Taymans  <wim@fluendo.com>
2878
2879         * check/gst/gstbin.c: (GST_START_TEST):
2880         * check/pipelines/cleanup.c: (GST_START_TEST):
2881         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2882         Allow new clock message too.
2883
2884 2005-10-08  Wim Taymans  <wim@fluendo.com>
2885
2886         * gst/gstmessage.c: (gst_message_new_error),
2887         (gst_message_new_warning), (gst_message_new_tag),
2888         (gst_message_new_state_changed), (gst_message_new_clock_provide),
2889         (gst_message_new_clock_lost), (gst_message_new_new_clock),
2890         (gst_message_new_segment_start), (gst_message_new_segment_done),
2891         (gst_message_parse_state_changed),
2892         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
2893         (gst_message_parse_new_clock):
2894         * gst/gstmessage.h:
2895         Also carry the clock in question.
2896
2897 2005-10-08  Wim Taymans  <wim@fluendo.com>
2898
2899         * gst/gstmessage.c: (gst_message_new_custom),
2900         (gst_message_new_eos), (gst_message_new_error),
2901         (gst_message_new_warning), (gst_message_new_tag),
2902         (gst_message_new_state_changed), (gst_message_new_clock_provide),
2903         (gst_message_new_new_clock), (gst_message_new_segment_start),
2904         (gst_message_new_segment_done), (gst_message_parse_state_changed),
2905         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
2906         * gst/gstmessage.h:
2907         Clean up.
2908         Added clock related messages.
2909
2910         * gst/gstpipeline.c: (gst_pipeline_change_state):
2911         Post message when the clock changed.
2912
2913         * tools/gst-launch.c: (event_loop):
2914         Print new clock.
2915
2916 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2917
2918         * tools/gst-inspect.c: (print_element_properties_info):
2919           Can't pass NULL strings to g_print() on windows.
2920
2921 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2922
2923         * docs/Makefile.am:
2924         * docs/gst/Makefile.am:
2925         * docs/gst/gstreamer-docs.sgml:
2926         * docs/gst/running.xml:
2927         * docs/version.entities.in:
2928           add a chapter on running GStreamer.
2929           document GST_DEBUG and GST_PLUGIN* env vars
2930
2931 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2932
2933         * Makefile.am:
2934           remove include dir
2935         * configure.ac:
2936           remove PLUGINS_BUILDDIR stuff
2937         * gst/gst.c: (init_post):
2938           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
2939         * idiottest.mak:
2940           remove, it was condescending and not needed
2941
2942 2005-10-08  Wim Taymans  <wim@fluendo.com>
2943
2944         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2945         (gst_base_sink_handle_object), (gst_base_sink_event),
2946         (gst_base_sink_wait), (gst_base_sink_handle_event),
2947         (gst_base_sink_change_state):
2948         * gst/base/gstbasesink.h:
2949         Repost EOS message while going to PLAYING if still EOS.
2950         Make sure that when receiving a FLUSH_START we don't attempt
2951         to sync on the clock anymore.
2952
2953 2005-10-08  Wim Taymans  <wim@fluendo.com>
2954
2955         * tools/gst-launch.c: (event_loop):
2956         Better message printout.
2957
2958 2005-10-08  Wim Taymans  <wim@fluendo.com>
2959
2960         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
2961         (gst_bin_child_proxy_get_children_count):
2962         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
2963         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
2964         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
2965         (gst_child_proxy_set_valist):
2966         * gst/parse/grammar.y:
2967         Make ChildProxy threadsafe and fix mem leaks.
2968
2969 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2970
2971         * gst/gst.c: (init_post):
2972           debug the GST_PLUGIN_ env vars
2973
2974 2005-10-08  Wim Taymans  <wim@fluendo.com>
2975
2976         * check/gst/gstbin.c: (GST_START_TEST):
2977         * check/gst/gstmessage.c: (GST_START_TEST):
2978         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2979         * gst/gstelement.c: (gst_element_commit_state),
2980         (gst_element_lost_state):
2981         * gst/gstmessage.c: (gst_message_new_state_changed),
2982         (gst_message_parse_state_changed):
2983         * gst/gstmessage.h:
2984         * tools/gst-launch.c: (event_loop):
2985         Added extra field to STATE_CHANGE message with the pending
2986         state, which will be different from the new state soon.
2987
2988 2005-10-08  Wim Taymans  <wim@fluendo.com>
2989
2990         * gst/gstbus.c: (gst_bus_pop):
2991         * gst/gstclock.c:
2992         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2993         Small cleanups and doc updates.
2994
2995 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2996
2997         * gst/gst.c: (init_pre):
2998         * gst/gstbin.c: (gst_bin_add_func):
2999           log distributing clocks and base time
3000         * gst/gstregistry.c: (gst_registry_add_plugin),
3001         (gst_registry_scan_path_level), (gst_registry_scan_path):
3002           clean up the debugging output a little
3003         * gst/gstutils.c: (gst_element_state_get_name):
3004           warn about a memleak (I've actually seen this be used, though
3005           it was probably a bug)
3006
3007 2005-10-07  Wim Taymans  <wim@fluendo.com>
3008
3009         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3010         (gst_base_src_init), (gst_base_src_default_newsegment),
3011         (gst_base_src_newsegment), (gst_base_src_do_seek),
3012         (gst_base_src_loop), (gst_base_src_start):
3013         * gst/base/gstbasesrc.h:
3014         Make the newsegment event customizable by subclasses.
3015
3016 2005-10-07  Wim Taymans  <wim@fluendo.com>
3017
3018         * gst/gstevent.c: (gst_event_new_buffersize),
3019         (gst_event_parse_buffersize):
3020         * gst/gstevent.h:
3021         New event for future idea.
3022
3023 2005-10-07  Andy Wingo  <wingo@pobox.com>
3024
3025         * gst/gstelement.c (gst_element_post_message): Doc update.
3026
3027         * docs/gst/gstreamer-sections.txt: Update.
3028
3029         * gst/gstmessage.c (gst_message_new_application): Made into a
3030         function like honest API calls.
3031         (gst_message_new_element): New message type.
3032
3033         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3034
3035         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3036         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3037         times.
3038
3039         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3040         NO_PREROLL from gst_element_change_state to fall through.
3041
3042 2005-10-07  Wim Taymans  <wim@fluendo.com>
3043
3044         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3045         (gst_ghost_pad_do_activate_push):
3046         Activating a ghostpad with no internal pad in push mode
3047         is ok.
3048
3049 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3050
3051         * gst/gstobject.h:
3052           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3053           Fixes compilation on Windows.
3054
3055 2005-10-07  Michael Smith <msmith@fluendo.com>
3056
3057         * tools/gst-inspect.c:
3058           Print out feature and plugin count at the end when printing out
3059           all features.
3060
3061 2005-10-04  Michael Smith <msmith@fluendo.com>
3062
3063         * gst/gsterror.c: (_gst_stream_errors_init):
3064           Add another error string used in a few existing plugins.
3065
3066         * gst/gstplugin.c:
3067         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3068         * tools/gst-inspect.c: (print_element_info):
3069           When a feature disappears from a plugin (and the feature exists in
3070           the cached registry file), things went horribly wrong. This isn't a
3071           complete fix, we should actually be removing the 'missing' features
3072           from the features list when we load the actual plugin. That's not
3073           yet implemented. 
3074
3075 2005-10-04  Johan Dahlin  <johan@gnome.org>
3076
3077         * check/gst/gstiterator.c: (GST_START_TEST):
3078         * gst/gstbin.c: (gst_bin_iterate_elements),
3079         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3080         * gst/gstelement.c: (gst_element_iterate_pads):
3081         * gst/gstformat.c: (gst_format_iterate_definitions):
3082         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3083         (gst_iterator_new_list), (gst_iterator_filter):
3084         * gst/gstiterator.h:
3085         * gst/gstquery.c: (gst_query_type_iterate_definitions):
3086         Add a GType to GstIterator, update callsites and tests.
3087
3088 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3089
3090         * gst/gstpad.c: (gst_pad_event_default_dispatch):
3091           give events a chance to be handled by event probes when the pad
3092           is not linked
3093
3094 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3095
3096         * gst/gstevent.c: (gst_event_type_get_name),
3097         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3098         * gst/gstevent.h:
3099           add string representations for event types
3100
3101 2005-10-06  Wim Taymans  <wim@fluendo.com>
3102
3103         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3104         Don't use NULL pointers.
3105
3106 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * gst/gst_private.h:
3109         * gst/gstbus.c:
3110         * gst/gstelement.c:
3111         * gst/gstinfo.c:
3112         * gst/gstpluginfeature.c:
3113           widen the debug category in output to fit the biggest one we have
3114           add a bus category and use it
3115           play with the colors
3116           fix up some categories
3117
3118 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3119
3120         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3121           add push activation of sink ghost pads.
3122           Andye, please verify
3123
3124 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3125
3126         * gst/gstutils.c: (gst_element_link_pads):
3127           fix a bug in the case where neither element has a pad
3128         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3129           add a test for that case
3130
3131 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3132
3133         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
3134           emit have-data before checking for peers.  This allows
3135           for probe handlers to connect elements.  This helps autopluggers.
3136         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
3137         (gst_pad_suite):
3138           add six checks, linked/unlinked with no/true/false probe
3139
3140 2005-10-04  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
3143         (gst_fake_sink_event), (gst_fake_sink_preroll),
3144         (gst_fake_sink_render), (gst_fake_sink_change_state):
3145         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
3146         (gst_fake_src_get_property), (gst_fake_src_create),
3147         (gst_fake_src_stop):
3148         * gst/elements/gstidentity.c: (gst_identity_stop):
3149         Protect last_message with lock.
3150
3151 2005-10-04  Edward Hervey  <edward@fluendo.com>
3152
3153         * gst/gstformat.h: 
3154         Added precision in the comments for GST_FORMAT_DEFAULT
3155
3156 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
3157
3158         * tools/gst-launch.c: (main):
3159           Don't try to run erroneous pipelines.
3160
3161 2005-10-04  Julien MOUTTE  <julien@moutte.net>
3162
3163         * gst/gstbus.c: We don't need this header.
3164
3165 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * configure.ac:
3168           back to development
3169
3170 === release 0.9.3 ===
3171
3172 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3173
3174         * README:
3175         * configure.ac:
3176           Releasing 0.9.3, "Unregistered"
3177
3178 2005-10-03  Andy Wingo  <wingo@pobox.com>
3179
3180         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
3181         whereby calling a pad's activatepush() function can start a thread
3182         that starts to push or pull before the pad gets the FLUSHING flag
3183         unset. Hack around it by holding the stream lock until the flag is
3184         set. Need to replace this with a proper solution. Together with
3185         the ghost pad fixes, this fixes mp3 playing/tagreading.
3186
3187         * docs/design/part-gstghostpad.txt: Add a note about activation of
3188         proxy pads outside of ghost pads.
3189
3190         * gst/gstghostpad.c: Implement the ghost pad activation design.
3191
3192 2005-10-02  Andy Wingo  <wingo@pobox.com>
3193
3194         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
3195         It is volatile, after all.
3196
3197         * docs/design/part-gstghostpad.txt: Flesh out activation with
3198         ghost pads.
3199
3200         * gst/base/gstbasesrc.c (gst_base_src_init): Use
3201         GST_DEBUG_FUNCPTR.
3202
3203 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3204
3205         * configure.ac:
3206           Fix (unused) AM_CONDITIONAL tests.
3207
3208 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
3209
3210         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3211
3212         * gst/gstutils.c: (gst_pad_query_convert):
3213           Add assertion that makes sure src_val is >=0, just like
3214           gst_query_new_convert() has. (#315895)
3215
3216 2005-09-30  Edward Hervey  <edward@fluendo.com>
3217
3218         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
3219         Let's not iterate pads we're not interested in, it avoids getting 
3220         sky-high refcounts on sinkpad.
3221
3222 2005-09-30  Wim Taymans  <wim@fluendo.com>
3223
3224         * gst/gstelement.c: (gst_element_set_state),
3225         (gst_element_change_state):
3226         Small tweak, element in ASYNC remains ASYNC.
3227
3228 2005-09-30  Wim Taymans  <wim@fluendo.com>
3229
3230         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3231         Only error is an error.
3232
3233         * gst/gstbin.c: (gst_bin_change_state):
3234         Better debugging.
3235
3236         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
3237         Also call pad_block in pad alloc.
3238
3239         * gst/gstutils.c: (gst_flow_get_name):
3240         Better debugging.
3241
3242 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3243
3244         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3245         (gst_base_src_get_range):
3246           Fix documentation typos. Add some more debug info.
3247
3248 2005-09-29  David Schleef  <ds@schleef.org>
3249
3250         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
3251           more end-user friendly.
3252         * tools/gst-inspect.c: (main): Check if command-line argument is
3253           a file and attempt to load that file as a plugin.
3254
3255 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3256
3257         * check/gst/gstbin.c:
3258         * check/states/sinks.c:
3259           fix tests for the new warning
3260         * check/gst/gstpipeline.c:
3261           add a test for pipeline and bus interaction
3262         * gst/gstelement.c:
3263           elements should be NULL if they get disposed; add a warning if not
3264
3265 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3266
3267         * gst/gstobject.c:
3268           for 2.6 refcounting, make debug log more correct by printing
3269           the actual refcounts at the time of swap (Wim)
3270
3271 2005-09-29  Andy Wingo  <wingo@pobox.com>
3272
3273         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
3274         removes signal watches previously added via
3275         gst_bus_add_signal_watch.
3276         (gst_bus_add_signal_watch): Don't return the source id, just store
3277         it on the bus if there wasn't an id already.
3278
3279         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
3280         add_signal_watch and remove_signal_watch.
3281
3282 2005-09-29  Edward Hervey  <edward@fluendo.com>
3283
3284         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
3285         Better if we actually iterate the list :)
3286
3287 2005-09-29  Wim Taymans  <wim@fluendo.com>
3288
3289         * check/gst/gstbin.c: (GST_START_TEST):
3290         Change for new bus API.
3291
3292         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
3293         (send_messages), (GST_START_TEST), (gstbus_suite):
3294         Change for new bus signal API.
3295
3296         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
3297         (gst_bus_source_prepare), (gst_bus_source_check),
3298         (gst_bus_create_watch), (gst_bus_add_watch_full),
3299         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
3300         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
3301         * gst/gstbus.h:
3302         Remove support for multiple GSources operating on different
3303         message types as it is too complex and unneeded when using
3304         signals.
3305         Added support for receiving signals from the bus.
3306
3307 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3308
3309         * docs/libs/tmpl/gstdataprotocol.sgml:
3310         * docs/manual/advanced-dataaccess.xml:
3311         * gst/elements/gstcapsfilter.c:
3312         * gst/gstutils.c:
3313           rename filter-caps to caps property
3314
3315 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3316
3317         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3318           More robust fraction string parsing.
3319
3320         * docs/pwg/appendix-porting.xml:
3321           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
3322
3323 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3324
3325         * gst/gstcaps.c: (gst_caps_do_simplify):
3326           Thou shalt not free a structure and then continue using it
3327           in the next loop iteration.
3328
3329         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
3330         (gst_caps_suite):
3331           Add test case for caps simplification.
3332
3333 2005-09-29  Wim Taymans  <wim@fluendo.com>
3334
3335         * check/gst/gstbin.c: (GST_START_TEST):
3336         Oops.
3337
3338 2005-09-29  Wim Taymans  <wim@fluendo.com>
3339
3340         * check/gst/gstbin.c: (GST_START_TEST):
3341         Add bus to bin.
3342
3343         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3344         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3345         (find_element), (gst_bin_sort_iterator_next),
3346         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3347         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3348         (gst_bin_change_state), (gst_bin_dispose):
3349         A bin does not have a bus, it gets the bus from the parent.
3350
3351         * gst/gstelement.c: (gst_element_requires_clock),
3352         (gst_element_provides_clock), (gst_element_is_indexable),
3353         (gst_element_is_locked_state), (gst_element_change_state),
3354         (gst_element_set_bus_func):
3355         Small cleanups.
3356
3357         * gst/gstpipeline.c: (gst_pipeline_class_init),
3358         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
3359         The pipeline provides a bus.
3360
3361 2005-09-28  Johan Dahlin  <johan@gnome.org>
3362
3363         * gst/gstmessage.c (gst_message_parse_state_changed): Use
3364         gst_structure_get_enum instead of gst_structure_get_int
3365
3366         * gst/gststructure.c (gst_structure_get_enum): Impl.
3367
3368         * gst/gststructure.h (gst_structure_get_enum): Add
3369
3370         * docs/gst/gstreamer-sections.txt: Ditto
3371
3372         * gst/gstmessage.c (gst_message_new_state_changed): Use
3373         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
3374         which does introspection.
3375         Reviewed by Christian Schaller
3376
3377 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
3378
3379         * gst/gstinfo.c: (gst_debug_log_default):
3380           don't do dummy g_strdup()s
3381         * libs/gst/controller/gstcontroller.c:
3382         (on_object_controlled_property_changed),
3383         (gst_controlled_property_new), (gst_controller_new_valist),
3384         (gst_controller_new_list),
3385         (gst_controller_remove_properties_valist), (gst_controller_set),
3386         (gst_controller_get), (gst_controller_sync_values),
3387         (gst_controller_get_value_array), (_gst_controller_class_init),
3388         (gst_controller_get_type):
3389         * libs/gst/controller/gstcontroller.h:
3390         * libs/gst/controller/gstinterpolation.c:
3391         (gst_controlled_property_find_timed_value_node):
3392           convert // to /**/ comments
3393
3394 2005-09-28  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
3397         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
3398         (gst_bus_sync_signal_handler):
3399         * gst/gstbus.h:
3400         Added async-message and sync-message signals to the bus.
3401         Added helper BusFunc to emit signals for all posted messages.
3402
3403         * gst/gstmessage.c: (gst_message_type_get_name),
3404         (gst_message_type_to_quark), (gst_message_get_type):
3405         * gst/gstmessage.h:
3406         Register quarks for message names.
3407
3408 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
3409
3410         * docs/libs/gstreamer-libs-sections.txt:
3411         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3412         (gst_controller_new_list):
3413         * libs/gst/controller/gstcontroller.h:
3414           added another constructor for language bindings
3415
3416 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3417
3418         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3419           add another check
3420         * gst/gstbus.c:
3421           add some doc
3422         * gst/gstinfo.c: (_gst_debug_init):
3423           slightly more readable color for refcount debugging
3424
3425 2005-09-28  Wim Taymans  <wim@fluendo.com>
3426
3427         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3428         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3429         (find_element), (gst_bin_sort_iterator_next),
3430         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3431         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3432         (gst_bin_change_state), (gst_bin_dispose):
3433         Small doc fixes. get_clock -> provide_clock.
3434
3435         * gst/gstelement.c: (gst_element_class_init),
3436         (gst_element_provides_clock), (gst_element_provide_clock),
3437         (gst_element_get_clock), (gst_element_commit_state),
3438         (gst_element_lost_state):
3439         * gst/gstelement.h:
3440         Make get/set_clock() symetric. Add provide_clock vmethod since
3441         that is actually what this function does.
3442
3443         * gst/gstpipeline.c: (gst_pipeline_class_init),
3444         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
3445         (gst_pipeline_get_clock):
3446         get_clock -> provide_clock.
3447
3448 2005-09-28  Andy Wingo  <wingo@pobox.com>
3449
3450         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
3451         lieu of real docs...
3452
3453         * gst/elements/gstfdsrc.c: Cleaned up a bit.
3454
3455 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
3456
3457         * gst/elements/gstcapsfilter.c:
3458         * gst/elements/gstfakesink.c:
3459         * gst/elements/gstfakesrc.c:
3460         * gst/elements/gstfdsink.c:
3461         * gst/elements/gstfdsrc.c:
3462         * gst/elements/gstfilesink.c:
3463         * gst/elements/gstfilesrc.c:
3464         * gst/elements/gstidentity.c:
3465         * gst/elements/gsttee.c:
3466         * gst/elements/gsttypefindelement.c:
3467           Make element details static.
3468
3469 2005-09-28  Wim Taymans  <wim@fluendo.com>
3470
3471         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3472         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3473         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3474         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3475         (gst_bin_change_state), (gst_bin_dispose):
3476         Some documentation updates.
3477         Clean up dispose handlers.
3478
3479         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
3480         * gst/gstpad.c: (gst_pad_dispose):
3481         Clean up dispose handler.
3482
3483         * gst/gstpipeline.c: (gst_pipeline_change_state):
3484         Removed spurious UNLOCK.
3485
3486 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
3487
3488         * docs/gst/gstreamer-sections.txt:
3489         * gst/base/gstbasesrc.h:
3490         * gst/gstelement.h:
3491         * gst/gstevent.h:
3492         * gst/gstobject.h:
3493         * gst/gstpad.h:
3494         * gst/gstpipeline.c:
3495         * gst/gstpipeline.h:
3496         * gst/gstutils.h:
3497         * gst/gstxml.h:
3498           added two new functions to the docs
3499                 documents all undocumented GstXXXFlags
3500                 completed some incomplete docs 
3501
3502 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3503
3504         * gst/gstbin.c: (gst_bin_dispose):
3505         * gst/gstelement.c: (gst_element_dispose):
3506           remove now useless and leaky resurrection code in dispose
3507         * gst/base/gstbasesrc.c: (gst_base_src_init):
3508         * gst/gstelementfactory.c: (gst_element_factory_create):
3509         * gst/gstobject.c: (gst_object_set_parent):
3510           add some debugging
3511
3512 2005-09-27  Wim Taymans  <wim@fluendo.com>
3513
3514         * docs/design/part-TODO.txt:
3515         Update TODO.
3516
3517         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3518         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3519         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3520         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3521         (gst_bin_change_state):
3522         * gst/gstelement.h:
3523         Remove element variable, we keep element info in the iterator now.
3524
3525 2005-09-27  Andy Wingo  <wingo@pobox.com>
3526
3527         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
3528         values.
3529
3530 2005-09-27  Wim Taymans  <wim@fluendo.com>
3531
3532         * check/gst/gstbin.c: (GST_START_TEST):
3533         Enable check that works now.
3534
3535         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3536         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3537         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3538         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3539         (gst_bin_change_state):
3540         * gst/gstbin.h:
3541         Redid the state change algorithm using a topological sort algo.
3542         Handles all cases correctly.
3543         Exposed iterator for state change order.
3544
3545         * gst/gstelement.h:
3546         Temp storage for state changes. Need to get rid of this soon.
3547
3548 2005-09-27  Wim Taymans  <wim@fluendo.com>
3549
3550         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
3551         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
3552         (link_fold_func), (gst_pad_proxy_setcaps):
3553         Leak fixes, the fold functions need to unref the passed object and
3554         _get_parent_*() returns ref to parent.
3555
3556 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3557
3558         * check/gst/gstbuffer.c: (test_make_writable):
3559           Plug leak in test case and fix 'make check-valgrind'
3560
3561 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3562
3563         * gst/gstbuffer.c: (gst_subbuffer_init):
3564           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
3565           works correctly in all circumstances (we could have just copied
3566           the parent buffer's readonly flag, but conceptually it seems
3567           cleaner to mark all subbuffers as read-only). (based on patch
3568           by Alessandro Decina, #314710).
3569         
3570         * check/gst/gstbuffer.c: (create_read_only_buffer),
3571         (test_make_writable), (test_subbuffer_make_writable),
3572         (gst_test_suite):
3573           Add some tests for gst_buffer_make_writable().
3574
3575 2005-09-27  Wim Taymans  <wim@fluendo.com>
3576
3577         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
3578         use gst_object_has_ancestor().
3579
3580         * gst/gstobject.c: (gst_object_has_ancestor):
3581         * gst/gstobject.h:
3582         gst_object_has_ancestor() copied from gstbin.c as it is a
3583         usefull function.
3584
3585         * tests/instantiate/create.c: (create_all_elements):
3586         * tests/lat.c: (handoff_src), (handoff_sink):
3587         * tests/sched/runxml.c: (main):
3588         * tests/seeking/seeking1.c: (main):
3589         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
3590         (main):
3591         Fix compilation of some tests.
3592
3593 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3594
3595         * gst/gsterror.h:
3596           Remove comment. GST_TYPE_G_ERROR is here to stay,
3597           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
3598           (#316961, #300610).
3599
3600 2005-09-26  Wim Taymans  <wim@fluendo.com>
3601
3602         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3603         Added check that shows error in state change order.
3604
3605 2005-09-26  Wim Taymans  <wim@fluendo.com>
3606
3607         * gst/gstbin.c: (gst_bin_change_state):
3608         Make state change function use 3 queues again, we were
3609         adding elements in the wrong order.
3610
3611         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3612         Some debug info,
3613
3614         * gst/gstpad.c: (gst_pad_dispose):
3615         Added some debug info first.
3616
3617 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
3618
3619         * docs/design/draft-push-pull.txt:
3620         * docs/design/part-events.txt:
3621         * docs/design/part-overview.txt:
3622         * docs/design/part-scheduling.txt:
3623           Replace all _pull_region() with _pull_range()
3624           
3625 2005-09-26  Andy Wingo  <wingo@pobox.com>
3626
3627         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
3628
3629         * check/gst-libs/controller.c: Update for controller api change.
3630
3631         * configure.ac: 
3632         * tests/Makefile.am:
3633         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
3634         over by GLib bug 118439.
3635         
3636         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
3637         routines to a function.
3638
3639         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
3640
3641         * libs/gst/controller/gsthelper.c:
3642         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
3643         (gst_object_sync_values): Renamed from sink_values. Ugh.
3644
3645         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
3646
3647         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
3648         Renamed from controller_key, as it is exported.
3649
3650         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
3651
3652 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
3653
3654         * gst/Makefile.am:
3655         * gst/gst.h:
3656         * gst/gstpad.h:
3657         * gst/gstpadtemplate.h:
3658         * gst/gstquery.c:
3659         * gst/gstquery.h:
3660         * gst/gstqueryutils.c:
3661         * gst/gstqueryutils.h:
3662           remove queryutils headers after moving the two used functions
3663           to gstquery.  also fixes build problem for gstsiddec
3664
3665 2005-09-26  Michael Smith <msmith@fluendo.com>
3666
3667         * tools/gst-launch.1.in:
3668         Correct documentation in manpage of debug syntax
3669
3670 2005-09-26  Wim Taymans  <wim@fluendo.com>
3671
3672         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
3673         (gst_base_src_is_seekable), (gst_base_src_change_state):
3674         Some more debugging info.
3675
3676 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3677
3678         * docs/gst/gstreamer-sections.txt:
3679         * gst/base/gstbasetransform.h:
3680         * gst/gstindex.h:
3681           added more docs
3682
3683 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3684
3685         * docs/gst/.cvsignore:
3686         * docs/gst/tmpl/.cvsignore:
3687         * docs/gst/tmpl/gstpipeline.sgml:
3688         * docs/gst/tmpl/gstplugin.sgml:
3689         * gst/gstpipeline.c:
3690         * gst/gstplugin.c:
3691         * gst/gstplugin.h:
3692           inlined the last two docs files
3693           removed the tmpl directory from cvs (no more conflicts here!)
3694
3695 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3696
3697         * docs/gst/gstreamer-sections.txt:
3698         * docs/gst/tmpl/.cvsignore:
3699         * docs/gst/tmpl/gstpad.sgml:
3700         * docs/gst/tmpl/gstpadtemplate.sgml:
3701         * gst/Makefile.am:
3702         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3703         (gst_pad_finalize), (gst_pad_set_pad_template):
3704         * gst/gstpad.h:
3705         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
3706         (gst_pad_template_class_init), (gst_pad_template_init),
3707         (gst_pad_template_dispose), (name_is_valid),
3708         (gst_static_pad_template_get), (gst_pad_template_new),
3709         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
3710         (gst_pad_template_pad_created):
3711         * gst/gstpadtemplate.h:
3712           inlined two more docs
3713           factored gstpadtemplate out of gstpad
3714
3715 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3718         (test_children_state_change_order_semi_sink):
3719           Fix test case: we can't rely on a fixed state change order when
3720           going from READY => PAUSED because the sink might commit its 
3721           new state first when the first buffer created by the source 
3722           reaches the sink before the source has finished its change state.
3723           (Test case still fails at times, see #316856, comment 5 onwards)
3724
3725 2005-09-24  Wim Taymans  <wim@fluendo.com>
3726
3727         * docs/design/part-events.txt:
3728         * docs/design/part-gstbus.txt:
3729         * docs/design/part-gstpipeline.txt:
3730         * docs/design/part-messages.txt:
3731         * docs/design/part-overview.txt:
3732         * docs/design/part-segments.txt:
3733         * gst/gstbin.c:
3734         * gst/gstbuffer.c:
3735         * gst/gstclock.c:
3736         * gst/gstelement.c:
3737         * gst/gstevent.c:
3738         * gst/gstfilter.c:
3739         * gst/gstiterator.c:
3740         Various documentation updates.
3741
3742 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3743
3744         * gst/gstclock.h:
3745           Well, that's embarassing.  Luckily we weren't using
3746           GST_CLOCK_DIFF anywhere.
3747
3748 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3749
3750         * common/gtk-doc.mak:
3751           don't fail on building XML, FC4 slave shows a bunch of doc
3752           missing bits that I don't get
3753         * gst/gstpad.c:
3754         * gst/gstpipeline.c:
3755         * gst/gststructure.c:
3756           some doc updates
3757
3758 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3759
3760         * docs/design/part-gstbin.txt:
3761         * docs/design/part-gstbus.txt:
3762         * gst/gstbus.c:
3763           Add blurb about how the bus goes into flushing mode and
3764           drops all messages when its bin goes from READY into NULL 
3765           state.
3766
3767 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3768
3769         * docs/gst/gstreamer-sections.txt:
3770         * gst/gststructure.c: (gst_structure_get_clock_time):
3771         * gst/gststructure.h:
3772           add a method to get a GstClockTime out of a structure
3773
3774 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3775
3776         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3777         (test_children_state_change_order_semi_sink), (gst_bin_suite):
3778           Added test to check state change order in bins (can still be made
3779           to fail here under heavy disk load; bails out with 'Push on pad
3780           fakesink:sink0, but it was not activated in push mode').
3781
3782         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
3783           Fix state change order when there is only a semi sink (#316856)
3784
3785         * gst/gstbus.c: (gst_bus_class_init):
3786           Use _class_peek_parent(), not _class_ref(); fix docs to say
3787           'default main context' instead of 'mainloop' where that is
3788           what's meant.
3789
3790         * gst/gstelement.c: (gst_element_commit_state),
3791         (gst_element_set_state):
3792           Fix typos in debug messages
3793
3794 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3795
3796         * docs/README:
3797         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
3798         * gst/gstpluginfeature.c:
3799         * gst/gstutils.c:
3800           various doc updates
3801         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3802           change an assert into an error until it gets fixed properly
3803
3804 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
3805
3806         * docs/gst/gstreamer-sections.txt:
3807         * docs/gst/tmpl/.cvsignore:
3808         * docs/gst/tmpl/gstelement.sgml:
3809         * docs/gst/tmpl/gstinfo.sgml:
3810         * docs/gst/tmpl/gstobject.sgml:
3811         * gst/gstelement.c:
3812         * gst/gstelement.h:
3813         * gst/gstinfo.c:
3814         * gst/gstinfo.h:
3815         * gst/gstobject.c: (gst_object_class_init):
3816         * gst/gstobject.h:
3817           inlined 3 more biiiig doc files and added some missing docs on the fly
3818
3819 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3820
3821         * check/gst/.cvsignore:
3822         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
3823         * gst/gstregistryxml.c: (load_plugin),
3824         (gst_registry_xml_save_plugin):
3825           put back source in registry.  add checks for find_plugin.
3826         * testsuite/states/bin.c: (assert_state), (empty_bin),
3827         (test_adding_one_element), (main):
3828         * testsuite/states/locked.c: (main):
3829           some compile/run fixes
3830
3831 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3832
3833         * check/gst/gstvalue.c: (GST_START_TEST):
3834           fix leaks in the test itself
3835
3836 2005-09-22  Wim Taymans  <wim@fluendo.com>
3837
3838         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3839         (gst_base_sink_send_event), (gst_base_sink_peer_query),
3840         (gst_base_sink_query):
3841         Prepare for more accurate position reporting and query
3842         handling.
3843
3844         * gst/gstelement.c: (gst_element_send_event),
3845         (gst_element_set_state):
3846         Add some comment.
3847
3848 2005-09-22  Wim Taymans  <wim@fluendo.com>
3849
3850         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
3851         (gst_query_parse_segment):
3852         * gst/gstquery.h:
3853         More documentation.
3854         Add segment query for future use.
3855
3856 2005-09-22  Wim Taymans  <wim@fluendo.com>
3857
3858         * gst/gstbin.c: (gst_bin_add_func):
3859         Some more debug info.
3860
3861         * gst/gstelement.c: (gst_element_send_event):
3862         Simplify send_event
3863
3864         * gst/gstelement.h:
3865         Don't know how flags got broken.
3866
3867         * gst/gstquery.h:
3868         Added new query.
3869
3870 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3871
3872         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
3873           Add simplistic test suite for GST_TYPE_DATE serialisation and
3874           deserialisation.
3875
3876 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3877
3878         * docs/gst/gstreamer-sections.txt:
3879         * gst/gststructure.c: (gst_structure_set_valist),
3880         (gst_structure_get_date):
3881         * gst/gststructure.h:
3882         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
3883         (gst_date_copy), (gst_value_compare_date),
3884         (gst_value_serialize_date), (gst_value_deserialize_date),
3885         (gst_value_transform_date_string),
3886         (gst_value_transform_string_date), (_gst_value_initialize):
3887         * gst/gstvalue.h:
3888           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
3889           bunch of utility functions along with a hack that checks that
3890           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
3891           is required. Part of the grand scheme in #170777.
3892
3893 2005-09-22  Andy Wingo  <wingo@pobox.com>
3894
3895         * gst/gstconfig.h.in: Psych out gtk-doc.
3896
3897         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
3898
3899         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
3900
3901         * tools/gst-inspect.c (print_element_list): Plug some
3902         inconsequential leaks.
3903
3904         * gst/gstregistry.c (gst_registry_get_default): Doc.
3905
3906         * check/gst/gstplugin.c: 
3907         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
3908         * gst/gstelementfactory.c (gst_element_factory_create): 
3909         * gst/gstindexfactory.c (gst_index_factory_create): Update for
3910         refcount changes.
3911
3912         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
3913         (gst_plugin_feature_load): Doc, don't eat refs.
3914
3915         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
3916         (gst_plugin_list_free): Doc.
3917         (gst_plugin_load_file): Doc updates.
3918
3919         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
3920         accessors returning refcounted objects, return a ref.
3921
3922         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
3923         accessor for caps. IDEMPOTENCE. Oh yes.
3924
3925 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
3926
3927         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3928
3929         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
3930         (_gst_debug_register_funcptr):
3931           Add mutex to serialise access to the hash table with
3932           the function pointer => function name string mapping;
3933           make that hash table static scope (#316809).
3934
3935         * gst/registries/.cvsignore:
3936           Remove left-over file.
3937
3938 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
3939
3940         * docs/pwg/appendix-porting.xml:
3941           And something about newsegment events and caps-on-buffers to
3942           the porting guide (feel free to improve).
3943
3944 2005-09-21  Andy Wingo  <wingo@pobox.com>
3945
3946         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
3947         data and event probes on the same pad.
3948         (test_buffer_probe_once): Test that removing probes from within
3949         the probe functions works.
3950
3951 2005-09-21  Andy Wingo  <wingo@pobox.com>
3952
3953         * check/gst/gstutils.c: New file.
3954         (test_buffer_probe_n_times): A simple buffer probe test. More to
3955         come, foolios.
3956
3957         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
3958         have-data::buffer, not have-data.
3959         (gst_pad_add_event_probe): Likewise for have-data::event.
3960         (gst_pad_add_data_probe): More docs. The part about 'resolving the
3961         peer' isn't quite right yet though.
3962         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
3963         (gst_pad_remove_data_probe): Change to take the guint handler_id
3964         as their arg, not the function+data, which is more glib-like.
3965
3966         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
3967         the signal emission to indicate if the data is a buffer or an
3968         event.
3969         (gst_pad_get_type): Initialize buffer and event quarks.
3970         (gst_pad_class_init): have-data is now a detailed signal, yes it
3971         is.
3972
3973 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
3974
3975         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
3976         * gst/gstutils.c: (gst_util_set_value_from_string),
3977         (gst_util_set_object_arg):
3978           Don't put functional code in g_return_if_fail() or
3979           g_return_val_if_fail() statements, otherwise things will 
3980           break when G_DISABLE_CHECKS is defined during compilation.
3981
3982 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
3983
3984         * docs/gst/tmpl/.cvsignore:
3985         * docs/gst/tmpl/gstvalue.sgml:
3986         * gst/gstvalue.c:
3987         * gst/gstvalue.h:
3988           inlied another one and added  some obvious docs
3989
3990 2005-09-21  Wim Taymans  <wim@fluendo.com>
3991
3992         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3993         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
3994         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
3995         (gst_fdsrc_get_property), (gst_fdsrc_create):
3996         * gst/elements/gstfdsrc.h:
3997         Properly implement fdsrc. Removed signal and timeout,
3998         better implemented somewhere else.
3999
4000 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4001
4002         * docs/gst/tmpl/.cvsignore:
4003         * docs/gst/tmpl/gstimplementsinterface.sgml:
4004         * gst/gstinterface.c:
4005           inlined more docs
4006
4007 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4008
4009         * docs/gst/gstreamer-sections.txt:
4010         * docs/gst/tmpl/.cvsignore:
4011         * docs/gst/tmpl/gstenumtypes.sgml:
4012           remove obsolete doc file
4013
4014 2005-09-21  David Schleef  <ds@schleef.org>
4015
4016         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4017         little beer, fix a little leak.
4018
4019 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4020
4021         * docs/gst/gstreamer-docs.sgml:
4022         * docs/gst/gstreamer-sections.txt:
4023         * docs/gst/tmpl/.cvsignore:
4024         * gst/Makefile.am:
4025         * gst/gst.h:
4026         * gst/gstbin.c:
4027         * gst/gstelement.h:
4028         * gst/gstindex.c: (gst_index_class_init):
4029         * gst/gstindex.h:
4030         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4031         (gst_index_factory_class_init), (gst_index_factory_init),
4032         (gst_index_factory_finalize), (gst_index_factory_new),
4033         (gst_index_factory_destroy), (gst_index_factory_find),
4034         (gst_index_factory_create), (gst_index_factory_make):
4035         * gst/gstindexfactory.h:
4036         * gst/gstpluginfeature.c:
4037         * gst/gstpluginfeature.h:
4038         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4039           more docs inlined, splitted gstindex.{c,h}
4040
4041 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4042
4043         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4044           fix a leak
4045
4046 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4047
4048         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4049           Set sync to FALSE by default.
4050
4051 2005-09-20  Wim Taymans  <wim@fluendo.com>
4052
4053         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4054         (gst_base_sink_init):
4055         Make sync property settable from subclass.
4056
4057         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4058         (gst_fake_sink_change_state):
4059         Set sync to FALSE by default.
4060
4061 2005-09-20  Wim Taymans  <wim@fluendo.com>
4062
4063         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4064         * tools/gst-launch.c: (main):
4065         The timeout handler should have lower priority than the source
4066         so we don't timeout before popping a message with 0 timeout.
4067         Dump error messages after failed state change.
4068
4069 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4070
4071         * tools/gst-inspect.c: (print_element_properties_info):
4072           Fix two typos.
4073
4074 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4075
4076         * check/gst/gstevent.c:
4077         * gst/elements/gstfakesink.c:
4078         * gst/elements/gstfakesink.h:
4079           remove the sync property from fakesink.
4080           has the side effect of setting sync TRUE
4081           for fakesink, which is a change.  Anyone who knows how
4082           to fix this nicely in a GObject-y way, feel free.
4083
4084 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4085
4086         * docs/gst/gstreamer-docs.sgml:
4087           remove probe refsection
4088
4089 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4090
4091         * check/Makefile.am:
4092           disable valgrinding the controller test again
4093         * docs/gst/gstreamer-sections.txt:
4094           update for api-changes
4095
4096 2005-09-20  Wim Taymans  <wim@fluendo.com>
4097
4098         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4099         (gst_base_sink_set_property), (gst_base_sink_get_property),
4100         (gst_base_sink_do_sync):
4101         * gst/base/gstbasesink.h:
4102         Added sync property to basesink to disable clock sync.
4103
4104 2005-09-20  Andy Wingo  <wingo@pobox.com>
4105
4106         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4107         eating the caller's refcount.
4108
4109         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
4110         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4111         refcount.
4112
4113         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4114         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4115         of GLib 2.8 public, so we can know which refcount to check in
4116         tests.
4117
4118         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4119         (gst_object_init): Only set the gst refcount if we're going ahead
4120         with the refcount hack.
4121
4122 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4123
4124         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4125         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4126           more leaks plumbed, added more debug-logging
4127         * gst/gstmacros.h:
4128           whitespace fix
4129
4130 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4131
4132         * gst/gstmessage.c:
4133           remove include of gstmemchunk.h
4134
4135 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4136
4137         * gst/gstclock.c: (_gst_clock_id_free):
4138           Commit from the Political Party For More Atomic CVS Commits,
4139           so that people don't waste too much of their day fishing
4140           out obvious leaks out of massive commits.
4141           Oh, and fix a pretty damn obvious leak in the memchunk
4142           removal code.
4143
4144 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4145
4146         * check/Makefile.am:
4147         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4148           plug mem-leak, re-add to valgrindable tests
4149
4150 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4151
4152         * gst/gstplugin.h:
4153           unbreak the build for those who have chronic arthritis
4154           and typing "make check" is just too taxing on the hands
4155
4156 2005-09-20  Andy Wingo  <wingo@pobox.com>
4157
4158         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
4159         really want it out, you should fix plugins at the same time.
4160
4161 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
4162
4163         * configure.ac:
4164         * docs/gst/gstreamer-sections.txt:
4165         * gst/gstobject.c:
4166           added missing symbols to api docs
4167           disable ref-count hack if we have glib >= 2.8
4168
4169 2005-09-19  David Schleef  <ds@schleef.org>
4170
4171         * docs/gst/Makefile.am: Ignore a few more internal headers
4172         * docs/gst/gstreamer-docs.sgml: Remove old sections
4173         * docs/gst/gstreamer-sections.txt: Remove old sections
4174         * docs/gst/tmpl/gstobject.sgml: update
4175         * docs/gst/tmpl/gstplugin.sgml: update
4176         * docs/gst/tmpl/gstpluginfeature.sgml: update
4177         * docs/random/ds/0.9-suggested-changes: update.
4178         * gst/Makefile.am: remove memchunk and trashstack, since they're
4179           not used.
4180         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
4181         * gst/gst.h: don't include some headers
4182         * gst/gstchildproxy.c: add gstmarshal.h
4183         * gst/gstclock.c: Don't use memchunks
4184         * gst/gstminiobject.c: Add some docs
4185         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
4186         * gst/gstobject.h: same
4187         * gst/gstplugin.c: include gstmacros.h
4188         * gst/gstplugin.h: don't include gstmacros.h, since it's private
4189         * gst/gstquery.c: don't use memchunks
4190         * gst/gstregistry.c: rename gst_registry_deinit()
4191         * gst/gstregistry.h: same
4192
4193 2005-09-19  David Schleef  <ds@schleef.org>
4194
4195         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
4196         * docs/libs/gstreamer-libs-sections.txt:
4197         * docs/libs/tmpl/gstgetbits.sgml:
4198         * docs/libs/tmpl/gstputbits.sgml:
4199
4200 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4201
4202         * win32/gstenumtypes.c:
4203         * win32/gstenumtypes.h:
4204           Update.
4205
4206 2005-09-19  Wim Taymans  <wim@fluendo.com>
4207
4208         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
4209         Automatically PAUSE and RESUME a pipeline when a flushing seek
4210         is performed.
4211
4212 2005-09-19  Andy Wingo  <wingo@pobox.com>
4213
4214         * gst/gstregistry.h: Spacing fixen.
4215
4216 2005-09-19  Wim Taymans  <wim@fluendo.com>
4217
4218         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
4219         Handle state change failure more correctly.
4220
4221 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4222
4223         * check/Makefile.am:
4224         * check/pipelines/cleanup.c: (run_pipeline):
4225         * check/pipelines/simple_launch_lines.c: (run_pipeline),
4226         (GST_START_TEST):
4227           enable cleanup again after fixing the leak
4228         * docs/README:
4229           some more info on docs
4230
4231 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4232
4233         * check/Makefile.am:
4234           re-enable tests now that leaks are plugged
4235         * check/gst/gst.c:
4236         * check/gst/gstbin.c:
4237         * check/gst/gstpipeline.c:
4238           add some more tests while fixing leaks
4239         * common/check.mak:
4240           make sure binaries are uptodate when valgrinding/gdbing
4241         * gst/gst.c:
4242         * gst/gstelementfactory.c:
4243           remove a ref too many, and add a FIXME for when we get
4244           round to disposing of classes
4245         * gst/gstplugin.c:
4246           fix the refcounting when loading a plugin from a file and
4247           the code pretends that the pointer is the same even though
4248           of course it can change
4249         * gst/gstpluginfeature.c:
4250           unref plugins marked cached (a bit confusing as a name)
4251           as the docs state should be done
4252           various doc additions to explain refcounting
4253         * gst/gstregistry.c:
4254         * gst/gstregistryxml.c:
4255           debugging
4256
4257 2005-09-19  Wim Taymans  <wim@fluendo.com>
4258
4259         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
4260         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4261         (send_messages), (GST_START_TEST), (gstbus_suite):
4262         * check/gst/gstpipeline.c: (GST_START_TEST):
4263         * check/pipelines/cleanup.c: (run_pipeline):
4264         * check/pipelines/simple_launch_lines.c: (run_pipeline),
4265         (GST_START_TEST):
4266         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
4267         (gst_bus_source_check), (gst_bus_source_dispatch),
4268         (gst_bus_create_watch), (gst_bus_add_watch_full),
4269         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
4270         * gst/gstbus.h:
4271         * tools/gst-launch.c: (event_loop):
4272         * tools/gst-md5sum.c: (event_loop):
4273         GstBusHandler -> GstBusFunc, return value has the same meaning as
4274         any other GSource (FALSE == remove source).
4275         _add_watch() and _add_watch_full() now take a MessageType mask to
4276         only handle specific types of messages.
4277         _poll() returns the GstMessage instead of the message type to avoid
4278         race conditions.
4279         _have_pending() takes a MessageType mask now too.
4280         Added testsuite for multiple bus watches.
4281         Fix testsuites and applications for new bus API.
4282
4283 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4284
4285         * check/Makefile.am:
4286           mark a bunch of the tests as to fix until we fix them
4287
4288 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4289
4290         * common/check.mak:
4291           use GST_PLUGIN settings for valgrind tests as well, so we're
4292           valgrinding the correct thing
4293         * gst/gst.c: (init_post):
4294           plug another leak
4295
4296 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4297
4298         * gst/gst.c: (init_post), (gst_deinit):
4299         * gst/gstelementfactory.c: (gst_element_factory_class_init),
4300         (gst_element_factory_finalize), (gst_element_factory_cleanup):
4301         * gst/gstindex.c: (gst_index_factory_class_init),
4302         (gst_index_factory_finalize):
4303         * gst/gstobject.c: (gst_object_dispose):
4304         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4305         (gst_plugin_load_file), (gst_plugin_desc_free):
4306         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
4307         (gst_plugin_feature_finalize):
4308         * gst/gstregistry.c: (gst_registry_class_init),
4309         (gst_registry_init), (gst_registry_finalize),
4310         (gst_registry_get_default), (gst_registry_deinit):
4311         * gst/gstregistry.h:
4312         * gst/gstregistryxml.c: (load_feature), (load_plugin):
4313           various cleanups and memleak plugging.  make valgrind is happy now.
4314
4315 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4316
4317         * common/check.mak:
4318           add a check-valgrind target
4319
4320 2005-09-18  David Schleef  <ds@schleef.org>
4321
4322         * tools/gst-inspect.c: Revert the GOption code.
4323
4324 2005-09-17  David Schleef  <ds@schleef.org>
4325
4326         * check/Makefile.am: Fix environment variables.
4327         * check/gst/gstplugin.c: Fix for API changes.
4328         * tools/gst-inspect.c: Fix for API changes.
4329         * tools/gst-xmlinspect.c: Fix for API changes.
4330         * gst/gstelementfactory.c:
4331         * gst/gstplugin.c:
4332         * gst/gstplugin.h:
4333         * gst/gstpluginfeature.c:
4334         * gst/gstpluginfeature.h:
4335         * gst/gstregistry.c:
4336         * gst/gstregistry.h:
4337         * gst/gstregistryxml.c:
4338         * gst/gsttypefind.c:
4339         * gst/gsttypefindfactory.c:
4340         * gst/indexers/gstfileindex.c:
4341         * gst/indexers/gstmemindex.c:
4342         * gst/schedulers/Makefile.am:
4343           Change registry to keep track of both plugins and features,
4344           removing the feature tracking from plugins themselves.
4345
4346 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4347
4348         * check/Makefile.am:
4349         * tools/gst-register.1.in:
4350           remove gst-register
4351
4352 2005-09-15  David Schleef  <ds@schleef.org>
4353
4354         * check/gst/gstplugin.c:
4355         * gst/gstelementfactory.c:
4356         * gst/gstplugin.c:
4357         * gst/gstpluginfeature.c:
4358         * gst/gstregistry.c:
4359           Getting tired of debugging.  Disabled all the unreffing of
4360           plugins and features, which fixes the segfaults, but of
4361           course leaks like crazy.  At least playbin works.
4362
4363 2005-09-15  David Schleef  <ds@schleef.org>
4364
4365         * check/gst/gstplugin.c: (register_check_elements),
4366         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
4367         More testing
4368         * gst/elements/gsttypefindelement.c: Fix refcounting.
4369         * gst/gsttypefind.c:
4370         * gst/gsttypefindfactory.c:
4371         * gst/gsttypefindfactory.h:
4372
4373 2005-09-15  David Schleef  <ds@schleef.org>
4374
4375         * gst/gstindex.c: get refcounting correct.
4376         * gst/gstregistry.c: Handle the case where a feature/plugin is
4377           not found.
4378
4379 2005-09-15  David Schleef  <ds@schleef.org>
4380
4381         * check/Makefile.am:
4382         * check/gst/gstplugin.c: Add test
4383         * gst/gstplugin.c: Fix problems noticed by testsuite
4384         * gst/gstplugin.h:
4385         * gst/gstregistry.c: 
4386         * gst/gstregistry.h:
4387
4388 2005-09-15  David Schleef  <ds@schleef.org>
4389
4390         * gst/gstplugin.c: Implement semi-decent recounting and locking
4391           in plugins and plugin features.
4392         * gst/gstplugin.h:
4393         * gst/gstpluginfeature.c:
4394         * gst/gstpluginfeature.h:
4395         * gst/gstregistry.c:
4396
4397 2005-09-15  Michael Smith <msmith@fluendo.com>
4398
4399         * gst/gstregistry.c: (gst_registry_get_feature_list):
4400           Implement this. Makes oggdemux work; decodebin still broken.
4401
4402 2005-09-14  David Schleef  <ds@schleef.org>
4403
4404         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
4405           #316076)
4406         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
4407         * gst/check/Makefile.am:
4408         * libs/gst/controller/Makefile.am:
4409         * libs/gst/dataprotocol/Makefile.am:
4410
4411 2005-09-14  David Schleef  <ds@schleef.org>
4412
4413         * configure.ac: Remove getbits library.  Nothing uses it, and
4414           it should be in something like liboil if someone did want
4415           to use it.
4416         * libs/gst/Makefile.am:
4417         * libs/gst/getbits/Makefile.am:
4418         * libs/gst/getbits/gbtest.c:
4419         * libs/gst/getbits/getbits.c:
4420         * libs/gst/getbits/getbits.h:
4421         * libs/gst/getbits/gstgetbits_generic.c:
4422         * libs/gst/getbits/gstgetbits_i386.s:
4423         * libs/gst/getbits/gstgetbits_inl.h:
4424
4425 2005-09-14  David Schleef  <ds@schleef.org>
4426
4427         * gst/Makefile.am: Dist glib-compat.h
4428
4429 2005-09-14  David Schleef  <ds@schleef.org>
4430
4431         * configure.ac: Remove gst/registries, since it's no longer used.
4432         * gst/registries/Makefile.am:
4433         * gst/registries/gstlibxmlregistry.c:
4434         * gst/registries/gstlibxmlregistry.h:
4435         * gst/registries/gstxmlregistry.c:
4436         * gst/registries/gstxmlregistry.h:
4437         * gst/registries/registrytest.c:
4438
4439 2005-09-14  David Schleef  <ds@schleef.org>
4440
4441         * gst/glib-compat.h:
4442         * gst/gstregistryxml.c:
4443           Convergence is near.  Seriously.
4444
4445 2005-09-14  David Schleef  <ds@schleef.org>
4446
4447         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4448         * gst/glib-compat.h:
4449           Attempt #4 to appease the buildbots.
4450
4451 2005-09-14  David Schleef  <ds@schleef.org>
4452
4453         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4454           Attempt #3.
4455
4456 2005-09-14  David Schleef  <ds@schleef.org>
4457
4458         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4459         Attempt #2.
4460
4461 2005-09-14  David Schleef  <ds@schleef.org>
4462
4463         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
4464           the new functions.
4465
4466 2005-09-14  David Schleef  <ds@schleef.org>
4467
4468         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4469         * gst/glib-compat.h: Add some functions that are in newer versions
4470           of glib than we care to require.
4471         * gst/gstregistryxml.c: Use them.
4472
4473 2005-09-14  David Schleef  <ds@schleef.org>
4474
4475         * po/POTFILES.in: remove gst-register.c
4476
4477 2005-09-14  David Schleef  <ds@schleef.org>
4478
4479         * docs/gst/gstreamer-docs.sgml:
4480         * docs/gst/gstreamer-sections.txt:
4481         * docs/gst/gstreamer.types:
4482         * docs/gst/tmpl/gstelement.sgml:
4483         * docs/gst/tmpl/gstplugin.sgml:
4484         * docs/gst/tmpl/gstpluginfeature.sgml:
4485           Documentation updates for registry changes.
4486
4487 2005-09-14  David Schleef  <ds@schleef.org>
4488
4489         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
4490           because we don't require glib-2.8.
4491
4492 2005-09-14  David Schleef  <ds@schleef.org>
4493
4494         * gst/gstregistryxml.c: Added.  Essentially moved out of the
4495           registries directory.
4496
4497 2005-09-14  David Schleef  <ds@schleef.org>
4498
4499         * check/Makefile.am:
4500         * check/generic/states.c:
4501         * gst/Makefile.am:
4502         * gst/gst.c:
4503         * gst/gst.h:
4504         * gst/gst_private.h:
4505         * gst/gstelementfactory.c:
4506         * gst/gstindex.c:
4507         * gst/gstinfo.c:
4508         * gst/gstplugin.c:
4509         * gst/gstplugin.h:
4510         * gst/gstpluginfeature.c:
4511         * gst/gstpluginfeature.h:
4512         * gst/gstregistry.c:
4513         * gst/gstregistry.h:
4514         * gst/gstregistrypool.c: remove
4515         * gst/gstregistrypool.h: remove
4516         * gst/gsttypefind.c:
4517         * gst/gsttypefindfactory.c:
4518         * gst/gsturi.c:
4519         * tools/Makefile.am:
4520         * tools/gst-compprep.c:
4521         * tools/gst-inspect.c:
4522         * tools/gst-register.c: remove
4523         * tools/gst-xmlinspect.c:
4524           Registry rewrite.  Changes registry from being a file created
4525           by a tool into a simple cache file created automatically by 
4526           libgstreamer.  Removed gst-register (because it's no longer
4527           needed).  Remove registry pools, because we only have one
4528           registry implementation (XML).  Fix up other subsystems as
4529           necessary.
4530
4531 2005-09-13  Michael Smith <msmith@fluendo.com>
4532
4533         * gst/gstconfig.h.in:
4534           Don't Use windows linking attributes for MinGW. Fixes #316157
4535
4536 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4537
4538         * gst/gstutils.c: (set_state_async_thread_func),
4539         (gst_element_set_state_async):
4540           Apparently people think it's better if this function doesn't
4541           try to set the state to whatever state was asked for on the first
4542           call to this function for any object.  Seriously.
4543
4544 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4545
4546         * check/gst/gstpipeline.c: (GST_START_TEST):
4547         * docs/gst/gstreamer-sections.txt:
4548         * gst/gstutils.c: (set_state_async_thread_func),
4549         (gst_element_set_state_async):
4550         * gst/gstutils.h:
4551           add a "gst_element_set_state_async" method that
4552           sets the state and starts a thread to make sure the state
4553           change completes as best as it can
4554
4555 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4556
4557         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4558           codify design+behaviour in testsuite after discussion
4559
4560 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4561
4562         * docs/gst/tmpl/gstelement.sgml:
4563         * docs/manual/appendix-quotes.xml:
4564           add a quote
4565         * gst/gstelement.c: (gst_element_set_state):
4566           add some debug
4567
4568 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
4569
4570         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4571         (gst_base_transform_prepare_output_buf),
4572         (gst_base_transform_handle_buffer):
4573         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
4574         (gst_capsfilter_prepare_buf):
4575           Remove the requirement for sub-classes to call the parent
4576           implementation of prepare_output_buffer with a wrapper function.
4577           
4578         * gst/gsttaglist.h:
4579         * gst/gsttagsetter.h:
4580           Fix #define wrapper
4581
4582 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
4583
4584         * docs/gst/gstreamer-sections.txt:
4585           more doc cleanups
4586
4587 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4588
4589         * docs/gst/gstreamer-sections.txt:
4590         * docs/gst/tmpl/gstelement.sgml:
4591         * docs/gst/tmpl/gstplugin.sgml:
4592         * gst/gstminiobject.c:
4593         * gst/gstvalue.h:
4594           docs now stop throwing warnings
4595
4596 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4597
4598         * docs/gst/gstreamer-sections.txt:
4599         * docs/gst/gstreamer.types:
4600         * docs/gst/tmpl/gstpad.sgml:
4601         * docs/gst/tmpl/gsttypes.sgml:
4602         * gst/base/gstadapter.h:
4603         * gst/base/gstbasesink.h:
4604         * gst/base/gstbasesrc.h:
4605         * gst/gstbin.h:
4606         * gst/gstbuffer.h:
4607         * gst/gstbus.h:
4608         * gst/gstcaps.h:
4609         * gst/gstclock.h:
4610         * gst/gstelement.h:
4611         * gst/gstevent.h:
4612         * gst/gstmessage.h:
4613         * gst/gstpad.h:
4614         * gst/gststructure.c:
4615         * gst/registries/gstlibxmlregistry.h:
4616           various documentation fixes
4617
4618 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4619
4620         * docs/gst/gstreamer-sections.txt:
4621         * docs/gst/tmpl/gstvalue.sgml:
4622           rearrange gstvalue section
4623         * gst/gstutils.c: (gst_element_state_get_name):
4624           NONE -> VOID
4625         * gst/gstvalue.c: (_gst_value_initialize):
4626         * gst/gstvalue.h:
4627           doc updates
4628
4629 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
4630
4631         * check/gst-libs/controller.c:
4632           Header include fix.
4633         * gst/base/gstbasetransform.c:
4634         (gst_base_transform_default_prepare_buf),
4635         (gst_base_transform_handle_buffer):
4636         * gst/base/gstbasetransform.h:
4637           Some more basetransform changes and fixes to enable sub-classes
4638           that modify buffer metadata only.
4639         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4640         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
4641         (gst_capsfilter_prepare_buf):
4642           If the output pad has fixed allowed caps and input buffers 
4643           don't have any, set the fixed caps on outgoing buffers.
4644
4645 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
4646         * check/elements/identity.c: (GST_START_TEST):
4647           Make the error a little clearer when the test fails because
4648           identity made a copy of the buffer.
4649         * docs/gst/gstreamer-sections.txt:
4650           New symbols in gstbasetransform.h
4651         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4652         (gst_base_transform_init), (gst_base_transform_transform_size),
4653         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4654         (gst_base_transform_default_prepare_buf),
4655         (gst_base_transform_get_unit_size),
4656         (gst_base_transform_buffer_alloc),
4657         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4658         (gst_base_transform_change_state),
4659         (gst_base_transform_set_passthrough),
4660         (gst_base_transform_set_in_place),
4661         (gst_base_transform_is_in_place):
4662         * gst/base/gstbasetransform.h:
4663           Change BaseTransform to separate in_place operate from same_caps
4664           output. in_place implies that the element can perform the transform
4665           on incoming buffers in-place, even if the caps on the output are
4666           different.
4667           Sub-class elements can now implement special buffer allocation
4668           methods for outgoing buffers if they wish to.
4669           Big documentation addition.
4670         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
4671         * gst/elements/gstelements.c:
4672           Changes for basetransform modifications.
4673         * gst/elements/Makefile.am:
4674         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
4675           Compile fix. Extra debug output.
4676
4677 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4678
4679         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
4680         (gst_pad_suite):
4681           add tests for valid pad naming
4682         * gst/check/gstcheck.c: (gst_check_log_message_func),
4683         (gst_check_log_critical_func):
4684           add ASSERT_WARNING
4685           remove printing of code, it is fragile when the code contains
4686           % and the line number is enough info
4687         * gst/check/gstcheck.h:
4688         * gst/gstpad.c: (gst_pad_template_new):
4689           fix memleaks
4690
4691 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4692
4693         * configure.ac:
4694           say what CHECK flags we use
4695         * docs/libs/gstreamer-libs.types:
4696         * libs/gst/controller/Makefile.am:
4697         * libs/gst/controller/gst-controller.c:
4698         * libs/gst/controller/gst-controller.h:
4699         * libs/gst/controller/gst-helper.c:
4700         * libs/gst/controller/gst-interpolation.c:
4701         * libs/gst/controller/gstcontroller.c:
4702         * libs/gst/controller/gsthelper.c:
4703         * libs/gst/controller/gstinterpolation.c:
4704         * tools/gst-inspect.c: (print_plugin_info):
4705           we don't use dashes in header names
4706
4707 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4708
4709         * check/Makefile.am:
4710         * check/gst/.cvsignore:
4711         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
4712         (gst_pipeline_suite), (main):
4713           adding a test for pipelines and state changes
4714         * gst/gstutils.c: (get_state_func):
4715           add some debugging
4716         * gstreamer.spec.in:
4717           fix up spec file
4718
4719 2005-09-08  Michael Smith <msmith@fluendo.com>
4720
4721         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
4722         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
4723         (gst_file_src_is_seekable), (gst_file_src_get_size),
4724         (gst_file_src_start):
4725         * gst/elements/gstfilesrc.h:
4726           Various fixes for unseekable, unmmapable, and non-normal files, so
4727           that fallback to read() rather than mmap() works.
4728         * gst/gstevent.c: (gst_event_new_newsegment):
4729           Allow newsegment events with segment_start == segment_end, as will
4730           correctly happen if you use filesrc on a zero-size file, for
4731           example.
4732
4733 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
4734
4735         * gst/gstplugin.c: (gst_plugin_load_file):
4736           Call g_module_close when we don't load the module
4737
4738         * gst/registries/gstlibxmlregistry.c:
4739         (gst_xml_registry_get_property):
4740           Port leak fix from 0.8
4741
4742 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4743
4744         * docs/gst/gstreamer-docs.sgml:
4745         * docs/gst/tmpl/.cvsignore:
4746         * docs/gst/tmpl/gsttrace.sgml:
4747         * docs/gst/tmpl/gsttrashstack.sgml:
4748         * gst/Makefile.am:
4749         * gst/gst.h:
4750         * gst/gstelement.h:
4751         * gst/gstevent.h:
4752         * gst/gstmessage.c:
4753         * gst/gstmessage.h:
4754         * gst/gsttag.c:
4755         * gst/gsttag.h:
4756         * gst/gsttaginterface.c:
4757         * gst/gsttaginterface.h:
4758         * gst/gsttaglist.c:
4759         * gst/gsttaglist.h:
4760         * gst/gsttagsetter.c:
4761         * gst/gsttagsetter.h:
4762         * gst/gsttrace.c:
4763         * gst/gsttrace.h:
4764         * gst/gsttrashstack.c:
4765           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
4766           inlined docs for gsttrace, gsttrashstack
4767
4768 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4769
4770         * gst/Makefile.am:
4771         * gst/elements/gstbufferstore.h:
4772         * gst/elements/gsttypefindelement.c:
4773         * gst/elements/gsttypefindelement.h:
4774         * gst/gst.h:
4775         * gst/gsttypefind.c:
4776         * gst/gsttypefind.h:
4777         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
4778         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
4779         (gst_type_find_factory_dispose),
4780         (gst_type_find_factory_unload_thyself),
4781         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
4782         (gst_type_find_factory_get_caps),
4783         (gst_type_find_factory_get_extensions),
4784         (gst_type_find_factory_call_function):
4785         * gst/gsttypefindfactory.h:
4786         * gst/registries/gstlibxmlregistry.c:
4787         * gst/registries/gstxmlregistry.c:
4788           splitted gsttypefind into gsttypefind, gsttypefindfactory
4789
4790 2005-09-07  Andy Wingo  <wingo@pobox.com>
4791
4792         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
4793         condition whereby the pad's task function is entered before the
4794         pad_mode variable was set.
4795
4796 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
4797
4798         * gst/gstpad.c: (gst_pad_alloc_buffer):
4799           Catch misbehaving pad_alloc functions that don't
4800           set up caps and do it for them.
4801
4802 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4803
4804         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4805           test for pipe!=NULL
4806         * docs/gst/tmpl/.cvsignore:
4807         * docs/gst/tmpl/gstmemchunk.sgml:
4808         * docs/gst/tmpl/gstparse.sgml:
4809         * docs/gst/tmpl/gsttaglist.sgml:
4810         * docs/gst/tmpl/gsttagsetter.sgml:
4811         * docs/gst/tmpl/gsttypefind.sgml:
4812         * docs/gst/tmpl/gsttypefindfactory.sgml:
4813         * gst/gstmemchunk.c:
4814         * gst/gstparse.c:
4815         * gst/gsttag.c:
4816         * gst/gsttaginterface.c:
4817         * gst/gsttypefind.c:
4818         * gst/gsttypefind.h:
4819           inlined more docs
4820
4821 === release 0.9.2 ===
4822
4823 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * NEWS:
4826         * RELEASE:
4827         * configure.ac:
4828           releasing 0.9.2, "South"
4829
4830 2005-09-05  Andy Wingo  <wingo@pobox.com>
4831
4832         * gst/registries/gstxmlregistry.h:
4833         * gst/registries/gstxmlregistry.c: Um... resurrect...
4834         
4835         * gst/registries/gstxmlregistry.h:
4836         * gst/registries/gstxmlregistry.c: and update to newer API.
4837         Incidentally they should be a bit faster now that they don't have
4838         to parse the caps.
4839         
4840 2005-09-05  Andy Wingo  <wingo@pobox.com>
4841
4842         * gst/registries/gstxmlregistry.h:
4843         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
4844         replaced by the libxml registry a while back
4845
4846 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * docs/gst/tmpl/gstplugin.sgml:
4849         * gst/elements/gstelements.c:
4850         * gst/gst.c:
4851         * gst/gstplugin.c: (gst_plugin_register_func),
4852         (gst_plugin_desc_copy), (gst_plugin_desc_free),
4853         (gst_plugin_get_source):
4854         * gst/gstplugin.h:
4855         * gst/registries/gstlibxmlregistry.c: (load_plugin),
4856         (gst_xml_registry_save_plugin):
4857         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
4858         (gst_xml_registry_save_plugin):
4859         * tools/gst-inspect.c: (print_plugin_info):
4860           add a "source" plugin description field, to represent the source
4861           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
4862           will set it to PACKAGE, which is automake's idea of the name of
4863           the source project.
4864
4865 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4866
4867         * Makefile.am:
4868         * autogen.sh:
4869         * configure.ac:
4870         * docs/Makefile.am:
4871         * docs/faq/Makefile.am:
4872         * docs/gst/tmpl/gstelement.sgml:
4873         * docs/gst/tmpl/gsttypes.sgml:
4874         * docs/htmlinstall.mak:
4875         * docs/manual/Makefile.am:
4876         * docs/pwg/Makefile.am:
4877           reorganize doc build a little
4878           split out docbook and gtk-doc stuff
4879           have two separate --enable's and enable them through autogen
4880           but disable by default in configure (to be similar to other
4881           projects)
4882         * gstreamer.spec.in:
4883           clean up docs install
4884         * po/af.po:
4885         * po/az.po:
4886         * po/ca.po:
4887         * po/cs.po:
4888         * po/de.po:
4889         * po/en_GB.po:
4890         * po/fr.po:
4891         * po/it.po:
4892         * po/nb.po:
4893         * po/nl.po:
4894         * po/ru.po:
4895         * po/sq.po:
4896         * po/sr.po:
4897         * po/sv.po:
4898         * po/tr.po:
4899         * po/uk.po:
4900         * po/vi.po:
4901           translation updates
4902
4903 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
4904
4905         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
4906           Add comment.
4907           
4908         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4909         (gst_fake_sink_change_state):
4910           Make state change function thread-safe.
4911           
4912         * gst/gstpad.c: (gst_pad_alloc_buffer):
4913           Set offset on generic buffer allocated by fallback.
4914
4915 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
4916
4917         * docs/gst/gstreamer-sections.txt:
4918         * docs/gst/tmpl/gstelement.sgml:
4919         * gst/gstpad.c:
4920         * libs/gst/controller/gst-controller.c:
4921         (gst_controlled_property_set_interpolation_mode),
4922         (gst_controlled_property_new),
4923         (gst_controller_find_controlled_property):
4924          run the wingo-magic script against the docs
4925
4926 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
4927
4928         * docs/gst/gstreamer-docs.sgml:
4929         * docs/gst/gstreamer-sections.txt:
4930         * docs/gst/tmpl/.cvsignore:
4931         * docs/gst/tmpl/gstelementdetails.sgml:
4932         * docs/gst/tmpl/gstelementfactory.sgml:
4933         * gst/gst.c:
4934         * gst/gstbus.c:
4935         * gst/gstelementfactory.c:
4936         * gst/gstelementfactory.h:
4937           merged elementdetails docs into elementfactory docs
4938           inlined both
4939
4940 2005-09-02  Andy Wingo  <wingo@pobox.com>
4941
4942         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
4943         consider this enum an enum and not a flags.
4944
4945 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
4946
4947         * docs/gst/gstreamer-docs.sgml:
4948         * docs/gst/tmpl/.cvsignore:
4949         * docs/gst/tmpl/gstghostpad.sgml:
4950         * docs/gst/tmpl/gstiterator.sgml:
4951         * docs/gst/tmpl/gstmacros.sgml:
4952         * docs/gst/tmpl/gstrealpad.sgml:
4953         * docs/gst/tmpl/gstregistry.sgml:
4954         * docs/gst/tmpl/gstregistrypool.sgml:
4955         * docs/gst/tmpl/gststructure.sgml:
4956         * docs/gst/tmpl/gstsystemclock.sgml:
4957         * docs/gst/tmpl/gsttrace.sgml:
4958         * gst/gstghostpad.c:
4959         * gst/gstmacros.h:
4960         * gst/gstmemchunk.c:
4961         * gst/gstmemchunk.h:
4962         * gst/gstqueue.c:
4963         * gst/gstregistry.c:
4964         * gst/gstregistrypool.c:
4965         * gst/gststructure.c:
4966         * gst/gstsystemclock.c:
4967           more docs inlined
4968
4969 2005-09-02  Andy Wingo  <wingo@pobox.com>
4970
4971         * gst/gstelement.h (GstState): Renamed from GstElementState,
4972         changed to be a normal enum instead of flags.
4973         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
4974         munged to be GST_STATE_CHANGE_*.
4975         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
4976         work with the new state representation.
4977         (GstStateChange): New enumeration of possible state transitions.
4978         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
4979         (GstElementClass::change_state): Pass the GstStateChange along as
4980         an argument. Helps language bindings, so they don't have to use
4981         tricky lock-needing macros like GST_STATE_CHANGE ().
4982
4983         * scripts/update-states (file): New script. Run it on a file to
4984         update it for state naming and API changes. Updates files in
4985         place.
4986
4987         * All files updated for the new API.
4988
4989 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4990
4991         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
4992         * gst/gstutils.c: (gst_util_set_value_from_string),
4993         (gst_util_set_object_arg):
4994           fix a bunch of unchecked return values
4995         * tools/gst-complete.c: (main):
4996         * gstreamer.spec.in:
4997           clean up a little
4998
4999 2005-09-01  Wim Taymans  <wim@fluendo.com>
5000
5001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5002         (gst_base_sink_event), (gst_base_sink_do_sync),
5003         (gst_base_sink_handle_event):
5004         * gst/base/gstbasesink.h:
5005         Handle newsegments more correctly.
5006
5007         * gst/gstbus.c:
5008         Fix docs.
5009
5010         * gst/gstevent.c: (gst_event_new_newsegment):
5011         A newsegment cannot have a start_time of -1
5012
5013 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5014
5015         * win32/gstenumtypes.c:
5016         * win32/gstenumtypes.h:
5017           Update
5018
5019 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5020
5021         * libs/gst/controller/gst-controller.c:
5022         (gst_controlled_property_set_interpolation_mode),
5023         (gst_controlled_property_new):
5024          fixed boolean again
5025
5026 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5027
5028         * docs/faq/gst-uninstalled:
5029           add -good
5030         * gst/gstevent.c:
5031         * gst/gstevent.h:
5032           remove wrong docs
5033         * gst/gstutils.c: (gst_element_link_filtered):
5034         * gst/gstutils.h:
5035           add gst_element_link_filtered
5036
5037 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5038
5039         * docs/gst/gstreamer-docs.sgml:
5040         * docs/gst/gstreamer-sections.txt:
5041         * docs/gst/tmpl/.cvsignore:
5042         * docs/gst/tmpl/gsterror.sgml:
5043         * docs/gst/tmpl/gstfilter.sgml:
5044         * docs/gst/tmpl/gsturihandler.sgml:
5045         * docs/gst/tmpl/gsturitype.sgml:
5046         * docs/gst/tmpl/gstutils.sgml:
5047         * docs/gst/tmpl/gstxml.sgml:
5048         * gst/gsterror.c:
5049         * gst/gsterror.h:
5050         * gst/gstfilter.c:
5051         * gst/gsturi.c:
5052         * gst/gsturitype.c:
5053         * gst/gstutils.c:
5054         * gst/gstxml.c:
5055           inlined more docs, fixed double id-ref
5056
5057 2005-08-31  Wim Taymans  <wim@fluendo.com>
5058
5059         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5060         (gst_base_transform_handle_buffer):
5061         Passthrough elements don't need the caps as they don't care.
5062
5063 2005-08-31  Wim Taymans  <wim@fluendo.com>
5064
5065         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5066         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5067         Don't leak refcounts on buffers.
5068
5069 2005-08-31  Wim Taymans  <wim@fluendo.com>
5070
5071         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5072         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5073         (gst_base_transform_chain), (gst_base_transform_change_state):
5074         * gst/base/gstbasetransform.h:
5075         Handle the case where we are not negotiated more gracefully.
5076
5077 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
5078
5079         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5080         (gst_file_src_map_region):
5081           Set READONLY flag on mmap'ed buffers, otherwise
5082           gst_buffer_make_writable() won't work properly (#314708).
5083
5084 2005-08-31  Wim Taymans  <wim@fluendo.com>
5085
5086         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5087         passthrough elements can even do inplace on non writable
5088         buffers (as they don't touch them).
5089
5090 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5091
5092         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5093         (gst_test_mono_source_set_property),
5094         (gst_test_mono_source_class_init), (GST_START_TEST),
5095         (gst_controller_suite):
5096           more tests (hehe I have the most)
5097         * gst/gstbus.c:
5098           describe popping messages whenusing mulltiple sources
5099         * libs/gst/controller/gst-controller.c:
5100         (gst_controlled_property_set_interpolation_mode),
5101         (gst_controlled_property_new):
5102         * libs/gst/controller/gst-controller.h:
5103         * libs/gst/controller/gst-interpolation.c:
5104           implement boolean properties
5105
5106 2005-08-31  Wim Taymans  <wim@fluendo.com>
5107
5108         * gst/gstminiobject.c: (gst_mini_object_ref):
5109         Cannot assert that the refcount has to be positive
5110         since a disposed object can be resurrected.
5111
5112 2005-08-31  Wim Taymans  <wim@fluendo.com>
5113
5114         * gst/gstpad.c: (gst_pad_init):
5115         Revert change, need to first fix badly behaving 
5116         apps.
5117
5118 2005-08-30  Wim Taymans  <wim@fluendo.com>
5119
5120         * check/elements/fakesrc.c: (setup_fakesrc):
5121         * check/elements/identity.c: (setup_identity):
5122         Activate pads before using them.
5123
5124 2005-08-30  Wim Taymans  <wim@fluendo.com>
5125
5126         * gst/base/gstadapter.c: (gst_adapter_flush):
5127         Flushing out 0 bytes is ok for this function.
5128
5129         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5130         no newsegment gives a warning and sets the start/stop to 
5131         invalid.
5132
5133         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
5134         (gst_base_transform_set_passthrough):
5135         Some debug info.
5136
5137         * gst/gstminiobject.c: (gst_mini_object_ref):
5138         Check refcount here too.
5139
5140         * gst/gstpad.c: (gst_pad_init):
5141         Pads are initially flushing and refusing data.
5142
5143         * gst/gstutils.c: (gst_element_link_pads_filtered):
5144         When adding a capsfilter element make sure it has the
5145         same state as the parent bin.
5146
5147 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5148
5149         * docs/gst/tmpl/.cvsignore:
5150         * docs/gst/tmpl/gstformat.sgml:
5151         * docs/gst/tmpl/gstversion.sgml:
5152         * gst/gstbus.h:
5153         * gst/gstformat.c:
5154         * gst/gstformat.h:
5155         * gst/gstversion.h.in:
5156           more docs and two more inlined
5157
5158 2005-08-30  Wim Taymans  <wim@fluendo.com>
5159
5160         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
5161         Don't sync to clock.
5162
5163 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5164
5165         * docs/gst/gstreamer-sections.txt:
5166           ultral33t func10ns deserve to appear in the docs actually
5167         * docs/gst/tmpl/.cvsignore:
5168         * docs/gst/tmpl/gstcompat.sgml:
5169         * docs/gst/tmpl/gstconfig.sgml:
5170         * gst/check/gstcheck.c:
5171         * gst/gstcompat.h:
5172         * gst/gstconfig.h.in:
5173           inlined more docs
5174
5175 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5176
5177         * docs/gst/tmpl/.cvsignore:
5178         * docs/gst/tmpl/gstquery.sgml:
5179         * docs/gst/tmpl/gstutils.sgml:
5180         * gst/gstquery.c:
5181         * gst/gstquery.h:
5182           inlined and extended docs
5183
5184 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5185
5186         * check/gst-libs/controller.c: (GST_START_TEST),
5187         (gst_controller_suite):
5188           more tests
5189         * docs/gst/tmpl/gstutils.sgml:
5190         * docs/libs/gstreamer-libs-sections.txt:
5191         * docs/libs/tmpl/gstdataprotocol.sgml:
5192           include path fixes
5193         * examples/controller/audio-example.c: (main):
5194           controller example works now
5195         * gst/gstclock.h:
5196           doc fixes
5197         * tools/gst-inspect.c: (print_element_properties_info):
5198           show param spec flags
5199
5200 2005-08-29  Andy Wingo  <wingo@pobox.com>
5201
5202         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
5203
5204 2005-08-28  Andy Wingo  <wingo@pobox.com>
5205
5206         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
5207         as having two arguments instead of just one. Allows superclasses
5208         to access information on subclasses -- see the terrible for() loop
5209         in gtype.c:g_type_create_instance for the reason why. All callers
5210         changed.
5211
5212 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5213
5214         * docs/design/part-messages.txt:
5215           update info
5216         * docs/gst/tmpl/.cvsignore:
5217         * docs/gst/tmpl/gstcaps.sgml:
5218         * docs/gst/tmpl/gstclock.sgml:
5219         * gst/gstbus.c:
5220         * gst/gstcaps.c:
5221         * gst/gstcaps.h:
5222         * gst/gstclock.c:
5223         * gst/gstclock.h:
5224         * gst/gstmessage.c:
5225           added descriptions for bus and message
5226           inline caps and clock docs
5227
5228 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5229
5230         * gst/gstmessage.c:
5231         * gst/gstmessage.h:
5232           doc fixes
5233
5234 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5235
5236         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5237           fix div-by-zero
5238
5239 2005-08-26  Andy Wingo  <wingo@pobox.com>
5240
5241         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
5242         element_set_state's return val.
5243         (test_2_elements): Add test that's been disabled for months.
5244
5245         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
5246         can-activate-pull properties.
5247
5248         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
5249         can-activate-pull properties. Implement is_seekable so fakesrc can
5250         operate in pull mode.
5251
5252         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
5253         properties.
5254         (gst_base_sink_activate, gst_base_sink_activate_pull)
5255         (gst_base_sink_activate_push): Make activation mode choosing work.
5256         Cleanups.
5257         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
5258         is right. Make pull mode work. Post an eos before pausing in pull
5259         mode.
5260         (gst_base_sink_change_state): Pay attention to the core's
5261         change_state() return val.
5262         
5263         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
5264         has-getrange properties. Cleanups.
5265         
5266         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
5267         has_getrange and replace with can_activate_pull and
5268         can_activate_push.
5269
5270         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
5271         locking comments. Remove has_loop, has_chain and replace with
5272         can_activate_pull and can_activate_push.
5273
5274 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
5275
5276         * configure.ac:
5277         * examples/Makefile.am:
5278         * examples/metadata/Makefile.am:
5279         * examples/metadata/read-metadata.c: (message_loop),
5280         (have_pad_handler), (make_pipeline), (print_tag), (main):
5281           Add metadata reading example that loops over a list of filenames,
5282           dumping any tags found.
5283
5284         * gst/gstbus.c: (gst_bus_dispose):
5285         * gst/gstelement.c: (gst_element_dispose):
5286           Release a few potentially-held references in dispose.
5287
5288 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5289
5290         * docs/gst/tmpl/gstminiobject.sgml:
5291           do *not* add tmpl/*.sgml files to CVS!
5292
5293 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5294
5295         * libs/gst/bytestream/.cvsignore:
5296         * libs/gst/bytestream/Makefile.am:
5297         * libs/gst/bytestream/adapter.c:
5298         * libs/gst/bytestream/adapter.h:
5299         * libs/gst/bytestream/bytestream.c:
5300         * libs/gst/bytestream/bytestream.h:
5301         * libs/gst/bytestream/filepad.c:
5302         * libs/gst/bytestream/filepad.h:
5303           removing obsolete files
5304
5305 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * docs/gst/gstreamer-docs.sgml:
5308         * docs/libs/gstreamer-libs-docs.sgml:
5309           disabed additional index entries again, as this makes docs-gen just
5310           slow and they aren't useful yet
5311         * docs/libs/gstreamer-libs-sections.txt:
5312           little -section.txt cleanup for libs
5313
5314 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5315
5316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5317         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
5318           fix up some debugging
5319         (gst_base_transform_get_unit_size),
5320         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5321         (gst_base_transform_handle_buffer):
5322         * gst/base/gstbasetransform.h:
5323           handle and store timed NEWSEGMENT events so that subclasses that
5324           calculate time by counting samples have a segment_start time they
5325           need to add to their timestamps - see audioresample
5326
5327 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5328
5329         * gst/gstbin.h:
5330           removed ';' from the end of macro defs
5331         * docs/gst/gstreamer-docs.sgml:
5332         * docs/gst/gstreamer-sections.txt:
5333         * docs/gst/tmpl/.cvsignore:
5334         * gst/gstbus.h:
5335         * gst/gstelement.c: (gst_element_class_init),
5336         (gst_element_set_state), (activate_pads),
5337         (gst_element_save_thyself):
5338         * gst/gstevent.c: (gst_event_new_newsegment):
5339         * gst/gstevent.h:
5340         * gst/gstiterator.c:
5341         * gst/gstiterator.h:
5342         * gst/gstpad.c:
5343         * gst/gstprobe.h:
5344         * gst/gstutils.c: (gst_pad_query_convert):
5345         * gst/gstutils.h:
5346           fixed parameter name mismatches between source, header and docs
5347           added some more docs, resolved the last batch of unused elements in
5348           docs (now someone needs to doc them)
5349
5350 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5351
5352         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
5353         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
5354           don't walk through the plugins backwards.  Where is all this
5355           reversed logic coming from ?
5356
5357 2005-08-25  Wim Taymans  <wim@fluendo.com>
5358
5359         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5360         (gst_base_transform_transform_size),
5361         (gst_base_transform_configure_caps),
5362         (gst_base_transform_get_unit_size),
5363         (gst_base_transform_buffer_alloc),
5364         (gst_base_transform_change_state):
5365         * gst/base/gstbasetransform.h:
5366         Cache caps unit_size.
5367         Make sure we cannot negotiate up and downstream at the
5368         same time.
5369
5370 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5371
5372         * gst/gst.c: (init_pre), (init_post):
5373           register the installed plugin path after the env var
5374         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
5375         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
5376           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
5377           directories, so the tests can prefer uninstalled over installed
5378
5379 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5380
5381         * gst/base/gstbasetransform.h:
5382           comment
5383         * gst/gstpad.c:
5384           add to docs
5385
5386 2005-08-25  Wim Taymans  <wim@fluendo.com>
5387
5388         * gst/gstbin.c: (bin_bus_handler):
5389         Be a bit more conservative about the posted message.
5390         
5391         * gst/gstbus.c: (gst_bus_post):
5392         Some cleanups, warn wrong return values.
5393
5394 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
5395
5396         * check/gst/gstbin.c: (GST_START_TEST):
5397         * gst/gstbin.c: (bin_bus_handler):
5398         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5399         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5400         (gst_message_new_warning), (gst_message_new_tag),
5401         (gst_message_new_state_changed), (gst_message_new_segment_start),
5402         (gst_message_new_segment_done), (gst_message_new_custom):
5403         * gst/gstmessage.h:
5404         * tools/gst-launch.c: (event_loop):
5405         * tools/gst-md5sum.c: (event_loop):
5406           Revert unpopular change for GST_MESSAGE_SRC to GObject.
5407
5408 2005-08-25  Wim Taymans  <wim@fluendo.com>
5409
5410         * check/generic/states.c: (GST_START_TEST):
5411         Cleanup can be done at the end.
5412
5413         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
5414         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5415         (gst_task_get_state), (gst_task_start), (gst_task_pause):
5416         Oh boy.. Thanks for finding this, Thomas. 
5417
5418 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
5419
5420         * docs/gst/gstreamer.types:
5421           added missing types
5422
5423 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
5424
5425         * docs/gst/gstreamer-docs.sgml:
5426         * docs/gst/gstreamer-sections.txt:
5427         * docs/gst/tmpl/.cvsignore:
5428         * gst/gstbin.c:
5429         * gst/gstiterator.c:
5430         * gst/gstutils.c:
5431         * gst/registries/gstxmlregistry.h:
5432           added missing classes and symbols (123 more to go)
5433           removed removed symbols from section file
5434           fixed many doc-comments
5435
5436 2005-08-24  Wim Taymans  <wim@fluendo.com>
5437
5438         * check/generic/states.c: (GST_START_TEST):
5439         Make sure all tasks are stopped.
5440
5441         * check/gst/gstbin.c: (GST_START_TEST):
5442         Unref after usage for proper valgrinding.
5443
5444         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
5445         Really wait for the task to stop before destroying the
5446         mutex.
5447
5448         * gst/gstqueue.c: (gst_queue_sink_activate_push),
5449         (gst_queue_src_activate_push):
5450         Small cleanups. Don't stop the task when we did not start
5451         it.
5452
5453         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
5454         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5455         (gst_task_get_state), (gst_task_start), (gst_task_pause),
5456         (gst_task_join):
5457         * gst/gsttask.h:
5458         Protect the stream lock with the object lock.
5459         Disallow setting the stream lock when running.
5460         Add cleanup_all to wait for the threadpool to finish.
5461         Remove code to autoallocate a mutex if none was provided.
5462         Add _join() to wait for a task to stop.
5463         Protect the thread pool with a global lock.
5464
5465 2005-08-24  Wim Taymans  <wim@fluendo.com>
5466
5467         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5468         (gst_base_sink_get_times), (gst_base_sink_do_sync),
5469         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
5470         * gst/base/gstbasesink.h:
5471         Handle newsegment events correctly.
5472         Drop buffers out of the segment range.
5473
5474 2005-08-22  Andy Wingo  <wingo@pobox.com>
5475
5476         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
5477         macro, implements an interface and gstimplementsinterface for a
5478         new type.
5479
5480 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5481
5482         * check/Makefile.am:
5483         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
5484           add a test that does a bunch of state changes on elements
5485           needs some fixing for valgrind
5486         * check/states/sinks.c: (gst_object_suite):
5487           whitespace
5488         * gst/gstcaps.h:
5489           add prototype for gst_caps_is_equal_fixed
5490         * gst/gstplugin.c:
5491         * gst/gstregistrypool.c:
5492           doc fixes
5493
5494 2005-08-24  Andy Wingo  <wingo@pobox.com>
5495
5496         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
5497         convert a negative value. Doesn't make much sense. Mostly this is
5498         here to force callers to ensure -1 maps to -1.
5499
5500 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5501
5502         * docs/pwg/advanced-types.xml:
5503           Well done to Michael for catching my deliberate introduction
5504           of this spelling mistake. 
5505         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
5506         * gst/gstelement.h:
5507           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
5508           unlink pads before removing the element from the bin.
5509
5510 2005-08-24  Andy Wingo  <wingo@pobox.com>
5511
5512         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
5513         the same thing as GST_DEBUG=*:4.
5514         (parse_debug_level, parse_debug_category): New helper parsers.
5515
5516 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5517
5518         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5519         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
5520         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
5521         (gst_base_transform_buffer_alloc),
5522         (gst_base_transform_handle_buffer):
5523           use gboolean return values and pointers to size so we can use the
5524           full GST_BUFFER_SIZE range (guint) for buffer sizes
5525           use GstPadDirection for transform_caps
5526         * gst/base/gstbasetransform.h:
5527           rename get_size to get_unit_size since that's what it is
5528         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
5529           use GstPadDirection for transform_caps
5530         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5531         * gst/gstutils.h:
5532           cleanup and debugging
5533
5534 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
5535
5536         * gst/gstelement.c: (gst_element_class_init),
5537         (gst_element_set_state), (activate_pads),
5538         (gst_element_save_thyself):
5539         * tools/gst-compprep.c: (main):
5540         * tools/gst-inspect.c: (print_element_properties_info):
5541         * tools/gst-xmlinspect.c: (print_element_properties):
5542           Fixed long standing mem-leak
5543
5544 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5545
5546         * check/gst/gstbin.c: (GST_START_TEST):
5547         * gst/gstbin.c: (bin_bus_handler):
5548         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5549         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5550         (gst_message_new_warning), (gst_message_new_tag),
5551         (gst_message_new_state_changed), (gst_message_new_segment_start),
5552         (gst_message_new_segment_done), (gst_message_new_custom):
5553         * gst/gstmessage.h:
5554         * tools/gst-launch.c: (event_loop):
5555         * tools/gst-md5sum.c: (event_loop):
5556           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
5557           that applications can sensibly post custom messages with references
5558           to their own objects.
5559
5560 2005-08-24  Andy Wingo  <wingo@pobox.com>
5561
5562         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
5563         already.
5564
5565 2005-08-24  Wim Taymans  <wim@fluendo.com>
5566
5567         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5568         (gst_base_transform_transform_caps),
5569         (gst_base_transform_transform_size),
5570         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5571         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5572         (gst_base_transform_handle_buffer):
5573         * gst/base/gstbasetransform.h:
5574         Many fixes and new features added by Thomas. Can now also do
5575         transforms with variable sizes and a custom fixate_caps function.
5576
5577 2005-08-24  Wim Taymans  <wim@fluendo.com>
5578
5579         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5580         Some debugging.
5581
5582         * gst/gstclock.h:
5583         Cast to ClockTime before formatting to time.
5584
5585         * gst/gstutils.h:
5586         Cleanups.
5587
5588 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
5589
5590         * check/gst-libs/controller.c: (GST_START_TEST),
5591         (gst_controller_suite):
5592         * docs/gst/tmpl/gstcaps.sgml:
5593         * docs/gst/tmpl/gstghostpad.sgml:
5594         * docs/gst/tmpl/gstquery.sgml:
5595         * docs/gst/tmpl/gstutils.sgml:
5596         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
5597         (gst_object_sink_values), (gst_object_get_value_arrays),
5598         (gst_object_get_value_array):
5599           gracefully handle helper method calls to objects that are not beeing
5600           controlled, added test case for that          
5601
5602 2005-08-23  Wim Taymans  <wim@fluendo.com>
5603
5604         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
5605         (gst_event_new_newsegment), (gst_event_parse_newsegment),
5606         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
5607         (gst_event_parse_qos), (gst_event_new_seek),
5608         (gst_event_parse_seek):
5609         * gst/gstevent.h:
5610         Some more debugging output and doc cleanups.
5611
5612         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5613         Fix possible deadlock.
5614
5615 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5616
5617         * docs/gst/gstreamer-docs.sgml:
5618         * docs/gst/gstreamer-sections.txt:
5619         * docs/gst/gstreamer.types:
5620         * docs/gst/tmpl/.cvsignore:
5621         * gst/gstbin.h:
5622         * gst/gstbus.c:
5623         * gst/gstelement.c:
5624         * gst/gstevent.h:
5625           added 100 symbols from gstreamer-unused.txt to the right sections
5626           fixed more broken comments
5627           added GstBus to docs
5628
5629 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5630
5631         * docs/gst/gstreamer-sections.txt:
5632         * docs/gst/tmpl/.cvsignore:
5633         * docs/gst/tmpl/gstbin.sgml:
5634         * docs/gst/tmpl/gstbuffer.sgml:
5635         * gst/base/gstbasesrc.c:
5636         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
5637         * gst/gstbuffer.c:
5638         * gst/gstbuffer.h:
5639         * tools/gst-launch.1.in:
5640           inlined more doc comments, added missing comments and fixed comments
5641           fixed typos
5642
5643 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5644
5645         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5646           some debugging
5647         * gst/gstcaps.h:
5648           whitespace fixes
5649         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
5650           more debugging
5651         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
5652         * gst/gststructure.h:
5653           add a fixate function for booleans; add a FIXME that these func
5654           names should probably be gst_structure_fixate_*
5655
5656 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5657
5658         * docs/gst/gstreamer-docs.sgml:
5659         * docs/gst/gstreamer-sections.txt:
5660         * gst/Makefile.am:
5661         * gst/gstbin.c: (gst_bin_get_type),
5662         (gst_bin_child_proxy_get_child_by_index),
5663         (gst_bin_child_proxy_get_children_count),
5664         (gst_bin_child_proxy_init):
5665         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5666         (gst_child_proxy_get_child_by_index),
5667         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
5668         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
5669         (gst_child_proxy_get), (gst_child_proxy_set_property),
5670         (gst_child_proxy_set_valist), (gst_child_proxy_set),
5671         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
5672         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
5673         * gst/gstchildproxy.h:
5674         * gst/parse/grammar.y:
5675         * tools/gst-inspect.c: (print_interfaces),
5676         (print_element_properties_info), (print_element_info):
5677           ported gstchildproxy over from 0.8
5678           ported gst-inspect fixes and enhancements over from 0.8
5679
5680 2005-08-22  Wim Taymans  <wim@fluendo.com>
5681
5682         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5683         (gst_base_transform_handle_buffer):
5684         Also call the transform function if we have ANY caps.
5685
5686         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
5687         Fix debug info.
5688
5689 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
5690
5691         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
5692           Don't pretend to handle seek events if the source is not seekable
5693
5694 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
5695
5696         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5697           Remove extra parameter to debug output
5698
5699         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5700         (gst_base_src_do_seek), (gst_base_src_activate_push):
5701           Fix seek event handling.
5702
5703         * gst/gstpipeline.c: (gst_pipeline_change_state):
5704         * gst/gstqueue.c: (gst_queue_handle_sink_event),
5705         (gst_queue_src_activate_push):
5706           Don't start the src pad task on FLUSH_STOP if the pad
5707           isn't linked.
5708           Debug changes.
5709
5710 2005-08-22  Wim Taymans  <wim@fluendo.com>
5711
5712         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5713         Added check for gst_static_caps_get() refcounting.
5714
5715 2005-08-22  Wim Taymans  <wim@fluendo.com>
5716
5717         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
5718         Make _static_caps_get() refcounting sane.
5719         
5720         * gst/gstelement.c: (gst_element_set_state):
5721         Add g_return_val_if_fail() to protect against segfaults.
5722
5723 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
5724
5725         * docs/gst/tmpl/gstevent.sgml:
5726         * gst/gstevent.c:
5727         * gst/gstevent.h:
5728           inlined remaining docs, added missing doc comments
5729
5730 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * check/gst/gstbin.c: (GST_START_TEST):
5733           since we don't know when preroll is done, use refcount range
5734           check for the sink
5735         * gst/check/gstcheck.h:
5736           add macro for checking refcount range
5737
5738 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * check/Makefile.am:
5741           clean up environment for when registry gets built versus
5742           when actual tests are run; valgrind seems to not report
5743           leaks if GST_PLUGIN_PATH is set to some specific values
5744         * check/gst/gstbin.c: (GST_START_TEST):
5745           add more refcounting checks; maybe this exposes a
5746           preroll lock bug ?
5747         * common/check.mak:
5748         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5749         * gst/check/gstcheck.h:
5750         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
5751         (gst_bin_change_state):
5752         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
5753           add/fix debugging/whitespace
5754
5755 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
5756
5757         * check/gst/gstevent.c: (event_probe), (test_event),
5758         (GST_START_TEST):
5759          Er, don't call gst_bin_watch_for_state_change you idiot.
5760
5761 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
5762
5763         * check/Makefile.am:
5764           Use CHECK_CFLAGS and CHECK_LIBS
5765         * check/gst/gstevent.c: (event_probe), (test_event),
5766         (GST_START_TEST):
5767           Don't leak events.
5768         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5769         (gst_base_src_start), (gst_base_src_stop),
5770         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5771         (gst_base_src_change_state):
5772           Sprinkle gst_base_src_stop liberally around error paths to fix
5773           problems reusing a source after failed state changes.
5774         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5775         (helper_find_suggest), (gst_type_find_helper):
5776           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
5777         * gst/gstevent.h:
5778         * docs/gst/tmpl/gstevent.sgml:
5779           Migrate part of the docs from the SGML file. Wait for ensonic to
5780           tell me how I did it wrong ;)
5781         * tools/gst-typefind.c: (main):
5782           Extra robustness to state changes between files.
5783
5784 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5785
5786         * check/Makefile.am:
5787           don't valgrind the controller test - it's leaking - Stefan, HELP
5788         * gst/check/gstcheck.c: (gst_check_message_error),
5789         (gst_check_chain_func), (gst_check_setup_element),
5790         (gst_check_teardown_element), (gst_check_setup_src_pad),
5791         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5792         (gst_check_teardown_sink_pad):
5793         * gst/check/gstcheck.h:
5794           add a bunch of methods to set up elements, and src and sink pads
5795         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
5796         * check/elements/identity.c: (setup_identity), (cleanup_identity),
5797         (GST_START_TEST):
5798           use them
5799         * gst/gstmessage.c:
5800         * gst/gsttag.h:
5801           whitespace/doc fixes
5802
5803 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5804
5805         * gst/gstelement.h:
5806           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
5807           be handled by the application and not always printed as well
5808
5809 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5810
5811         * check/Makefile.am:
5812           set GST_TOOLS_DIR
5813         * gst/check/gstcheck.c: (gst_check_message_error):
5814         * gst/check/gstcheck.h:
5815           add a fail_unless_equals_int
5816           add fail_unless for error messages
5817
5818 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5819
5820         * check/Makefile.am:
5821         * check/gst.supp:
5822         * common/Makefile.am:
5823         * common/check.mak:
5824         * common/gst.supp:
5825           factor out some of the common stuff so we can use it
5826
5827 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5828
5829         * check/Makefile.am:
5830         * check/gst/gstiterator.c: (GST_START_TEST):
5831         * check/gst/gstsystemclock.c: (GST_START_TEST),
5832         (gst_systemclock_suite):
5833         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5834         * gst/gstclock.c:
5835           valgrind more tests
5836
5837 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5838
5839         * check/elements/.cvsignore:
5840         * check/elements/gstfakesrc.c:
5841           rename to name of element
5842         * check/elements/identity.c: (chain_func), (event_func),
5843         (setup_identity), (cleanup_identity), (GST_START_TEST),
5844         (identity_suite), (main):
5845           add a test for identity
5846         * check/Makefile.am:
5847         * pkgconfig/Makefile.am:
5848         * pkgconfig/gstreamer-check.pc.in:
5849         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5850         * gst/check:
5851         * gst/Makefile.am:
5852         * configure.ac:
5853           move the check stuff to a library that gets installed
5854         * check/gst-libs/controller.c: (GST_START_TEST):
5855         * check/gst-libs/gdp.c:
5856         * check/gst/gst.c: (GST_START_TEST):
5857         * check/gst/gstbin.c:
5858         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5859         * check/gst/gstbus.c:
5860         * check/gst/gstcaps.c: (GST_START_TEST):
5861         * check/gst/gstelement.c:
5862         * check/gst/gstghostpad.c:
5863         * check/gst/gstiterator.c:
5864         * check/gst/gstmessage.c:
5865         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
5866         * check/gst/gstobject.c:
5867         * check/gst/gstpad.c: (GST_START_TEST):
5868         * check/gst/gststructure.c: (GST_START_TEST):
5869         * check/gst/gstsystemclock.c: (GST_START_TEST),
5870         (gst_systemclock_suite):
5871         * check/gst/gsttag.c: (gst_tag_suite):
5872         * check/gst/gstvalue.c:
5873         * check/pipelines/cleanup.c:
5874         * check/pipelines/simple_launch_lines.c:
5875         * check/states/sinks.c:
5876           change include statement
5877
5878         * docs/gst/gstreamer-sections.txt:
5879         * docs/gst/tmpl/gstpad.sgml:
5880           document more pad stuff
5881         * gst/gstminiobject.c: (gst_mini_object_ref),
5882         (gst_mini_object_unref):
5883           debug refcounting
5884
5885 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
5886
5887         * docs/gst/tmpl/gst.sgml:
5888         * gst/gst.c:
5889           eliminate another tmpl file, fix spelling in the long-description
5890
5891 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5892
5893         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5894         (test_event), (timediff), (gstevents_suite):
5895           Should fix build on 64-bit arch's
5896
5897 2005-08-18  Andy Wingo  <wingo@pobox.com>
5898
5899         Make sure that when a pipeline goes to PLAYING, that data has
5900         actually hit the sink.
5901
5902         * check/states/sinks.c (test_sink): A sink that doesn't get any
5903         data shouldn't return SUCCESS for going to either PLAYING or
5904         PAUSED. Test also the return values on the way back down.
5905
5906         * gst/gstelement.c (gst_element_set_state): When changing the
5907         state of an element currently changing state asynchronously, go to
5908         lost-state after commiting the pending state. Makes future calls
5909         to get_state continue to return ASYNC.
5910
5911         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
5912         ASYNC when going to PLAYING if we still don't have preroll, as can
5913         happen with live sources.
5914
5915 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5916
5917         * docs/pwg/advanced-types.xml:
5918           Hack long paragraph into 2 chunks as a workaround for buggy
5919           jadetex version in sid and breezy that loops infinitely and
5920           eats all RAM.
5921
5922 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5923
5924         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5925         (test_event), (timediff), (gstevents_suite):
5926           Provide more error margin in clock measurements to allow for 
5927           g_get_current_time inaccuracies.
5928
5929 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5930
5931         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5932         (test_event), (timediff), (gstevents_suite):
5933            Fix error message output so I might be able to tell why the
5934            test works here but fails on the build farm.
5935
5936 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
5937
5938         * check/Makefile.am:
5939         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5940         (test_event), (timediff), (gstevents_suite), (main):
5941           I wrote a test!
5942
5943         * docs/design/part-seeking.txt:
5944           Spelling correction
5945
5946         * docs/gst/tmpl/gstevent.sgml:
5947         * docs/gst/tmpl/gstfakesrc.sgml:
5948           Docs updates.
5949
5950         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5951           Treat a buffer-without-newsegment the same as a receiving 
5952           a newsegment not in time format, and disable syncing to the clock
5953           with a warning.
5954
5955         * gst/gstbus.c: (gst_bus_set_sync_handler):
5956           Assert if anyone tries to replace the existing sync_handler for bus, 
5957           as only the owner should be setting it.
5958
5959         * gst/gstevent.h:
5960           Have a fixed set of custom event enums with events identified by
5961           their structure name (as in 0.8), rather than a free-for-all
5962           allowing collisions between enum values from different plugins.
5963
5964         * gst/gstpad.c: (gst_pad_class_init):
5965           Docs change.
5966           
5967         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5968           Handle out-of-band downstream events from the sending thread.
5969
5970 2005-08-17  Andy Wingo  <wingo@pobox.com>
5971
5972         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
5973         play-timeout==0 to mean no timeout at all. In that case, don't
5974         bother with a get_state or a warning, just return directly, even
5975         if it's ASYNC.
5976
5977         * gst/base/gstbasetransform.c: Debug changes.
5978
5979         * gst/gstutils.h:
5980         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
5981         ensure bins post state change messages. A bit of a hack but I can't
5982         think of a way to avoid it.
5983
5984         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
5985
5986 2005-08-16  Andy Wingo  <wingo@pobox.com>
5987
5988         * gst/base/gstadapter.h:
5989         * gst/base/gstadapter.c (gst_adapter_take): New function, like
5990         peek() but you own the data. Not terribly efficient atm.
5991
5992 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5993
5994         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
5995         (gst_element_found_tags):
5996         * gst/gstutils.h:
5997           Add two utility functions for tag handling.
5998
5999 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6000
6001         * docs/manual/advanced-dataaccess.xml:
6002         * docs/manual/basics-helloworld.xml:
6003           Fix docs to use _bin_add() before _link(), which fixes the examples
6004           with recent core versions (reported by Madhan Raj M
6005           <raj_madan@rediffmail.com>, #313199).
6006
6007 2005-08-16  Wim Taymans  <wim@fluendo.com>
6008
6009         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6010         Added subtract checks.
6011
6012         * docs/design/part-events.txt:
6013         Some more docs about newsegment
6014
6015         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6016         Fix FIXME
6017
6018         * gst/gstcaps.c: (gst_caps_to_string):
6019         Add comments, cleanups.
6020         
6021         * gst/gstelement.c: (gst_element_save_thyself):
6022         cleanups
6023         
6024         * gst/gstvalue.c: (gst_value_collect_int_range),
6025         (gst_string_unwrap), (gst_value_union_int_int_range),
6026         (gst_value_union_int_range_int_range),
6027         (gst_value_intersect_int_int_range),
6028         (gst_value_intersect_int_range_int_range),
6029         (gst_value_intersect_double_double_range),
6030         (gst_value_intersect_double_range_double_range),
6031         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6032         (gst_value_subtract_int_range_int),
6033         (gst_value_subtract_double_range_double),
6034         (gst_value_subtract_double_range_double_range),
6035         (gst_value_subtract_from_list), (gst_value_subtract_list),
6036         (gst_value_can_compare), (gst_value_compare_fraction):
6037         Cleanups, add comments, remove unneeded asserts.
6038
6039 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6040
6041         * tools/gst-launch.c: (event_loop):
6042           don't convert NULL structures to strings
6043
6044 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6045
6046         * docs/gst/gstreamer-sections.txt:
6047           made some defines private
6048         * docs/gst/tmpl/gstconfig.sgml:
6049         * docs/gst/tmpl/gstqueue.sgml:
6050         * docs/gst/tmpl/gsttaglist.sgml:
6051         * docs/gst/tmpl/gsttypes.sgml:
6052         * docs/gst/tmpl/gstutils.sgml:
6053         * docs/pwg/appendix-porting.xml:
6054         * gst/base/gstbasesink.h:
6055         * gst/base/gstbasesrc.c:
6056         * gst/base/gstbasesrc.h:
6057         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6058         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6059         * gst/gstelement.c: (gst_element_class_init):
6060         * gst/gstpad.c: (gst_pad_class_init):
6061         * gst/gstqueue.c: (gst_queue_class_init):
6062         * gst/gstxml.c: (gst_xml_class_init):
6063           documented all undocumented signal inline
6064         * libs/gst/controller/gst-controller.h:
6065           added padding
6066
6067 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6068
6069         * docs/pwg/appendix-porting.xml:
6070           Document _set_link_function -> _set_setcaps_function.
6071
6072 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6073
6074         * check/Makefile.am:
6075           add a .check target for running the check
6076         * check/gst-libs/controller.c: (GST_START_TEST):
6077           cosmetic fixups
6078         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6079           complete checks for gstbuffer; would be nice if I could get the
6080           gcov stuff to work so I can see if I actually completed gstbuffer.c
6081         * check/gstcheck.h:
6082           add ASSERT_BUFFER_REFCOUNT
6083
6084 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
6085
6086         * docs/gst/gstreamer-sections.txt:
6087         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6088         * gst/gsttag.h:
6089           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6090           spew out a warning if a tag that is already registered
6091           is re-registered, unless it is re-registered with a 
6092           different type (#308438).
6093
6094 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
6095
6096         * docs/pwg/appendix-porting.xml:
6097         * docs/pwg/building-state.xml:
6098           Add some paragraphs about state changes in 0.9 to the PWG
6099           and the porting guide, in particular about the new meaning
6100           of GST_STATE_PAUSED and how to write state change functions
6101           with concurrent access by multiple threads in mind.
6102
6103 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
6104
6105         * docs/gst/gstreamer-docs.sgml:
6106         * docs/libs/gstreamer-libs-docs.sgml:
6107           added deprecation and since indexes
6108         * libs/gst/controller/gst-controller.c:
6109         * libs/gst/controller/gst-helper.c:
6110           added since tags
6111
6112
6113 2005-08-11  Wim Taymans  <wim@fluendo.com>
6114
6115         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6116         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6117         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6118         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6119         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6120         (gst_ghost_pad_set_target):
6121         Actually implement (re)setting the target on a ghostpad
6122         as described in the docs.
6123
6124 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
6127           Check whether GST_DEBUG_NO_COLOR environment variable is
6128           set and disable coloured debug output if that is the case.
6129
6130 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6131
6132         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6133         (gst_type_find_helper):
6134           The memory returned by gst_type_find_peek() needs to
6135           stay valid until the end of a typefind function, and
6136           typefind functions may keep results from different 
6137           offsets around, so we can't just unref the buffer from
6138           the previous _peek(), but have to save all buffers 
6139           returned by _peek() until typefinding is done and only
6140           free them then.
6141
6142 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6143
6144         * docs/gst/gstreamer-sections.txt:
6145         * gst/gstutils.h:
6146           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
6147
6148 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6149
6150         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6151           Fix a pretty good memleak.
6152
6153 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6154
6155         * gst/gstiterator.h:
6156           Fix wrong include and 'make distcheck'.
6157
6158 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6159
6160         * gst/gstbin.c: (bin_bus_handler):
6161           Use gst_element_post_message() instead.
6162
6163 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6164
6165         * gst/base/gstadapter.h:
6166         * gst/base/gstbasesink.h:
6167         * gst/base/gstbasesrc.h:
6168         * gst/base/gstbasetransform.h:
6169         * gst/base/gstcollectpads.h:
6170         * gst/base/gstpushsrc.h:
6171         * gst/gstiterator.h:
6172           Add padding to our base elements' class and instance structs and
6173           to GstIterator (you will need to rebuild all plugins and apps!)
6174
6175 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6176
6177         * gst/gstbin.c: (bin_bus_handler):
6178           Make default message forwarding from child->bus to bin->bus
6179           threadsafe and make it not emit warnings if the parent has no bus.
6180
6181 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6182
6183         * gst/gstelement.c: (activate_pads):
6184           On paused->ready, set pad->caps to NULL, as is the documented
6185           behaviour in this state change. Fixes playback of series of
6186           media files when visualization is enabled in Totem.
6187
6188 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6189
6190         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6191           Allow NULL as filter-caps (which means "any").
6192
6193 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6194
6195         * docs/libs/gstreamer-libs-sections.txt:
6196         * libs/gst/controller/gst-controller.c:
6197         * libs/gst/controller/gst-controller.h:
6198         * libs/gst/controller/gst-helper.c:
6199           adding more entries to the docs and fix small doc-bugs
6200
6201 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6202
6203         * docs/gst/gstreamer-docs.sgml:
6204         * docs/gst/gstreamer-sections.txt:
6205         * docs/gst/gstreamer.types:
6206         * docs/gst/tmpl/gstbasesink.sgml:
6207         * docs/gst/tmpl/gstbasesrc.sgml:
6208         * docs/gst/tmpl/gstbasetransform.sgml:
6209         * docs/gst/tmpl/gstfakesrc.sgml:
6210         * gst/base/gstcollectpads.c:
6211         * gst/base/gstcollectpads.h:
6212         * libs/gst/controller/gst-controller.c:
6213         * libs/gst/controller/gst-controller.h:
6214         * libs/gst/controller/gst-helper.c:
6215         * libs/gst/controller/gst-interpolation.c:
6216         * libs/gst/controller/lib.c:
6217           added long/short desc for controller docs
6218           added collectpads base class docs
6219           added correct includes to base-class docs
6220
6221 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6222
6223         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6224         (gst_test_mono_source_set_property),
6225         (gst_test_mono_source_class_init), (GST_START_TEST),
6226         (gst_controller_suite):
6227         * docs/gst/gstreamer-docs.sgml:
6228         * docs/gst/gstreamer-sections.txt:
6229         * docs/gst/gstreamer.types:
6230         * docs/libs/gstreamer-libs-docs.sgml:
6231         * docs/libs/gstreamer-libs-sections.txt:
6232         * gst/base/gstadapter.c:
6233         * libs/gst/controller/gst-controller.c:
6234         (gst_controlled_property_new), (gst_controlled_property_free),
6235         (gst_controller_new_valist),
6236         (gst_controller_remove_properties_valist),
6237         (gst_controller_sink_values), (_gst_controller_finalize):
6238         * libs/gst/controller/gst-controller.h:
6239         * libs/gst/controller/gst-helper.c:
6240         (gst_object_control_properties), (gst_object_uncontrol_properties),
6241         (gst_object_get_controller), (gst_object_set_controller),
6242         (gst_object_sink_values), (gst_object_get_value_arrays),
6243         (gst_object_get_value_array):
6244           more tests (and fixes) for the controller
6245           more docs for the controller
6246           integrated companies docs for the adapter 
6247
6248 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6249
6250         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
6251         (GST_START_TEST), (fakesrc_suite):
6252           add tests for sizetype
6253
6254 2005-08-04  Andy Wingo  <wingo@pobox.com>
6255
6256         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
6257         fixes buffer_alloc proxying among other things.
6258
6259         * gst/base/gstbasetransform.c:
6260         * gst/base/gstbasetransform.h:
6261         Revert patch to gstbasetransform from 7-28 removing
6262         delay_configure.
6263
6264         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
6265         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
6266         Semantics changed, should return not the size of the output buffer
6267         but the byte size of a buffer with a given caps.
6268
6269         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
6270         debug object.
6271         (gst_base_transform_configure_caps): Don't set out_size here: (in,
6272         out) are not the pad caps until setcaps finishes.
6273         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
6274         not-in-place case as well. Deal with changing from in-place to
6275         not-in-place within calling pad_alloc_buffer. Still a bit
6276         concerned about the overhead here...
6277
6278 2005-08-03  Andy Wingo  <wingo@pobox.com>
6279
6280         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
6281         fixating is an error.
6282
6283 2005-08-04  Edward Hervey  <edward@fluendo.com>
6284
6285         * gst/base/gstadapter.h: 
6286         Added gst_adapter_get_type() to the header
6287
6288 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6289
6290         * check/Makefile.am:
6291         * check/gst-libs/controller.c:
6292         * libs/gst/controller/gst-controller.c:
6293         (gst_controller_new_valist):
6294           added check test suite for the controller
6295         * gst/base/gstpushsrc.c:
6296           fixed a doc typo
6297
6298 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6299
6300         * docs/gst/Makefile.am:
6301         * docs/gst/gstreamer-docs.sgml:
6302         * docs/gst/gstreamer-sections.txt:
6303         * docs/gst/gstreamer.types:
6304         * docs/gst/tmpl/gstfakesrc.sgml:
6305         * gst/base/README:
6306         * gst/base/gstbasesink.c:
6307         * gst/base/gstbasesink.h:
6308         * gst/base/gstbasesrc.c:
6309         * gst/base/gstbasesrc.h:
6310         * gst/base/gstbasetransform.c:
6311         * gst/base/gstpushsrc.c:
6312         * gst/base/gstpushsrc.h:
6313           add short/long description docs to base classes
6314           add pushsrc to the docs
6315           remove consolidated doc fragments
6316
6317 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6318
6319         * configure.ac:
6320         * docs/libs/Makefile.am:
6321         * docs/libs/gstreamer-libs-docs.sgml:
6322         * docs/libs/gstreamer-libs-sections.txt:
6323         * docs/libs/gstreamer-libs.types:
6324         * examples/Makefile.am:
6325         * examples/controller/.cvsignore:
6326         * examples/controller/Makefile.am:
6327         * examples/controller/audio-example.c: (main):
6328         * libs/gst/Makefile.am:
6329         * libs/gst/controller/.cvsignore:
6330         * libs/gst/controller/Makefile.am:
6331         * libs/gst/controller/gst-controller.c:
6332         (on_object_controlled_property_changed), (gst_timed_value_compare),
6333         (gst_timed_value_find),
6334         (gst_controlled_property_set_interpolation_mode),
6335         (gst_controlled_property_new), (gst_controlled_property_free),
6336         (gst_controller_find_controlled_property),
6337         (gst_controller_new_valist), (gst_controller_new),
6338         (gst_controller_remove_properties_valist),
6339         (gst_controller_remove_properties), (gst_controller_set),
6340         (gst_controller_set_from_list), (gst_controller_unset),
6341         (gst_controller_get), (gst_controller_get_all),
6342         (gst_controller_sink_values), (gst_controller_get_value_arrays),
6343         (gst_controller_get_value_array),
6344         (gst_controller_set_interpolation_mode),
6345         (_gst_controller_finalize), (_gst_controller_init),
6346         (_gst_controller_class_init), (gst_controller_get_type):
6347         * libs/gst/controller/gst-controller.h:
6348         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
6349         (g_object_uncontrol_properties), (g_object_get_controller),
6350         (g_object_set_controller), (g_object_sink_values),
6351         (g_object_get_value_arrays), (g_object_get_value_array):
6352         * libs/gst/controller/gst-interpolation.c:
6353         (gst_controlled_property_find_timed_value_node),
6354         (interpolate_none_get), (interpolate_trigger_get),
6355         (interpolate_trigger_get_value_array):
6356         * libs/gst/controller/lib.c: (gst_controller_init):
6357         * pkgconfig/Makefile.am:
6358         * pkgconfig/gstreamer-control-uninstalled.pc.in:
6359         * pkgconfig/gstreamer-control.pc.in:
6360         * testsuite/Makefile.am:
6361         * testsuite/controller/.cvsignore:
6362         * testsuite/controller/Makefile.am:
6363         * testsuite/controller/interpolator.c: (main):
6364           added controller code
6365           removed dparam pc files
6366
6367 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
6368         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
6369         (gst_collectpads_stop):
6370           Broadcast the condition when shutting down, to make sure we wake all
6371           threads up. Shut down pads on finalize, for safety.
6372
6373 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
6374         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6375         (gst_base_transform_handle_buffer),
6376         (gst_base_transform_change_state):
6377           Handle PAUSED->READY->PAUSED transition after negotiation
6378           occurred already.
6379         * gst/gstmessage.c: (gst_message_init):
6380           Extra piece of debug for new messages.
6381
6382 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
6383
6384         * configure.ac:
6385         * docs/gst/tmpl/gstbasesrc.sgml:
6386         * docs/gst/tmpl/gstelement.sgml:
6387         * docs/gst/tmpl/gstevent.sgml:
6388         * docs/gst/tmpl/gstfakesrc.sgml:
6389         * docs/gst/tmpl/gstformat.sgml:
6390         * docs/gst/tmpl/gstghostpad.sgml:
6391         * docs/gst/tmpl/gstpad.sgml:
6392         * docs/gst/tmpl/gstquery.sgml:
6393         * docs/gst/tmpl/gststructure.sgml:
6394         * docs/gst/tmpl/gsttaglist.sgml:
6395         * docs/gst/tmpl/gstvalue.sgml:
6396         * docs/libs/gstreamer-libs-docs.sgml:
6397         * docs/libs/gstreamer-libs-sections.txt:
6398         * docs/libs/gstreamer-libs.types:
6399         * libs/gst/Makefile.am:
6400         * libs/gst/control/.cvsignore:
6401         * libs/gst/control/Makefile.am:
6402         * libs/gst/control/control.c:
6403         * libs/gst/control/control.h:
6404         * libs/gst/control/dparam.c:
6405         * libs/gst/control/dparam.h:
6406         * libs/gst/control/dparam_smooth.c:
6407         * libs/gst/control/dparam_smooth.h:
6408         * libs/gst/control/dparamcommon.h:
6409         * libs/gst/control/dparammanager.c:
6410         * libs/gst/control/dparammanager.h:
6411         * libs/gst/control/dplinearinterp.c:
6412         * libs/gst/control/dplinearinterp.h:
6413         * libs/gst/control/unitconvert.c:
6414         * libs/gst/control/unitconvert.h:
6415         * testsuite/Makefile.am:
6416         * testsuite/dynparams/.cvsignore:
6417         * testsuite/dynparams/Makefile.am:
6418         * testsuite/dynparams/dparamstest.c:
6419         * tools/Makefile.am:
6420         * tools/gst-inspect.c: (print_element_info), (main):
6421         * tools/gst-xmlinspect.c: (print_element_info), (main):
6422           deactivate and remove dparams (libgstcontrol)
6423
6424 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6425
6426         * gst/elements/gsttypefindelement.c:
6427         (gst_type_find_element_have_type), (gst_type_find_element_init),
6428         (stop_typefinding), (gst_type_find_element_handle_event),
6429         (gst_type_find_element_chain), (gst_type_find_element_getrange):
6430         * gst/elements/gsttypefindelement.h:
6431           Set caps on all outgoing buffers, not just the first one.
6432
6433 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6434
6435         * gst/elements/gsttypefindelement.c:
6436         (gst_type_find_element_have_type),
6437         (gst_type_find_element_check_set_buffer_caps),
6438         (gst_type_find_element_init), (stop_typefinding),
6439         (gst_type_find_element_handle_event),
6440         (gst_type_find_element_chain), (gst_type_find_element_getrange):
6441         * gst/elements/gsttypefindelement.h:
6442           Set caps on first outgoing buffer when we've found the type.
6443
6444 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6445
6446         * docs/gst/gstreamer-docs.sgml:
6447         * docs/gst/gstreamer-sections.txt:
6448         * docs/gst/tmpl/gstscheduler.sgml:
6449         * docs/gst/tmpl/gstschedulerfactory.sgml:
6450           Remove some old cruft from docs.
6451
6452 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
6453
6454         * gst/gstpad.h:
6455           Fix inline docs for GstPadLinkReturn.
6456           
6457         * gst/gststructure.c: (gst_structure_has_name):
6458         * gst/gststructure.h:
6459         * docs/gst/gstreamer-sections.txt:
6460           New API: gst_structure_has_name().
6461
6462 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
6463
6464         * configure.ac:
6465           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
6466           and _LARGEFILE_SOURCE in config.h as required. Do not 
6467           export those flags in our .pc files any longer (#142209).
6468
6469           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
6470
6471         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
6472         (gst_file_sink_do_seek), (gst_file_sink_event),
6473         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6474           Redo seek/tell calls with large file support in mind; add some
6475           debugging messages; add log message that tells us when large
6476           file support is unavailable or not enabled for some reason.
6477
6478         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
6479           Add log message that tells us when large file support 
6480           is unavailable or not enabled for some reason.
6481
6482 2005-07-29  Wim Taymans  <wim@fluendo.com>
6483
6484         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6485         Added test for removing an element with ghostpad from a bin.
6486         Fixed test as current implementation does the right thing.
6487
6488         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
6489         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
6490         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
6491         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
6492         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
6493         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
6494         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
6495         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6496         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
6497         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
6498         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
6499         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
6500         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6501         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
6502         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
6503         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6504         * gst/gstghostpad.h:
6505         Clean up ghostpads, remove properties for internal stuff.
6506         Make threadsafe.
6507         Fix refcounting.
6508         Prepare for switching targets, not all use cases work yet.
6509
6510 2005-07-29  Wim Taymans  <wim@fluendo.com>
6511
6512         * docs/design/part-gstghostpad.txt:
6513         Small update.
6514
6515         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6516         (gst_bin_remove_func):
6517         Unlinking pads while holding the bin LOCK is not a good
6518         idea.
6519
6520         * gst/gstpad.c: (gst_pad_class_init),
6521         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
6522         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
6523         No prob setting template after creating the pad.
6524
6525 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
6526
6527         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
6528         (gst_bus_peek), (gst_bus_source_dispatch),
6529         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
6530         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
6531           gst_bus_poll may be called from other threads. Handle
6532           this nicely by not making poll_data disappear off the
6533           stack once gst_bus_poll returns.
6534           gst_bus_peek now increments the refcount on the returned
6535           message.
6536
6537 2005-07-29  Wim Taymans  <wim@fluendo.com>
6538
6539         * docs/design/part-gstghostpad.txt:
6540         Overview of current GhostPad datastructures and use
6541         cases for changing the target.
6542
6543 2005-07-28  Wim Taymans  <wim@fluendo.com>
6544
6545         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6546         Added checks for hierarchy consistency whan adding linked
6547         elements to bins.
6548
6549         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6550         Added check to test element scheduling without bin/pipeline.
6551
6552         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6553         First add elements to bin, then link.
6554         
6555         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6556         (gst_bin_remove_func):
6557         Unlink pads from elements added/removed from bin to maintain
6558         hierarchy consistency.
6559
6560 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6561
6562         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6563         (gst_base_transform_handle_buffer):
6564         * gst/base/gstbasetransform.h:
6565           Remove broken delay_configure (fixes renegotiation of software
6566           scaling pipelines); remove some leftover printf()s.
6567
6568 2005-07-28  Wim Taymans  <wim@fluendo.com>
6569
6570         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6571         Added some more tests for wrong hierarchy
6572
6573         * docs/design/part-overview.txt:
6574         Some updates.
6575
6576         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
6577         Cleanups.
6578
6579         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
6580         (gst_element_dispose):
6581         Some more cleanups.
6582
6583         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6584         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
6585         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6586         (gst_pad_set_caps), (gst_pad_send_event):
6587         Check for correct hierarchy when linking pads. Moving to
6588         strict requirement for ghostpads when linking elements in
6589         different bins.
6590
6591         * gst/gstpad.h:
6592         Clean ups. Added WRONG_HIERARCHY return value.
6593
6594 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6595
6596         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6597           Better debug if no transform is possible.
6598
6599 2005-07-27  Wim Taymans  <wim@fluendo.com>
6600
6601         * docs/random/wtay/network-transp:
6602         Some old doc I had.
6603
6604 2005-07-27  Wim Taymans  <wim@fluendo.com>
6605
6606         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6607         (gst_dp_event_from_packet):
6608         Fix serialization of seek events.
6609
6610 2005-07-27  Wim Taymans  <wim@fluendo.com>
6611
6612         * check/gst-libs/gdp.c: (GST_START_TEST):
6613         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6614         Fix compilation and fix event serialization.
6615
6616 2005-07-27  Wim Taymans  <wim@fluendo.com>
6617
6618         * CHANGES-0.9:
6619         * docs/design/part-TODO.txt:
6620         * docs/design/part-events.txt:
6621         Some docs updates
6622
6623         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6624         (gst_base_sink_event), (gst_base_sink_do_sync),
6625         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6626         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6627         (gst_base_src_do_seek), (gst_base_src_event_handler),
6628         (gst_base_src_loop):
6629         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6630         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6631         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6632         (gst_base_transform_event), (gst_base_transform_handle_buffer),
6633         (gst_base_transform_set_passthrough),
6634         (gst_base_transform_is_passthrough):
6635         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6636         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6637         Event updates.
6638
6639         * gst/gstbuffer.h:
6640         Use faster casts.
6641
6642         * gst/gstelement.c: (gst_element_seek):
6643         * gst/gstelement.h:
6644         Update gst_element_seek.
6645
6646         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
6647         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
6648         (gst_event_new_flush_start), (gst_event_new_flush_stop),
6649         (gst_event_new_eos), (gst_event_new_newsegment),
6650         (gst_event_parse_newsegment), (gst_event_new_tag),
6651         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
6652         (gst_event_parse_qos), (gst_event_new_seek),
6653         (gst_event_parse_seek), (gst_event_new_navigation):
6654         * gst/gstevent.h:
6655         Make GstEvent use GstStructure. Add parsing code, make sure the
6656         API is sufficiently generic.
6657         Mark possible directions of events and serialization.
6658
6659         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
6660         (_gst_message_copy), (gst_message_new_segment_start),
6661         (gst_message_new_segment_done), (gst_message_new_custom),
6662         (gst_message_parse_segment_start),
6663         (gst_message_parse_segment_done):
6664         Small cleanups.
6665
6666         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6667         (gst_pad_set_caps), (gst_pad_send_event):
6668         Update for new events. 
6669         Catch events sent in wrong directions.
6670
6671         * gst/gstqueue.c: (gst_queue_link_src),
6672         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
6673         (gst_queue_handle_src_query):
6674         Event updates.
6675
6676         * gst/gsttag.c:
6677         * gst/gsttag.h:
6678         Remove event code from this file.
6679
6680         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6681         (gst_dp_event_from_packet):
6682         Event updates.
6683
6684 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6685
6686         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
6687         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6688         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
6689           Make debugging actually useful.
6690
6691 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6692
6693         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
6694         (gst_pad_fixate_caps):
6695           Implement default fixation once again, so that gst_pad_fixate()
6696           actually does anything at all. This probably needs to be some
6697           sort of a last resort, and use profile-based fixation first, but
6698           since that doesn't exist yet, this is the best we have. Fixes
6699           visualization in Totem.
6700
6701 2005-07-22  Wim Taymans  <wim@fluendo.com>
6702
6703         * docs/design/part-events.txt:
6704         Small update.
6705
6706         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6707         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
6708         (gst_base_sink_activate_pull):
6709         Some more comments.
6710
6711         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
6712         (gst_fake_src_create):
6713         Fix handoff marshall.
6714
6715         * gst/elements/gstidentity.c: (gst_identity_class_init),
6716         (gst_identity_transform_ip):
6717         We're a real inplace element.
6718
6719         * gst/gstbus.c: (gst_bus_post):
6720         Added some comments.
6721
6722         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
6723         * tests/muxing/case1.c: (main):
6724         * tests/sched/dynamic-pipeline.c: (main):
6725         * tests/sched/interrupt1.c: (main):
6726         * tests/sched/interrupt2.c: (main):
6727         * tests/sched/interrupt3.c: (main):
6728         * tests/sched/runxml.c: (main):
6729         * tests/sched/sched-stress.c: (main):
6730         * tests/seeking/seeking1.c: (event_received), (main):
6731         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6732         (main):
6733         * tests/threadstate/threadstate3.c: (main):
6734         * tests/threadstate/threadstate4.c: (main):
6735         * tests/threadstate/threadstate5.c: (main):
6736         Fix the tests.
6737
6738 2005-07-21  Wim Taymans  <wim@fluendo.com>
6739
6740         * docs/design/part-seeking.txt:
6741         Some small additions.
6742
6743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6744         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6745         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6746         * gst/base/gstbasesink.h:
6747         discont values are gint64, handle the math correctly.
6748
6749         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6750         Make the basesrc report error if the source pad is not linked.
6751
6752         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6753         (gst_queue_loop), (gst_queue_handle_src_query),
6754         (gst_queue_src_activate_push):
6755         Make queue collect data even if the srcpad is not linked.
6756         Start pushing out data as soon as it is linked.
6757
6758         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
6759         * gst/gstutils.h:
6760         Added gst_flow_get_name() to ease error reporting.
6761
6762 2005-07-20  Wim Taymans  <wim@fluendo.com>
6763
6764         * gst/gstmessage.c: (gst_message_new_segment_start),
6765         (gst_message_new_segment_done), (gst_message_parse_segment_start),
6766         (gst_message_parse_segment_done):
6767         * gst/gstmessage.h:
6768         Added a bunch of messages for advanced seeking.
6769
6770         * gst/parse/grammar.y:
6771         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
6772         (gst_dpman_state_changed):
6773         Fix some new-pad -> pad-added signals
6774
6775 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6776
6777         * docs/manual/appendix-porting.xml:
6778         * docs/pwg/appendix-porting.xml:
6779           Document new-pad/state-change signal renames and the FixedList
6780           type rename.
6781
6782 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6783
6784         * docs/manual/advanced-autoplugging.xml:
6785         * docs/manual/basics-helloworld.xml:
6786         * docs/manual/basics-pads.xml:
6787         * docs/random/ds/0.9-suggested-changes:
6788         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
6789         * gst/gstelement.h:
6790         * gst/gstevent.h:
6791         * gst/gstformat.h:
6792         * gst/gstquery.h:
6793         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6794         (gst_structure_parse_array), (gst_structure_parse_value):
6795         * gst/gstvalue.c: (gst_type_is_fixed),
6796         (gst_value_list_prepend_value), (gst_value_list_append_value),
6797         (gst_value_list_get_size), (gst_value_list_get_value),
6798         (gst_value_transform_array_string), (gst_value_serialize_array),
6799         (gst_value_deserialize_array), (gst_value_intersect_array),
6800         (gst_value_is_fixed), (_gst_value_initialize):
6801         * gst/gstvalue.h:
6802           GstElement::new-pad -> pad-added, GstElement::state-change ->
6803           state-changed, GstValueFixedList -> GstValueArray, add format and
6804           flags as their own arguments in gst_element_seek() (should improve
6805           "bindeability"), remove function generators since they don't work
6806           under a whole bunch of compilers (they were deprecated already
6807           anyway).
6808
6809 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6810
6811         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6812         (_gst_debug_register_funcptr):
6813         * gst/gstinfo.h:
6814           Fix illegal cast on some platforms (#309253).
6815
6816 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6817
6818         * gst/gstmessage.c: (gst_message_new_custom):
6819         * gst/gstmessage.h:
6820           Add _new_custom, make _new_application a macro to _new_custom.
6821
6822 2005-07-20  Wim Taymans  <wim@fluendo.com>
6823
6824         * gst/base/gstbasesrc.c: (gst_base_src_init),
6825         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6826         * gst/base/gstbasesrc.h:
6827         Add a gboolean to decide when to push out a discont.
6828
6829         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6830         (gst_queue_loop), (gst_queue_handle_src_query),
6831         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
6832         (gst_queue_set_property), (gst_queue_get_property):
6833         Some cleanups.
6834
6835         * tests/threadstate/threadstate1.c: (main):
6836         Make a thread test compile and run... very silly..
6837
6838
6839 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6840
6841         * docs/manual/appendix-porting.xml:
6842           Mention removal of libgstgconf-0.9.la and existence of gconf
6843           elements.
6844
6845 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6846
6847         * docs/pwg/advanced-clock.xml:
6848         * docs/pwg/appendix-porting.xml:
6849         * docs/pwg/intro-preface.xml:
6850         * docs/pwg/other-base.xml:
6851         * docs/pwg/other-manager.xml:
6852         * docs/pwg/other-nton.xml:
6853         * docs/pwg/other-ntoone.xml:
6854         * docs/pwg/other-oneton.xml:
6855         * docs/pwg/pwg.xml:
6856           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
6857           demuxer), remove n-to-n (was never written), fix some code examples
6858           and links and update the porting section to include all this.
6859
6860 2005-07-19  Wim Taymans  <wim@fluendo.com>
6861
6862         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
6863         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
6864         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
6865         (gst_queue_src_activate_push), (gst_queue_change_state),
6866         (gst_queue_get_property):
6867         * gst/gstqueue.h:
6868         Propagate GstFlowReturn more intelligently upstream and output
6869         an ERROR/EOS when streaming stopped due to fatal error.
6870
6871 2005-07-19  Wim Taymans  <wim@fluendo.com>
6872
6873         * tools/gst-launch.c: (check_intr), (event_loop), (main):
6874         Don't block forever for the state change to complete, the
6875         pipeline already did with a sensible timeout.
6876
6877 2005-07-19  Wim Taymans  <wim@fluendo.com>
6878
6879         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6880         Make sure we never call the create function is we
6881         got deactivated.
6882
6883 2005-07-19  Andy Wingo  <wingo@pobox.com>
6884
6885         * gst/parse/parse.l: Attempt to solve bug #172815.
6886
6887 2005-07-19  Wim Taymans  <wim@fluendo.com>
6888
6889         * docs/design/part-clocks.txt:
6890         * docs/design/part-events.txt:
6891         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
6892         Small docs updates.
6893         Only update the seeking values when we are not
6894         busy streaming.
6895
6896 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
6897
6898         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6899           Oops, ignore the result of gst_pad_push_event here.
6900
6901 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
6902
6903         * gst/base/gstbasesrc.c: (gst_base_src_loop),
6904         (gst_base_src_activate_push):
6905           Send discont event from the loop function, as pads
6906           aren't activated yet in the activate_push handler.
6907
6908         * gst/gstbin.c: (bin_bus_handler):
6909           Don't leak element name.
6910
6911 2005-07-18  Andy Wingo  <wingo@pobox.com>
6912
6913         * configure.ac: Use AS_LIBTOOL_TAGS.
6914
6915 2005-07-18  Wim Taymans  <wim@fluendo.com>
6916
6917         * docs/gst/gstreamer.types:
6918         Remove deleted types.
6919
6920 2005-07-18  Wim Taymans  <wim@fluendo.com>
6921
6922         * check/elements/gstfakesrc.c: (GST_START_TEST):
6923         * configure.ac:
6924         * gst/Makefile.am:
6925         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
6926         (init_popt_callback):
6927         * gst/gst.h:
6928         * gst/gst_private.h:
6929         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
6930         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
6931         * gst/gstbin.h:
6932         * gst/gstbus.h:
6933         * gst/gstconfig.h.in:
6934         * gst/gstelement.c: (gst_element_class_init),
6935         (gst_element_set_base_time), (gst_element_get_base_time),
6936         (iterator_fold_with_resync), (gst_element_change_state),
6937         (gst_element_dispose), (gst_element_get_bus):
6938         * gst/gstelement.h:
6939         * gst/gstelementfactory.h:
6940         * gst/gsterror.c: (_gst_core_errors_init):
6941         * gst/gsterror.h:
6942         * gst/gstevent.h:
6943         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
6944         * gst/gstindex.c:
6945         * gst/gstinfo.c: (_gst_debug_init):
6946         * gst/gstmessage.c: (_gst_message_copy):
6947         * gst/gstmessage.h:
6948         * gst/gstminiobject.h:
6949         * gst/gstobject.c:
6950         * gst/gstobject.h:
6951         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6952         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
6953         * gst/gstpad.h:
6954         * gst/gstparse.h:
6955         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
6956         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
6957         (gst_pipeline_get_last_stream_time):
6958         * gst/gstpipeline.h:
6959         * gst/gstpluginfeature.h:
6960         * gst/gstquery.h:
6961         * gst/gstscheduler.c:
6962         * gst/gstscheduler.h:
6963         * gst/gststructure.h:
6964         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
6965         (gst_task_finalize), (gst_task_func), (gst_task_create),
6966         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
6967         (gst_task_stop), (gst_task_pause):
6968         * gst/gsttask.h:
6969         * gst/gsttypefind.h:
6970         * gst/gsttypes.h:
6971         * gst/registries/gstlibxmlregistry.c: (load_feature),
6972         (gst_xml_registry_load), (gst_xml_registry_save_feature):
6973         * gst/registries/gstxmlregistry.c:
6974         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
6975         * gst/schedulers/threadscheduler.c:
6976         * libs/gst/control/dparammanager.h:
6977         * tools/gst-inspect.c: (print_element_list),
6978         (print_plugin_features), (print_element_features):
6979         * tools/gst-xmlinspect.c: (print_element_list),
6980         (print_plugin_info), (main):
6981         Removed plugable schedulers.
6982         Removed Scheduler/Manager from elements.
6983         Removed gsttypes.h, rearranged includes.
6984         Removed dependency pad<->element, element<>pipeline, and
6985         various others,  fix includes.
6986         implement gst_pad_get_parent() with gst_object_get_parent()
6987         Make GstTask sefcontained.
6988         Fix _get_state() on GstBin, it did not return ASYNC with a 0
6989         timeout.
6990         Fix endless loop in iterator_fold_with_resync.
6991
6992
6993 2005-07-18  Wim Taymans  <wim@fluendo.com>
6994
6995         * gst/Makefile.am:
6996         * gst/gstarch.h:
6997         Remove old file.
6998
6999 2005-07-18  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/Makefile.am:
7002         No more cothreads.h
7003
7004 2005-07-18  Wim Taymans  <wim@fluendo.com>
7005
7006         * gst/cothreads.c:
7007         * gst/cothreads.h:
7008         Let's remove these.
7009
7010 2005-07-18  Wim Taymans  <wim@fluendo.com>
7011
7012         * docs/design/part-dynamic.txt:
7013         * docs/design/part-events.txt:
7014         * docs/design/part-seeking.txt:
7015         Some more docs in the works.
7016
7017         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7018         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7019         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7020         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7021         (gst_base_transform_handle_buffer),
7022         (gst_base_transform_sink_activate_push),
7023         (gst_base_transform_src_activate_pull),
7024         (gst_base_transform_set_passthrough),
7025         (gst_base_transform_is_passthrough):
7026         Refcounting fixes.
7027
7028         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7029         Cleanups.
7030
7031         * gst/gstevent.c: (gst_event_finalize):
7032         Set SRC to NULL.
7033
7034         * gst/gstutils.c: (gst_element_unlink),
7035         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7036         (gst_pad_proxy_setcaps):
7037         * gst/gstutils.h:
7038         Add _get_parent_element() to get a pads parent as an element.
7039
7040 2005-07-18  Wim Taymans  <wim@fluendo.com>
7041
7042         * check/gst/gstbin.c: (GST_START_TEST):
7043         Remove bogus test.
7044
7045 2005-07-18  Wim Taymans  <wim@fluendo.com>
7046
7047         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7048         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7049         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7050         (gst_base_sink_event), (gst_base_sink_do_sync),
7051         (gst_base_sink_chain), (gst_base_sink_loop),
7052         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7053         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7054         Refcounting fixes.
7055         Fix logic for returning ASYNC when not prerolled.
7056
7057 2005-07-18  Wim Taymans  <wim@fluendo.com>
7058
7059         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7060         Fix nasty refcount bug.
7061
7062 2005-07-16 Philippe Khalaf <burger@speedy.org>
7063
7064         * gst/elements/gstfdsrc.c:
7065         * gst/elements/gstfdsrc.h:
7066         * gst/elements/gstelements.c:
7067         * gst/elements/Makefile.am:
7068         Ported fdsrc to 0.9.
7069
7070 2005-07-16  Wim Taymans  <wim@fluendo.com>
7071
7072         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7073         (gst_base_sink_do_sync):
7074         Fix compile error.
7075
7076 2005-07-16  Wim Taymans  <wim@fluendo.com>
7077
7078         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7079         (gst_base_sink_event), (gst_base_sink_get_times),
7080         (gst_base_sink_do_sync), (gst_base_sink_change_state):
7081         * gst/base/gstbasesink.h:
7082         Store and use discont values when syncing buffers as described
7083         in design docs.
7084         
7085         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7086         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7087         (gst_base_src_activate_push):
7088         Push discont event when starting.
7089
7090         * gst/elements/gstidentity.c: (gst_identity_transform):
7091         Small cleanups.
7092
7093         * gst/gstbin.c: (gst_bin_change_state):
7094         Small cleanups in base_time  distribution.
7095
7096         * gst/gstelement.c: (gst_element_set_base_time),
7097         (gst_element_get_base_time), (gst_element_change_state):
7098         * gst/gstelement.h:
7099         Added methods for the base_time of the element.
7100         Some MT fixes.
7101
7102         * gst/gstpipeline.c: (gst_pipeline_send_event),
7103         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7104         (gst_pipeline_get_last_stream_time):
7105         * gst/gstpipeline.h:
7106         MT fixes.
7107         Handle seeking as described in design doc, remove stream_time
7108         hack.
7109         Cleanups clock and stream_time selection code. Added accessors
7110         for the stream_time.
7111         
7112
7113 2005-07-16  Andy Wingo  <wingo@pobox.com>
7114
7115         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7116         (#305291).
7117
7118 2005-07-16  Wim Taymans  <wim@fluendo.com>
7119
7120         * check/gst/gstbin.c: (GST_START_TEST):
7121         Make elements silent as the deep_notify refs the
7122         parent, which might make the test fail.
7123
7124         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7125         Don't hold the lock for too long.
7126
7127 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
7128
7129         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7130           Don't unref the caps we passed to gst_caps_make_writable() after
7131           passing them. gst_caps_make_writable() will do that for us.
7132
7133 2005-07-15  Andy Wingo  <wingo@pobox.com>
7134
7135         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
7136         (#157311).
7137
7138         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
7139         own marshalling function for the handoff signal. Properly type the
7140         buffer as a buffer. Fixes some warnings. Should do a more general
7141         solution.
7142         (gst_identity_class_init): Plug into the right marshaller.
7143
7144 2005-07-15  Wim Taymans  <wim@fluendo.com>
7145
7146         * docs/design/part-TODO.txt:
7147         * docs/design/part-clocks.txt:
7148         * docs/design/part-element-sink.txt:
7149         * docs/design/part-events.txt:
7150         * docs/design/part-gstpipeline.txt:
7151         Updated docs, mostly DISCONT related.
7152
7153 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
7154
7155         * docs/pwg/building-pads.xml:
7156           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
7157
7158 2005-07-15  Andy Wingo  <wingo@pobox.com>
7159
7160         * tools/gst-typefind.c: Update, add copyright block.
7161
7162         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
7163         Normalize and truncate caps before fixation.
7164
7165         * gst/gstcaps.h:
7166         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
7167         discards all but the first structure from its argument.
7168
7169 2005-07-15  Wim Taymans  <wim@fluendo.com>
7170
7171         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7172         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
7173         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7174         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7175         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
7176         (gst_base_transform_chain), (gst_base_transform_change_state),
7177         (gst_base_transform_set_passthrough),
7178         (gst_base_transform_is_passthrough):
7179         * gst/base/gstbasetransform.h:
7180         Make passthrough work using the bufferpools.
7181         Changed API a bit, subclasses have to write into a buffer
7182         provided by the base class.
7183         More debug info in nego functions.
7184         
7185         * gst/elements/gstidentity.c: (gst_identity_init),
7186         (gst_identity_transform):
7187         Port to new base class.
7188
7189 2005-07-15  Wim Taymans  <wim@fluendo.com>
7190
7191         * gst/gstmessage.c: (gst_message_new_state_changed):
7192         * tools/gst-launch.c: (event_loop), (main):
7193         Totally dump messages in -launch with the -m option.
7194         Fix message name for State messages,
7195
7196 2005-07-14  Wim Taymans  <wim@fluendo.com>
7197
7198         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7199         Post error messages on errors.
7200
7201 2005-07-14  Wim Taymans  <wim@fluendo.com>
7202
7203         * gst/gstcaps.c: (gst_caps_do_simplify):
7204         Remove debug info.
7205
7206         * gst/gsterror.h:
7207         Define error for stream stopped.
7208
7209         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7210         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
7211         Do proper return values.
7212
7213         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7214         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
7215         (gst_pad_get_range):
7216         Better return values.
7217
7218         * gst/gstpad.h:
7219         Reorganise return values, add macro to check for fatal errors.
7220
7221         * gst/gstqueue.c: (gst_queue_chain):
7222         Return proper GstFlowReturn values,
7223
7224 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7225
7226         * docs/gst/gstreamer-sections.txt:
7227         * docs/gst/gstreamer.types:
7228         * docs/gst/tmpl/gst.sgml:
7229         * docs/gst/tmpl/gstbasesink.sgml:
7230         * docs/gst/tmpl/gstbasesrc.sgml:
7231         * docs/gst/tmpl/gstbasetransform.sgml:
7232         * docs/gst/tmpl/gstbin.sgml:
7233         * docs/gst/tmpl/gstbuffer.sgml:
7234         * docs/gst/tmpl/gstcaps.sgml:
7235         * docs/gst/tmpl/gstclock.sgml:
7236         * docs/gst/tmpl/gstcompat.sgml:
7237         * docs/gst/tmpl/gstconfig.sgml:
7238         * docs/gst/tmpl/gstelement.sgml:
7239         * docs/gst/tmpl/gstelementdetails.sgml:
7240         * docs/gst/tmpl/gstelementfactory.sgml:
7241         * docs/gst/tmpl/gstenumtypes.sgml:
7242         * docs/gst/tmpl/gsterror.sgml:
7243         * docs/gst/tmpl/gstevent.sgml:
7244         * docs/gst/tmpl/gstfakesink.sgml:
7245         * docs/gst/tmpl/gstfakesrc.sgml:
7246         * docs/gst/tmpl/gstfilesink.sgml:
7247         * docs/gst/tmpl/gstfilesrc.sgml:
7248         * docs/gst/tmpl/gstfilter.sgml:
7249         * docs/gst/tmpl/gstformat.sgml:
7250         * docs/gst/tmpl/gstghostpad.sgml:
7251         * docs/gst/tmpl/gstimplementsinterface.sgml:
7252         * docs/gst/tmpl/gstindex.sgml:
7253         * docs/gst/tmpl/gstindexfactory.sgml:
7254         * docs/gst/tmpl/gstinfo.sgml:
7255         * docs/gst/tmpl/gstiterator.sgml:
7256         * docs/gst/tmpl/gstmacros.sgml:
7257         * docs/gst/tmpl/gstmemchunk.sgml:
7258         * docs/gst/tmpl/gstminiobject.sgml:
7259         * docs/gst/tmpl/gstobject.sgml:
7260         * docs/gst/tmpl/gstpad.sgml:
7261         * docs/gst/tmpl/gstpadtemplate.sgml:
7262         * docs/gst/tmpl/gstparse.sgml:
7263         * docs/gst/tmpl/gstpipeline.sgml:
7264         * docs/gst/tmpl/gstplugin.sgml:
7265         * docs/gst/tmpl/gstpluginfeature.sgml:
7266         * docs/gst/tmpl/gstquery.sgml:
7267         * docs/gst/tmpl/gstqueue.sgml:
7268         * docs/gst/tmpl/gstregistry.sgml:
7269         * docs/gst/tmpl/gstregistrypool.sgml:
7270         * docs/gst/tmpl/gstscheduler.sgml:
7271         * docs/gst/tmpl/gstschedulerfactory.sgml:
7272         * docs/gst/tmpl/gststructure.sgml:
7273         * docs/gst/tmpl/gstsystemclock.sgml:
7274         * docs/gst/tmpl/gsttaglist.sgml:
7275         * docs/gst/tmpl/gsttagsetter.sgml:
7276         * docs/gst/tmpl/gsttrace.sgml:
7277         * docs/gst/tmpl/gsttrashstack.sgml:
7278         * docs/gst/tmpl/gsttypefind.sgml:
7279         * docs/gst/tmpl/gsttypefindfactory.sgml:
7280         * docs/gst/tmpl/gsttypes.sgml:
7281         * docs/gst/tmpl/gsturihandler.sgml:
7282         * docs/gst/tmpl/gsturitype.sgml:
7283         * docs/gst/tmpl/gstutils.sgml:
7284         * docs/gst/tmpl/gstvalue.sgml:
7285         * docs/gst/tmpl/gstversion.sgml:
7286         * docs/gst/tmpl/gstxml.sgml:
7287         * docs/libs/tmpl/gstcontrol.sgml:
7288         * docs/libs/tmpl/gstdataprotocol.sgml:
7289         * docs/libs/tmpl/gstdparam.sgml:
7290         * docs/libs/tmpl/gstdplinint.sgml:
7291         * docs/libs/tmpl/gstdpman.sgml:
7292         * docs/libs/tmpl/gstdpsmooth.sgml:
7293         * docs/libs/tmpl/gstgetbits.sgml:
7294         * docs/libs/tmpl/gstunitconvert.sgml:
7295         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
7296         (gst_push_src_base_init), (gst_push_src_class_init),
7297         (gst_push_src_init), (gst_push_src_create):
7298         * gst/base/gstpushsrc.h:
7299         * gst/elements/gstelements.c:
7300         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
7301         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
7302         (gst_fake_sink_init), (gst_fake_sink_set_property),
7303         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
7304         (gst_fake_sink_event), (gst_fake_sink_preroll),
7305         (gst_fake_sink_render), (gst_fake_sink_change_state):
7306         * gst/elements/gstfakesink.h:
7307         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7308         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7309         (gst_fake_src_base_init), (gst_fake_src_class_init),
7310         (gst_fake_src_init), (gst_fake_src_event_handler),
7311         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
7312         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
7313         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
7314         (gst_fake_src_create_buffer), (gst_fake_src_create),
7315         (gst_fake_src_start), (gst_fake_src_stop):
7316         * gst/elements/gstfakesrc.h:
7317         * gst/elements/gstfilesink.c: (_do_init),
7318         (gst_file_sink_base_init), (gst_file_sink_class_init),
7319         (gst_file_sink_init), (gst_file_sink_dispose),
7320         (gst_file_sink_set_location), (gst_file_sink_set_property),
7321         (gst_file_sink_get_property), (gst_file_sink_open_file),
7322         (gst_file_sink_close_file), (gst_file_sink_query),
7323         (gst_file_sink_event), (gst_file_sink_render),
7324         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
7325         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
7326         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
7327         * gst/elements/gstfilesink.h:
7328         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
7329         (gst_file_src_class_init), (gst_file_src_init),
7330         (gst_file_src_finalize), (gst_file_src_set_location),
7331         (gst_file_src_set_property), (gst_file_src_get_property),
7332         (gst_file_src_map_region), (gst_file_src_map_small_region),
7333         (gst_file_src_create_mmap), (gst_file_src_create_read),
7334         (gst_file_src_create), (gst_file_src_is_seekable),
7335         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
7336         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
7337         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
7338         (gst_file_src_uri_handler_init):
7339         * gst/elements/gstfilesrc.h:
7340           more autistic cleanliness in functions/names/defines
7341
7342 2005-07-13  Andy Wingo  <wingo@pobox.com>
7343
7344         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
7345         source couldn't negotiate.
7346
7347         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
7348         connections again.
7349
7350         * gst/gstutils.h:
7351         * gst/gstutils.c (gst_element_link_pads_filtered): New old
7352         function. I am channeling Hades. Put your boots on suckers!!!
7353
7354 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7355
7356         * testsuite/caps/Makefile.am:
7357         * testsuite/caps/value_compare.c:
7358         * testsuite/caps/value_intersect.c:
7359         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7360           move two testsuite apps over to the check dir
7361
7362 2005-07-12  Wim Taymans  <wim@fluendo.com>
7363
7364         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7365         Added more debug info in the negotiate process.
7366
7367         * gst/gstmessage.h:
7368         Prepare for segment playback.
7369
7370         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
7371         Better debugging.
7372
7373         * gst/gstutils.c:
7374         Some more docs.
7375
7376         * tools/gst-launch.c: (main):
7377         NULL pipeline on errors.
7378
7379 2005-07-12  Andy Wingo  <wingo@pobox.com>
7380
7381         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
7382         not it comes from a malloc region. Make sure our copy gets freed.
7383
7384 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7385
7386         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7387         * check/gst/gstmessage.c: (GST_START_TEST):
7388         * check/gst/gststructure.c: (GST_START_TEST),
7389         (gst_structure_suite), (main):
7390           more testing
7391         * gst/gstelement.c: (gst_element_message_full):
7392           clean up GError and debug string now that they get copied
7393         * gst/gstmessage.c: (gst_message_new_error),
7394         (gst_message_new_warning), (gst_message_parse_error),
7395         (gst_message_parse_warning):
7396           use GST_TYPE_G_ERROR for structure_new, and take copies of
7397           arguments, so that we don't mess up refcounting
7398
7399 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         * check/Makefile.am:
7402           add per-test valgrind targets
7403         * check/gst-libs/gdp.c: (GST_START_TEST),
7404         (gst_data_protocol_suite), (main):
7405           clean up
7406
7407 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7408
7409         * check/Makefile.am:
7410           instate more valgrindable tests
7411         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7412         (GST_START_TEST), (fakesrc_suite):
7413         * check/gst/gstpad.c: (GST_START_TEST):
7414         * check/gst/gststructure.c: (GST_START_TEST):
7415           fix test leaks
7416         * docs/gst/tmpl/gstminiobject.sgml:
7417         * gst/gstpad.c: (gst_pad_finalize):
7418           fix the static mutex leak
7419
7420 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7421
7422         * check/Makefile.am:
7423           add two more tests for valgrinding
7424         * check/gst/gstvalue.c: (GST_START_TEST):
7425           test refcount of deserialized buffer, found a leak
7426         * docs/gst/gstreamer-docs.sgml:
7427         * docs/gst/gstreamer-sections.txt:
7428         * docs/gst/gstreamer.types:
7429         * docs/gst/tmpl/gstminiobject.sgml:
7430           add miniobject to docs
7431         * gst/gstminiobject.c:
7432           add some docs
7433         * gst/gstvalue.c: (gst_value_deserialize_buffer),
7434         (gst_string_unwrap):
7435           fix a hard-to-find invalid write for one of the tests
7436           fix a leak for deserialized buffers
7437
7438 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7439
7440         * docs/pwg/advanced-events.xml:
7441         * docs/pwg/advanced-request.xml:
7442         * docs/pwg/advanced-scheduling.xml:
7443         * docs/pwg/appendix-porting.xml:
7444         * docs/pwg/building-boiler.xml:
7445         * docs/pwg/intro-preface.xml:
7446         * docs/pwg/other-ntoone.xml:
7447           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
7448           of example code and explanation for pad activation, loop() and
7449           getrange() functions and a bit more. Remove old comments pointing
7450           to loop-functions.
7451         * examples/pwg/Makefile.am:
7452           Add loop/getrange examples.
7453
7454 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7455
7456         * configure.ac:
7457           check for valgrind binary + some fixes
7458         * check/gst.supp:
7459           valgrind suppressions for the tests
7460         * check/Makefile.am:
7461           add a valgrind: target that valgrinds the unit tests
7462         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
7463         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7464         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7465         * check/gst/gstghostpad.c:
7466           added some cleanup
7467         * check/gst/gstdata.c:
7468           removed
7469         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
7470         (thread_unref), (gst_mini_object_suite), (main):
7471           added
7472         * gst/gst.c: (gst_deinit):
7473         * gst/gst.h:
7474           add a method to clean up.
7475         * gst/gstsystemclock.c: (gst_system_clock_dispose),
7476         (gst_system_clock_obtain):
7477           allow for disposing the system clock.
7478         * tools/gst-launch.c: (main):
7479           deinit
7480
7481 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7482
7483         * docs/gst/tmpl/gstbasesrc.sgml:
7484         * docs/gst/tmpl/gstfakesrc.sgml:
7485         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7486         (gst_base_src_init), (gst_base_src_set_property),
7487         (gst_base_src_get_property), (gst_base_src_get_range),
7488         (gst_base_src_start):
7489         * gst/base/gstbasesrc.h:
7490           add num-buffers property
7491         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7492         (gst_fakesrc_init), (gst_fakesrc_set_property),
7493         (gst_fakesrc_get_property), (gst_fakesrc_create),
7494         (gst_fakesrc_start):
7495           remove num-buffers property
7496
7497 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7498
7499         * docs/gst/gstreamer-sections.txt:
7500         * docs/gst/tmpl/gstbasesink.sgml:
7501         * docs/gst/tmpl/gstbasesrc.sgml:
7502         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7503         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7504         (gst_base_sink_finalize), (gst_base_sink_set_clock),
7505         (gst_base_sink_set_property), (gst_base_sink_get_property),
7506         (gst_base_sink_handle_object), (gst_base_sink_event),
7507         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7508         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
7509         (gst_base_sink_loop), (gst_base_sink_deactivate),
7510         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
7511         (gst_base_sink_change_state):
7512         * gst/base/gstbasesink.h:
7513         * gst/base/gstbasesrc.h:
7514         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
7515         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7516         (gst_filesink_init):
7517           more macro splitting
7518
7519 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7520
7521         * gst/gstelement.c: (gst_element_get_bus):
7522           add debug
7523         * tools/gst-launch.c: (check_intr), (event_loop):
7524           fix bus leaks
7525
7526 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7527
7528         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
7529           fix a caps leak
7530
7531 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7532
7533         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7534         (gst_base_src_finalize):
7535           add finalize method and clean up properly
7536         * gst/gstpipeline.c: (gst_pipeline_dispose):
7537           add debug
7538
7539 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7540
7541         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
7542         (gst_bin_suite):
7543           add more things to check
7544         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7545         * gst/gstelement.c:
7546           more debug
7547
7548 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7549
7550         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7551         (GST_START_TEST), (fakesrc_suite):
7552         * check/gst-libs/gdp.c: (GST_START_TEST):
7553         * check/gst/gst.c: (GST_START_TEST):
7554         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7555         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7556         * check/gst/gstbus.c: (GST_START_TEST):
7557         * check/gst/gstcaps.c: (GST_START_TEST):
7558         * check/gst/gstdata.c: (GST_START_TEST):
7559         * check/gst/gstelement.c: (GST_START_TEST):
7560         * check/gst/gstghostpad.c: (GST_START_TEST):
7561         * check/gst/gstiterator.c: (GST_START_TEST):
7562         * check/gst/gstmessage.c: (GST_START_TEST):
7563         * check/gst/gstobject.c: (GST_START_TEST):
7564         * check/gst/gstpad.c: (GST_START_TEST):
7565         * check/gst/gststructure.c: (GST_START_TEST):
7566         * check/gst/gstsystemclock.c: (GST_START_TEST),
7567         (gst_systemclock_suite):
7568         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7569         * check/gst/gstvalue.c: (GST_START_TEST):
7570         * check/pipelines/cleanup.c: (GST_START_TEST):
7571         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7572         * check/states/sinks.c: (GST_START_TEST):
7573         * check/gstcheck.c: (gst_check_init):
7574         * check/gstcheck.h:
7575           add debugging category
7576           use GST_START_TEST now, so we add a debug line
7577
7578 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7579
7580         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
7581           add test for state change message on a bin
7582         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
7583           add another test
7584         * gst/gstbin.c: (gst_bin_init):
7585         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
7586         * gst/gstelement.c: (gst_element_post_message),
7587         (gst_element_set_state):
7588         * gst/gstelementfactory.c: (gst_element_factory_create):
7589         * gst/gstmessage.c: (gst_message_new):
7590         * gst/gstscheduler.c:
7591           various debugging additions and cleanups
7592
7593 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7594
7595         * check/Makefile.am:
7596         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
7597         (main):
7598           adding tests for elements
7599         * gst/gstelement.c: (gst_element_dispose):
7600
7601 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * gst/registries/gstlibxmlregistry.c: (load_feature):
7604           plug more leaks.  A simple gst_init() now is leakfree, yay.
7605
7606 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7607
7608         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
7609         (gst_xml_registry_load):
7610           plug another memleak
7611
7612 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7613
7614         * configure.ac:
7615           use GST_SET_ERROR_CFLAGS
7616         * docs/faq/cvs.xml:
7617           change to ERROR_CFLAGS
7618
7619 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7620
7621         * configure.ac:
7622           make GST_ERROR_CFLAGS overridable and re-enable Werror
7623         * docs/faq/cvs.xml:
7624           add a note about error CFLAGS
7625         * docs/gst/tmpl/gstfakesrc.sgml:
7626         * gst/elements/gstfakesrc.c:
7627           comment out some unused code
7628         * gst/gst.c: (split_and_iterate):
7629         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
7630         (load_feature):
7631           plug some memleaks
7632
7633 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * common/Makefile.am:
7636         * common/gtk-doc.mak:
7637         * docs/gst/Makefile.am:
7638           factor out gtk-doc.mak
7639
7640 2005-07-07  Wim Taymans  <wim@fluendo.com>
7641
7642         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
7643         (gst_thread_scheduler_dispose):
7644         Unlock the STREAM_LOCK completely.
7645
7646 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7647
7648         * check/Makefile.am:
7649         * check/elements/.cvsignore:
7650         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7651         (START_TEST), (fakesrc_suite), (main):
7652         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7653         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7654         (gst_fakesrc_create), (gst_fakesrc_start):
7655         * gst/elements/gstfakesrc.h:
7656           adding a first element test
7657
7658 2005-07-07  Andy Wingo  <wingo@pobox.com>
7659
7660         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
7661         debug message.
7662
7663 2005-07-07  Wim Taymans  <wim@fluendo.com>
7664
7665         * gst/gstquery.c:
7666         * gst/gstquery.h:
7667         Remove old types
7668
7669 2005-07-07  Wim Taymans  <wim@fluendo.com>
7670
7671         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7672         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
7673         Allow subclasses to implement their own negotiation.
7674
7675 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7676
7677         * docs/design/part-gstbin.txt:
7678         * docs/design/part-gstpipeline.txt:
7679           Update design notes to reflect the movement of
7680           responsibility for bus handling from GstPipeline to
7681           GstBin
7682
7683 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7684
7685         * configure.ac:
7686           Remove unnecessary queue2/3/4 examples.
7687
7688 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7689
7690         * examples/Makefile.am:
7691         * examples/helloworld/helloworld.c: (event_loop), (main):
7692         * examples/queue/queue.c: (event_loop), (main):
7693         * examples/queue2/queue2.c: (main):
7694           Update a couple of the examples to work again.
7695
7696         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7697         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
7698          Spelling corrections and extra debug.
7699         
7700         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
7701         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
7702         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
7703         * gst/gstbin.h:
7704         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7705         (gst_pipeline_change_state):
7706         * gst/gstpipeline.h:
7707           Move the bus handler for children to the GstBin, and create a
7708           separate bus for receiving messages from children to the one the
7709           bus sends 'upwards' on.
7710
7711 2005-07-06  Wim Taymans  <wim@fluendo.com>
7712
7713         * gst/base/README:
7714         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7715         (gst_base_sink_handle_object), (gst_base_sink_loop),
7716         (gst_base_sink_change_state):
7717         * gst/base/gstbasesink.h:
7718         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7719         (gst_base_src_init), (gst_base_src_setcaps),
7720         (gst_base_src_getcaps), (gst_base_src_loop),
7721         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
7722         (gst_base_src_start), (gst_base_src_change_state):
7723         * gst/base/gstbasesrc.h:
7724         Make basesrc negotiate.
7725         Handle the case where preroll fails in basesink.
7726         Update README.
7727
7728 2005-07-06  Wim Taymans  <wim@fluendo.com>
7729
7730         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
7731         Implement the fixate function.
7732         Clean up acceptcaps.
7733
7734 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7735
7736         * docs/pwg/building-filterfactory.xml:
7737         * docs/pwg/pwg.xml:
7738           Remove never-written filter-factory chapter; I'll add the various
7739           base classes to part 4 ("other element types") later on.
7740
7741 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7742
7743         * docs/pwg/advanced-negotiation.xml:
7744         * docs/pwg/building-boiler.xml:
7745         * docs/pwg/building-pads.xml:
7746         * docs/pwg/pwg.xml:
7747         * examples/pwg/Makefile.am:
7748           Add a chapter on caps negotiation, simplify the original code
7749           samples a bit w.r.t. caps negotiation, add link to the advanced
7750           section. Add a bunch of examples showing different use cases of
7751           different types of caps negotiation. Upstream renegotiation isn't
7752           fully documented yet since nobody knows how that works.
7753
7754 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7755
7756         * check/gst/gstpad.c:
7757         * check/gstcheck.c:
7758         * gst/gstpad.c: (gst_pad_get_internal_links_default):
7759           if pad has no parent, return NULL as list of internal links
7760
7761 2005-07-05  Andy Wingo  <wingo@pobox.com>
7762
7763         * gst/elements/gstfilesrc.c:
7764         * gst/elements/gstfakesrc.c: 
7765         * gst/base/gstpushsrc.c:
7766         * gst/base/gstbasesrc.h: 
7767         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
7768         
7769 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
7770
7771         * Makefile.am:
7772           better report generation target (lcov needs a patch)
7773
7774 2005-07-05  Andy Wingo  <wingo@pobox.com>
7775
7776         * gst/elements, testsuite: Null if we got it...
7777
7778 2005-07-05  Wim Taymans  <wim@fluendo.com>
7779
7780         * configure.ac:
7781         * libs/gst/dataprotocol/Makefile.am:
7782         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
7783         * libs/gst/dataprotocol/dataprotocol.h:
7784         * pkgconfig/Makefile.am:
7785         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
7786         * pkgconfig/gstreamer-dataprotocol.pc.in:
7787         Ported dataprotol to 0.9. 
7788         Added pkgconfig files.
7789
7790 2005-07-05  Andy Wingo  <wingo@pobox.com>
7791
7792         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
7793         Default to returning TRUE for the case when tranform_caps returns
7794         a fixed caps, like for identity or volume.
7795
7796         * check/gst/gstbus.c (pound_bus_with_messages): 
7797         * check/gst/gstmessage.c (START_TEST): 
7798         * check/pipelines/simple_launch_lines.c (got_handoff): Application
7799         message API change.
7800
7801         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
7802         logic weaks here: always run transform_caps, trying passthrough
7803         operation only if the original caps intersects with the transform.
7804
7805         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
7806         source and sink caps.
7807
7808         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
7809         Intersect the peer caps with the pad template before going into
7810         transform_caps.
7811         (gst_base_transform_transform_caps): More debugging.
7812
7813         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
7814         src argument.
7815
7816 2005-07-04  Edward Hervey  <edward@fluendo.com>
7817
7818         * gst/gstutils.c:
7819         * gst/gstutils.h:
7820         (gst_pad_add_*_probe): now returns the signal id for better wrapping
7821         in bindings.
7822
7823 2005-07-04  Andy Wingo  <wingo@pobox.com>
7824
7825         * check/gst/gstpad.c: Only set explicit caps on pads.
7826
7827 2005-07-01  Andy Wingo  <wingo@pobox.com>
7828
7829         * tests/network-clock.scm: Commentary update.
7830
7831         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
7832         Didn't really make sense, not implementable with basetransform,
7833         etc.
7834         (gst_identity_transform): Unref inbuf via make_writable. Feeble
7835         attempt at implementing the sync property, needs an unlock method.
7836
7837         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
7838         New func, by default returns the same caps (the identity
7839         transformation).
7840         (gst_base_transform_getcaps): Uses transform_caps to return
7841         something sensible.
7842         (gst_base_transform_setcaps): Complicated logic to get caps on
7843         both pads, even if they are different, and to call set_caps once
7844         for every time both pads get their caps set.
7845         (gst_base_transform_handle_buffer): Give the ref to the transform
7846         function. Allows in-place modification of the buffer.
7847
7848         * gst/base/gstbasetransform.h (transform_caps): New class method.
7849         Given caps on one side, what can I do on the other.
7850         (set_caps): Take two caps, one for each side of the element.
7851
7852         * gst/gstpad.h:
7853         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
7854         caps in place. This is safe because we can check the mutability of
7855         the caps, and a good idea because fixate functions are just called
7856         as a matter of last resort. (Not actually implemented.)
7857         (gst_pad_set_caps): If the caps we're setting is actually the same
7858         as the existing pad caps, just update the pointer without calling
7859         setcaps. Assert that caps is either NULL or fixed, as per the
7860         docs.
7861
7862         * gst/gstghostpad.c: Update for fixate changes.
7863
7864 2005-07-02  Andy Wingo  <wingo@pobox.com>
7865
7866         * gst/gstcaps.c:
7867         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
7868         two refcounts makes it immutable, which is enough. Doc more.
7869
7870 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
7871
7872         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
7873           Put the mini_object into GValue as a mini_object,
7874           not a gpointer, since that's how we declared
7875           the signal.
7876
7877 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7878
7879         * examples/pwg/Makefile.am:
7880           Fix buildbot again.
7881
7882 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7883
7884         * docs/pwg/building-testapp.xml:
7885           Add extra check.
7886         * examples/pwg/Makefile.am:
7887           Fix buildbot.
7888
7889 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7890
7891         * configure.ac:
7892         * examples/Makefile.am:
7893         * examples/pwg/Makefile.am:
7894         * examples/pwg/extract.pl:
7895           Enable building the PWG examples.
7896         * docs/pwg/advanced-interfaces.xml:
7897           Add URI interface stub.
7898         * docs/pwg/advanced-types.xml:
7899         * docs/pwg/other-autoplugger.xml:
7900         * docs/pwg/appendix-porting.xml:
7901         * docs/pwg/pwg.xml:
7902           Add porting guide (mostly stubs), remove autoplugging (see ADM).
7903         * docs/pwg/building-boiler.xml:
7904         * docs/pwg/building-chainfn.xml:
7905         * docs/pwg/building-pads.xml:
7906         * docs/pwg/building-props.xml:
7907         * docs/pwg/building-state.xml:
7908         * docs/pwg/building-testapp.xml:
7909           Update the building-*.xml parts for 0.9 changes. All examples
7910           code blocks compile in examples/pwg/*.
7911
7912 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7913
7914         * docs/manual/advanced-autoplugging.xml:
7915         * docs/manual/appendix-checklist.xml:
7916         * docs/manual/appendix-integration.xml:
7917         * docs/manual/highlevel-components.xml:
7918           Fix playbin/decodebin examples, update docs a bit, mention bus
7919           instead of signals in various places, mention kmplayer and
7920           kaffeine since they have a working GStreamer backend in the KDE
7921           section.
7922
7923 2005-06-30  Wim Taymans  <wim@fluendo.com>
7924
7925         * CHANGES-0.9:
7926         * docs/design/draft-ghostpads.txt:
7927         * docs/design/draft-push-pull.txt:
7928         * docs/design/draft-query.txt:
7929         * docs/design/part-TODO.txt:
7930         * docs/design/part-query.txt:
7931         Added CHANGES-0.9 doc, updated status of other docs.
7932         
7933         * gst/gstquery.h:
7934         Remove "hmm" macro
7935
7936 2005-06-30  Wim Taymans  <wim@fluendo.com>
7937
7938         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7939         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7940         (gst_base_sink_change_state):
7941         * gst/base/gstbasesink.h:
7942         Some tweaks, only EOS and a buffer complete a preroll.
7943
7944 2005-06-30  Andy Wingo  <wingo@pobox.com>
7945
7946         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
7947         activate_push down to the internal pad as well.
7948
7949 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
7950
7951         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7952
7953         * gst/gsttaginterface.c:
7954           Some documentation fixes (#307394 and #307397).
7955
7956 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
7957
7958         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7959
7960         * gst/gstvalue.c: (gst_value_intersect_list):
7961           Fix memleak (#309125).
7962
7963 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7964
7965         * docs/manual/advanced-dataaccess.xml:
7966           Fix fakesrc example to compile; doesn't work, bug somewhere...?
7967         * docs/manual/basics-pads.xml:
7968           Add reference for filtered caps to above chapter.
7969
7970 2005-06-30  Wim Taymans  <wim@fluendo.com>
7971
7972         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
7973         (gst_bin_change_state):
7974         Probes are gone.
7975         Lame attempt at making the state change function a bit
7976         more readable.
7977
7978 2005-06-30  Wim Taymans  <wim@fluendo.com>
7979
7980         * docs/design/part-clocks.txt:
7981         * docs/design/part-element-sink.txt:
7982         * docs/design/part-events.txt:
7983         * docs/design/part-preroll.txt:
7984         * docs/design/part-states.txt:
7985         Some more tweeks and additions to the docs.
7986
7987 2005-06-30  Wim Taymans  <wim@fluendo.com>
7988
7989         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
7990         (default_have_data), (gst_pad_class_init), (gst_pad_init),
7991         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
7992         (gst_pad_check_pull_range), (gst_pad_get_range),
7993         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
7994         * gst/gstpad.h:
7995         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
7996         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7997         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7998         (gst_pad_remove_buffer_probe):
7999         Removed atomic operations, use existing LOCK.
8000         Move exception handling out of main code path.
8001
8002 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8003
8004         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8005         (silly_return_true_function), (gst_pad_class_init),
8006         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8007         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8008         (gst_pad_send_event):
8009           Fix accumulator, add default value by using _emitv() instead
8010           of _emit() for signal emission.
8011
8012 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8013
8014         * docs/manual/advanced-dataaccess.xml:
8015         * examples/manual/Makefile.am:
8016           Add probe example.
8017         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8018           Make work (??).
8019
8020 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8021
8022         * gst/elements/gstfilesink.c: (gst_filesink_render):
8023           Simplify code so that we don't have to handle short
8024           writes and return GST_FLOW_ERROR if an error occured.
8025
8026 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8027
8028         * docs/gst/gstreamer-docs.sgml:
8029           Remove probes more.
8030
8031 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8032
8033         * docs/gst/gstreamer-sections.txt:
8034         * docs/gst/tmpl/gstpad.sgml:
8035         * docs/gst/tmpl/gstprobe.sgml:
8036         * gst/Makefile.am:
8037         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8038         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8039         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8040         (gst_pad_push_event), (gst_pad_send_event):
8041         * gst/gstpad.h:
8042         * gst/gstutils.c: (gst_pad_add_data_probe),
8043         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8044         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8045         (gst_pad_remove_buffer_probe):
8046         * gst/gstutils.h:
8047           Remove old probes, add new g-signal-based probes and some utility
8048           functions.
8049
8050 2005-06-29  Edward Hervey  <edward@fluendo.com>
8051
8052         * gst/gstelementfactory.c:
8053         * gst/gstutils.h:
8054         * gst/gstutils.c:
8055         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8056         the definition to the header file.
8057
8058 2005-06-29  Andy Wingo  <wingo@pobox.com>
8059
8060         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8061         plugins from the source directory.
8062
8063 2005-06-29  Wim Taymans  <wim@fluendo.com>
8064
8065         * docs/gst/tmpl/gstbuffer.sgml:
8066         * docs/gst/tmpl/gstclock.sgml:
8067         Some fixings for blantently wrong text.
8068
8069 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8070
8071         * check/Makefile.am:
8072         * gst/gst.c: (add_path_func), (init_pre):
8073         * gst/gstregistry.c: (gst_registry_add_path):
8074           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8075           only scan the GST_PLUGIN_PATH locations, and not add
8076           system locations
8077
8078 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8079
8080         * docs/gst/gstreamer-sections.txt:
8081         * docs/gst/tmpl/gstbasesrc.sgml:
8082         * gst/gstelement.c:
8083         * gst/gstelement.h:
8084         * gst/gstevent.c:
8085         * gst/gstutils.c:
8086           doc fixes
8087
8088 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8089
8090         * docs/manual/advanced-autoplugging.xml:
8091           Fix autoplugging example.
8092
8093 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8094
8095         * docs/manual/advanced-autoplugging.xml:
8096         * docs/manual/mime-world.fig:
8097           Try to get autoplugging working, fix type detection. Fix text
8098           in hello-world image.
8099
8100 2005-06-29  Wim Taymans  <wim@fluendo.com>
8101
8102         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8103         (gst_base_sink_change_state):
8104         Small debug line.
8105
8106         * gst/gstclock.h:
8107         map SIGNAL and BROADCAST to the right function.
8108
8109         * gst/gstobject.h:
8110         Remove redundant braces.
8111
8112         * gst/gstpad.c: (gst_pad_set_caps):
8113         Don't call setcaps function when reseting caps to NULL.
8114
8115         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8116         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8117         (gst_system_clock_id_unschedule):
8118         Use BROADCAST as this is what we do.
8119
8120 2005-06-29  Wim Taymans  <wim@fluendo.com>
8121
8122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8123         We are actually prerolling before commiting the state
8124         change. 
8125
8126 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8127
8128         * docs/manual/advanced-clocks.xml:
8129         * docs/manual/advanced-interfaces.xml:
8130         * docs/manual/advanced-metadata.xml:
8131         * docs/manual/advanced-position.xml:
8132         * docs/manual/advanced-schedulers.xml:
8133         * docs/manual/advanced-threads.xml:
8134         * docs/manual/appendix-porting.xml:
8135         * docs/manual/basics-bins.xml:
8136         * docs/manual/basics-bus.xml:
8137         * docs/manual/basics-elements.xml:
8138         * docs/manual/basics-helloworld.xml:
8139         * docs/manual/basics-pads.xml:
8140         * docs/manual/highlevel-components.xml:
8141         * docs/manual/manual.xml:
8142         * docs/manual/thread.fig:
8143           Update (until threads/scheduling) Application Development Manual;
8144           remove GstThread, add GstBus, add simple porting checklist, add
8145           documentation for tag writing, clocks, make all examples until this
8146           part compile and run.
8147         * examples/manual/Makefile.am:
8148           Update from changes to Application Development Manual; add bus
8149           example, remove thread example.
8150
8151 2005-06-28  Wim Taymans  <wim@fluendo.com>
8152
8153         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
8154         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
8155         (gst_bus_source_dispatch):
8156         Add debugging messages.
8157         Make internal methods static.
8158         Handle the case where the bus is flushed in the handler.
8159         
8160         * gst/gstelement.c: (gst_element_get_bus):
8161         Fix refcount in _get_bus();
8162
8163         * gst/gstpipeline.c: (gst_pipeline_change_state),
8164         (gst_pipeline_get_clock_func):
8165         Clock refcounting fixes.
8166         Handle the case where preroll timed out more gracefully.
8167         
8168         * gst/gstsystemclock.c: (gst_system_clock_dispose):
8169         Clean up the internal thread in dispose. This is needed
8170         for subclasses that actually get disposed.
8171         
8172         * gst/schedulers/threadscheduler.c:
8173         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8174         (gst_thread_scheduler_dispose):
8175         Free thread pool in dispose.
8176
8177 2005-06-28  Andy Wingo  <wingo@pobox.com>
8178
8179         * tests/network-clock-utils.scm (debug, print-event): New utils.
8180
8181         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
8182         (*packet-loss*): Unified loss probability.
8183         (network-time): Report out-of-band events.
8184
8185         * tests/plot-data: Add support for out-of-band events. Hack it
8186         into this script instead of passing it down the pipe; should fix
8187         this later.
8188
8189 2005-06-28  Wim Taymans  <wim@fluendo.com>
8190
8191         * docs/gst/gstreamer.types:
8192         * docs/gst/tmpl/gstbasesrc.sgml:
8193         * docs/gst/tmpl/gstpad.sgml:
8194         Docs fixes.
8195
8196 2005-06-28  Wim Taymans  <wim@fluendo.com>
8197
8198         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8199         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
8200         (gst_proxy_pad_do_fixatecaps):
8201         Correctly proxy the check_pull_range function.
8202
8203 2005-06-28  Andy Wingo  <wingo@pobox.com>
8204
8205         * tests/network-clock.scm: Removed need for slib.
8206         
8207 2005-06-28  Wim Taymans  <wim@fluendo.com>
8208
8209         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
8210         (gst_basesink_preroll_queue_flush):
8211         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
8212         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
8213         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8214         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8215         (gst_proxy_pad_set_property):
8216         * gst/gstpad.c:
8217         * gst/gstpad.h:
8218         * gst/gstqueue.c: (gst_queue_init):
8219         The deprecated pad loop function is removed now.
8220
8221 2005-06-28  Andy Wingo  <wingo@pobox.com>
8222
8223         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
8224         New parameters, simulate network packet loss.
8225
8226         * tests/network-clock-utils.scm: Initialize the RNG.
8227
8228 2005-06-28  Wim Taymans  <wim@fluendo.com>
8229
8230         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
8231         (gst_basesink_event), (gst_basesink_deactivate):
8232         Flushing the preroll queue always needs to unlock the waiters.
8233
8234 2005-06-28  Edward Hervey  <edward@fluendo.com>
8235
8236         * gst/gstpipeline.c: (gst_pipeline_send_event): 
8237         Wheen a seek was successful on a pipeline, set the stream_time to the
8238         seek offset in order to have a synchronized stream_time.
8239
8240 2005-06-28  Wim Taymans  <wim@fluendo.com>
8241
8242         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8243         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8244         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
8245         (gst_proxy_pad_do_fixatecaps):
8246         Call wrapper function instead of just calling the function
8247         pointers. This takes care of any locking and whatmore.
8248
8249 2005-06-28  Wim Taymans  <wim@fluendo.com>
8250
8251         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
8252         (gst_pad_pull_range):
8253         * gst/gstpad.h:
8254         CONNECTED -> LINKED.
8255
8256 2005-06-28  Andy Wingo  <wingo@pobox.com>
8257
8258         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
8259         source-munging commit!!!
8260
8261         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
8262         (gst_object_sink): Take gpointer arguments, not GstObject --
8263         avoids casts. Like GLib.
8264
8265         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
8266         activate.
8267
8268 2005-06-27  Andy Wingo  <wingo@pobox.com>
8269
8270         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
8271         remaining buffer.
8272
8273         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
8274         returns a sorted copy of the trace list.
8275         (gst_alloc_trace_print_live): New API, only prints traces with
8276         live objects. Sort the list.
8277         (gst_alloc_trace_print_all): Sort the list.
8278         (gst_alloc_trace_print): Align columns.
8279
8280         * gst/elements/gstttypefindelement.c:
8281         * gst/elements/gsttee.c:
8282         * gst/base/gstbasesrc.c:
8283         * gst/base/gstbasesink.c:
8284         * gst/base/gstbasetransform.c:
8285         * gst/gstqueue.c: Adapt for pad activation changes.
8286
8287         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
8288         sched.
8289         (gst_pipeline_dispose): Drop ref on sched.
8290
8291         * gst/gstpad.c (gst_pad_init): Set the default activate func.
8292         (gst_pad_activate_default): Push mode by default.
8293         (pre_activate_switch, post_activate_switch): New stubs, things to
8294         do before and after switching activation modes on pads.
8295         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
8296         the pad's activate function to choose which mode to activate.
8297         Shortcut on deactivation and call the right function directly.
8298         (gst_pad_activate_pull): New API, (de)activates a pad in pull
8299         mode.
8300         (gst_pad_activate_push): New API, same for push mode.
8301         (gst_pad_set_activate_function) 
8302         (gst_pad_set_activatepull_function) 
8303         (gst_pad_set_activatepush_function): Setters for new API.
8304
8305         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
8306         Trace all miniobjects.
8307         (gst_mini_object_make_writable): Unref the arg if we copy, like
8308         gst_caps_make_writable.
8309
8310         * gst/gstmessage.c (_gst_message_initialize): No trace init.
8311
8312         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
8313         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
8314         Adapt for new pad API.
8315
8316         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
8317
8318         * gst/gstelement.h:
8319         * gst/gstelement.c (gst_element_iterate_src_pads) 
8320         (gst_element_iterate_sink_pads): New API functions.
8321         
8322         * gst/gstelement.c (iterator_fold_with_resync): New utility,
8323         should fold into gstiterator.c in some form.
8324         (gst_element_pads_activate): Simplified via use of fold and
8325         delegation of decisions to gstpad->activate.
8326
8327         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
8328         help in debugging.
8329
8330         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
8331         class once in init, like gstmessage. Didn't run into this issue
8332         but it seems correct. Don't initialize a trace, gstminiobject does
8333         that.
8334
8335         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
8336         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
8337         to the bus.
8338         (assert_live_count): New util function, uses alloc traces to check
8339         cleanup.
8340
8341         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
8342         To be modified when unlink drops the internal pad.
8343
8344 2005-06-27  Wim Taymans  <wim@fluendo.com>
8345
8346         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
8347         (gst_bin_change_state):
8348         Cleanup the get_state() function a little, make sure it
8349         iterates the same set of elements.
8350         Added stub iterate_state_order().
8351
8352 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8353
8354         * docs/gst/gstreamer-docs.sgml:
8355         * docs/gst/gstreamer-sections.txt:
8356         * docs/gst/gstreamer.types:
8357         * docs/gst/tmpl/gstbasesink.sgml:
8358         * docs/gst/tmpl/gstbasesrc.sgml:
8359         * docs/gst/tmpl/gstbasetransform.sgml:
8360         * docs/gst/tmpl/gstelement.sgml:
8361         * docs/gst/tmpl/gstiterator.sgml:
8362         * gst/base/gstbasesrc.c:
8363         * gst/base/gstbasesrc.h:
8364         * gst/base/gstbasetransform.h:
8365         * gst/gstelement.c:
8366         * gst/gstiterator.h:
8367           adding basetransform and iterator docs
8368
8369 2005-06-27  Andy Wingo  <wingo@pobox.com>
8370
8371         * docs/design/part-activation.txt: Notes on how activation should
8372         work -- not quite implemented yet.
8373
8374 2005-06-25  Wim Taymans  <wim@fluendo.com>
8375
8376         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
8377         At least get the chain function correct, needs more
8378         fixing.
8379
8380 2005-06-25  Wim Taymans  <wim@fluendo.com>
8381
8382         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8383         (gst_basesink_handle_object), (gst_basesink_event),
8384         (gst_basesink_do_sync), (gst_basesink_handle_event),
8385         (gst_basesink_change_state):
8386         * gst/gsttask.h:
8387         Right, two problems here: ghostpads don't take locks and
8388         glib _rec_mutex_lock_full() with depth==0 still locks.
8389         Catch illegal locking and g_warn them.
8390
8391 2005-06-25  Wim Taymans  <wim@fluendo.com>
8392
8393         * check/states/sinks.c: (START_TEST), (gst_object_suite):
8394         Have to check for completion now...
8395
8396 2005-06-25  Wim Taymans  <wim@fluendo.com>
8397
8398         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8399         (gst_basesink_handle_object), (gst_basesink_event),
8400         (gst_basesink_do_sync), (gst_basesink_handle_event),
8401         (gst_basesink_change_state):
8402         * gst/gstpad.h:
8403         Unlock STREAM_LOCK whatever the recursion was.
8404
8405 2005-06-25  Wim Taymans  <wim@fluendo.com>
8406
8407         * gst/base/gstbasesink.c: (gst_basesink_set_property),
8408         (gst_basesink_preroll_queue_empty),
8409         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
8410         (gst_basesink_event), (gst_basesink_do_sync),
8411         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
8412         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
8413         (gst_basesink_change_state):
8414         Reworked the base sink, handle event and buffer serialisation
8415         correctly and removed possible deadlock.
8416         Handle EOS correctly.
8417
8418 2005-06-25  Wim Taymans  <wim@fluendo.com>
8419
8420         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
8421         (gst_pipeline_change_state):
8422         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8423         Allow elements to post EOS in the state change function.
8424         Fix up -launch, make it exit the poll loop when the
8425         pipeline actually changed state.
8426         Fix up warning parsing in -launch.
8427
8428 2005-06-25  Wim Taymans  <wim@fluendo.com>
8429
8430         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
8431         (gst_tee_sink_activate):
8432         Core takes STREAM_LOCK for us now.
8433
8434 2005-06-25  Wim Taymans  <wim@fluendo.com>
8435
8436         * gst/gstelement.c: (gst_element_get_state_func),
8437         (gst_element_set_state):
8438         * gst/gstelement.h:
8439         * gst/gstmessage.c: (gst_message_parse_error),
8440         (gst_message_parse_warning):
8441         Keep track of current target state while performing a state
8442         change so that subclasses can do something interesting.
8443         Fix parsing of warning/error messages when GError is NULL.
8444
8445 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8446
8447         * docs/gst/Makefile.am:
8448         * docs/gst/gstreamer-docs.sgml:
8449         * docs/gst/gstreamer-sections.txt:
8450         * docs/gst/gstreamer.types:
8451         * docs/gst/tmpl/gstbasesink.sgml:
8452         * docs/gst/tmpl/gstbasesrc.sgml:
8453         * docs/gst/tmpl/gstbin.sgml:
8454         * docs/gst/tmpl/gstcompat.sgml:
8455         * docs/gst/tmpl/gstfakesink.sgml:
8456         * docs/gst/tmpl/gstfakesrc.sgml:
8457         * docs/gst/tmpl/gstfilesink.sgml:
8458         * docs/gst/tmpl/gstfilesrc.sgml:
8459         * docs/gst/tmpl/gstindex.sgml:
8460         * docs/manual/appendix-quotes.xml:
8461         * gst/base/gstbasesrc.h:
8462         * gst/elements/gstfakesrc.h:
8463         * gst/gstmessage.h:
8464           start pulling in base classes and elements in our docs
8465
8466 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
8467
8468         * docs/gst/Makefile.am:
8469         * docs/libs/Makefile.am:
8470           fixed make distcheck with gtk-doc 1.3
8471
8472 2005-06-23  Wim Taymans  <wim@fluendo.com>
8473
8474         * gst/gstelement.c: (gst_element_get_state_func),
8475         (gst_element_set_state), (gst_element_change_state):
8476         When the state did not change, also report NO_PREROLL
8477         when it matters.
8478
8479 2005-06-23  Wim Taymans  <wim@fluendo.com>
8480
8481         * gst/gstpad.c: (gst_pad_event_default):
8482         * gst/gstqueue.c: (gst_queue_loop):
8483         No unsafe task pausing please.
8484
8485 2005-06-23  Wim Taymans  <wim@fluendo.com>
8486
8487         * gst/schedulers/threadscheduler.c:
8488         (gst_thread_scheduler_task_start),
8489         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
8490         Ref the task before pushing it on the threadpool. This
8491         makes sure that we have a ref when the threadfunction is
8492         actually called.
8493
8494 2005-06-23  Andy Wingo  <wingo@pobox.com>
8495
8496         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
8497         offset is greater than the file's size.
8498
8499         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
8500         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
8501         * gst/gstobject.c (gst_object_class_init): Make the class lock
8502         recursive. Wim won't let me drop deep_notify. Decodebin works
8503         again, whoopdy doo.
8504
8505         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
8506         internal pad, and hacks accordingly. Doesn't do it on the target
8507         pad because we change its caps. Probably catches all cases of
8508         interest tho.
8509         (gst_ghost_pad_set_property): Connect to notify::caps as
8510         appropritate.
8511
8512         * tests/network-clock.scm (plot-simulation): Pipe data to the
8513         elite python skript.
8514
8515         * tests/network-clock-utils.scm (define-parameter): New macro,
8516         defines a parameter that can be set via the command line.
8517         (set-parameter!, parse-parameter-arguments): Command line args
8518         parser.
8519
8520         * tests/plot-data: Simple matplotlib-based plotter, takes input on
8521         stdin.
8522
8523 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
8524
8525         * gst/elements/gsttypefindelement.c:
8526         (gst_type_find_element_handle_event):
8527           Don't restart typefinding on a discont.
8528         * gst/gstelement.c: (gst_element_set_state):
8529           Debug spelling fix.
8530         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
8531           Allow changing mode of an active pad.
8532           Debug output fixes.
8533         * gst/registries/gstlibxmlregistry.c: (load_feature):
8534           Don't cast a static pad template to a normal pad template.
8535
8536 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8537
8538         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8539         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8540           remove gst_strtoll completely, since it didn't actually do
8541           anything more than what g_ascii_strtoull already does.
8542           check for range errors when deserializing
8543           do a cast for the unsigned cases; but further fixing needs
8544           a decision on what the interpretation of "(int)" and
8545           deserialization should be for values that fall outside the
8546           type's boundaries (ie, refuse, or interpret as casting)
8547
8548 2005-06-23  Wim Taymans  <wim@fluendo.com>
8549
8550         * check/Makefile.am:
8551         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
8552         * docs/design/part-live-source.txt:
8553         * docs/design/part-states.txt:
8554         * gst/base/gstbasesrc.c: (gst_basesrc_init),
8555         (gst_basesrc_set_live), (gst_basesrc_is_live),
8556         (gst_basesrc_get_range), (gst_basesrc_activate),
8557         (gst_basesrc_change_state):
8558         * gst/base/gstbasesrc.h:
8559         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8560         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
8561         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
8562         * gst/gstelement.c: (gst_element_get_state_func),
8563         (gst_element_set_state):
8564         * gst/gstelement.h:
8565         * gst/gsttypes.h:
8566         * tools/gst-launch.c: (event_loop), (main):
8567         Added support for live sources and other elements that
8568         cannot do preroll.
8569         Updated design docs, added live-source design doc.
8570         Implemented live source functionality in basesrc
8571         Fix error condition in _bin_get_state()
8572         Implement live source handling in -launch.
8573         Added check for live sources.
8574         Fixed case in GstBin where elements were changed state
8575         multiple times.
8576
8577
8578 2005-06-23  Andy Wingo  <wingo@pobox.com>
8579
8580         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
8581         borken refcounting.
8582
8583         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
8584         gst_caps_replace takes care of this for us.
8585
8586         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
8587         gst_pad_set_caps on the target, not just its setcaps() function.
8588
8589         * tests/network-clock.scm: 
8590         * tests/network-clock-utils.scm: A network clock simulator.
8591         Something of an algorithmic testbed before doing something in C.
8592
8593 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8594
8595         * check/Makefile.am:
8596         * check/gst/capslist.h:
8597           copy over from 0.8, and add two with bitmasks specified with
8598           (int) 0xFF...
8599         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8600           add test to parse everything from capslist.h
8601         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
8602         (main):
8603           add test for structure deserialization
8604         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8605           add tests for deserialization of strings to int types
8606         * gst/gststructure.c: (gst_structure_nth_field_name):
8607         * gst/gststructure.h:
8608           add a way to get the name of a field referenced by index
8609         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8610           instead of checking if the resulting long long lies between
8611           min and max, we check if the long long would fit into
8612           a number of bytes for the final type.
8613           This fixes cases where a string represents 2^32 - 1, which
8614           when cast to int would be the (valid) -1, but is bigger than
8615           G_MAXINT
8616
8617 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8618
8619         * gst/parse/grammar.y:
8620           add a log line for type deserialization
8621
8622 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8623
8624         * check/gst/gstvalue.c: (START_TEST):
8625         * gst/gstvalue.c: (gst_value_deserialize):
8626           return long long, not int, so gint64 deserialization actually
8627           works.  Is there any flag that makes the compiler check this ?
8628           Fixes #308559
8629
8630 2005-06-22  Wim Taymans  <wim@fluendo.com>
8631
8632         * gst/gstbuffer.h:
8633         Added convenience macros for setting buffers in GValue.
8634
8635 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8636
8637         * check/gst/.cvsignore:
8638         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8639           add a test deserializing int64, and comment part out because
8640           it fails, yay !
8641
8642 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8643
8644         * check/Makefile.am:
8645         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
8646         * testsuite/Makefile.am:
8647         * testsuite/caps/Makefile.am:
8648         * testsuite/caps/value_serialize.c:
8649         * testsuite/test_gst_init.c:
8650           move a value_serialize test over
8651
8652 2005-06-20  Wim Taymans  <wim@fluendo.com>
8653
8654         * gst/gstpad.c:
8655         Small doc updates.
8656         
8657         * gst/gstvalue.c: (gst_value_compare_buffer),
8658         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
8659         (gst_value_compare_flags), (gst_value_serialize_flags),
8660         (gst_value_deserialize_flags), (_gst_value_initialize):
8661         Fix serialisation of buffers, they are not boxed types anymore
8662
8663 2005-06-20  Wim Taymans  <wim@fluendo.com>
8664
8665         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8666         Testcase to show error in buffer-on-caps serialisation.
8667
8668 2005-06-20  Andy Wingo  <wingo@pobox.com>
8669
8670         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
8671         will be adding to later.
8672
8673         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
8674         if its socks fill with rocks.
8675         (gst_system_clock_obtain): Set the name on object construction.
8676         Avoid double-checked locking.
8677
8678 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
8679
8680         * gst/gsturi.c: (gst_element_make_from_uri):
8681           Fix potential endless loop.
8682
8683 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8684
8685         * check/Makefile.am:
8686           add gsttag
8687         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
8688         (main):
8689           move over from testsuite dir and clean up
8690         * configure.ac:
8691         * gst/gsttag.c:
8692         * testsuite/Makefile.am:
8693         * testsuite/tags/.cvsignore:
8694         * testsuite/tags/Makefile.am:
8695         * testsuite/tags/merge.c:
8696           remove testsuite/tags
8697
8698 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8699
8700         * docs/gst/gstreamer-sections.txt:
8701         * docs/gst/tmpl/gstenumtypes.sgml:
8702         * win32/gstenumtypes.c:
8703           clean up documentation build a little
8704
8705 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8706
8707         * check/gstcheck.h:
8708           add macros for checking refcounts on objects and caps
8709         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
8710           add some more unit tests
8711         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8712         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
8713           fix leaked refcounts (I hope :)) so unittest works
8714         * gst/gstpad.h:
8715           whitespace removal
8716
8717 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8718
8719         * configure.ac: back to HEAD
8720
8721 === release 0.9.1 ===
8722
8723 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8724
8725         * NEWS:
8726         * RELEASE:
8727           updated
8728
8729 2005-06-17  Andy Wingo  <wingo@pobox.com>
8730
8731         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
8732         assert; it's always possible that the pad gets deactivated in
8733         between the checks in gstpad.c and the implementation. Rely on
8734         finish_preroll() to return a FLUSHING or similar instead of on the
8735         assert.
8736         
8737         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
8738         clock and post an EOS message if we come out of finish_preroll in
8739         the playing state.
8740
8741 2005-06-16  David Schleef  <ds@schleef.org>
8742
8743         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8744         (gst_capsfilter_set_property): Allow NULL as possible value
8745         for filter_caps property, indicating GST_CAPS_ANY.
8746
8747 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8748
8749         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
8750           fix debug output
8751         * gst/schedulers/Makefile.am:
8752           use libgst prefix
8753         * gstreamer.spec.in:
8754           fix spec for it
8755
8756 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8757
8758         * gstreamer.spec.in:
8759           clean up
8760
8761 2005-06-08  Andy Wingo  <wingo@pobox.com>
8762
8763         * gst/gstutils.c: RPAD fixes all around.
8764         (gst_element_link_pads): Refcounting fixes.
8765
8766         * tools/gst-inspect.c:
8767         * tools/gst-xmlinspect.c:
8768         * parse/grammar.y:
8769         * gst/base/gsttypefindhelper.c:
8770         * gst/base/gstbasesink.c:
8771         * gst/gstqueue.c: RPAD fixes.
8772
8773         * gst/gstghostpad.h:
8774         * gst/gstghostpad.c: New ghost pad implementation as full proxy
8775         pads. The tricky thing is they provide both source and sink
8776         interfaces, since they proxy the internal pad for the external
8777         pad, and vice versa. Implement with lower-level ProxyPad objects,
8778         with the interior proxy pad as a child of the exterior ghost pad.
8779         Should write a doc on this.
8780         
8781         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
8782         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
8783         gst_object API.
8784         
8785         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
8786         pads are real pads. No ghost pads in this file. Not documenting
8787         the myriad s/RPAD/PAD/ and REALIZE fixes.
8788         (gst_pad_class_init): Add properties for "direction" and
8789         "template". Both are construct-only, so they can't change during
8790         the life of the pad. Fixes properly deriving from GstPad.
8791         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
8792         derived objects, just set properties when creating the objects via
8793         g_object_new.
8794         (gst_pad_get_parent): Implement as a function, return NULL if the
8795         parent is not an element.
8796         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
8797         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
8798         
8799         * gst/gstobject.c (gst_object_class_init): Make name a construct
8800         property. Don't set it in the object init.
8801
8802         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
8803         with UNKNOWN direction.
8804         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
8805         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
8806         (gst_element_remove_pad): Remove ghost-pad special cases.
8807         (gst_element_pads_activate): Remove rpad cruft.
8808
8809         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
8810         catch the pad's-parent-not-an-element case.
8811
8812         * gst/gst.h: Include gstghostpad.h.
8813
8814         * gst/gst.c (init_post): No more real, ghost pads.
8815
8816         * gst/Makefile.am: Add gstghostpad.[ch].
8817
8818         * check/Makefile.am:
8819         * check/gst/gstbin.c:
8820         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
8821         into a bin creates ghost pads, and that the refcounts are right.
8822         Partly moved from gstbin.c.
8823
8824 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8825
8826         * check/gst-libs/.cvsignore:
8827         * check/gst/.cvsignore:
8828         * check/pipelines/.cvsignore:
8829           ignore more
8830         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
8831         (START_TEST), (cleanup_suite), (main):
8832           add some tests related to cleanup after running pipelines
8833
8834 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8835
8836         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
8837           add a testsuite for GstBuffer
8838
8839 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8840
8841         * gst/gstminiobject.h:
8842           add defines for accessing the refcount
8843
8844 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
8845
8846         * Makefile.am: added support for html unit test coverage reports
8847
8848 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
8849
8850         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8851           Free existing caps if the capsfilter changes. Add a FIXME about
8852           setting those caps on the pads.
8853
8854         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
8855           Before adding a ghost pad to a parent bin, check that there isn't
8856           already one for the element on the bin. Prevents infinite recursion
8857           when using decodebin in parse pipelines. Andy says he'll rewrite the
8858           way this works anyway, so ignore the hack.
8859
8860 2005-06-02  Andy Wingo  <wingo@pobox.com>
8861
8862         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
8863         file size, pass it on to the type find helper.
8864
8865         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
8866         segment_start and segment_end properly according to the seek
8867         method. Segment_end is still a bit flaky because offset can be
8868         negative for CUR and END cases, but it takes -1 as an "unset"
8869         value.
8870
8871 2005-06-02  Wim Taymans  <wim@fluendo.com>
8872
8873         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
8874         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
8875         (gst_basesink_activate):
8876         * gst/base/gstbasesink.h:
8877         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8878         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
8879         (gst_pad_query), (gst_pad_start_task):
8880         * gst/gstpad.h:
8881         * gst/gstqueue.c: (gst_queue_bufferalloc),
8882         (gst_queue_handle_sink_event), (gst_queue_chain):
8883         Bufferalloc: return GstFlowReturn to more accuratly report
8884         why allocation failed.
8885
8886 2005-06-02  Wim Taymans  <wim@fluendo.com>
8887
8888         * gst/gstpipeline.c: (gst_pipeline_send_event):
8889         Take snapshot of state without blocking.
8890
8891 2005-06-02  Wim Taymans  <wim@fluendo.com>
8892
8893         * docs/design/part-TODO.txt:
8894         * docs/design/part-caps.txt:
8895         * docs/design/part-clocks.txt:
8896         * docs/design/part-negotiation.txt:
8897         * docs/design/part-preroll.txt:
8898         Small doc updates 
8899
8900 2005-05-30  Wim Taymans  <wim@fluendo.com>
8901
8902         * gst/elements/gstidentity.c: (gst_identity_event),
8903         (gst_identity_transform), (gst_identity_get_property):
8904         Protect last_message property as it is accessed from
8905         multiple threads.
8906
8907 2005-05-30  Wim Taymans  <wim@fluendo.com>
8908
8909         * gst/gstelement.c: (gst_element_init),
8910         (gst_element_pads_activate), (gst_element_change_state):
8911         Slicker pad activation code.
8912
8913 2005-05-30  Wim Taymans  <wim@fluendo.com>
8914
8915         * gst/Makefile.am:
8916         * gst/gstelement.h:
8917         * gst/gstelementfactory.h:
8918         * gst/gsttypes.h:
8919         Move elementfactory methods to separate .h file.
8920
8921 2005-05-30  Wim Taymans  <wim@fluendo.com>
8922
8923         * docs/design/part-overview.txt:
8924         * gst/gstsystemclock.h:
8925         Small typo fixes, doc updates.
8926
8927 2005-05-30  Wim Taymans  <wim@fluendo.com>
8928
8929         * gst/gst.c: (gst_init_get_popt_table), (init_post),
8930         (init_popt_callback):
8931         Remove cpu-opt flag.
8932
8933 2005-05-30  Wim Taymans  <wim@fluendo.com>
8934
8935         * gst/gstbuffer.c: (gst_subbuffer_finalize),
8936         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
8937         * gst/gstbuffer.h:
8938         Avoid typechecking in places where not needed.
8939         Added accessor for malloc_data.
8940
8941 2005-05-30  Wim Taymans  <wim@fluendo.com>
8942
8943         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
8944         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
8945         (gst_pad_configure_sink), (gst_pad_configure_src),
8946         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
8947         (gst_pad_start_task):
8948         Propagate errors from _set_caps() in configure_src/sink
8949         functions instead of returning TRUE.
8950         FLUSH events can travel up and downstream
8951
8952
8953 2005-05-30  Wim Taymans  <wim@fluendo.com>
8954
8955         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
8956         (gst_basesink_activate):
8957         Handle EOS in preroll.
8958
8959 2005-05-30  Wim Taymans  <wim@fluendo.com>
8960
8961         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8962         (gst_queue_loop), (gst_queue_handle_src_event):
8963         Remove old pieces of code
8964         Flushing the queue in an upstream event is a very bad idea.
8965
8966 2005-05-26  Andy Wingo  <wingo@pobox.com>
8967
8968         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
8969         gst_value_set_mini_object so as to add a ref on the object (which
8970         will be removed when the value is unset).
8971
8972         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
8973         arg type in ::handoff.
8974
8975         * gst/gstelement.c (gst_element_change_state): Also deactivate
8976         pads in READY->NULL, just in case the element didn't make it to
8977         PAUSED. Wingo tested, Wim approved.
8978
8979 2005-05-26  Wim Taymans  <wim@fluendo.com>
8980
8981         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8982         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
8983         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
8984         A flushing pad cannot be used to alloc_buffer from.
8985
8986 2005-05-26  Wim Taymans  <wim@fluendo.com>
8987
8988         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8989         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
8990         (gst_bus_source_dispatch), (gst_bus_source_finalize),
8991         (gst_bus_create_watch), (gst_bus_add_watch_full):
8992         * gst/gstbus.h:
8993         Implement a real GSource and use g_main_context_wakeup() to
8994         signal new messages instead of the socketpair.
8995
8996 2005-05-25  Wim Taymans  <wim@fluendo.com>
8997
8998         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
8999         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9000         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9001         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9002         (gst_pad_send_event), (gst_pad_start_task):
9003         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9004         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9005         (gst_queue_sink_activate), (gst_queue_src_activate),
9006         (gst_queue_change_state):
9007         * gst/gstqueue.h:
9008         Fix state changes for non sinks. We now change sinks, then elements
9009         with unconnected srcpads, then the rest.
9010         More efficient queue unlocking in flush and state changes.
9011         Set the pad activate mode even if it does not have an activate
9012         function.
9013
9014 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9015
9016         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9017           Don't go in pull mode for non-seekable sources.
9018         * gst/elements/gsttypefindelement.h:
9019         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9020         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9021         (free_entry), (stop_typefinding),
9022         (gst_type_find_element_handle_event), (find_peek),
9023         (gst_type_find_element_chain), (do_pull_typefind),
9024         (gst_type_find_element_change_state):
9025           Allow typefinding (w/o seeking) in push-mode, simplified version
9026           of what was in 0.8.
9027         * gst/gstutils.c: (gst_buffer_join):
9028         * gst/gstutils.h:
9029           gst_buffer_join() from 0.8.
9030
9031 2005-05-25  Wim Taymans  <wim@fluendo.com>
9032
9033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9034         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9035         (gst_pad_send_event), (gst_pad_start_task):
9036         Disable attempt at mode switching until it is figured out.
9037
9038 2005-05-25  Wim Taymans  <wim@fluendo.com>
9039
9040         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9041         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9042         (gst_basesink_finish_preroll), (gst_basesink_chain),
9043         (gst_basesink_loop), (gst_basesink_activate),
9044         (gst_basesink_change_state):
9045         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9046         (gst_basesrc_get_range), (gst_basesrc_loop),
9047         (gst_basesrc_activate):
9048         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9049         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9050         (gst_real_pad_init), (gst_real_pad_set_property),
9051         (gst_real_pad_get_property), (gst_pad_set_active),
9052         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9053         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9054         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9055         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9056         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9057         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9058         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9059         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9060         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9061         (gst_pad_stop_task):
9062         * gst/gstpad.h:
9063         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9064         (gst_queue_loop), (gst_queue_src_activate):
9065         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9066         (gst_task_get_state):
9067         * gst/gsttask.h:
9068         * gst/schedulers/threadscheduler.c:
9069         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9070         Implement gst_pad_pause/start/stop_task(), take STREAM lock
9071         in task function.
9072         Remove ACTIVE pad flag, use FLUSHING everywhere
9073         Added _pad_chain(), _pad_get_range() to call chain/getrange 
9074         functions.
9075         Add locks around IS_FLUSHING when reading.
9076         Take STREAM lock in chain(), get_range() functions so plugins
9077         don't need to take it anymore.
9078         
9079
9080
9081 2005-05-25  Wim Taymans  <wim@fluendo.com>
9082
9083         * tools/gst-launch.c: (event_loop):
9084         Unref message after using its contents instead of
9085         before.
9086
9087 2005-05-24  Wim Taymans  <wim@fluendo.com>
9088
9089         * docs/design/draft-ghostpads.txt:
9090         * docs/design/draft-push-pull.txt:
9091         * docs/design/draft-query.txt:
9092         * docs/design/part-overview.txt:
9093         Docs updates, added general overview doc.
9094
9095 2005-05-21  David Schleef  <ds@schleef.org>
9096
9097         * docs/gst/tmpl/old/GstBin.sgml:
9098         * docs/gst/tmpl/old/GstBuffer.sgml:
9099         * docs/gst/tmpl/old/GstCaps.sgml:
9100         * docs/gst/tmpl/old/GstClock.sgml:
9101         * docs/gst/tmpl/old/GstCompat.sgml:
9102         * docs/gst/tmpl/old/GstData.sgml:
9103         * docs/gst/tmpl/old/GstElement.sgml:
9104         * docs/gst/tmpl/old/GstEvent.sgml:
9105         * docs/gst/tmpl/old/GstIndex.sgml:
9106         * docs/gst/tmpl/old/GstStructure.sgml:
9107         * docs/gst/tmpl/old/GstTag.sgml:
9108         * docs/gst/tmpl/old/cothreads.sgml:
9109         * docs/gst/tmpl/old/cothreads_compat.sgml:
9110         * docs/gst/tmpl/old/gettext.sgml:
9111         * docs/gst/tmpl/old/gobject2gtk.sgml:
9112         * docs/gst/tmpl/old/grammar.tab.sgml:
9113         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9114         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9115         * docs/gst/tmpl/old/gst_private.sgml:
9116         * docs/gst/tmpl/old/gstaggregator.sgml:
9117         * docs/gst/tmpl/old/gstarch.sgml:
9118         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9119         * docs/gst/tmpl/old/gstbufferstore.sgml:
9120         * docs/gst/tmpl/old/gstdata_private.sgml:
9121         * docs/gst/tmpl/old/gstdisksink.sgml:
9122         * docs/gst/tmpl/old/gstdisksrc.sgml:
9123         * docs/gst/tmpl/old/gstelementfactory.sgml:
9124         * docs/gst/tmpl/old/gstextratypes.sgml:
9125         * docs/gst/tmpl/old/gstfakesink.sgml:
9126         * docs/gst/tmpl/old/gstfakesrc.sgml:
9127         * docs/gst/tmpl/old/gstfdsink.sgml:
9128         * docs/gst/tmpl/old/gstfdsrc.sgml:
9129         * docs/gst/tmpl/old/gstfilesink.sgml:
9130         * docs/gst/tmpl/old/gstfilesrc.sgml:
9131         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9132         * docs/gst/tmpl/old/gstidentity.sgml:
9133         * docs/gst/tmpl/old/gstindexfactory.sgml:
9134         * docs/gst/tmpl/old/gstmarshal.sgml:
9135         * docs/gst/tmpl/old/gstmd5sink.sgml:
9136         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9137         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9138         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9139         * docs/gst/tmpl/old/gstpipefilter.sgml:
9140         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9141         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9142         * docs/gst/tmpl/old/gstshaper.sgml:
9143         * docs/gst/tmpl/old/gstspider.sgml:
9144         * docs/gst/tmpl/old/gstspideridentity.sgml:
9145         * docs/gst/tmpl/old/gststatistics.sgml:
9146         * docs/gst/tmpl/old/gsttee.sgml:
9147         * docs/gst/tmpl/old/gsttimecache.sgml:
9148         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9149         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9150         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9151         * docs/gst/tmpl/old/types.sgml:
9152           I didn't intend to add these or check them in.
9153
9154 2005-05-19  David Schleef  <ds@schleef.org>
9155
9156         * configure.ac: Use -no-common everywhere.  In a sane world, it
9157           would be the default in libtool, because without it, you can't
9158           build DLLs on Windows.
9159         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
9160         * docs/gst/gstreamer-sections.txt:
9161         * docs/gst/tmpl/gstcpu.sgml:
9162         * docs/gst/tmpl/gstdata.sgml:
9163         * docs/gst/tmpl/gstthread.sgml:
9164
9165 2005-05-19  David Schleef  <ds@schleef.org>
9166
9167         * gst/gstminiobject.c: (gst_value_set_mini_object),
9168         (gst_value_take_mini_object), (gst_value_get_mini_object):
9169         * gst/gstminiobject.h: Add GValue set/get functions.
9170
9171 2005-05-19  Wim Taymans  <wim@fluendo.com>
9172
9173         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
9174         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
9175         (gst_subbuffer_init), (gst_buffer_is_span_fast):
9176         * gst/gstbuffer.h:
9177         * gst/gstbus.c: (gst_bus_post):
9178         * gst/gstelement.c: (gst_element_get_random_pad):
9179         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
9180         Make subbufer unref the parent in finalize.
9181         some more debugging info.
9182
9183
9184 2005-05-19  Wim Taymans  <wim@fluendo.com>
9185
9186         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9187         (gst_basesink_init), (gst_basesink_finalize),
9188         (gst_basesink_activate), (gst_basesink_change_state):
9189         Don't free preroll queue too early.
9190
9191 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9192
9193         * gst/Makefile.am:
9194         * gst/ROADMAP:
9195           Hi, I'm outdated. Please shoot me.
9196
9197 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9198
9199         * gst/gstpipeline.c: (gst_pipeline_send_event):
9200           Do not access variables after they have been deleted.
9201
9202 2005-05-19  Wim Taymans  <wim@fluendo.com>
9203
9204         * tools/gst-inspect.c: (print_plugin_features):
9205         A plugin feature does unfortunatly not use the
9206         object name yet...
9207
9208 2005-05-18  Wim Taymans  <wim@fluendo.com>
9209
9210         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
9211         Port _span() functions to new subbuffers.
9212
9213 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9214
9215         * gst/gstbin.c: (gst_bin_add_func):
9216           Fix clock settery in bins when adding kids after the clock has
9217           been selected.
9218
9219 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9220
9221         * gst/elements/gstidentity.c: (gst_identity_class_init):
9222           Workaround until signals support GstMiniObject.
9223
9224 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9225
9226         * gst/gstbuffer.c:
9227         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
9228
9229 2005-05-18  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/base/Makefile.am:
9232         * gst/base/gstadapter.c: (gst_adapter_base_init),
9233         (gst_adapter_class_init), (gst_adapter_init),
9234         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
9235         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
9236         (gst_adapter_flush), (gst_adapter_available),
9237         (gst_adapter_available_fast):
9238         * gst/base/gstadapter.h:
9239         Ported and added adapter to the base classes.
9240
9241 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9242
9243         * gst/gst.c:
9244         * gst/gstmessage.c:
9245           Make sure the class is reffed/unreffed once before threads can be
9246           used.  Fixes #304551.
9247
9248 2005-05-17  Wim Taymans  <wim@fluendo.com>
9249
9250         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
9251         (gst_basesink_chain_unlocked), (gst_basesink_activate):
9252         * gst/gstminiobject.c: (gst_mini_object_get_type),
9253         (gst_mini_object_free):
9254         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
9255         (gst_pad_push), (gst_pad_push_event):
9256         * gst/gstqueue.c: (gst_queue_change_state):
9257         Don't queue buffers in basesink when we are flushing.
9258         Unref buffer when flushing in basesink.
9259         Flush queue when going to READY
9260         Unref buffer when _push() returns an error.
9261         Don't free MiniObject instance when refcount is incremented
9262         in _finalize() so that we can recover objects.
9263
9264 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9265
9266         * docs/manual/advanced-schedulers.xml:
9267         * docs/manual/appendix-checklist.xml:
9268         * docs/pwg/advanced-clock.xml:
9269         * docs/pwg/advanced-interfaces.xml:
9270         * docs/pwg/advanced-request.xml:
9271         * docs/pwg/advanced-types.xml:
9272         * docs/pwg/intro-preface.xml:
9273         * examples/plugins/example.c: (gst_example_get_type),
9274         (gst_example_class_init), (gst_example_chain),
9275         (gst_example_set_property), (gst_example_get_property),
9276         (gst_example_change_state), (plugin_init):
9277         * examples/plugins/example.h:
9278           small doc fixes
9279
9280 2005-05-17  Wim Taymans  <wim@fluendo.com>
9281
9282         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
9283         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
9284         * gst/gstqueue.c: (gst_queue_change_state):
9285         Clear queue when going to READY.
9286         Remove IN_SETCAPS flag too.
9287
9288 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
9289
9290         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
9291           Remove implicit cast from gboolean to GstElementStateReturn;
9292           make sure we still return failure in paused => ready case if
9293           the parent class fails to change state and our own stop 
9294           vfunc succeeds.
9295
9296 2005-05-17  Wim Taymans  <wim@fluendo.com>
9297
9298         * tools/gst-launch.c: (event_loop):
9299         Message was unreffed too soon.
9300
9301 2005-05-16  Andy Wingo  <wingo@pobox.com>
9302
9303         * gst/gstbin.c (sink_iterator_filter): Err... um...
9304
9305         * check/gst/gstbin.c (test_ghost_pads): New test for the
9306         ghosting-if-elements-not-in-same-bin behavior.
9307
9308 2005-05-16  David Schleef  <ds@schleef.org>
9309
9310         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
9311         accessing refcount directly.
9312
9313 2005-05-15  David Schleef  <ds@schleef.org>
9314
9315         * check/Makefile.am: remove GstData checks
9316         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
9317         * gst/Makefile.am: add miniobject, remove data
9318         * gst/gst.h: add miniobject, remove data
9319         * gst/gstdata.c: remove
9320         * gst/gstdata.h: remove
9321         * gst/gstdata_private.h: remove
9322         * gst/gsttypes.h: remove GstEvent and GstMessage
9323         * gst/gstelement.c: (gst_element_post_message): fix for API changes
9324         * gst/gstmarshal.list: change BOXED -> OBJECT
9325
9326         Implement GstMiniObject.
9327         * gst/gstminiobject.c:
9328         * gst/gstminiobject.h:
9329
9330         Modify to be subclasses of GstMiniObject.
9331         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9332         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
9333         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
9334         (gst_subbuffer_get_type), (gst_subbuffer_init),
9335         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
9336         (gst_buffer_span):
9337         * gst/gstbuffer.h:
9338         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
9339         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
9340         (_gst_event_copy), (gst_event_new):
9341         * gst/gstevent.h:
9342         * gst/gstmessage.c: (_gst_message_initialize),
9343         (gst_message_get_type), (gst_message_class_init),
9344         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
9345         (gst_message_new), (gst_message_new_error),
9346         (gst_message_new_warning), (gst_message_new_tag),
9347         (gst_message_new_state_changed), (gst_message_new_application):
9348         * gst/gstmessage.h:
9349         * gst/gstprobe.c: (gst_probe_perform),
9350         (gst_probe_dispatcher_dispatch):
9351         * gst/gstprobe.h:
9352         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
9353         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
9354         (_gst_query_copy), (gst_query_new):
9355
9356         Update elements for GstData -> GstMiniObject changes
9357         * gst/gstquery.h:
9358         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
9359         (gst_queue_chain), (gst_queue_loop):
9360         * gst/elements/gstbufferstore.c:
9361         (gst_buffer_store_add_buffer_func),
9362         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
9363         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9364         (gst_fakesink_render):
9365         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9366         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
9367         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
9368         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
9369         (gst_filesrc_create_read):
9370         * gst/elements/gstidentity.c: (gst_identity_class_init):
9371         * gst/elements/gsttypefindelement.c:
9372         (gst_type_find_element_src_event), (free_entry_buffers),
9373         (gst_type_find_element_handle_event):
9374         * libs/gst/dataprotocol/dataprotocol.c:
9375         (gst_dp_header_from_buffer):
9376         * libs/gst/dataprotocol/dataprotocol.h:
9377         * libs/gst/dataprotocol/dp-private.h:
9378
9379 2005-05-15  David Schleef  <ds@schleef.org>
9380
9381         * gst/elements/gstelements.c: Don't include headers that were
9382         just removed.
9383
9384 2005-05-15  David Schleef  <ds@schleef.org>
9385
9386         * gst/elements/Makefile.am: Remove some elements that don't
9387         need to be in the core (or even exist at all).
9388         * gst/elements/gstaggregator.c:
9389         * gst/elements/gstaggregator.h:
9390         * gst/elements/gstmd5sink.c:
9391         * gst/elements/gstmd5sink.h:
9392         * gst/elements/gstmultifilesrc.c:
9393         * gst/elements/gstmultifilesrc.h:
9394         * gst/elements/gstpipefilter.c:
9395         * gst/elements/gstpipefilter.h:
9396         * gst/elements/gstshaper.c:
9397         * gst/elements/gstshaper.h:
9398         * gst/elements/gststatistics.c:
9399         * gst/elements/gststatistics.h:
9400         * po/POTFILES.in: Remove above files.
9401
9402 2005-05-14  Andy Wingo  <wingo@pobox.com>
9403
9404         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
9405         so as to get the refs right.
9406         (sink_iterator_filter): New function, wraps bin_element_is_sink,
9407         unreffing objects that don't pass the filter.
9408
9409         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
9410         gst_element_set_bus.
9411         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
9412         normal cases, this will destroy the bus.
9413
9414         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
9415         object.
9416
9417         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
9418         has no sinks.
9419
9420 2005-05-13  Andy Wingo  <wingo@pobox.com>
9421
9422         * gst/gstutils.c (gst_element_link_pads): Instead of calling
9423         gst_pad_link, call pad_link_maybe_ghosting,
9424         (pad_link_maybe_ghosting): Links pads, making sure that the
9425         elements being linked are in the same bin.
9426         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
9427         Helpers for pad_link_maybe_ghosting.
9428
9429 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9430
9431         * configure.ac:
9432           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
9433
9434 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9435
9436         * docs/design/part-element-source.txt:
9437           Mention GstPushSrc
9438
9439 2005-05-12  Wim Taymans  <wim@fluendo.com>
9440
9441         * gst/base/gstbasesink.c: (gst_basesink_init),
9442         (gst_basesink_activate):
9443         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
9444         (gst_basesrc_is_seekable):
9445         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9446         (bin_element_is_sink), (gst_bin_change_state):
9447         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9448         * gst/gstelement.h:
9449         Identify sinks by their flag to avoid overly complicated
9450         checks (fow now).
9451         Do state changes even for elements not reachable from the
9452         sinks.
9453         BaseSink is a sink now :)
9454         Some more debugging info in the basesrc.
9455
9456
9457 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9458
9459         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
9460           Implement _query on a bin, similar to _send_event.
9461
9462 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9463
9464         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
9465           Discont event offset format should be GST_FORMAT_BYTES,
9466           not GST_FORMAT_TIME.
9467
9468 2005-05-12  Wim Taymans  <wim@fluendo.com>
9469
9470         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
9471         Same fix as Ronald's but without the signal. 
9472
9473 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9474
9475         * gst/gstutils.c: (gst_element_query_position):
9476           No, an element is not a pad.
9477
9478 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9479
9480         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
9481         (gst_bin_get_state):
9482           If a child is removed from a bin while we remove the child from
9483           the bin and while we're retrieving its state, signal this to the
9484           get_state function so we abort the wait (instead of waiting for
9485           a timeout) and can immediately re-iterate over all other elements.
9486
9487 2005-05-12  Wim Taymans  <wim@fluendo.com>
9488
9489         * gst/base/Makefile.am:
9490         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
9491         (gst_basesrc_start):
9492         * gst/base/gstbasesrc.h:
9493         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
9494         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
9495         (gst_pushsrc_init), (gst_pushsrc_create):
9496         * gst/base/gstpushsrc.h:
9497         Added is_seekable to BaseSrc
9498         Added simple PushSrc.
9499
9500 2005-05-11  Wim Taymans  <wim@fluendo.com>
9501
9502         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9503         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9504         (gst_element_link_pads), (gst_element_query_position),
9505         (gst_element_query_convert), (intersect_caps_func),
9506         (gst_pad_query_position), (gst_pad_query_convert):
9507         Fix refcounting in utils function.
9508         No point in trying to activate a pad when it's added, it could
9509         be added from the state change function and then we deadlock, the
9510         element has to decide what to do.
9511
9512 2005-05-10  Andy Wingo  <wingo@pobox.com>
9513
9514         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
9515         *all* the arguments.
9516
9517         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
9518         stream lock if it's a FLUSH_DONE; normal flushes don't get the
9519         lock (according to the docs -- if this is wrong change the docs).
9520
9521         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
9522         flush messages in the NULL state.
9523
9524         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
9525         message immediately and return.
9526         (gst_bus_set_flushing): New function. If a bus is flushing, it
9527         flushes out any queued messages and immediately unrefs new
9528         messages. This is so when an element goes to NULL, all of the
9529         unhandled messages coming from it can be freed, and their
9530         references to the element dropped. In other words: message source
9531         ref considered harmful :P
9532
9533         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
9534         we're finished with it.
9535
9536         * gst/gstmessage.c (gst_message_new_state_changed): 
9537
9538 2005-05-10  Wim Taymans  <wim@fluendo.com>
9539
9540         * gst/gstvalue.c: (gst_value_compare_flags),
9541         (gst_value_serialize_flags), (gst_value_deserialize_flags),
9542         (_gst_value_initialize):
9543         Added flags serialize/deserialize/compare code.
9544
9545 2005-05-09  Andy Wingo  <wingo@pobox.com>
9546
9547         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
9548         Intersect the peer's caps with our caps.
9549
9550 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9551
9552         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9553         * gst/elements/gsttypefindelement.c: (find_peek):
9554           Handle negative offsets better. Fixes decodebin.
9555
9556 2005-05-09  Wim Taymans  <wim@fluendo.com>
9557
9558         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
9559         (gst_base_transform_event):
9560         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
9561         Implement accept_caps.
9562         Fix silly lock/unlock mismatch in base class.
9563
9564 2005-05-09  Wim Taymans  <wim@fluendo.com>
9565
9566         * docs/design/draft-push-pull.txt:
9567         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
9568         * gst/elements/gstfilesink.c: (gst_filesink_init),
9569         (gst_filesink_query):
9570         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9571         (gst_type_find_handle_src_query), (find_element_get_length):
9572         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
9573         * gst/gstelement.h:
9574         * gst/gstmessage.c:
9575         * gst/gstmessage.h:
9576         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
9577         (gst_real_pad_get_caps_unlocked),
9578         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
9579         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9580         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
9581         (gst_real_pad_dispose), (gst_real_pad_finalize),
9582         (gst_pad_load_and_link), (gst_pad_save_thyself),
9583         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
9584         (gst_pad_check_pull_range), (gst_pad_pull_range),
9585         (gst_pad_template_get_type), (gst_pad_template_class_init),
9586         (gst_pad_template_init), (gst_pad_template_dispose),
9587         (name_is_valid), (gst_static_pad_template_get),
9588         (gst_pad_template_new), (gst_static_pad_template_get_caps),
9589         (gst_pad_template_get_caps), (gst_pad_set_element_private),
9590         (gst_pad_get_element_private), (gst_pad_start_task),
9591         (gst_pad_pause_task), (gst_pad_stop_task),
9592         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
9593         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9594         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
9595         (gst_ghost_pad_new):
9596         * gst/gstpad.h:
9597         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
9598         (gst_query_new_position), (gst_query_set_position),
9599         (gst_query_parse_position), (gst_query_new_convert),
9600         (gst_query_set_convert), (gst_query_parse_convert):
9601         * gst/gstquery.h:
9602         * gst/gstqueryutils.c:
9603         * gst/gstqueryutils.h:
9604         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9605         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9606         (gst_queue_handle_src_query):
9607         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9608         (gst_element_query_position), (gst_element_query_convert),
9609         (intersect_caps_func), (gst_pad_query_position),
9610         (gst_pad_query_convert):
9611         * gst/gstutils.h:
9612         * tools/gst-inspect.c: (print_pad_info):
9613         * tools/gst-xmlinspect.c: (print_element_info):
9614         Remove old query functions. Ported old code.
9615         Added position/convert helper functions to gstutils.
9616         Reordered gstpad.c code, grouping relevant things.
9617         Remove gst_message_new(), always need to speficy a specific
9618         message.
9619
9620
9621 2005-05-09  Andy Wingo  <wingo@pobox.com>
9622
9623         * gst/gstiterator.h: Add some includes.
9624
9625         * gst/gstqueryutils.h: Include more headers.
9626
9627         * gst/gstpad.h:
9628         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
9629         some uses of gst_pad_query.
9630
9631         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
9632         NULL out parameters.
9633         (gst_query_new_position): New proc, allocates a new position
9634         query.
9635
9636         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
9637         gstqueryutils.c to the build.
9638
9639         * gst/gststructure.c (gst_structure_set_valist): Implement with
9640         the generic G_VALUE_COLLECT.
9641         
9642 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
9643
9644         * gst/Makefile.am: (gst_headers):
9645         Added gstqueryutils.h to the list of headers to install, that was
9646         a 'nachty' move wingo :)
9647
9648 2005-05-06  Andy Wingo  <wingo@pobox.com>
9649
9650         * gst/gstquery.h
9651         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
9652         GstData, init a memchunk.
9653         (standard_definitions): Add a few query types, deprecate a few.
9654         (gst_query_get_type): New proc.
9655         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
9656         implementation.
9657         (gst_query_new_application, gst_query_get_structure): New public
9658         procs.
9659
9660         * docs/design/draft-query.txt: Removed LINKS from the query types,
9661         because all the rest can be dispatched to other pads -- seemed
9662         ugly to have a query that couldn't be dispatched. internal_links
9663         is fine as a pad method.
9664
9665         * gst/gstpad.h: Add query2 as a pad method, add the new functions
9666         in gstpad.c, but maintain binary compatibility for the moment.
9667         Will fix before 0.9 is out.
9668
9669         * gst/gstqueryutils.c: 
9670         * gst/gstqueryutils.h: New files, implement 3 methods for each
9671         query type: parse_query, parse_response, and set. Probably need an
9672         allocator as well.
9673
9674         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
9675
9676         * gst/elements/gstfilesink.c (gst_filesink_query2):
9677         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
9678         query_types, and formats methods.
9679
9680         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
9681         (gst_pad_set_query2_function): New functions.
9682         (gst_real_pad_init): Set query2_default as the default query2
9683         function. Basically just dispatches to internally linked pads.
9684
9685         Needs review!
9686         
9687         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
9688         without using the atomic operations. Only one thread can possibly
9689         be accessing the data at this point. Changed so as to avoid
9690         gst_atomic operations.
9691
9692 2005-05-06  Wim Taymans  <wim@fluendo.com>
9693
9694         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
9695         Also set caps if we use the fallback buffer alloc.
9696
9697 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
9698
9699         * docs/gst/Makefile.am:
9700         * docs/gst/gstreamer-docs.sgml:
9701         * docs/gst/gstreamer-sections.txt:
9702         * docs/gst/tmpl/gstatomic.sgml:
9703         * docs/gst/tmpl/gstmemchunk.sgml:
9704         * testsuite/elements/struct_i386.h:
9705         * win32/GStreamer.vcproj:
9706         * win32/Makefile:
9707           Purge GstAtomic stuff from docs and win32 makefiles as well
9708
9709 2005-05-06  Wim Taymans  <wim@fluendo.com>
9710
9711         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
9712         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
9713         * gst/gstpad.c: (gst_pad_peer_get_caps):
9714         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9715         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9716         (gst_queue_src_activate), (gst_queue_change_state):
9717         * gst/gstqueue.h:
9718         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9719         (intersect_caps_func):
9720         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
9721         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
9722         Some fixes for the peer_get_caps() change.
9723
9724 2005-05-06  Wim Taymans  <wim@fluendo.com>
9725
9726         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9727         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
9728         (gst_basesink_activate):
9729         Actually do something with error codes returned from the push
9730         functions.
9731
9732 2005-05-06  Wim Taymans  <wim@fluendo.com>
9733
9734         * docs/design/part-element-sink.txt:
9735         * docs/design/part-element-source.txt:
9736         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9737         (gst_basesink_event), (gst_basesink_activate):
9738         * gst/base/gstbasesink.h:
9739         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
9740         (gst_basesrc_activate):
9741         * gst/base/gstbasesrc.h:
9742         * gst/gstelement.c: (gst_element_pads_activate):
9743         Some more documentation.
9744         Fixed scheduling decision in _pads_activate().
9745
9746 2005-05-05  Andy Wingo  <wingo@pobox.com>
9747
9748         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
9749         the test suite.
9750
9751 2005-05-05  Wim Taymans  <wim@fluendo.com>
9752
9753         * gst/base/Makefile.am:
9754         * gst/base/gstbasesink.h:
9755         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9756         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
9757         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
9758         (gst_collectpads_class_init), (gst_collectpads_init),
9759         (gst_collectpads_finalize), (gst_collectpads_new),
9760         (gst_collectpads_set_function), (gst_collectpads_add_pad),
9761         (find_pad), (gst_collectpads_remove_pad),
9762         (gst_collectpads_is_active), (gst_collectpads_collect),
9763         (gst_collectpads_collect_range), (gst_collectpads_start),
9764         (gst_collectpads_stop), (gst_collectpads_peek),
9765         (gst_collectpads_pop), (gst_collectpads_available),
9766         (gst_collectpads_read), (gst_collectpads_flush),
9767         (gst_collectpads_chain):
9768         * gst/base/gstcollectpads.h:
9769         * gst/elements/Makefile.am:
9770         * gst/elements/gstelements.c:
9771         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9772         (gst_fakesink_get_times), (gst_fakesink_event),
9773         (gst_fakesink_preroll), (gst_fakesink_render):
9774         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9775         (gst_filesink_init), (gst_filesink_set_location),
9776         (gst_filesink_open_file), (gst_filesink_close_file),
9777         (gst_filesink_pad_query), (gst_filesink_event),
9778         (gst_filesink_render), (gst_filesink_change_state):
9779         * gst/elements/gstfilesink.h:
9780         Added object to help in making collect pad based elements.
9781         Ported filesink.
9782         Make event function in sink baseclass return gboolean.
9783
9784 2005-05-05  Wim Taymans  <wim@fluendo.com>
9785
9786         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
9787         (gst_bin_get_by_name):
9788         * gst/gstbuffer.h:
9789         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
9790         (gst_clock_finalize):
9791         * gst/gstdata.c: (gst_data_replace):
9792         * gst/gstdata.h:
9793         * gst/gstelement.c: (gst_element_request_pad),
9794         (gst_element_pads_activate):
9795         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9796         (gst_object_unref):
9797         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9798         (gst_pad_set_checkgetrange_function),
9799         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
9800         (gst_pad_check_pull_range), (gst_pad_pull_range),
9801         (gst_static_pad_template_get_caps), (gst_pad_start_task),
9802         (gst_pad_pause_task), (gst_pad_stop_task):
9803         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9804         (gst_element_request_pad), (gst_pad_proxy_getcaps):
9805         Fix name lookup in GstBin.
9806         Added _data_replace() function and _buffer_replace()
9807         Use finalize method to clean up clock.
9808         Fix refcounting on request pads.
9809         Fix pad schedule mode error.
9810         Some more object refcounting debug info,
9811
9812
9813 2005-05-04  Andy Wingo <wingo@pobox.com>
9814
9815         * check/Makefile.am:
9816         * docs/gst/tmpl/gstatomic.sgml:
9817         * docs/gst/tmpl/gstplugin.sgml:
9818         * gst/base/gstbasesink.c: (gst_basesink_activate):
9819         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
9820         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
9821         (gst_basesrc_query), (gst_basesrc_set_property),
9822         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
9823         (gst_basesrc_activate):
9824         * gst/base/gstbasesrc.h:
9825         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
9826         (gst_base_transform_src_activate):
9827         * gst/elements/gstelements.c:
9828         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9829         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9830         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9831         * gst/elements/gsttypefindelement.c: (find_element_get_length),
9832         (gst_type_find_element_checkgetrange),
9833         (gst_type_find_element_activate):
9834         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
9835         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
9836         (gst_caps_load_thyself):
9837         * gst/gstelement.c: (gst_element_pads_activate),
9838         (gst_element_save_thyself), (gst_element_restore_thyself):
9839         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
9840         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
9841         * gst/gstpad.h:
9842         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
9843         (gst_xml_parse_file), (gst_xml_parse_memory),
9844         (gst_xml_get_element), (gst_xml_make_element):
9845         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9846         (_file_index_id_save_xml), (gst_file_index_commit):
9847         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
9848         (read_enum), (load_pad_template), (load_feature), (load_plugin),
9849         (load_paths):
9850         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
9851         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
9852         * tools/gst-complete.c: (main):
9853         * tools/gst-compprep.c: (main):
9854         * tools/gst-inspect.c: (print_element_properties_info):
9855         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9856         * tools/gst-xmlinspect.c: (print_element_properties):
9857         GCC 4 fixen.
9858         
9859 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9860
9861         * gst/gstplugin.c: (gst_plugin_check_module),
9862         (gst_plugin_check_file), (gst_plugin_load_file):
9863             apply patch from #172526 to make register work on MacOSX
9864
9865 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9866
9867         * docs/gst/tmpl/gstconfig.sgml:
9868         * gst/gstconfig.h.in:
9869           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
9870         * testsuite/debug/printf_extension.c: (main):
9871           Do not use GST_PTR_FORMAT on pointers to types with
9872           sizeof < sizeof(gpointer).  Fixes test on 64-bit
9873         * testsuite/elements/property.h:
9874           use correct printf format
9875
9876 2005-05-02  Wim Taymans  <wim@fluendo.com>
9877
9878         * docs/design/draft-push-pull.txt:
9879         * docs/design/draft-query.txt:
9880         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
9881         (gst_basesrc_start):
9882         Added draft for new query API.
9883         Added draft for better selecting scheduling methods.
9884         Make basesrc ignore length if the subclass does not support
9885         it.
9886
9887 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9888
9889         * gst/Makefile.am:
9890           possible fixes for automake-1.5 - _LIBADD is reserved
9891
9892 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9893
9894         * docs/faq/Makefile.am:
9895         * docs/manual/Makefile.am:
9896         * docs/manuals.mak:
9897         * docs/pwg/Makefile.am:
9898         * gst/Makefile.am:
9899           possible fixes for automake-1.5
9900
9901 2005-04-28  Wim Taymans  <wim@fluendo.com>
9902
9903         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9904         (gst_basesink_pad_getcaps), (gst_basesink_init),
9905         (gst_basesink_do_sync):
9906         * gst/gstclock.c: (gst_clock_entry_new):
9907         * gst/gstevent.c: (gst_event_discont_get_value):
9908         * gst/gstpipeline.c: (pipeline_bus_handler),
9909         (gst_pipeline_change_state):
9910         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9911         Better debugging of clocking info.
9912         Allow NULL values when getting discont values.
9913
9914 2005-04-27  Wim Taymans  <wim@fluendo.com>
9915
9916         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
9917         * check/gst/gstpad.c: (gst_pad_suite):
9918         Increase timeout for checks.
9919
9920 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9921
9922         * check/Makefile.am:
9923           fix the broken rule for cleanup.  Apparently this rule is
9924           only needed on FC2, so maybe this warrants further autotool
9925           inspection.
9926
9927 2005-04-26  Wim Taymans  <wim@fluendo.com>
9928
9929         * gst/gsttrashstack.h:
9930         Ooohh. a nasty one! After having a failed pop() from the stack,
9931         it's possible that the stack is empty. In that case, don't
9932         follow the NULL pointer.
9933
9934 2005-04-25  Wim Taymans  <wim@fluendo.com>
9935
9936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9937         (gst_pad_set_checkgetrange_function),
9938         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
9939         (gst_pad_check_pull_range), (gst_pad_pull_range),
9940         (gst_static_pad_template_get_caps), (gst_pad_start_task),
9941         (gst_pad_pause_task), (gst_pad_stop_task):
9942         * gst/gstplugin.c: (gst_plugin_load):
9943         * gst/gstplugin.h:
9944         Remove gst_library_load as it does more harm than good with
9945         the new g_module flags.
9946         Revert bogus caps template check in pad linking, pad caps
9947         are important when linking not the template, which is more
9948         general than the current caps.
9949
9950 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9951
9952         * gst/autoplug/.cvsignore:
9953         * gst/autoplug/Makefile.am:
9954         * gst/autoplug/gstsearchfuncs.c:
9955         * gst/autoplug/gstsearchfuncs.h:
9956         * gst/autoplug/gstspider.c:
9957         * gst/autoplug/gstspider.h:
9958         * gst/autoplug/gstspideridentity.c:
9959         * gst/autoplug/gstspideridentity.h:
9960         * gst/autoplug/spidertest.c:
9961           Die, spider, die.
9962
9963 2005-04-25  Wim Taymans  <wim@fluendo.com>
9964
9965         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9966         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
9967         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
9968         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
9969         * gst/gstpad.h:
9970         Added stubs for unimplemented functions. 
9971
9972 2005-04-24  David Schleef  <ds@schleef.org>
9973
9974         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
9975         please fix.
9976
9977 2005-04-24  David Schleef  <ds@schleef.org>
9978
9979         Convert everything from GstAtomicInt to g_atomic_int_*, and
9980         remove gstatomic.
9981         * gst/Makefile.am:
9982         * gst/gstatomic.c:
9983         * gst/gstatomic.h:
9984         * gst/gstatomic_impl.h:
9985         * gst/gstbuffer.c:
9986         * gst/gstcaps.c:
9987         * gst/gstcaps.h:
9988         * gst/gstclock.c:
9989         * gst/gstclock.h:
9990         * gst/gstdata.c:
9991         * gst/gstdata.h:
9992         * gst/gstdata_private.h:
9993         * gst/gstevent.c:
9994         * gst/gstinfo.c:
9995         * gst/gstinfo.h:
9996         * gst/gstmessage.c:
9997         * gst/gstobject.c:
9998         * gst/gstobject.h:
9999         * gst/gststructure.c:
10000         * gst/gststructure.h:
10001         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10002         * gst/gstutils.h:
10003
10004 2005-04-24  David Schleef  <ds@schleef.org>
10005
10006         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10007         make the regressions tests work.  Remove some code that is no
10008         longer true.
10009         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10010         Disable warning for pads without templates.
10011
10012 2005-04-24  David Schleef  <ds@schleef.org>
10013
10014         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10015         functions that handle filtered links.
10016         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10017         removed functions.
10018         * gst/gstutils.c: Fix/remove utility functions that handle
10019         filtered caps.
10020         * gst/gstutils.h:
10021         * gst/gstvalue.c: Add serialization/deserialization of caps
10022         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10023         requires fixing so that the filter caps notation creates
10024         a capsfilter element and sets the filter_caps property.  I
10025         think everyone probably wants to keep the shorthand notation.
10026         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10027         * docs/gst/tmpl/gstpad.sgml:
10028
10029         * gst/elements/gstelements.c: Register capsfilter element.
10030         * gst/Makefile.am: fix spacing
10031         * docs/random/ds/0.9-suggested-changes: random
10032
10033 2005-04-23  David Schleef  <ds@schleef.org>
10034
10035         * gst/elements/Makefile.am:
10036         * gst/elements/gstcapsfilter.c: New element that acts like an
10037         identity, but filters caps.  Will eventually replace filtered
10038         caps in pad linking.
10039         * gst/gstutils.c: (gst_element_create_all_pads): New function
10040         to create all the ALWAYS pads that are registered with an
10041         element class.  This functionality should eventually be
10042         merged in with GstElement initialization.
10043         * gst/gstutils.h:
10044         * testsuite/trigger/README: part of trigger test code that should
10045         have been checked in a long time ago.
10046
10047 2005-04-23  David Schleef  <ds@schleef.org>
10048
10049         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10050         needed with new versions of libtool (nobody will confirm this),
10051         and hard to carry around.
10052         * gst/autoplug/Makefile.am:
10053         * gst/base/Makefile.am:
10054         * gst/elements/Makefile.am:
10055         * gst/indexers/Makefile.am:
10056         * gst/schedulers/Makefile.am:
10057         * libs/gst/bytestream/Makefile.am:
10058         * libs/gst/control/Makefile.am:
10059         * libs/gst/dataprotocol/Makefile.am:
10060         * libs/gst/getbits/Makefile.am:
10061
10062 2005-04-21  Wim Taymans  <wim@fluendo.com>
10063
10064         * docs/design/draft-push-pull.txt:
10065         * docs/design/part-MT-refcounting.txt:
10066         * docs/design/part-TODO.txt:
10067         * docs/design/part-caps.txt:
10068         * docs/design/part-events.txt:
10069         * docs/design/part-gstbus.txt:
10070         * docs/design/part-gstpipeline.txt:
10071         * docs/design/part-messages.txt:
10072         * docs/design/part-push-pull.txt:
10073         * docs/design/part-query.txt:
10074         Some more docs.
10075
10076 2005-04-21  Wim Taymans  <wim@fluendo.com>
10077
10078         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10079         (gst_message_new), (gst_message_new_error),
10080         (gst_message_new_warning), (gst_message_new_tag),
10081         (gst_message_new_state_changed), (gst_message_new_application),
10082         (gst_message_get_structure):
10083         * gst/gstmessage.h:
10084         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10085         (gst_structure_copy_conditional):
10086         Use parent refcount in GstMessage to ensure GstStructure
10087         consistency.
10088         Cleaned up headers a bit.
10089         
10090
10091 2005-04-20  Wim Taymans  <wim@fluendo.com>
10092
10093         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10094         (gst_basesink_pad_getcaps), (gst_basesink_init),
10095         (gst_basesink_chain_unlocked):
10096         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10097         (gst_type_find_helper):
10098         * gst/elements/gsttypefindelement.c:
10099         (gst_type_find_element_have_type), (gst_type_find_element_init),
10100         (stop_typefinding), (gst_type_find_element_handle_event),
10101         (find_suggest), (gst_type_find_element_chain),
10102         (gst_type_find_element_checkgetrange),
10103         (gst_type_find_element_getrange), (do_typefind),
10104         (gst_type_find_element_activate):
10105         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10106         (gst_buffer_default_free), (gst_buffer_default_copy),
10107         (gst_buffer_set_caps):
10108         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10109         (gst_caps_replace):
10110         * gst/gstmessage.c: (gst_message_new),
10111         (gst_message_new_state_changed):
10112         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10113         (gst_pad_set_checkgetrange_function),
10114         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10115         (gst_pad_set_caps), (gst_pad_check_pull_range),
10116         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10117         * gst/gstpad.h:
10118         * gst/gsttypefind.c: (gst_type_find_register):
10119         Make gst_caps_replace() work like other _replace() functions.
10120         Use _caps_replace() where possible.
10121         Make sure _message_new() initialises its field.
10122         Add gst_static_pad_template_get_caps()
10123
10124
10125 2005-04-18  Andy Wingo  <wingo@pobox.com>
10126
10127         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
10128         on the peer, not the pad. I think that was a typo. Pass an extra
10129         arg to see if random access is possible. Activate the pads as
10130         PULL_RANGE if possible.
10131
10132         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
10133
10134         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
10135         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
10136         to PROP_....
10137
10138 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10139
10140         * docs/faq/using.xml:
10141           Add note on gstreamer-properties (#154996).
10142
10143 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10144
10145         * docs/random/bbb/optional-properties:
10146           Some analysis on optional properties.
10147
10148 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10149
10150         * docs/gst/tmpl/gstelementfactory.sgml:
10151         * gst/gstelement.h:
10152         * gst/gstelementfactory.c: (gst_element_factory_init),
10153         (gst_element_factory_cleanup), (gst_element_register),
10154         (__gst_element_factory_add_static_pad_template),
10155         (gst_element_factory_get_static_pad_templates),
10156         (gst_element_factory_can_src_caps),
10157         (gst_element_factory_can_sink_caps):
10158         * gst/registries/Makefile.am:
10159         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
10160         (gst_xml_registry_class_init), (gst_xml_registry_init),
10161         (gst_xml_registry_new), (gst_xml_registry_set_property),
10162         (gst_xml_registry_get_property), (get_time), (make_dir),
10163         (gst_xml_registry_get_perms_func),
10164         (plugin_times_older_than_recurse), (plugin_times_older_than),
10165         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
10166         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
10167         (add_to_char_array), (read_string), (read_uint), (read_enum),
10168         (load_pad_template), (load_feature), (load_plugin), (load_paths),
10169         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
10170         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
10171         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
10172         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
10173         (gst_xml_registry_rebuild):
10174         * gst/registries/gstlibxmlregistry.h:
10175         * tools/gst-compprep.c: (main):
10176         * tools/gst-inspect.c: (print_pad_templates_info):
10177         * tools/gst-xmlinspect.c: (print_element_info):
10178           Use libxml2 for registry parsing, use staticpadtemplates in
10179           elementfactories. Makes gst_init() +/- 10x faster.
10180
10181 2005-04-12  Wim Taymans  <wim@fluendo.com>
10182
10183         * gst/base/Makefile.am:
10184         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10185         (gst_basesink_pad_getcaps), (gst_basesink_init),
10186         (gst_basesink_event), (gst_basesink_change_state):
10187         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10188         (gst_basesrc_init), (gst_basesrc_query),
10189         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10190         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10191         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10192         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10193         (gst_basesrc_stop), (gst_basesrc_activate),
10194         (gst_basesrc_change_state):
10195         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10196         (helper_find_suggest), (gst_type_find_helper):
10197         * gst/base/gsttypefindhelper.h:
10198         * gst/elements/Makefile.am:
10199         * gst/elements/gstelements.c:
10200         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10201         (gst_fakesink_get_times), (gst_fakesink_event),
10202         (gst_fakesink_preroll), (gst_fakesink_render):
10203         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10204         (gst_fakesrc_init), (gst_fakesrc_event_handler),
10205         (gst_fakesrc_get_property), (gst_fakesrc_create),
10206         (gst_fakesrc_start), (gst_fakesrc_stop):
10207         * gst/elements/gstfakesrc.h:
10208         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
10209         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10210         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10211         (gst_filesrc_create_read), (gst_filesrc_create),
10212         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
10213         (gst_filesrc_start):
10214         * gst/elements/gsttypefindelement.c:
10215         (gst_type_find_element_have_type), (gst_type_find_element_init),
10216         (start_typefinding), (stop_typefinding), (push_buffer_store),
10217         (gst_type_find_element_handle_event),
10218         (gst_type_find_element_chain),
10219         (gst_type_find_element_checkgetrange),
10220         (gst_type_find_element_getrange), (do_typefind),
10221         (gst_type_find_element_activate),
10222         (gst_type_find_element_change_state):
10223         * gst/elements/gsttypefindelement.h:
10224         * gst/gstpipeline.c: (pipeline_bus_handler):
10225         Added typefind helper.
10226         Small preroll fix in the base sink.
10227         Disable typefind code in basesrc.
10228         Crude port of typefindelement.
10229         Fakesrc cleanups.
10230
10231
10232 2005-04-11  Wim Taymans  <wim@fluendo.com>
10233
10234         * check/gst/gstbus.c: (gstbus_suite):
10235         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
10236         * check/gstcheck.h:
10237           Fix up the timeout so that the test does not fail.
10238
10239 2005-04-06  Wim Taymans  <wim@fluendo.com>
10240
10241         * gst/base/README:
10242         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10243         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
10244         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10245         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10246         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10247         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10248         (gst_basesrc_stop), (gst_basesrc_activate),
10249         (gst_basesrc_change_state), (basesrc_find_peek),
10250         (basesrc_find_suggest), (gst_basesrc_type_find):
10251         * gst/base/gstbasesrc.h:
10252         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
10253         (gst_filesrc_class_init), (gst_filesrc_init),
10254         (gst_filesrc_finalize), (gst_filesrc_set_location),
10255         (gst_filesrc_set_property), (gst_filesrc_get_property),
10256         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10257         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10258         (gst_filesrc_create_read), (gst_filesrc_create),
10259         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
10260         * gst/elements/gstfilesrc.h:
10261         * gst/gstelement.c: (gst_element_get_state_func),
10262         (gst_element_lost_state), (gst_element_pads_activate):
10263         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10264         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10265         (gst_pad_pull_range):
10266         * gst/gstpad.h:
10267         More work on the generic source base class, implement seeking,
10268         query.
10269         Make filesrc extend the base source class.
10270         Added gst_pad_set_checkgetrange_function to GstPad.
10271
10272 2005-04-06  Andy Wingo  <wingo@pobox.com>
10273
10274         * pkgconfig/gstreamer-base.pc.in:
10275         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
10276
10277         * pkgconfig/Makefile.am:
10278         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
10279
10280 2005-04-04  Wim Taymans  <wim@fluendo.com>
10281
10282         * gst/base/Makefile.am:
10283         * gst/base/README:
10284         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10285         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10286         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10287         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
10288         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10289         (gst_basesrc_base_init), (gst_basesrc_class_init),
10290         (gst_basesrc_init), (gst_basesrc_get_formats),
10291         (gst_basesrc_get_query_types), (gst_basesrc_query),
10292         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
10293         (gst_basesrc_set_property), (gst_basesrc_get_property),
10294         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
10295         (gst_basesrc_loop), (gst_basesrc_activate),
10296         (gst_basesrc_change_state):
10297         * gst/base/gstbasesrc.h:
10298         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
10299         (gst_fakesrc_class_init), (gst_fakesrc_init),
10300         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
10301         (gst_fakesrc_get_property), (gst_fakesrc_create):
10302         * gst/elements/gstfakesrc.h:
10303         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
10304         (gst_filesrc_open_file), (gst_filesrc_loop),
10305         (gst_filesrc_activate), (filesrc_find_peek),
10306         (gst_filesrc_type_find):
10307         Made base source class, make fakesrc extend it.
10308         Add comments to basesink class.
10309         Some filesrc cleanup.
10310
10311 2005-03-31  David Schleef  <ds@schleef.org>
10312
10313         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
10314         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
10315         expected to link against libgstreamer.
10316         * gst/base/Makefile.am: link against libgstreamer
10317         * gst/elements/Makefile.am: same
10318
10319 2005-03-31  Andy Wingo  <wingo@pobox.com>
10320
10321         * tests/instantiate/Makefile.am:
10322         * tests/instantiate/caps.c: Add test to test speed of caps copy
10323         and free.
10324
10325         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
10326         GMemChunk to be fair.
10327
10328         * gst/gsttrashstack.h: Remove warning about using the fallback
10329         trash stack implementation, it's still faster than malloc.
10330
10331 2005-03-30  Andy Wingo  <wingo@pobox.com>
10332
10333         * tests/complexity.c: Add a copyright.
10334
10335 2005-03-31  Wim Taymans  <wim@fluendo.com>
10336
10337         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
10338         (gst_base_transform_class_init), (gst_base_transform_init),
10339         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10340         (gst_base_transform_get_property),
10341         (gst_base_transform_sink_activate),
10342         (gst_base_transform_src_activate),
10343         (gst_base_transform_change_state):
10344         * gst/base/gstbasetransform.h:
10345         * gst/elements/gstidentity.c: (gst_identity_class_init),
10346         (gst_identity_event), (gst_identity_check_perfect),
10347         (gst_identity_transform), (gst_identity_start),
10348         (gst_identity_stop):
10349         Added start/stop methods to transform base class so subclasses 
10350         don't need to deal with state changes even.
10351
10352 2005-03-31  Wim Taymans  <wim@fluendo.com>
10353
10354         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
10355         (gst_event_new_discontinuous), (gst_event_discont_get_value):
10356         * gst/gstevent.h:
10357         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10358         (gst_pad_pull_range):
10359         Added rate to the discont event to prepare for variable speed
10360         and reverse playback.
10361
10362 2005-03-29  David Schleef  <ds@schleef.org>
10363
10364         * configure.ac:
10365         * testsuite/trigger/Makefile.am:
10366         * testsuite/trigger/trigger.c: A little example program to show
10367         how trigger-based elements can work.
10368
10369 2005-03-29  Wim Taymans  <wim@fluendo.com>
10370
10371         * gst/base/Makefile.am:
10372         * gst/base/README:
10373         * gst/base/gstbasesink.c: (gst_basesink_get_type),
10374         (gst_basesink_base_init), (gst_basesink_class_init),
10375         (gst_basesink_pad_getcaps), (gst_basesink_init),
10376         (gst_basesink_activate), (gst_basesink_change_state):
10377         * gst/base/gstbasesink.h:
10378         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
10379         (gst_base_transform_base_init), (gst_base_transform_finalize),
10380         (gst_base_transform_class_init), (gst_base_transform_init),
10381         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
10382         (gst_base_transform_event), (gst_base_transform_getrange),
10383         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
10384         (gst_base_transform_set_property),
10385         (gst_base_transform_get_property),
10386         (gst_base_transform_sink_activate),
10387         (gst_base_transform_src_activate),
10388         (gst_base_transform_change_state):
10389         * gst/base/gstbasetransform.h:
10390         * gst/elements/gstidentity.c: (gst_identity_finalize),
10391         (gst_identity_class_init), (gst_identity_init),
10392         (gst_identity_event), (gst_identity_check_perfect),
10393         (gst_identity_transform), (gst_identity_set_property),
10394         (gst_identity_get_property), (gst_identity_change_state):
10395         * gst/elements/gstidentity.h:
10396         * gst/gstelement.c: (gst_element_get_state_func),
10397         (gst_element_lost_state), (gst_element_pads_activate):
10398         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10399         (gst_pad_check_pull_range), (gst_pad_pull_range):
10400         * gst/gstpad.h:
10401         Simplify pad activation.
10402         Added function to check if pull_range can be performed.
10403         Error out when pulling inactive or flushing pads.
10404         Removed const from refcounted types as it does not make sense.
10405         Simplify pad templates in basesink
10406         Added base class for simple 1-to-1 transforms.
10407         Make identity subclass the base transform.
10408
10409 2005-03-29  Andy Wingo  <wingo@pobox.com>
10410
10411         * docs/libs/gstreamer-libs-overrides.txt: 
10412         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
10413         really don't understand what's going on, but like whatever. I want
10414         green buildbot!
10415
10416         * docs/gst/Makefile.am:
10417         * docs/libs/Makefile.am: Dist the overrides files.
10418
10419         * check/Makefile.am (clean-local): Remove .libs directories.
10420
10421         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
10422         elements to EXTRA_DIST, so po/ files are happy.
10423
10424         * po/POTFILES.in: Er, remove it here.
10425
10426         * po/POTFILES: Remove gstspider.c.
10427
10428         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
10429
10430         * docs/libs/gstreamer-libs-docs.sgml: 
10431         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
10432         bytestream.
10433
10434         * tests/complexity.c (main): Set the length of the preroll queue
10435         on the sinks to prevent a lockup.
10436
10437         * libs/gst/dataprotocol/Makefile.am: 
10438         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
10439         the same as the one in check/gst-libs/gdp.c.
10440
10441         * po/, docs/gst/: Commit automatic changes to docs and po files.
10442
10443         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
10444         the versioned libgstbase.
10445
10446         * check/Makefile.am: Depend on an unversioned gst-register, seems
10447         to make autoconf happier.
10448
10449         * gst/base/Makefile.am: Make libgstbase a versioned lib.
10450
10451 2005-03-28  Wim Taymans  <wim@fluendo.com>
10452
10453         * configure.ac:
10454         * docs/design/part-gstelement.txt:
10455         * docs/design/part-negotiation.txt:
10456         * docs/design/part-preroll.txt:
10457         * docs/design/part-scheduling.txt:
10458         * docs/design/part-states.txt:
10459         * gst/Makefile.am:
10460         * gst/base/Makefile.am:
10461         * gst/base/README:
10462         * gst/base/gstbasesink.c: (gst_basesink_get_template),
10463         (gst_basesink_base_init), (gst_basesink_class_init),
10464         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10465         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10466         (gst_basesink_set_pad_functions),
10467         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
10468         (gst_basesink_set_property), (gst_basesink_get_property),
10469         (gst_base_sink_get_template), (gst_base_sink_get_caps),
10470         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
10471         (gst_basesink_preroll_queue_push),
10472         (gst_basesink_preroll_queue_empty),
10473         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
10474         (gst_basesink_event), (gst_basesink_get_times),
10475         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
10476         (gst_basesink_chain_unlocked), (gst_basesink_chain),
10477         (gst_basesink_loop), (gst_basesink_activate),
10478         (gst_basesink_change_state):
10479         * gst/base/gstbasesink.h:
10480         * gst/elements/Makefile.am:
10481         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
10482         (gst_fakesink_class_init), (gst_fakesink_init),
10483         (gst_fakesink_set_property), (gst_fakesink_get_property),
10484         (gst_fakesink_get_times), (gst_fakesink_event),
10485         (gst_fakesink_preroll), (gst_fakesink_render),
10486         (gst_fakesink_change_state):
10487         * gst/elements/gstfakesink.h:
10488         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10489         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
10490         * gst/gstelement.c: (gst_element_add_pad),
10491         (gst_element_get_state_func), (gst_element_abort_state),
10492         (gst_element_commit_state), (gst_element_lost_state),
10493         (gst_element_set_state), (gst_element_pads_activate):
10494         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
10495         * gst/gstpipeline.c: (gst_pipeline_send_event),
10496         (gst_pipeline_change_state):
10497         Added state change code.
10498         Added/updated docs.
10499         Added sink base class, make fakesink extend the base class.
10500         Small cleanups in GstPipeline.
10501
10502 2005-03-26  David Schleef  <ds@schleef.org>
10503
10504         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
10505         is broken and should be implemented in a different library.
10506         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
10507         * gst/gst.h: remove gstcpu.h
10508         * gst/gstcpu.c: remove
10509         * gst/gstcpu.h: remove
10510         * gst/Makefile.am.future: Remove this file.  It's ancient.
10511
10512 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10513
10514         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10515         (gst_bin_send_event):
10516           Add default event/set_manager handlers. The set_manager handler
10517           takes care that the manager is distributed over kids that were
10518           already in the bin before the manager was set. The event handler
10519           is a utility virtual function that sends the event over all sinks,
10520           so that gst_element_send_event (bin, event); has the expected
10521           behaviour.
10522         * gst/gstpad.c: (gst_pad_event_default):
10523           Re-install default event handling for discontinuities, so that
10524           seeking works without requiring hacks in applications or extra
10525           code in sinks.
10526         * gst/gstpipeline.c: (gst_pipeline_class_init),
10527         (gst_pipeline_send_event):
10528           Half hack, half utility: set a pipeline to PAUSED for seek events,
10529           since that is the only way we can guarantee a/v sync. Means that
10530           you can do gst_element_seek (pipeline, method, pos); on a pipeline
10531           and it "just works".
10532
10533 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10534
10535         * gst/gstpipeline.c: (gst_pipeline_use_clock):
10536           Lock/unlock mismatch.
10537
10538 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * docs/faq/gst-uninstalled:
10541           add gst-plugins-base
10542         * docs/gst/Makefile.am:
10543           don't error out until docs are fixed
10544         * docs/gst/gstreamer.types:
10545           remove thread
10546
10547 2005-03-22  Wim Taymans  <wim@fluendo.com>
10548
10549         * check/Makefile.am:
10550         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
10551         * gst/gststructure.c: (gst_structure_set_valist),
10552         (gst_structure_copy_conditional):
10553         Activated more tests.
10554         Added message test.
10555         Added G_TYPE_POINTER to GstStructure.
10556         
10557
10558 2005-03-22  Wim Taymans  <wim@fluendo.com>
10559
10560         * docs/design/part-TODO.txt:
10561         * docs/design/part-events.txt:
10562         * docs/design/part-gstbin.txt:
10563         * docs/design/part-gstbus.txt:
10564         * docs/design/part-gstpipeline.txt:
10565         * docs/design/part-messages.txt:
10566         * gst/gstbus.c:
10567         * gst/gstmessage.c:
10568         Docs updates
10569
10570 2005-03-21  Wim Taymans  <wim@fluendo.com>
10571
10572         * gst/gstbus.c: (gst_bus_post):
10573         Fix copy-and-paste error.
10574
10575 2005-03-21  Wim Taymans  <wim@fluendo.com>
10576
10577         * check/Makefile.am:
10578         * gst/Makefile.am:
10579         * gst/elements/Makefile.am:
10580         * gst/elements/gstelements.c:
10581         * gst/elements/gstfakesink.c: (gst_fakesink_init),
10582         (gst_fakesink_event), (gst_fakesink_chain):
10583         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10584         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
10585         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
10586         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
10587         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10588         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
10589         (gst_fakesrc_loop), (gst_fakesrc_activate),
10590         (gst_fakesrc_change_state):
10591         * gst/elements/gstfakesrc.h:
10592         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10593         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
10594         (gst_filesrc_open_file), (gst_filesrc_loop),
10595         (gst_filesrc_activate), (gst_filesrc_change_state),
10596         (filesrc_find_peek), (filesrc_find_suggest),
10597         (gst_filesrc_type_find):
10598         * gst/elements/gstidentity.c: (gst_identity_finalize),
10599         (gst_identity_class_init), (gst_identity_init),
10600         (gst_identity_proxy_getcaps), (identity_queue_push),
10601         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
10602         (gst_identity_getrange), (gst_identity_chain),
10603         (gst_identity_sink_loop), (gst_identity_src_loop),
10604         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
10605         (gst_identity_set_property), (gst_identity_get_property),
10606         (gst_identity_change_state):
10607         * gst/elements/gstidentity.h:
10608         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10609         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
10610         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
10611         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
10612         (gst_tee_sink_activate):
10613         * gst/elements/gsttee.h:
10614         * gst/gst.c: (gst_register_core_elements), (init_post):
10615         * gst/gst.h:
10616         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
10617         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
10618         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
10619         (gst_bin_change_state):
10620         * gst/gstbin.h:
10621         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
10622         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
10623         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
10624         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
10625         (gst_bus_set_sync_handler), (gst_bus_create_watch),
10626         (bus_watch_callback), (bus_watch_destroy),
10627         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
10628         (poll_timeout), (gst_bus_poll):
10629         * gst/gstbus.h:
10630         * gst/gstcaps.h:
10631         * gst/gstdata.h:
10632         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
10633         (gst_element_post_message), (gst_element_message_full),
10634         (gst_element_get_state_func), (gst_element_get_state),
10635         (gst_element_abort_state), (gst_element_commit_state),
10636         (gst_element_lost_state), (gst_element_set_state),
10637         (gst_element_pads_activate), (gst_element_change_state),
10638         (gst_element_dispose), (gst_element_set_manager_func),
10639         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
10640         (gst_element_set_manager), (gst_element_get_manager),
10641         (gst_element_set_bus), (gst_element_get_bus),
10642         (gst_element_set_scheduler), (gst_element_get_scheduler):
10643         * gst/gstelement.h:
10644         * gst/gstevent.c: (gst_event_new_segment_seek),
10645         (gst_event_new_flush):
10646         * gst/gstevent.h:
10647         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
10648         (_gst_message_free), (gst_message_get_type), (gst_message_new),
10649         (gst_message_new_eos), (gst_message_new_error),
10650         (gst_message_new_warning), (gst_message_new_tag),
10651         (gst_message_new_state_changed), (gst_message_new_application),
10652         (gst_message_get_structure), (gst_message_parse_tag),
10653         (gst_message_parse_state_changed), (gst_message_parse_error),
10654         (gst_message_parse_warning):
10655         * gst/gstmessage.h:
10656         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
10657         (gst_real_pad_set_property), (gst_pad_set_active),
10658         (gst_pad_is_active), (gst_pad_set_blocked_async),
10659         (gst_pad_set_blocked), (gst_pad_is_blocked),
10660         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
10661         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
10662         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10663         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
10664         (gst_pad_link_filtered), (gst_pad_relink_filtered),
10665         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
10666         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
10667         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
10668         (gst_pad_set_caps), (gst_pad_configure_sink),
10669         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
10670         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
10671         (gst_real_pad_dispose), (gst_real_pad_finalize),
10672         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
10673         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10674         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
10675         * gst/gstpad.h:
10676         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
10677         (pipeline_bus_handler), (gst_pipeline_change_state),
10678         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
10679         * gst/gstpipeline.h:
10680         * gst/gstprobe.h:
10681         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10682         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
10683         (gst_queue_link_src), (gst_queue_bufferalloc),
10684         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10685         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
10686         (gst_queue_loop), (gst_queue_handle_src_event),
10687         (gst_queue_handle_src_query), (gst_queue_src_activate),
10688         (gst_queue_change_state):
10689         * gst/gstqueue.h:
10690         * gst/gstscheduler.c: (gst_scheduler_init),
10691         (gst_scheduler_dispose), (gst_scheduler_create_task),
10692         (gst_scheduler_factory_create):
10693         * gst/gstscheduler.h:
10694         * gst/gststructure.c: (gst_structure_get_type),
10695         (gst_structure_copy_conditional):
10696         * gst/gststructure.h:
10697         * gst/gsttaginterface.h:
10698         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10699         (gst_task_init), (gst_task_dispose), (gst_task_create),
10700         (gst_task_get_state), (gst_task_start), (gst_task_stop),
10701         (gst_task_pause):
10702         * gst/gsttask.h:
10703         * gst/gstthread.c:
10704         * gst/gstthread.h:
10705         * gst/gsttypes.h:
10706         * gst/schedulers/Makefile.am:
10707         * gst/schedulers/cothreads_compat.h:
10708         * gst/schedulers/entryscheduler.c:
10709         * gst/schedulers/faircothreads.c:
10710         * gst/schedulers/faircothreads.h:
10711         * gst/schedulers/fairscheduler.c:
10712         * gst/schedulers/gstbasicscheduler.c:
10713         * gst/schedulers/gstoptimalscheduler.c:
10714         * gst/schedulers/gthread-cothreads.h:
10715         * gst/schedulers/threadscheduler.c:
10716         (gst_thread_scheduler_task_get_type),
10717         (gst_thread_scheduler_task_class_init),
10718         (gst_thread_scheduler_task_init),
10719         (gst_thread_scheduler_task_start),
10720         (gst_thread_scheduler_task_stop),
10721         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
10722         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10723         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
10724         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
10725         (plugin_init):
10726         * libs/gst/Makefile.am:
10727         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
10728         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
10729         (gst_file_pad_parent_set):
10730         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10731         (gst_dp_event_from_packet):
10732         * tests/complexity.c: (main):
10733         * tests/mass_elements.c: (main):
10734         * testsuite/states/locked.c: (message_received), (main):
10735         * testsuite/states/parent.c: (main):
10736         * tools/gst-inspect.c: (print_element_flag_info),
10737         (print_implementation_info), (print_pad_info):
10738         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
10739         (main):
10740         * tools/gst-md5sum.c: (event_loop), (main):
10741         * tools/gst-typefind.c: (main):
10742         * tools/gst-xmlinspect.c: (print_element_info):
10743         Next big merge.
10744         Added GstBus for mainloop integration.
10745         Added GstMessage for sending notifications on the bus.
10746         Added GstTask as an abstraction for pipeline entry points.
10747         Removed GstThread.
10748         Removed Schedulers.
10749         Simplified GstQueue for multithreaded core.
10750         Made _link threadsafe, removed old capsnego.
10751         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
10752         Added pad blocking functions.
10753         Reworked scheduling functions in GstPad to prepare for
10754         scheduling updates soon.
10755         Moved events out of data stream.
10756         Simplified GstEvent types.
10757         Added return values to push/pull.
10758         Removed clocking from GstElement.
10759         Added prototypes for state change function for next merge.
10760         Removed iterate from bins and state change management.
10761         Fixed some elements, disabled others for now.
10762         Fixed -inspect and -launch.
10763         Added check for GstBus.
10764
10765 2005-03-10  Wim Taymans  <wim@fluendo.com>
10766
10767         * docs/design/part-MT-refcounting.txt:
10768         * docs/design/part-clocks.txt:
10769         * docs/design/part-gstelement.txt:
10770         * docs/design/part-gstobject.txt:
10771         * docs/design/part-standards.txt:
10772         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10773         (gst_bin_remove_func), (gst_bin_remove):
10774         * gst/gstbin.h:
10775         * gst/gstbuffer.c:
10776         * gst/gstcaps.h:
10777         * testsuite/clock/clock1.c: (main):
10778         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
10779         (main):
10780         * testsuite/dlopen/loadgst.c: (do_test):
10781         * testsuite/refcounting/bin.c: (add_remove_test1),
10782         (add_remove_test2), (main):
10783         * testsuite/refcounting/element.c: (main):
10784         * testsuite/refcounting/element_pad.c: (main):
10785         * testsuite/refcounting/pad.c: (main):
10786         * tools/gst-launch.c: (sigint_handler_sighandler):
10787         * tools/gst-typefind.c: (main):
10788         Doc updates.
10789         Added doc about clock.
10790         removed gst_bin_iterate_recurse_up(), marked methods
10791         for removal.
10792         Fix more testsuites.
10793
10794 2005-03-09  Wim Taymans  <wim@fluendo.com>
10795
10796         * gst/gstpad.c: (gst_pad_get_direction),
10797         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
10798         (gst_pad_collect_valist):
10799         * testsuite/bins/interface.c: (main):
10800         * testsuite/caps/audioscale.c: (test_caps):
10801         * testsuite/caps/caps.c: (test1), (test2), (test3):
10802         * testsuite/caps/deserialize.c: (main):
10803         * testsuite/caps/enumcaps.c: (main):
10804         * testsuite/caps/filtercaps.c: (main):
10805         * testsuite/caps/intersect2.c: (main):
10806         * testsuite/caps/random.c: (main):
10807         * testsuite/caps/renegotiate.c: (my_fixate), (main):
10808         * testsuite/caps/sets.c: (check_caps):
10809         * testsuite/caps/simplify.c: (check_caps), (main):
10810         * testsuite/caps/subtract.c: (check_caps):
10811         Fix _pad_get_direction wrt ghostpads.
10812         Fix caps testsuite.
10813
10814 2005-03-09  Wim Taymans  <wim@fluendo.com>
10815
10816         * check/Makefile.am:
10817         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
10818         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
10819         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
10820         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
10821         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
10822         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
10823         (gst_bin_remove), (gst_bin_iterate_recurse_up),
10824         (bin_element_is_sink), (gst_bin_iterate_sinks),
10825         (gst_bin_iterate_all_by_interface):
10826         * gst/gstbin.h:
10827         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
10828         (gst_element_change_state), (gst_element_dispose),
10829         (gst_element_finalize), (gst_element_set_loop_function):
10830         * gst/gstelement.h:
10831         * gst/gstiterator.c: (find_custom_fold_func):
10832         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10833         (gst_pad_collectv), (gst_pad_collect_valist),
10834         (gst_pad_template_new):
10835         * gst/gstpipeline.c: (gst_pipeline_class_init),
10836         (gst_pipeline_dispose), (gst_pipeline_set_property),
10837         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
10838         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
10839         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
10840         * gst/gstutils.h:
10841         * gst/schedulers/entryscheduler.c:
10842         * gst/schedulers/gstbasicscheduler.c:
10843         (gst_basic_scheduler_cothreaded_chain),
10844         (gst_basic_scheduler_chain_add_element):
10845         * testsuite/bins/interface.c: (main):
10846         Added GstBin test.
10847         Added GstSystemClock test.
10848         Implemented clock distribution code in GstBin.
10849         Implemented iterate sinks method for future use.
10850         Rearranged gstelement.h
10851         Fix GstIterator comparison bug.
10852         Moved some code to GstPipeline, mostly clocking related.
10853
10854 2005-03-09  Wim Taymans  <wim@fluendo.com>
10855
10856         * configure.ac:
10857         * gst/gst_private.h:
10858         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10859         (gst_bin_remove_func), (gst_bin_remove),
10860         (gst_bin_get_by_name_recurse_up):
10861         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
10862         (gst_clock_id_compare_func), (gst_clock_id_wait),
10863         (gst_clock_id_wait_async), (gst_clock_init),
10864         (gst_clock_adjust_unlocked), (gst_clock_get_time):
10865         * gst/gstelement.h:
10866         * gst/gstinfo.c: (_gst_debug_init):
10867         * gst/gstobject.h:
10868         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10869         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
10870         * gst/gstpad.h:
10871         Bump version number, we're now 0.9.0
10872         Add future debugging category.
10873         Fix NULL _unref() in _get_by_name_recurse_up
10874         Rearrange gstpad.h.
10875         Update some docs.
10876
10877 2005-03-08  Wim Taymans  <wim@fluendo.com>
10878
10879         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
10880         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
10881         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10882         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
10883         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
10884         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
10885         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
10886         * gst/elements/gstidentity.c: (gst_identity_class_init):
10887         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
10888         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10889         * gst/elements/gstshaper.c: (gst_shaper_class_init):
10890         * gst/elements/gststatistics.c: (gst_statistics_class_init):
10891         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
10892         (gst_tee_link):
10893         * gst/gstelement.c: (gst_element_class_init),
10894         (gst_element_base_class_init), (gst_element_init),
10895         (gst_element_get_random_pad), (gst_element_wait_state_change),
10896         (gst_element_change_state), (gst_element_dispose),
10897         (gst_element_finalize), (gst_element_set_loop_function):
10898         * gst/gstelement.h:
10899         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
10900         * gst/gstthread.c: (gst_thread_class_init),
10901         (gst_thread_release_children_locks), (gst_thread_change_state):
10902         * gst/schedulers/gstbasicscheduler.c:
10903         (gst_basic_scheduler_loopfunc_wrapper),
10904         (gst_basic_scheduler_chain_wrapper),
10905         (gst_basic_scheduler_src_wrapper),
10906         (gst_basic_scheduler_remove_element):
10907         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
10908         Remove threadsafe properties. Fix elements because GObject
10909         complains when installing a property before declaring a
10910         set/get_property handler.
10911         Rearrange gstelement.h file, use STATE macros for state locks.
10912         Free mutexes in the finalize method instead of dispose.
10913
10914 2005-03-08  Wim Taymans  <wim@fluendo.com>
10915
10916         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10917         * gst/gstthread.c: (gst_thread_release_children_locks):
10918         Added parentage check.
10919         Fix build og GstThread again.
10920
10921 2005-03-08  Wim Taymans  <wim@fluendo.com>
10922
10923         * docs/design/part-MT-refcounting.txt:
10924         * docs/design/part-conventions.txt:
10925         * docs/design/part-gstobject.txt:
10926         * docs/design/part-relations.txt:
10927         * docs/design/part-standards.txt:
10928         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10929         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
10930         (gst_bin_get_by_name), (gst_bin_get_by_interface),
10931         (gst_bin_iterate_all_by_interface):
10932         * gst/gstbuffer.h:
10933         * gst/gstclock.h:
10934         * gst/gstelement.c: (gst_element_class_init),
10935         (gst_element_change_state), (gst_element_set_loop_function):
10936         * gst/gstelement.h:
10937         * gst/gstiterator.c:
10938         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
10939         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
10940         (gst_object_dispatch_properties_changed), (gst_object_set_name),
10941         (gst_object_set_parent), (gst_object_unparent),
10942         (gst_object_check_uniqueness):
10943         * gst/gstobject.h:
10944         Docs updates, clean up some headers.
10945
10946 2005-03-07  Wim Taymans  <wim@fluendo.com>
10947
10948         * check/.cvsignore:
10949         * check/Makefile.am:
10950         * check/gst-libs/.cvsignore:
10951         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
10952         * check/gst/.cvsignore:
10953         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
10954         (START_TEST), (gstbus_suite), (main):
10955         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
10956         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
10957         (gst_data_suite), (main):
10958         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
10959         (add_fold_func), (gstiterator_suite), (main):
10960         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
10961         (thread_name_object), (thread_name_object_default),
10962         (gst_object_name_compare), (gst_object_suite), (main):
10963         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
10964         (gst_pad_suite), (main):
10965         * check/gstcheck.c: (gst_check_log_message_func),
10966         (gst_check_log_critical_func), (gst_check_init):
10967         * check/gstcheck.h:
10968         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10969         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
10970         Added checks.
10971
10972 2005-03-07  Wim Taymans  <wim@fluendo.com>
10973
10974         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10975         (gst_list_iterator_next), (gst_list_iterator_resync),
10976         (gst_list_iterator_free), (gst_iterator_new_list),
10977         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
10978         (gst_iterator_free), (gst_iterator_push), (filter_next),
10979         (filter_resync), (filter_uninit), (filter_free),
10980         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
10981         (gst_iterator_foreach), (find_custom_fold_func),
10982         (gst_iterator_find_custom):
10983         * gst/gstiterator.h:
10984         Added missing files.
10985
10986 2005-03-07  Wim Taymans  <wim@fluendo.com>
10987
10988         * Makefile.am:
10989         * configure.ac:
10990         * docs/design/part-MT-refcounting.txt:
10991         * docs/design/part-conventions.txt:
10992         * docs/design/part-gstobject.txt:
10993         * docs/design/part-relations.txt:
10994         * examples/mixer/mixer.c: (main):
10995         * examples/thread/thread.c: (eos), (main):
10996         * gst/Makefile.am:
10997         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
10998         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
10999         (gst_spider_plug_from_srcpad):
11000         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11001         (gst_spider_identity_change_state),
11002         (gst_spider_identity_sink_loop_type_finding):
11003         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11004         * gst/elements/gstidentity.c: (gst_identity_init):
11005         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11006         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11007         * gst/elements/gsttypefindelement.c: (free_entry):
11008         * gst/gst.c:
11009         * gst/gst.h:
11010         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11011         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11012         (gst_bin_set_index), (gst_bin_set_element_sched),
11013         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11014         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11015         (gst_bin_iterate_elements), (iterate_child_recurse),
11016         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11017         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11018         (compare_interface), (gst_bin_get_by_interface),
11019         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11020         * gst/gstbin.h:
11021         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11022         (gst_buffer_default_free), (gst_buffer_default_copy),
11023         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11024         (gst_buffer_create_sub):
11025         * gst/gstbuffer.h:
11026         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11027         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11028         (gst_caps_unref), (gst_static_caps_get),
11029         (gst_caps_remove_and_get_structure), (gst_caps_append),
11030         (gst_caps_append_structure), (gst_caps_remove_structure),
11031         (gst_caps_copy_nth), (gst_caps_set_simple),
11032         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11033         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11034         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11035         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11036         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11037         (gst_caps_structure_figure_out_union),
11038         (gst_caps_switch_structures), (gst_caps_do_simplify),
11039         (gst_caps_replace), (gst_caps_from_string),
11040         (gst_caps_copy_conditional):
11041         * gst/gstcaps.h:
11042         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11043         (_gst_clock_id_free), (gst_clock_id_unref),
11044         (gst_clock_id_compare_func), (gst_clock_id_wait),
11045         (gst_clock_id_wait_async), (gst_clock_class_init),
11046         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11047         (gst_clock_get_time), (gst_clock_set_time_adjust),
11048         (gst_clock_set_property), (gst_clock_get_property):
11049         * gst/gstclock.h:
11050         * gst/gstcompat.h:
11051         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11052         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11053         * gst/gstdata.h:
11054         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11055         (gst_element_requires_clock), (gst_element_provides_clock),
11056         (gst_element_set_clock), (gst_element_clock_wait),
11057         (gst_element_wait), (gst_element_set_time_delay),
11058         (gst_element_is_indexable), (gst_element_add_pad),
11059         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11060         (pad_compare_name), (gst_element_get_static_pad),
11061         (gst_element_request_pad), (gst_element_get_request_pad),
11062         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11063         (gst_element_class_get_pad_template_list),
11064         (gst_element_class_get_pad_template), (gst_element_error_func),
11065         (gst_element_get_random_pad), (gst_element_get_event_masks),
11066         (gst_element_send_event), (gst_element_seek),
11067         (gst_element_get_query_types), (gst_element_query),
11068         (gst_element_get_formats), (gst_element_convert),
11069         (gst_element_is_locked_state), (gst_element_set_locked_state),
11070         (gst_element_sync_state_with_parent), (gst_element_change_state),
11071         (gst_element_finalize), (gst_element_yield),
11072         (gst_element_interrupt), (gst_element_set_scheduler),
11073         (gst_element_get_scheduler), (gst_element_set_loop_function):
11074         * gst/gstelement.h:
11075         * gst/gstevent.h:
11076         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11077         (gst_format_get_by_nick), (gst_format_get_details),
11078         (gst_format_iterate_definitions):
11079         * gst/gstformat.h:
11080         * gst/gstindex.c: (gst_index_gtype_resolver):
11081         * gst/gstinfo.c:
11082         * gst/gstinfo.h:
11083         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11084         (gst_mem_chunk_free):
11085         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11086         (gst_object_ref), (gst_object_unref), (gst_object_sink),
11087         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11088         (gst_object_dispatch_properties_changed),
11089         (gst_object_set_name_default), (gst_object_set_name),
11090         (gst_object_get_name), (gst_object_set_name_prefix),
11091         (gst_object_get_name_prefix), (gst_object_set_parent),
11092         (gst_object_get_parent), (gst_object_unparent),
11093         (gst_object_check_uniqueness), (gst_object_save_thyself),
11094         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11095         (gst_object_set_property), (gst_object_get_property),
11096         (gst_object_get_path_string):
11097         * gst/gstobject.h:
11098         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11099         (gst_real_pad_init), (gst_real_pad_get_property),
11100         (gst_pad_custom_new), (gst_pad_get_direction),
11101         (gst_pad_set_active), (gst_pad_is_active),
11102         (gst_pad_set_event_function), (gst_pad_is_linked),
11103         (gst_pad_link_free), (gst_pad_link_intersect),
11104         (gst_pad_link_fixate), (gst_pad_set_caps),
11105         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11106         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11107         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11108         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11109         (gst_pad_get_caps), (gst_pad_peer_get_caps),
11110         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11111         (gst_pad_realize), (gst_pad_get_allowed_caps),
11112         (gst_real_pad_dispose), (gst_real_pad_finalize),
11113         (gst_pad_collectv), (gst_pad_collect_valist),
11114         (gst_pad_template_dispose), (gst_pad_template_new),
11115         (gst_pad_get_internal_links):
11116         * gst/gstpad.h:
11117         * gst/gstpipeline.c: (gst_pipeline_dispose),
11118         (gst_pipeline_change_state):
11119         * gst/gstpipeline.h:
11120         * gst/gstplugin.c:
11121         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11122         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
11123         * gst/gstpluginfeature.h:
11124         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
11125         * gst/gstquery.c: (_gst_query_type_initialize),
11126         (gst_query_type_register), (gst_query_type_get_by_nick),
11127         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
11128         * gst/gstquery.h:
11129         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
11130         * gst/gstscheduler.c: (gst_scheduler_add_element),
11131         (gst_scheduler_factory_create):
11132         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11133         (gst_structure_free), (gst_structure_set_name),
11134         (gst_structure_id_set_value), (gst_structure_set_value),
11135         (gst_structure_set_valist), (gst_structure_remove_field),
11136         (gst_structure_remove_fields),
11137         (gst_structure_remove_fields_valist),
11138         (gst_structure_remove_all_fields), (gst_structure_foreach),
11139         (gst_structure_map_in_place),
11140         (gst_caps_structure_fixate_field_nearest_int),
11141         (gst_caps_structure_fixate_field_nearest_double):
11142         * gst/gststructure.h:
11143         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11144         (gst_system_clock_init), (gst_system_clock_dispose),
11145         (gst_system_clock_async_thread),
11146         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
11147         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
11148         * gst/gstsystemclock.h:
11149         * gst/gsttag.c: (gst_tag_list_add_value_internal),
11150         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
11151         * gst/gsttaginterface.c:
11152         * gst/gstthread.c: (gst_thread_dispose),
11153         (gst_thread_release_children_locks), (gst_thread_change_state),
11154         (gst_thread_main_loop):
11155         * gst/gsttrashstack.h:
11156         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
11157         * gst/gsttypes.h:
11158         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11159         (gst_element_request_pad), (gst_element_get_pad_from_template),
11160         (gst_element_request_compatible_pad),
11161         (gst_element_get_compatible_pad_filtered),
11162         (gst_element_get_compatible_pad), (gst_element_state_get_name),
11163         (gst_element_link_pads_filtered), (gst_element_link_filtered),
11164         (gst_element_link_many), (gst_element_link),
11165         (gst_element_link_pads), (gst_element_unlink_pads),
11166         (gst_element_unlink_many), (gst_element_unlink),
11167         (gst_pad_can_link_filtered), (gst_pad_can_link),
11168         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
11169         (gst_object_default_error), (gst_bin_add_many),
11170         (gst_bin_remove_many), (gst_element_populate_std_props),
11171         (gst_element_class_install_std_props), (gst_buffer_merge),
11172         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
11173         (link_fold_func), (gst_pad_proxy_setcaps):
11174         * gst/gstutils.h:
11175         * gst/gstvalue.c: (gst_value_deserialize_string):
11176         * gst/parse/grammar.y:
11177         * gst/schedulers/gstbasicscheduler.c:
11178         (gst_basic_scheduler_cothreaded_chain),
11179         (gst_basic_scheduler_chain_recursive_add),
11180         (gst_basic_scheduler_pad_link):
11181         * gst/schedulers/gstoptimalscheduler.c:
11182         (get_group_schedule_function),
11183         (gst_opt_scheduler_state_transition),
11184         (gst_opt_scheduler_add_element), (element_get_reachables_func):
11185         * libs/gst/bytestream/bytestream.c:
11186         * libs/gst/dataprotocol/dataprotocol.c:
11187         (gst_dp_header_from_buffer):
11188         * po/nb.po:
11189         * po/ru.po:
11190         * tests/threadstate/threadstate2.c: (eos):
11191         * tools/gst-compprep.c: (main):
11192         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
11193         (print_pad_info), (print_children_info):
11194         * tools/gst-launch.c: (idle_func), (main):
11195         * tools/gst-md5sum.c: (idle_func), (main):
11196         * tools/gst-xmlinspect.c: (print_element_info):
11197         First THREADED backport attempt, focusing on adding locks and
11198         making sure the API is threadsafe. Needs more work. More docs
11199         follow this week.
11200
11201 2005-02-24  Andy Wingo  <wingo@pobox.com>
11202
11203         * tests/bench-complexity.scm:
11204         * tests/complexity.gnuplot: New files, good for running complexity
11205         benchmarks.
11206
11207         * tests/Makefile.am:
11208         * tests/complexity.c: New test, sets up N elements, at each level
11209         teeing into M streams per element. Eeeenteresting.
11210
11211         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
11212         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
11213         running bench-mass_elements.scm.
11214
11215         * tests/bench-mass_elements.scm: New script, runs mass_elements
11216         for various numbers of identities, outputting the results to a
11217         file. Requires guile 1.6. Just for testing.
11218
11219 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * gst/schedulers/fairscheduler.c:
11222           compile with debug disabled
11223
11224 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * configure.ac:
11227           hunting season on 0.9 is now OPEN