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