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