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