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