Rename gst_caps_structure_fixate_* to gst_structure_fixate_* (#322027)
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2         * docs/gst/gstreamer-sections.txt:
3         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4         (gst_structure_fixate_field_nearest_double),
5         (gst_structure_fixate_field_boolean):
6         * gst/gststructure.h:
7         * win32/common/libgstreamer.def:
8         * win32/gstreamer.def:
9
10         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11         (#322027)
12
13 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14
15         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
16         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
17         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
18         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
19         (gst_fdsrc_uri_handler_init):
20         * gst/elements/gstfdsrc.h:
21           Port fd:// URI handler from 0.8 to fdsrc
22
23 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
24
25         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
26         (gst_value_serialize_fourcc):
27         * gst/gstvalue.h:
28           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
29           consistent with our other format defines (#320324).
30
31 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
32
33         * gst/gstvalue.c: (gst_value_is_fixed):
34           Revert previous commit. Value lists are by definition
35           not fixed, as they are a list of possible values.
36
37 2005-11-21  Andy Wingo  <wingo@pobox.com>
38
39         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
40         during the stable series if we need it. Fixes #319178.
41
42         * gst/gstevent.c (gst_event_new_filler): Removed.
43
44         * check/gst/gstevent.c: Update comment about filler events.
45
46 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
47
48         * gst/gstvalue.c: (gst_value_is_fixed):
49           Should handle both value arrays and value lists.
50
51 2005-11-21  Andy Wingo  <wingo@pobox.com>
52
53         patch by: Alessandro Dessina <alessandro nnva org>
54
55         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
56         functions to access arrays. Fixes #321962.
57
58 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
59
60         * docs/gst/gstreamer.types:
61           gst_collectpads_get_type => gst_collect_pads_get_type.
62           
63         * gst/base/gstbasetransform.c:
64           Remove unused SIGNAL_HANDOFF enum.
65
66 2005-11-21  Andy Wingo  <wingo@pobox.com>
67
68         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
69         the event type (upstream, downstream, serialized). Renamed
70         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
71         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
72         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
73
74         * gst/gstevent.c: Update for new CUSTOM event names.
75
76         * check/gst/gstevent.c: Update check for new CUSTOM event names.
77
78         * gst/gstevent.h:
79         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
80         bug #319392.
81
82 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
83
84         * docs/gst/gstreamer-sections.txt:
85         * win32/common/libgstbase.def:
86         * win32/libgstbase.def:
87         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
88         (gst_collect_pads_class_init), (gst_collect_pads_init),
89         (gst_collect_pads_finalize), (gst_collect_pads_new),
90         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
91         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
92         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
93         (gst_collect_pads_start), (gst_collect_pads_stop),
94         (gst_collect_pads_peek), (gst_collect_pads_pop),
95         (gst_collect_pads_available), (gst_collect_pads_read),
96         (gst_collect_pads_flush), (gst_collect_pads_event),
97         (gst_collect_pads_chain):
98         * gst/base/gstcollectpads.h:
99           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
100           unimplemented functions as unimplemented. Add padding to
101           GstCollectData. (#320766, #320423)
102
103 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
104
105         * gst/gstmessage.c:
106           Improve docs for DURATION message (usage of duration parameter)
107           (#320113)
108
109 2005-11-20  Wim Taymans  <wim@fluendo.com>
110
111         * check/Makefile.am:
112         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
113         (main):
114         * gst/Makefile.am:
115         * gst/gst.h:
116         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
117         (gst_segment_set_seek), (gst_segment_set_newsegment),
118         (gst_segment_to_stream_time), (gst_segment_to_running_time),
119         (gst_segment_clip):
120         * gst/gstsegment.h:
121         Added segment helper structure and methods. Not fully implemented
122         yet.
123         Added segment check.
124
125 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
126
127         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
128           Add a deserialisation test for fractions
129         * examples/metadata/read-metadata.c: (message_loop),
130         (make_pipeline), (main):
131           Fix up metadata reading sample.
132         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
133           Debug format fix
134         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
135           Don't try and fixate empty caps
136         * gst/gst_private.h:
137           Wrap in G_BEGIN_DECLS/G_END_DECLS
138         * gst/gstvalue.c: (gst_value_collect_fraction),
139         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
140         (gst_value_transform_string_fraction),
141         (gst_value_compare_fraction):
142           Add some extra guards to ensure that we don't end up 
143           with an invalid denominator of 0 in a gstfraction and
144           that fractions always get reduced.
145
146 2005-11-20  Wim Taymans  <wim@fluendo.com>
147
148         * docs/gst/gstreamer-sections.txt:
149         * gst/gstbuffer.h:
150         * gst/gstelement.c:
151         * gst/gstformat.c:
152         * gst/gstformat.h:
153         * gst/gstindex.h:
154         * gst/gstquery.c:
155         * gst/gstquery.h:
156         * gst/gstvalue.c:
157         Doc fixes.
158
159 2005-11-20  Wim Taymans  <wim@fluendo.com>
160
161         * docs/design/part-TODO.txt:
162         * gst/gstcaps.h:
163         Make a proper enum of the flag.
164
165 2005-11-19  Wim Taymans  <wim@fluendo.com>
166
167         * docs/design/part-TODO.txt:
168         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
169         (gst_format_to_quark), (gst_format_register):
170         * gst/gstformat.h:
171         * gst/gstquery.c: (_gst_query_initialize),
172         (gst_query_type_get_name), (gst_query_type_to_quark),
173         (gst_query_type_register):
174         * gst/gstquery.h:
175         Add type to quark and type to string conversions.
176
177 2005-11-19  Andy Wingo  <wingo@pobox.com>
178
179         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
180         #320097.
181
182 2005-11-19  Wim Taymans  <wim@fluendo.com>
183
184         * docs/design/part-TODO.txt:
185         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
186         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
187         (gst_bin_handle_message_func):
188         * gst/gstbin.h:
189         Make message handling overridable.
190
191 2005-11-19  Andy Wingo  <wingo@pobox.com>
192
193         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
194
195         * gst/gstclock.h:
196         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
197         be a GstClockTime.
198         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
199         is a GstClockTime. Fixes #321710.
200
201         * gst/gstclock.h (GstClock): Remove offset property. Add
202         internal_calibration and external_calibration. Fix padding. Pad
203         also by GstClockTime so we don't run into problems.
204
205         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
206         (gst_clock_get_rate_offset): Remove.
207         (gst_clock_set_time_adjust): Remove. Fixes #321712.
208
209         * gst/gstutils.h:
210         * gst/gstutils.c (g_static_rec_cond_wait)
211         (g_static_rec_cond_timed_wait): Removed, no longer needed.
212
213         * gst/gstbin.c: Remove terrible continue_state prototype.
214
215         * gst/gstelement.h (gst_element_continue_state): Make public.
216
217         * gst/gstelement.h:
218         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
219         by continue_state. Fixes #319389.
220
221         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
222         Really fixes #168438. However I don't see anywhere where the
223         filter function is called... stupid GStreamer...
224         
225         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
226         don't have a dispose function, so it won't get called when the
227         object is unreffed, but oh well!
228
229         * gst/gstindex.c (gst_index_set_filter_full): New API function,
230         allows a destroy function to be set so user_data can be freed.
231         Fixes #168438.
232         (gst_index_set_filter): Call gst_index_set_filter_full.
233
234         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
235
236         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
237         string should produce an error, given the lack of a way to
238         represent NULL strings. Fixes #165650.
239         
240         * gst/gstvalue.h: 
241         * gst/gstvalue.c (gst_value_array_append_value) 
242         (gst_value_array_prepend_value, gst_value_array_get_size) 
243         (gst_value_array_get_value): New API, copied from
244         gst_value_list_*, only operates on arrays.
245         (gst_value_list_append_value, gst_value_list_prepend_value) 
246         (gst_value_list_concat, gst_value_list_get_size) 
247         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
248
249         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
250         init_list, because it works on both.
251         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
252         (gst_value_copy_list_or_array): Renamed from copy_list.
253         (gst_value_free_list_or_array): Renamed from free_list.
254         (gst_value_collect_list_or_array): Renamed from collect_list.
255         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
256         (gst_value_list_or_array_peek_pointer): Renamed from
257         list_peek_pointer.
258         (_gst_value_array_value_table, _gst_value_list_value_table):
259         Update value table functions.
260         (gst_value_compare_list_or_array): Renamed from compare_list.
261
262         * gsttaglist.h: Whoops, foreach function returns void. Also fix
263         some constness.
264
265         * gst/gsttaglist.c:
266         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
267         GstTagList*. Fixes #143472.
268
269         * gst/gststructure.h: Clarify what the foreach/map functions can
270         or can't do to their arguments.
271
272 2005-11-18  Wim Taymans  <wim@fluendo.com>
273
274         * gst/gstclock.c: (gst_clock_set_calibration),
275         (gst_clock_get_calibration):
276         Doc and API fixes.
277         Callibration can be set with internal time equal to current
278         internal time too.
279
280 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
281
282         * gst/gsterror.c:
283         * gst/gsterror.h:
284           document
285
286 2005-11-18  Andy Wingo  <wingo@pobox.com>
287
288         * configure.ac: 
289         * pkgconfig/gstreamer-net.pc.in:
290         * pkgconfig/gstreamer-net-uninstalled.pc.in:
291         * pkgconfig/Makefile.am: Add net pkgconfig files.
292
293 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
294
295         * gst/gstcaps.c:
296         * gst/gstghostpad.c:
297         * gst/gsttrace.c:
298         * gst/gstvalue.c:
299         * gst/gstvalue.h:
300           docs fixes
301
302 2005-11-18  Andy Wingo  <wingo@pobox.com>
303
304         * gst/net/gstnetclientclock.c: Turn off debugging.
305
306         * check/net/gstnetclientclock.c (test_functioning): Assert that the
307         times connverge somewhat. Can't make a real test.
308
309         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
310         integer arithmetic. Return the minimum of the domain, which can be
311         set as "internal" for gst_clock_set_calibration.
312         (gst_net_client_clock_observe_times): Call _set_calibration.
313         (gst_net_client_clock_new): Call _set_calibration instead of
314         rate_offset.
315
316         * check/net/gstnetclientclock.c (test_functioning): Use the right
317         adjustment api.
318
319         * gst/gstclock.h:
320         * gst/gstclock.c (gst_clock_get_calibration) 
321         (gst_clock_set_calibration): New functions, obsolete the ones I
322         added yesterday. Doh. Precision issues mean we have to extrapolate
323         from a point in the more recent past than 1970.
324         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
325         obsolete.
326         (gst_clock_adjust_unlocked): Use the right calibration data.
327
328 2005-11-18  Edward Hervey  <edward@fluendo.com>
329
330         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
331         Also reset the ->current_* values in READY->PAUSED
332
333 2005-11-18  Andy Wingo  <wingo@pobox.com>
334
335         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
336         Whoops, check the right fd. Also add some debugging.
337         (gst_net_client_clock_observe_times): Adjust for int64 offset.
338         (do_linear_regression): Add a crapload of debugging. Subtract off
339         the minimum values from the input series to discard unneeded bits.
340         Use only int arithmetic. There is still double arithmetic when
341         calculating the intercept that needs fixing. Return boolean to
342         indicate success; FALSE would mean the domain or range is too
343         great. Still needs fixes.
344
345 2005-11-18  Wim Taymans  <wim@fluendo.com>
346
347         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
348         For the current position in stream time, we need to subtract
349         accumulated time.
350         
351         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
352         Release lock before calling the callback function of async
353         entries.
354
355 2005-11-18  Andy Wingo  <wingo@pobox.com>
356
357         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
358         Port goes all the way to MAXUINT16.
359
360         * gst/net/gstnettimeprovider.c: Make the port range the same as
361         for the kernel: 0 assigns, otherwise ports are less than
362         MAXUINT16.
363
364         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
365         port change.
366
367         * check/net/gstnetclientclock.c (test_functioning): Add the start
368         of another test. 
369
370 2005-11-18  Wim Taymans  <wim@fluendo.com>
371
372         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
373         (gst_bin_remove_func), (bin_bus_handler):
374         * gst/gstbin.h:
375         Removing a clock provider from a bin, triggers a clock lost message
376         so that a new clock will be selected.
377         Adding a clock to a bin triggers a clock provider message.
378         Make sure we reselect a clock when we received a clock lost message.
379         Keep a reference to the element that provided the clock.
380
381 2005-11-18  Andy Wingo  <wingo@pobox.com>
382
383         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
384         the clock initially so it produces values around the base time.
385         (gst_net_client_clock_class_init): Typo fix.
386         (gst_net_client_clock_thread): Add note on when the socket gets
387         closed.
388
389 2005-11-17  Wim Taymans  <wim@fluendo.com>
390
391         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
392         Free remote and local time arrays.
393
394 2005-11-17  Wim Taymans  <wim@fluendo.com>
395
396         * gst/net/gstnetclientclock.c: (do_linear_regression),
397         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
398         Fix compilation, uninitialized vars and a forgotten continue.
399
400 2005-11-17  Andy Wingo  <wingo@pobox.com>
401
402         * check/Makefile.am (check_PROGRAMS): 
403         * check/net/gstnetclientclock.c: Add a most minimal test for the
404         net client clock. More to come later.
405
406         * gst/net/gstnet.h: 
407         * gst/net/Makefile.am: Add netclientclock.
408
409         * gst/net/gstnetclientclock.h:
410         * gst/net/gstnetclientclock.c: New files, implement an untested
411         GstClock that takes its time from a network time provider.
412         Implements the algorithm in network-clock.scm.
413
414         * tests/network-clock.scm (*window-size*): Rename from
415         *queue-length*.
416         * tests/network-clock.scm (network-time): 
417         * tests/network-clock-utils.scm (q-push): Update callers.
418
419 2005-11-17  Wim Taymans  <wim@fluendo.com>
420
421         * gst/gstbin.c: (gst_bin_provide_clock_func),
422         (gst_bin_sort_iterator_new):
423         And unref the child too..
424
425 2005-11-17  Wim Taymans  <wim@fluendo.com>
426
427         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
428         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
429         Refactor the sort iterator so it can be used while holding the
430         LOCK too.
431         Make clock selection select a clock closest to the source.
432
433 2005-11-17  Michael Smith <msmith@fluendo.com>
434
435         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
436         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
437         * gst/gstclock.h:
438           Anonymous structs are a gcc (and some other compilers) extension, so
439           don't use them. Since this is only for ABI-compatibility, and our
440           API/ABI freeze is over in a few days, this whole thing will only
441           last a few days, so don't bother trying to think up a meaningful
442           name for the struct.
443
444 2005-11-17  Andy Wingo  <wingo@pobox.com>
445
446         * gst/gstclock.h (GstClock): Add rate and offset properties,
447         preserving ABI stability. Add rate/offset accessors. Will file bug
448         for the freeze break.
449
450         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
451         and offset, trying to keep precision and avoiding
452         underflow/overflow.
453         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
454         functions. Make gst_clock_set_time_adjust obsolete.
455         (gst_clock_set_time_adjust): Note that this function is obsolete.
456         Will file bug soon.
457
458         * gst/base/gstbasetransform.h: Make the ABI-stability hack
459         greppable by using GST_PADDING-1+1.
460
461 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
462
463         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
464
465         * gst/gstmessage.c: (gst_message_parse_clock_lost):
466           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
467
468         * gst/gstpadtemplate.h:
469         * gst/gstpluginfeature.h:
470           Don't use c++ style comments in headers (#321638).
471
472 2005-11-16  Andy Wingo  <wingo@pobox.com>
473
474         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
475         buffer.
476
477         * check/net/gstnettimeprovider.c: Check to see that the time
478         provider actually provides times. Works, yo!
479
480 2005-11-16  Wim Taymans  <wim@fluendo.com>
481
482         * check/Makefile.am:
483         Enable more tests.
484
485         * check/elements/fakesrc.c: (GST_START_TEST):
486         Set element to NULL before disposing it.
487
488 2005-11-16  Andy Wingo  <wingo@pobox.com>
489
490         * gst/net/Makefile.am:
491         * gst/net/gstnet.h:
492         * gst/net/gstnettimeprovider.c: 
493         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
494         provider, include it from gstnet.h, and add it to the build.
495
496         * gst/net/gstnettimepacket.h: 
497         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
498         sending and receiving.
499
500 2005-11-16  Wim Taymans  <wim@fluendo.com>
501
502         * check/Makefile.am:
503         Enable valgrind check.
504
505         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
506         (gst_fake_src_alloc_buffer):
507         Fix memleak.
508
509 2005-11-16  Wim Taymans  <wim@fluendo.com>
510
511         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
512         Call parent finalize too.
513
514 2005-11-16  Wim Taymans  <wim@fluendo.com>
515
516         * check/Makefile.am:
517         Enable valgrind check that should work fine now.
518
519         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
520         * gst/gstqueue.c: (gst_queue_init):
521         Fix memleaks in pad allocation.
522
523 2005-11-16  Andy Wingo  <wingo@pobox.com>
524
525         * gst/net/Makefile.am:
526         * gst/net/gstnet.h: New part of core to hold network elements and
527         objects. Put in core because it exposes API that applications want
528         to use. The library is named libgstnet-tempname right now because
529         of the existing libgstnet in gst-plugins-base. Solution is
530         probably to rename the one in plugins-base; will file a bug for
531         the freeze break.
532
533         * gst/net/gstnettimeprovider.c: 
534         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
535         get_time call over the network.
536
537         * configure.ac: 
538         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
539
540         * check/Makefile.am:
541         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
542         get additions shortly.
543
544 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
545
546         * gst/gstpad.c: (gst_pad_new_from_static_template):
547         * gst/gstpad.h:
548           add gst_pad_new_from_static_template functions
549         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
550         (gst_check_setup_sink_pad):
551         * gst/elements/gsttee.c: (gst_tee_init):
552           and use them
553
554 2005-11-16  Wim Taymans  <wim@fluendo.com>
555
556         * gst/gstpad.c: (gst_pad_pause_task):
557         Removed warning, it's not really an error either.
558
559 2005-11-16  Wim Taymans  <wim@fluendo.com>
560
561         * gst/base/gstbasetransform.c:
562         (gst_base_transform_prepare_output_buf),
563         (gst_base_transform_event):
564         Check if the caps are NULL, this can happen if the element
565         is shutting down and the pad caps are set to NULL.
566
567 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
568
569         * gst/elements/gsttee.c: (gst_tee_init):
570           fix pad tempalte leak in tee
571
572 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
573
574         * gst/glib-compat.c: (g_value_dup_gst_object):
575         * gst/glib-compat.h:
576         * gst/gstpad.c: (gst_pad_set_property):
577           use gst_object_ref when setting the pad template; this will
578           trigger the pad template leaks on GLib 2.6 and the slaves
579
580 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
581
582         * gst/glib-compat.c: (gst_flags_get_first_value):
583         * gst/glib-compat.h:
584         * gst/gstregistryxml.c:
585           remove functions copied from GLib 2.6
586
587 2005-11-16  Michael Smith <msmith@fluendo.com>
588
589         * gst/Makefile.am:
590           Don't link against VALGRIND_LIBS. That was always the wrong thing to
591           do, but only breaks with newer valgrind versions. We're not a
592           valgrind tool, we have no link-time dependencies on libcoregrind.
593
594 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
595
596         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
597           some debug changes
598         * gst/gstmessage.h:
599           typo fixes
600
601 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
602
603         * gst/base/gstbasesrc.c: (gst_base_src_init):
604         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
605         * gst/gstqueue.c: (gst_queue_init):
606         * gst/gstregistryxml.c: (load_feature):
607           Revert all these unrefs, they don't even pass make check !
608
609 2005-11-15  Johan Dahlin  <johan@gnome.org>
610
611         * gst/base/gstbasesrc.c: (gst_base_src_init):
612         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
613         * gst/gstqueue.c: (gst_queue_init): 
614         Free pad templates, fixes a couple of leaks.
615
616 2005-11-15  Daniel Fischer  <dan at f3c dot com>
617
618         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
619
620         * gst/gstpad.c: (gst_pad_get_property):
621           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
622           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
623           (#321452)
624
625 2005-11-15  Wim Taymans  <wim@fluendo.com>
626
627         * gst/gstevent.c:
628         Small doc update.
629
630 2005-11-15  Andy Wingo  <wingo@pobox.com>
631
632         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
633
634         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
635         using GST_CLOCK_TIME_NONE to disable base time management.
636         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
637         time if it was NONE before.
638         (gst_pipeline_change_state): Only munge the base time if
639         stream_time != GST_CLOCK_TIME_NONE.
640
641         * check/gst/gstpipeline.c (test_base_time): Punt around the
642         problem of the probe not being called, because that's not the
643         issue I'm looking at. Add a check that setting stream_time to NONE
644         disables base time management.
645         
646 2005-11-15  Wim Taymans  <wim@fluendo.com>
647
648         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
649         segment_stop == -1 at startup.
650
651         * gst/base/gstbasetransform.c: (gst_base_transform_event),
652         (gst_base_transform_change_state):
653         Init segment values at start.
654
655 2005-11-15  Wim Taymans  <wim@fluendo.com>
656
657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
658         0 segment values are 0 in any format.
659
660         * gst/base/gstbasetransform.c: (gst_base_transform_event):
661         * gst/base/gstbasetransform.h:
662         Parse newsegment correctly in basetransform
663
664         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
665         Sync to clock using updated segment values.
666
667 2005-11-15  Andy Wingo  <wingo@pobox.com>
668
669         * check/gst/gstpipeline.c (test_base_time): Add check that the
670         base time and stream time are reset correctly.
671
672 2005-11-15  Wim Taymans  <wim@fluendo.com>
673
674         * docs/design/part-TODO.txt:
675         Some more TODO items.
676
677 2005-11-15  Andy Wingo  <wingo@pobox.com>
678
679         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
680         error if the user selected "no clock" as the clocking method.
681
682         * check/gst/gstpipeline.c (test_base_time): New test for buffer
683         timestamps with live capture.
684
685         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
686         is 0 but we are a live source, timestamp the buffers using the
687         element's clock.
688
689 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
690
691         * docs/gst/gstreamer-sections.txt:
692         * gst/gsterror.c:
693         * gst/gstghostpad.c:
694         * gst/gstobject.h:
695         * gst/gstxml.c:
696           more section docs
697
698 2005-11-14  Wim Taymans  <wim@fluendo.com>
699
700         * common/gst.supp:
701           add suppressions from Wim's Debian machine
702
703 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
704
705         * common/gst.supp:
706           add suppressions from Andy's AMD64 Ubuntu machine
707
708 2005-11-14  Andy Wingo  <wingo@pobox.com>
709
710         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
711         STATE_LOCK not necessary. Fixes #311489.
712
713         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
714         #305291.
715
716         * gst/gstindex.c (gst_index_add_object): Note in the docs that
717         this function is not implemented.
718
719 2005-11-14  Julien MOUTTE  <julien@moutte.net>
720
721         * gst/base/gstbasetransform.c:
722         (gst_base_transform_prepare_output_buf):
723         Ref the source pad caps while we need them.
724         Fixes (#321386)
725
726 2005-11-11  Wim Taymans  <wim@fluendo.com>
727
728         * docs/gst/gstreamer-sections.txt:
729         Added some docs for GstCollectData.
730
731         * gst/base/gstadapter.c:
732         Some small code example fix.
733
734         * gst/base/gstcollectpads.c:
735         * gst/base/gstcollectpads.h:
736         Document some more.
737
738 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * configure.ac: back to HEAD
741
742 === release 0.9.5 ===
743
744 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
745
746         * configure.ac:
747           releasing 0.9.5, "Bike Lunch Day"
748
749 2005-11-11  Wim Taymans  <wim@fluendo.com>
750
751         * gst/gstbuffer.c: (_gst_buffer_copy):
752         Copy more flags.
753
754         * gst/gstcaps.c: (gst_caps_is_equal):
755         Fix some docs.
756         Make _is_equal fast in the trivial cases.
757
758         * gst/gstminiobject.c:
759         * gst/gstminiobject.h:
760         More docs. Spifify .h file.
761
762         * gst/gstutils.c:
763         Small doc update.
764
765 2005-11-11  Wim Taymans  <wim@fluendo.com>
766
767         * gst/base/gstbasetransform.c:
768         (gst_base_transform_prepare_output_buf),
769         (gst_base_transform_handle_buffer):
770         Small cleanups.
771         If we're processing a buffer and need to allocate an output
772         buffer, we cannot accept a format change. If we did get a 
773         format change, we have to alloc a buffer ourselves of the 
774         right size.
775
776 2005-11-11  Wim Taymans  <wim@fluendo.com>
777
778         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
779         While checking the flag for reentrancy in the gstcaps function
780         is nice to detect recursive invocations, it also makes it 
781         impossible to call getcaps from multiple threads, which must be
782         possible. So, checking for recursive calls has to go.
783
784 2005-11-11  Michael Smith <msmith@fluendo.com>
785
786         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
787           Don't sync on buffers that fall partially outside our current
788           segment. Prevents an assertion failure/abort playing some files.
789
790 2005-11-10  Andy Wingo  <wingo@pobox.com>
791
792         * check/gst/gstbin.c (test_message_state_changed_children): Style
793         fix..
794
795         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
796         gst_bus_poll with the signal watch. Ensures that poll and a signal
797         watch see the same messages.
798
799         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
800         a poll and a watch at the same time get the same messages.
801
802 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
803
804         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
805         * gst/gstcaps.c: (gst_caps_intersect):
806           Don't call gst_caps_do_simplify - it doesn't respect order of caps
807           and it's not needed.
808
809 2005-11-10  Wim Taymans  <wim@fluendo.com>
810
811         * docs/design/part-TODO.txt:
812         Updated todo.
813
814 2005-11-10  Wim Taymans  <wim@fluendo.com>
815
816         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
817         * gst/base/gstbasesrc.c: (gst_base_src_wait),
818         (gst_base_src_do_sync), (gst_base_src_get_range):
819         Implement clock sync in base class.
820
821 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
822
823         patch by: Tim-Philipp Müller <tim at centricular dot net>
824
825         * gst/gststructure.c: (gst_structure_parse_field),
826         (gst_structure_from_string):
827           Forward-port a 0.8 patch to handle escaped spaces in structure string,
828           so that gst_parse_launch() can deal with spaces in filtered link
829           caps (fixes #164479)
830         * check/gst/capslist.h:
831         * check/gst/gststructure.c: (GST_START_TEST):
832           add unit tests for this change
833
834 2005-11-10  Wim Taymans  <wim@fluendo.com>
835
836         * docs/gst/gstreamer-sections.txt:
837         * gst/gstelement.c:
838         * gst/gstelement.h:
839         Fix docs, move some STATE macros to private.
840
841 2005-11-10  Wim Taymans  <wim@fluendo.com>
842
843         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
844         Added check for bug #317341
845
846         * gst/gstbuffer.c:
847         * gst/gstbuffer.h:
848         Some more spiffifying.
849
850         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
851         Call peer linkfunction if we are a source pad. Totally fixes
852         #317341
853
854         * gst/gstpad.c:
855         Update docs, source pads should call the peer linkfunction
856         so they can atomically perform the pad link.
857
858 2005-11-09  Wim Taymans  <wim@fluendo.com>
859
860         * gst/gstbuffer.c:
861         * gst/gstbuffer.h:
862         Uber-spiffy-spiffify some more.
863
864 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
865
866         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
867         * gst/elements/gstfilesink.c: (gst_file_sink_init):
868         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
869         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
870         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
871         * gst/gstpad.c: (gst_pad_init):
872           Use GST_DEBUG_FUNCPTR() more extensively.
873
874 2005-11-09  Wim Taymans  <wim@fluendo.com>
875
876         * gst/gstobject.c: (gst_object_class_init):
877         * gst/gstobject.h:
878         Documentation fixes.
879
880 2005-11-09  Edward Hervey  <edward@fluendo.com>
881
882         * gst/gsttypefindfactory.c:
883         Fix docs.
884         
885 2005-11-09  Edward Hervey  <edward@fluendo.com>
886
887         * gst/base/gsttypefindhelper.c:
888         * gst/gsttypefind.c:
889         * gst/gsttypefind.h:
890         Fix docs.
891
892 2005-11-09  Wim Taymans  <wim@fluendo.com>
893
894         * gst/gstiterator.c:
895         Fix revision data.
896
897         * gst/gsttask.c:
898         * gst/gsttask.h:
899         Fix docs.
900
901 2005-11-09  Wim Taymans  <wim@fluendo.com>
902
903         * gst/gstevent.h:
904         * gst/gsturi.h:
905         Fix docs.
906
907 2005-11-09  Wim Taymans  <wim@fluendo.com>
908
909         * docs/gst/gstreamer-sections.txt:
910         Moved the message async delivery private lock and cond
911         to the private section.
912
913         * gst/gstmessage.c:
914         * gst/gstmessage.h:
915         Fixed docs.
916
917 2005-11-09  Edward Hervey  <edward@fluendo.com>
918
919         * docs/gst/gstreamer-sections.txt:
920         * gst/gsturi.c:
921         * gst/gsturi.h:
922         Document GstURIHandler
923
924 2005-11-09  Wim Taymans  <wim@fluendo.com>
925
926         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
927         (gst_iterator_find_custom):
928         * gst/gstiterator.h:
929         Fix iterator docs.
930
931 2005-11-09  Wim Taymans  <wim@fluendo.com>
932
933         * gst/gstbin.h:
934         Document another field.
935
936         * gst/gststructure.c:
937         * gst/gststructure.h:
938         Document.
939
940 2005-11-09  Wim Taymans  <wim@fluendo.com>
941
942         * gst/gstbin.h:
943         Documented structs.
944
945 2005-11-09  Wim Taymans  <wim@fluendo.com>
946
947         * docs/gst/gstreamer-sections.txt:
948         Added some new macros.
949
950         * gst/gstclock.c:
951         * gst/gstclock.h:
952         * gst/gstobject.h:
953         Docs updates.
954
955 2005-11-09  Wim Taymans  <wim@fluendo.com>
956
957         * docs/design/part-TODO.txt:
958         Some more items for the TODO
959
960         * gst/gstcaps.c:
961         * gst/gstcaps.h:
962         Document GstCaps.
963
964 2005-11-09  Andy Wingo  <wingo@pobox.com>
965
966         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
967         to work on something else now tho...
968
969         * gst/base/gstadapter.c: More adapter docs.
970
971         * gst/elements/gstfilesink.c (gst_file_sink_start) 
972         (gst_file_sink_stop): New functions, replace the state change
973         handler.
974         (gst_file_sink_class_init): Hook up the start and stop functions.
975         (gst_file_sink_base_init): Don't set the state change handler any
976         more. It was a bit ugly too, being set from here...
977         (gst_file_sink_get_property, gst_file_sink_set_property):
978         Cleanups...
979         (gst_file_sink_set_location): More robust check that doesn't call
980         GST_STATE. Ugggggg.
981
982 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
983
984         * gst/base/gstbasetransform.c: (gst_base_transform_event):
985           Hold STREAM_LOCK while pushing newsegment or tag events as well.
986
987 2005-11-08  Wim Taymans  <wim@fluendo.com>
988
989         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
990         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
991         (gst_base_sink_chain), (gst_base_sink_change_state):
992         * gst/base/gstbasesink.h:
993         * gst/base/gstbasesrc.h:
994         * gst/gstelement.h:
995         * gst/gstevent.h:
996         Avoid excessive typechecking in macros.
997
998         * gst/gstminiobject.c: (gst_mini_object_get_type),
999         (gst_mini_object_init), (gst_mini_object_new),
1000         (gst_mini_object_free):
1001         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
1002         (gst_object_finalize):
1003         Remove cruft code, optimize alloc_trace.
1004
1005 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1006
1007         * docs/faq/gst-uninstalled:
1008           fix up PS1 for systems that try to reset it
1009
1010 2005-11-07  Wim Taymans  <wim@fluendo.com>
1011
1012         * gst/base/gstbasesrc.c: (gst_base_src_init),
1013         (gst_base_src_get_range):
1014         Set the segment_end to -1 initially. Fixed typefind.
1015
1016 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
1017
1018         * gst/base/gstadapter.c:
1019           Debug category should be 'adapter', not 'GstAdapter'.
1020           
1021         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
1022         (gst_collectpads_class_init), (gst_collectpads_init),
1023         (gst_collectpads_peek), (gst_collectpads_pop),
1024         (gst_collectpads_event), (gst_collectpads_chain):
1025           Add debug category and some debugging output. Use boilerplate
1026           macros. Remove some extraneous words from docs.
1027
1028 2005-11-05  Andy Wingo  <wingo@pobox.com>
1029
1030         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
1031         macro.
1032
1033 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1034
1035         * docs/gst/gstreamer-sections.txt:
1036         * gst/gstcaps.h:
1037         * gst/gstinfo.c:
1038         * gst/gstminiobject.h:
1039         * gst/gstobject.h:
1040         * gst/gstutils.h:
1041           more docs added
1042
1043 2005-11-04  Wim Taymans  <wim@fluendo.com>
1044
1045         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1046         Small update to stop at the configured segment_end
1047         position.
1048
1049 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
1050
1051         * gst/gstregistry.c:
1052         * gst/gstregistry.h:
1053           added missing docs
1054
1055 2005-11-04  Edward Hervey  <edward@fluendo.com>
1056
1057         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1058         Check if we are doing a segment seek and have arrived at the
1059         end of that segment.
1060
1061 2005-11-04  Wim Taymans  <wim@fluendo.com>
1062
1063         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
1064         Don't leak a mutex unlock in case of an error.
1065
1066         * gst/gstbus.h:
1067         Doc fixes.
1068
1069 2005-11-04  Wim Taymans  <wim@fluendo.com>
1070
1071         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
1072         (gst_bus_post):
1073         Get the context to wake up only once.
1074
1075 2005-11-03  Wim Taymans  <wim@fluendo.com>
1076
1077         * check/states/sinks.c: (GST_START_TEST):
1078         Uncomment fixed check.
1079
1080         * docs/design/part-TODO.txt:
1081         Updated TODO.
1082
1083         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1084         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1085         (gst_base_sink_get_position):
1086         If we are going to PLAYING, post the right pending state
1087         when we post the intermediate paused message.
1088
1089         * gst/gstelement.c: (gst_element_continue_state),
1090         (gst_element_set_state_func), (gst_element_change_state):
1091         Don't post state changes that were between the same state
1092         and were not ASYNC.
1093
1094 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1095
1096         * docs/gst/gstreamer-sections.txt:
1097         * gst/gstcaps.h:
1098         * gst/gstinfo.c:
1099         * gst/gstminiobject.h:
1100         * gst/gstobject.h:
1101         * gst/gstutils.h:
1102           more docs and doc style fixes
1103
1104 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
1105
1106         * docs/gst/gstreamer-sections.txt:
1107         * gst/gstelement.c:
1108         * gst/gstminiobject.c:
1109         doc fixes
1110
1111 2005-11-03  Andy Wingo  <wingo@pobox.com>
1112
1113         * check/states/sinks.c (test_livesrc_sink): Add checks that the
1114         state-changed messages actually have the right order and the right
1115         values.
1116
1117 2005-11-03  Wim Taymans  <wim@fluendo.com>
1118
1119         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1120         Added some more checks. Specifically the case where NO_PREROLL
1121         elements are in the pipeline.
1122
1123         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1124         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
1125         (gst_base_sink_get_position):
1126         Post READY->PAUSED state change messages too.
1127         Fix bug where VOID was posted as pending state...
1128
1129         * gst/gstbin.c: (gst_bin_recalc_state):
1130         use _element_continue_state() to continue the state change.
1131
1132         * gst/gstelement.c: (gst_element_continue_state),
1133         (gst_element_commit_state), (gst_element_set_state_func),
1134         (gst_element_change_state), (gst_element_change_state_func):
1135         Lots of state change cleanups, assign the STATE_RETURN in
1136         a new continue_state() function that also propagates the
1137         last return value from a state change to the app.
1138         Update some debug statements with proper category.
1139
1140 2005-11-03  Wim Taymans  <wim@fluendo.com>
1141
1142         * docs/design/part-events.txt:
1143         * docs/design/part-gstpipeline.txt:
1144         * docs/design/part-messages.txt:
1145         * docs/design/part-overview.txt:
1146         * docs/design/part-seeking.txt:
1147         * docs/design/part-states.txt:
1148         * docs/design/part-trickmodes.txt:
1149         * docs/manual/advanced-position.xml:
1150         Small docs updates.
1151
1152         * gst/gstobject.h:
1153         People think !! is ugly, this looks better.
1154
1155         * gst/gstpad.c: (gst_pad_set_blocked_async):
1156         Remove !! since it's fixed elsewhere now.
1157
1158 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1159
1160         * gst/gstminiobject.h:
1161         * gst/gstobject.h:
1162           Add !! to _FLAG_IS_SET macros to make the result boolean.
1163
1164 2005-11-03  Edward Hervey  <edward@fluendo.com>
1165
1166         * gst/gstpad.c: (gst_pad_set_blocked_async):
1167         comparing a flag and a gboolean rarely returns coherent results...
1168         Added two characters (!!) to make that work correctly.
1169         
1170 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1171
1172         * gst/gstbus.c: (gst_bus_class_init):
1173           Fix some typos.
1174           
1175         * gst/gstqueue.c: (gst_queue_loop):
1176           Don't assume a miniobject that isn't a buffer is an
1177           event (it could be that there is a refcounting
1178           problem somewhere and the pointer is stale and
1179           refers to an already destroyed miniobject).
1180
1181 2005-11-03  Julien MOUTTE  <julien@moutte.net>
1182
1183         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
1184
1185 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
1186
1187         * docs/manual/advanced-position.xml:
1188           Update seek example and explanations to current 0.9 API.
1189
1190         * gst/elements/gsttypefindelement.c:
1191         (gst_type_find_element_activate):
1192           Remove FIXME comment now that the found caps
1193           are unreffed.
1194
1195 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1196
1197         * gst/gstregistryxml.c: (load_feature):
1198           Add another GST_STR_NULL instance
1199
1200 2005-11-02  Edward Hervey  <edward@fluendo.com>
1201
1202         * gst/gstpad.c: (handle_pad_block):
1203         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
1204         
1205 2005-11-02  Wim Taymans  <wim@fluendo.com>
1206
1207         * gst/gstbin.c:
1208         Fix typo in docs.
1209
1210         * gst/gstelement.c: (gst_element_commit_state):
1211         Remove unused value.
1212
1213         * gst/gstiterator.c:
1214         Mention that the returned element is reffed in the docs.
1215
1216 2005-11-02  Wim Taymans  <wim@fluendo.com>
1217
1218         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
1219         (gst_pad_push), (gst_pad_push_event):
1220         Unlock blocked pads when they are flushed.
1221
1222 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1223
1224         * docs/README:
1225         * docs/gst/gstreamer-sections.txt:
1226         * gst/gstbin.c:
1227           doc updates
1228         * gst/gstregistry.c: (gst_registry_scan_path_level):
1229           fix for a nasty little missed situation where an installed plug-in
1230           which was in the cache did not get overridden by an uninstalled one
1231           which was earlier in the plugin path because the newly created plugin
1232           for the uninstalled one (not in the registry) didn't get its
1233           ->registered set to TRUE
1234
1235 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1236
1237         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1238         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1239         (gst_collectpads_is_active), (gst_collectpads_collect),
1240         (gst_collectpads_collect_range), (gst_collectpads_start),
1241         (gst_collectpads_stop), (gst_collectpads_peek),
1242         (gst_collectpads_pop), (gst_collectpads_available),
1243         (gst_collectpads_read), (gst_collectpads_flush):
1244           Guard public API with assertions.
1245         
1246         * gst/gstpad.c:
1247           Fix docs for gst_pad_set_link_function().
1248
1249 2005-11-02  Johan Dahlin  <johan@gnome.org>
1250
1251         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
1252         Unref found_caps after we used it.
1253
1254 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
1255
1256         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
1257           Don't try to ref NULL.
1258
1259 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1260
1261         * win32/common/config.h.in:
1262           provide a GST_FUNCTION that just gives a string for now
1263
1264 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1265
1266         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1267         (gst_object_flags_get_type), (register_gst_bin_flags),
1268         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1269         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1270         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1271         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
1272         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1273         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1274         (gst_clock_flags_get_type), (register_gst_state),
1275         (gst_state_get_type), (register_gst_state_change_return),
1276         (gst_state_change_return_get_type), (register_gst_state_change),
1277         (gst_state_change_get_type), (register_gst_element_flags),
1278         (gst_element_flags_get_type), (register_gst_core_error),
1279         (gst_core_error_get_type), (register_gst_library_error),
1280         (gst_library_error_get_type), (register_gst_resource_error),
1281         (gst_resource_error_get_type), (register_gst_stream_error),
1282         (gst_stream_error_get_type), (register_gst_event_type),
1283         (gst_event_type_get_type), (register_gst_seek_type),
1284         (gst_seek_type_get_type), (register_gst_seek_flags),
1285         (gst_seek_flags_get_type), (register_gst_format),
1286         (gst_format_get_type), (register_gst_index_certainty),
1287         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1288         (gst_index_entry_type_get_type),
1289         (register_gst_index_lookup_method),
1290         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1291         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1292         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1293         (gst_index_flags_get_type), (register_gst_debug_level),
1294         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1295         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1296         (gst_iterator_result_get_type), (register_gst_iterator_item),
1297         (gst_iterator_item_get_type), (register_gst_message_type),
1298         (gst_message_type_get_type), (register_gst_mini_object_flags),
1299         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1300         (gst_pad_link_return_get_type), (register_gst_flow_return),
1301         (gst_flow_return_get_type), (register_gst_activate_mode),
1302         (gst_activate_mode_get_type), (register_gst_pad_direction),
1303         (gst_pad_direction_get_type), (register_gst_pad_flags),
1304         (gst_pad_flags_get_type), (register_gst_pad_presence),
1305         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1306         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1307         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1308         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1309         (gst_plugin_flags_get_type), (register_gst_rank),
1310         (gst_rank_get_type), (register_gst_query_type),
1311         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1312         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1313         (gst_tag_flag_get_type), (register_gst_task_state),
1314         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1315         (gst_alloc_trace_flags_get_type),
1316         (register_gst_type_find_probability),
1317         (gst_type_find_probability_get_type), (register_gst_uri_type),
1318         (gst_uri_type_get_type), (register_gst_parse_error),
1319         (gst_parse_error_get_type):
1320         * win32/common/gstversion.h:
1321           update win32 copies
1322
1323 2005-11-01  Luca Ognibene  <luogni@tin.it>
1324
1325         * gst/gst.c:
1326           fix docs. popt is dead, long live GOption.
1327
1328 2005-10-31  Wim Taymans  <wim@fluendo.com>
1329
1330         * gst/gstbuffer.h:
1331         Small doc fix.
1332
1333 2005-10-31  Andy Wingo  <wingo@pobox.com>
1334
1335         * Boo!
1336
1337         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
1338
1339         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
1340         need to serialize property notifications on GLib 2.8. GLib 2.6 has
1341         the possibility of deadlocks here if code calling notify() or
1342         set() has a lock that can be taken in another notify handler (ABBA
1343         with class lock and e.g. python GIL state lock).
1344
1345 2005-10-28  Julien MOUTTE  <julien@moutte.net>
1346
1347         * gst/gstbus.c: Doc updates.
1348
1349 2005-10-28  Wim Taymans  <wim@fluendo.com>
1350
1351         * docs/design/part-TODO.txt:
1352         * gst/gstiterator.c:
1353         * gst/gstsystemclock.c:
1354         * gst/gstsystemclock.h:
1355         Doc updates.
1356
1357 2005-10-28  Edward Hervey  <edward@fluendo.com>
1358
1359         * docs/gst/gstreamer-docs.sgml:
1360         * docs/gst/gstreamer-sections.txt:
1361         the GstURIType documentation page is private, it only defines GstURIType
1362         which should be defined in the GstURIHandler page
1363         
1364 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1365
1366         * gst/gstbin.c: (gst_bin_class_init):
1367         * gst/gstbin.h:
1368         * gst/gstutils.c:
1369         Documentation updates.
1370
1371 2005-10-28  Wim Taymans  <wim@fluendo.com>
1372
1373         * docs/gst/gstreamer-sections.txt:
1374         * gst/gstclock.c:
1375         * gst/gstclock.h:
1376         Documented the clocks.
1377
1378 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
1379
1380         * docs/gst/gstreamer-sections.txt:
1381           move some macros to private sections
1382         * gst/gstminiobject.c:
1383         * gst/gstminiobject.h:
1384           add descriptions provided by ds and some more
1385         * gst/gstpad.h:
1386           mark macro as to be removed
1387
1388 2005-10-28  Wim Taymans  <wim@fluendo.com>
1389
1390         * docs/design/part-TODO.txt:
1391         Add an item to TODO.
1392
1393         * gst/gstiterator.c: (gst_iterator_fold),
1394         (gst_iterator_find_custom):
1395         * gst/gstiterator.h:
1396         Add iterator docs.
1397
1398 2005-10-28  Wim Taymans  <wim@fluendo.com>
1399
1400         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1401         (gst_base_transform_init):
1402         Don't leak class.
1403
1404         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
1405         An EOS event marks the queue as completely filled.
1406
1407 2005-10-27  Wim Taymans  <wim@fluendo.com>
1408
1409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1410         (gst_base_sink_do_sync), (gst_base_sink_get_position):
1411         Some more debugging.
1412
1413         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1414         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
1415         (gst_base_transform_event), (gst_base_transform_getrange),
1416         (gst_base_transform_chain):
1417         * gst/base/gstbasetransform.h:
1418         Fix debugging,
1419         Protect transform and concurrent buffer alloc with a new lock.
1420         Try not to break ABI/API.
1421
1422 2005-10-27  Wim Taymans  <wim@fluendo.com>
1423
1424         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1425         (gst_base_src_init), (gst_base_src_query),
1426         (gst_base_src_default_newsegment),
1427         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1428         (gst_base_src_send_event), (gst_base_src_event_handler),
1429         (gst_base_src_pad_get_range), (gst_base_src_loop),
1430         (gst_base_src_unlock), (gst_base_src_default_negotiate),
1431         (gst_base_src_start), (gst_base_src_deactivate),
1432         (gst_base_src_activate_push), (gst_base_src_change_state):
1433         Move some stuff around and cleanup things.
1434
1435 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
1436
1437         * gst/base/gstbasesrc.c: (gst_base_src_query):
1438           Add missing break statements.
1439
1440 2005-10-27  Wim Taymans  <wim@fluendo.com>
1441
1442         * check/gst/gstbin.c: (GST_START_TEST):
1443         An extra refcount is taken in basesrc.
1444
1445         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1446         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1447         (gst_base_src_loop):
1448         Small cleanups, check for flushing after being unlocked from the 
1449         LIVE_LOCK. take refcounts correctly (not yet everywhere).
1450         Don't send out EOS when going to READY.
1451
1452 2005-10-27  Wim Taymans  <wim@fluendo.com>
1453
1454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1455         (gst_base_sink_get_position):
1456         Some more debug.
1457
1458         * gst/gstbin.c: (message_check), (bin_replace_message),
1459         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1460         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1461         (bin_query_duration_init), (bin_query_duration_fold),
1462         (bin_query_duration_done), (bin_query_generic_fold),
1463         (gst_bin_query):
1464         * tools/gst-launch.c: (main):
1465         Remove old option.
1466
1467 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
1468
1469         * examples/controller/audio-example.c: (main):
1470         * examples/queue/queue.c: (event_loop):
1471         * gst/base/gstbasetransform.h:
1472         * gst/gstelement.c: (gst_element_send_event):
1473         * gst/gstevent.h:
1474         * gst/gstpad.c: (gst_pad_send_event):
1475           fixing examples
1476           fixing docs typos
1477           changing log priority in error situations
1478
1479 2005-10-25  Wim Taymans  <wim@fluendo.com>
1480
1481         * gst/gstbin.c: (message_check), (bin_replace_message),
1482         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1483         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1484         (bin_query_duration_init), (bin_query_duration_fold),
1485         (bin_query_duration_done), (bin_query_generic_fold),
1486         (gst_bin_query):
1487         Some doc and debug updates.
1488         Cache previously requested query DURATION for speed. invalidate
1489         cached duration if element posts a DURATION message.
1490
1491 2005-10-25  Wim Taymans  <wim@fluendo.com>
1492
1493         * docs/design/part-TODO.txt:
1494         Update TODO.
1495
1496         * gst/gstbin.c: (message_check), (bin_replace_message),
1497         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1498         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1499         (bin_query_duration_init), (bin_query_duration_fold),
1500         (bin_query_duration_done), (bin_query_generic_fold),
1501         (gst_bin_query):
1502         Handle SEGMENT_START/DONE messages correctly.
1503         More evolved query algorithm that handles duration queries
1504         correctly.
1505
1506         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
1507         (gst_element_get_state_func), (gst_element_abort_state),
1508         (gst_element_commit_state), (gst_element_lost_state):
1509         Some more debugging.
1510
1511         * gst/gstmessage.h:
1512         Added doc.
1513
1514 2005-10-25  Wim Taymans  <wim@fluendo.com>
1515
1516         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1517         Don't use invalid stream_time.
1518
1519         * gst/gstevent.c: (gst_event_new_newsegment):
1520         stream_time in newsegment cannot be undefined.
1521
1522 2005-10-24  Wim Taymans  <wim@fluendo.com>
1523
1524         * gst/gstbus.c:
1525         Doc fix.
1526
1527         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1528         (gst_queue_loop):
1529         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
1530
1531 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
1532
1533         * docs/libs/tmpl/gstdparam.sgml:
1534         * docs/libs/tmpl/gstdplinint.sgml:
1535         * docs/libs/tmpl/gstdpman.sgml:
1536         * docs/libs/tmpl/gstdpsmooth.sgml:
1537         * docs/libs/tmpl/gstunitconvert.sgml:
1538           these are obsolete
1539
1540 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1541
1542         * configure.ac:
1543           back to HEAD
1544
1545 === release 0.9.4 ===
1546
1547 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1548
1549         * configure.ac:
1550           releasing 0.9.4, "Tyrannosaurus Rex"
1551
1552 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
1555         (gst_file_sink_get_current_offset):
1556           Use fseeko() and ftello() if available. When falling back on
1557           lseek() to get the current offset, fflush() first to make sure
1558           everything is up-to-date and we get the right offset.
1559
1560 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1561
1562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1563         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1564         * gst/gsterror.c: (_gst_stream_errors_init):
1565         * gst/gsterror.h:
1566         * gst/gstqueue.c: (gst_queue_loop):
1567         * po/POTFILES.in:
1568           remove prematurely added error category and clean up the instances
1569
1570 2005-10-21  Wim Taymans  <wim@fluendo.com>
1571
1572         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1573         (gst_base_sink_get_position), (gst_base_sink_query),
1574         (gst_base_sink_change_state):
1575         Simply set the right flag when going to playing, that's all
1576         we need to do instead of calling a function inside the object
1577         lock (that could take the lock as well and deadlock)
1578
1579 2005-10-21  Wim Taymans  <wim@fluendo.com>
1580
1581         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
1582         (gst_base_src_loop):
1583         Don't warn, the peer element knows what to do best when
1584         the seek failed, it might try something else.
1585
1586 2005-10-21  Wim Taymans  <wim@fluendo.com>
1587
1588         * gst/base/gstbasesrc.c: (gst_base_src_init),
1589         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1590         Fix seeking.
1591
1592 2005-10-21  Wim Taymans  <wim@fluendo.com>
1593
1594         * docs/design/part-segments.txt:
1595         More docs.
1596
1597         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1598         Correctly set caps, even on the subbufer.
1599
1600 2005-10-21  Wim Taymans  <wim@fluendo.com>
1601
1602         * docs/gst/gstreamer-docs.sgml:
1603         * docs/gst/gstreamer-sections.txt:
1604         * gst/gstelement.h:
1605         * gst/gstevent.c:
1606         * gst/gstevent.h:
1607         * gst/gstmessage.h:
1608         * gst/gstpad.h:
1609         * gst/gstparse.h:
1610         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
1611         * gst/gsttask.h:
1612         * gst/gstutils.c:
1613         * gst/gstutils.h:
1614         And 2% more doc coverage.
1615
1616 2005-10-21  Andy Wingo  <wingo@pobox.com>
1617
1618         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
1619         position reporting.
1620
1621 2005-10-20  Wim Taymans  <wim@fluendo.com>
1622
1623         * gst/gsterror.c: (gst_error_get_message):
1624         * gst/gstparse.h:
1625         * gst/gstquery.h:
1626         * gst/gststructure.c:
1627         * gst/gsttrace.c:
1628         * gst/gstutils.c:
1629         More docs.
1630
1631 2005-10-20  Wim Taymans  <wim@fluendo.com>
1632
1633         * gst/gstbuffer.h:
1634         * gst/gstpad.c:
1635         * gst/gstparse.c:
1636         Another 1% more coverage.
1637
1638 2005-10-20  Wim Taymans  <wim@fluendo.com>
1639
1640         * docs/gst/gstreamer-sections.txt:
1641         * gst/gstelement.c: (gst_element_get_state_func),
1642         (gst_element_abort_state), (gst_element_commit_state),
1643         (gst_element_lost_state):
1644         * gst/gstevent.h:
1645         * gst/gstquery.c: (gst_query_set_position),
1646         (gst_query_parse_position), (gst_query_set_duration),
1647         (gst_query_parse_duration), (gst_query_new_convert):
1648         * gst/gstutils.c:
1649         Yay! 1% more docs coverage.
1650
1651 2005-10-20  Wim Taymans  <wim@fluendo.com>
1652
1653         * gst/gstpad.h:
1654         * gst/gstquery.c: (gst_query_set_position),
1655         (gst_query_parse_position), (gst_query_set_duration),
1656         (gst_query_parse_duration), (gst_query_new_convert):
1657         * gst/gstquery.h:
1658         * gst/gstutils.c: (gst_element_query_convert):
1659         * gst/gstutils.h:
1660         Docs and consistency fixes.
1661
1662 2005-10-20  Wim Taymans  <wim@fluendo.com>
1663
1664         * gst/gsttask.c:
1665         * gst/gsttask.h:
1666         More docs.
1667
1668 2005-10-20  Wim Taymans  <wim@fluendo.com>
1669
1670         * gst/gstbin.c: (message_check), (bin_replace_message),
1671         (bin_remove_messages), (is_eos), (gst_bin_add_func),
1672         (update_degree), (gst_bin_sort_iterator_next),
1673         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
1674         Reworked the message handling a bit, cache the messages instead of
1675         only the senders. alows us to do more in the future.
1676
1677 2005-10-20  Wim Taymans  <wim@fluendo.com>
1678
1679         * docs/design/part-TODO.txt:
1680         Update TODO
1681
1682         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1683         (gst_base_sink_query):
1684         Don't use clock time to report position when in EOS.
1685
1686 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
1687
1688         * tools/gst-inspect.c: (print_interfaces),
1689         (print_element_properties_info), (print_element_info):
1690           Fix interface output with gst-inspect -a; don't print
1691           newlines after double/float properties.
1692
1693 2005-10-20  Wim Taymans  <wim@fluendo.com>
1694
1695         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1696         (gst_base_sink_query):
1697         Speed up current position calculation.
1698
1699         * gst/base/gstbasesrc.c: (gst_base_src_query),
1700         (gst_base_src_default_newsegment):
1701         Correctly set stream position in newsegment.
1702
1703         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
1704         (update_degree), (gst_bin_sort_iterator_next),
1705         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
1706         * gst/gstmessage.c: (gst_message_new_custom):
1707         Clean up debugging info
1708
1709         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1710         (gst_queue_loop), (gst_queue_handle_src_query):
1711         Pause task faster.
1712
1713 2005-10-19  Wim Taymans  <wim@fluendo.com>
1714
1715         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1716         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1717         Fix query handling again.
1718
1719 2005-10-19  Wim Taymans  <wim@fluendo.com>
1720
1721         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1722         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1723         * gst/base/gstbasesrc.c: (gst_base_src_query):
1724         * gst/elements/gstfilesink.c: (gst_file_sink_query):
1725         * gst/elements/gsttypefindelement.c:
1726         (gst_type_find_handle_src_query), (find_element_get_length),
1727         (gst_type_find_element_activate):
1728         API change fix.
1729
1730         * gst/gstquery.c: (gst_query_new_position),
1731         (gst_query_set_position), (gst_query_parse_position),
1732         (gst_query_new_duration), (gst_query_set_duration),
1733         (gst_query_parse_duration), (gst_query_set_segment),
1734         (gst_query_parse_segment):
1735         * gst/gstquery.h:
1736         Bundling query position/duration is not a good idea since duration
1737         does not change much and we don't want to recalculate it for every
1738         position query, so they are separated again..
1739         Base value in segment query is not needed.
1740
1741         * gst/gstqueue.c: (gst_queue_handle_src_query):
1742         * gst/gstutils.c: (gst_element_query_position),
1743         (gst_element_query_duration), (gst_pad_query_position),
1744         (gst_pad_query_duration):
1745         * gst/gstutils.h:
1746         Updates for query API change.
1747         Added some docs here and there.
1748
1749 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1750
1751         * check/gst/gstbin.c: (GST_START_TEST):
1752         * check/gst/gstghostpad.c: (GST_START_TEST):
1753         * check/pipelines/cleanup.c: (GST_START_TEST):
1754           wait on thread to die so we can check refcount correctly
1755
1756 2005-10-18  Wim Taymans  <wim@fluendo.com>
1757
1758         * check/pipelines/stress.c: (GST_START_TEST):
1759         Make check a little more time consuming.
1760
1761 2005-10-18  Wim Taymans  <wim@fluendo.com>
1762
1763         * check/Makefile.am:
1764         * check/pipelines/stress.c: (GST_START_TEST),
1765         (simple_launch_lines_suite), (main):
1766         Small state change torture test.
1767
1768         * docs/design/part-states.txt:
1769         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1770         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
1771         (gst_base_sink_change_state):
1772         Never take state lock from streaming thread, clean up ugly
1773         hacks. Unfortunatly core does not yet support nice ways to
1774         async commit state.
1775         
1776         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
1777         (bin_bus_handler):
1778         Start state recalc if a STATE_DIRTY message is posted, but only
1779         on the toplevel bin.
1780
1781         * gst/gstelement.c: (gst_element_sync_state_with_parent),
1782         (gst_element_get_state_func), (gst_element_abort_state),
1783         (gst_element_commit_state), (gst_element_lost_state),
1784         (gst_element_set_state_func), (gst_element_change_state):
1785         * gst/gstelement.h:
1786         State variables are now protected with the LOCK, the state
1787         lock is only used to serialize _set_state().
1788
1789 2005-10-18  Wim Taymans  <wim@fluendo.com>
1790
1791         * check/gst/gstbin.c: (GST_START_TEST):
1792         * check/gst/gstmessage.c: (GST_START_TEST):
1793         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1794         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
1795         (bin_bus_handler):
1796         * gst/gstelement.c: (gst_element_abort_state),
1797         (gst_element_commit_state), (gst_element_lost_state):
1798         * gst/gstmessage.c: (gst_message_new_state_changed),
1799         (gst_message_new_state_dirty), (gst_message_new_segment_start),
1800         (gst_message_new_segment_done), (gst_message_new_duration),
1801         (gst_message_parse_state_changed),
1802         (gst_message_parse_segment_start),
1803         (gst_message_parse_segment_done), (gst_message_parse_duration):
1804         * gst/gstmessage.h:
1805         * tools/gst-launch.c: (event_loop):
1806         Seriously, this is better than a previous commit as we only need
1807         to notify the fact that an element changed state in a streaming
1808         thread, marking the state of the parents dirty, hence the 
1809         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
1810         message.
1811
1812 2005-10-18  Wim Taymans  <wim@fluendo.com>
1813
1814         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
1815         (gst_bin_recalc_func):
1816         * gst/gstelement.c: (gst_element_set_clock),
1817         (gst_element_abort_state), (gst_element_lost_state):
1818         Cleanups, prepare for state change fixes.
1819
1820 2005-10-18  Wim Taymans  <wim@fluendo.com>
1821
1822         * gst/gstbin.h:
1823         * gst/gstelement.c: (gst_element_class_init),
1824         (gst_element_set_state), (gst_element_set_state_func):
1825         * gst/gstelement.h:
1826         Pending ABI changes.
1827         GThreadPool in GstBinClass to monitor async state changes.
1828         state_cookie in GstElement to detect concurrent gst/set state.
1829         set_state is now virtual too in case a very complicated element
1830         has to be constructed.
1831
1832 2005-10-18  Wim Taymans  <wim@fluendo.com>
1833
1834         * check/gst/gstbin.c: (GST_START_TEST):
1835         * check/gst/gstmessage.c: (GST_START_TEST):
1836         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1837         * gst/gstbin.c: (bin_bus_handler):
1838         * gst/gstelement.c: (gst_element_commit_state),
1839         (gst_element_lost_state):
1840         * gst/gstmessage.c: (gst_message_new_state_changed),
1841         (gst_message_new_segment_start), (gst_message_new_segment_done),
1842         (gst_message_new_duration), (gst_message_parse_state_changed),
1843         (gst_message_parse_segment_start),
1844         (gst_message_parse_segment_done), (gst_message_parse_duration):
1845         * gst/gstmessage.h:
1846         * tools/gst-launch.c: (event_loop):
1847         Make messages future proof.
1848         state-change gets a flag if it was a message comming from the
1849         streaming thread.
1850         segment-start/stop can also be specified in other formats.
1851         A message to notify an app that a pipeline changed playback 
1852         duration.
1853         Also fix a GstMessage leak in -launch
1854
1855 2005-10-18  Andy Wingo  <wingo@pobox.com>
1856
1857         * gst/gstelement.c (gst_element_dispose): More helpful message.
1858
1859 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1860
1861         reviewed by: <delete if not using a buddy>
1862
1863         * common/gtk-doc.mak:
1864
1865 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1866
1867         * gst/gstregistry.c: (gst_registry_scan_path_level):
1868           unref a plug-in we get that was already initialized
1869
1870 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
1871
1872         * docs/gst/gstreamer-sections.txt:
1873         * docs/libs/gstreamer-libs-sections.txt:
1874         * gst/gstelement.h:
1875           add new api entries
1876           hide internal macro
1877
1878 2005-10-17  Andy Wingo  <wingo@pobox.com>
1879
1880         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
1881         cleanup.
1882
1883         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
1884
1885         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
1886
1887         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
1888         (gst_element_get_state_func): Better debug message.
1889         (gst_element_commit_state): s/INFO/DEBUG/.
1890         (gst_element_lost_state, gst_element_change_state): 
1891
1892         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
1893         (gst_message_new_custom): s/INFO/LOG/.
1894
1895 2005-10-17  Michael Smith <msmith@fluendo.com>
1896
1897         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1898           Check if end time is valid using end time, not start time.
1899
1900 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
1901
1902         * check/gst-libs/controller.c: (GST_START_TEST),
1903         (gst_controller_suite):
1904         * libs/gst/controller/gstcontroller.c:
1905         (gst_controlled_property_set_interpolation_mode):
1906         * libs/gst/controller/gstcontroller.h:
1907         * libs/gst/controller/gstinterpolation.c:
1908         * testsuite/controller/.cvsignore:
1909         * testsuite/controller/Makefile.am:
1910         * testsuite/controller/interpolator.c:
1911           merge controller testsuites
1912           fix broken tests
1913           remove mem-chunk from docs
1914
1915 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1916
1917         * gst/gstmemchunk.c:
1918         * gst/gstmemchunk.h:
1919         * gst/gsttrashstack.c:
1920         * gst/gsttrashstack.h:
1921           out.  get out.  you're fired.  to the Attic !
1922
1923 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1924
1925         * gst/gstcaps.c: (gst_caps_intersect):
1926           fix signedness issues in a (hopefully) correct way
1927         * gst/gstelement.c: (gst_element_pads_activate):
1928           some debugging
1929         * gst/gstobject.c: (gst_object_set_parent):
1930           some debugging
1931
1932 2005-10-17  Julien MOUTTE  <julien@moutte.net>
1933
1934         * gst/gstvalue.h: Fix prototypes.
1935
1936 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1937
1938         * docs/gst/gstreamer-sections.txt:
1939         * gst/gst.c: (gst_version_string):
1940         * gst/gst.h:
1941         * gst/gstversion.h.in:
1942         * win32/common/libgstreamer.def:
1943           add gst_version_string ()
1944
1945 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1946
1947         * configure.ac:
1948           clean up further
1949         * gst/gst.c: (init_post):
1950         * win32/common/config.h.in:
1951           it's PLUGINDIR now
1952         * gst/gstcaps.c: (gst_caps_intersect):
1953           use gint64, the range could be bigger than a guint
1954
1955 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1956
1957         * gst/gstclock.h:
1958           document potential problem in 2038
1959
1960 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1961
1962         * gst/gstcaps.c: (gst_caps_intersect):
1963           Fix guint j diving under 0
1964
1965 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1966
1967         * configure.ac:
1968         * win32/common/config.h:
1969         * win32/common/config.h.in:
1970           check for process.h, declares getpid() on Windows
1971         * gst/gstinfo.c:
1972           include process.h if we have it
1973         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
1974         * gst/gstmemchunk.h:
1975           fix signedness issues
1976         * win32/common/libgstreamer.def:
1977           fix get_type's
1978
1979 2005-10-16  Julien MOUTTE  <julien@moutte.net>
1980
1981         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
1982         fix. Because of unsigned ints, caps intersection was going nuts and
1983         trying to access structures with G_MAXUINT index. That fixes
1984         videotestsrc ! ffmpegcolorspace ! fakesink
1985         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
1986         consistency.
1987
1988 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1989
1990         * configure.ac:
1991           use the gettext macro
1992         * gst/elements/gstelements.c:
1993         * gst/gst.c:
1994         * gst/indexers/gstindexers.c:
1995           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
1996         * win32/common/config.h:
1997           updated config.h
1998         * win32/common/config.h.in:
1999           add the template to generate config.h
2000         * win32/common/gstenumtypes.c:
2001         * win32/common/gstversion.h:
2002           updated copies
2003
2004 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2005
2006         * gst/gst.c: (gst_version):
2007         * gst/gstversion.h.in:
2008           add the nano
2009
2010 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2011
2012         * gst/gstevent.h:
2013           Oops, add missing closing bracket.
2014
2015 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2016
2017         * configure.ac:
2018           use common m4's for argument checking
2019
2020 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2021
2022         * docs/gst/gstreamer-sections.txt:
2023         * gst/gstevent.h:
2024           Add GST_EVENT_TYPE_NAME() macro.
2025
2026 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2027
2028         * gst/gstinfo.c:
2029         * gst/gstpluginfeature.c:
2030         * gst/gsttask.c:
2031           privatize more symbols
2032
2033 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2034
2035         * configure.ac:
2036           add srcdir, builddir includes to GST_ALL_CFLAGS, since
2037           everything that uses GStreamer API should have the includes
2038
2039 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2040
2041         * docs/gst/gstreamer-sections.txt:
2042         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
2043         * gst/gstvalue.h:
2044           give each value a _get_type, removes the DATA exports
2045
2046 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2047
2048         * gst/gst.c:
2049         * gst/gst.h:
2050           remove _gst_registry_auto_load, not used anymore
2051         * gst/gstbin.c: (gst_bin_get_type):
2052         * gst/gstbin.h:
2053         * gst/gstelement.c: (gst_element_get_type):
2054         * gst/gstelement.h:
2055         * gst/gstobject.c: (gst_object_get_type):
2056         * gst/gstobject.h:
2057         * gst/gstpad.c: (gst_pad_get_type):
2058         * gst/gstpad.h:
2059           make _get_type functions similar, fixes data export from library
2060
2061 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2062
2063         * configure.ac:
2064           correctly make conditionals
2065         * gst/elements/Makefile.am:
2066         * gst/elements/gstelements.c:
2067           fix typo causing fdsrc not to build
2068
2069 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2070
2071         * testsuite/Makefile.am:
2072         * testsuite/bytestream/.cvsignore:
2073         * testsuite/bytestream/Makefile.am:
2074         * testsuite/bytestream/filepadsink.c:
2075         * testsuite/bytestream/gstbstest.c:
2076         * testsuite/bytestream/test1.c:
2077         * testsuite/bytestream/testfile1:
2078         * testsuite/caps/normalisation.c:
2079         * testsuite/caps/random.c: (main):
2080         * testsuite/cleanup/.cvsignore:
2081         * testsuite/cleanup/Makefile.am:
2082         * testsuite/cleanup/cleanup1.c:
2083         * testsuite/cleanup/cleanup2.c:
2084         * testsuite/cleanup/cleanup3.c:
2085         * testsuite/cleanup/cleanup4.c:
2086         * testsuite/cleanup/cleanup5.c:
2087         * testsuite/controller/interpolator.c:
2088         * testsuite/debug/printf_extension.c: (main):
2089         * testsuite/elements/tee.c:
2090         * testsuite/negotiation/.cvsignore:
2091         * testsuite/negotiation/Makefile.am:
2092         * testsuite/negotiation/pad_link.c:
2093         * testsuite/pad/Makefile.am:
2094         * testsuite/pad/chainnopull.c:
2095         * testsuite/pad/getnopush.c:
2096         * testsuite/pad/link.c:
2097         * testsuite/refcounting/sched.c: (create_pipeline):
2098         * testsuite/registry/Makefile.am:
2099         * testsuite/registry/gst-print-formats.c:
2100         * testsuite/schedulers/.cvsignore:
2101         * testsuite/schedulers/142183-2.c:
2102         * testsuite/schedulers/142183.c:
2103         * testsuite/schedulers/143777-2.c:
2104         * testsuite/schedulers/143777.c:
2105         * testsuite/schedulers/147713.c:
2106         * testsuite/schedulers/147819.c:
2107         * testsuite/schedulers/147894-2.c:
2108         * testsuite/schedulers/147894.c:
2109         * testsuite/schedulers/Makefile.am:
2110         * testsuite/schedulers/group_link.c:
2111         * testsuite/schedulers/queue_link.c:
2112         * testsuite/schedulers/relink.c:
2113         * testsuite/schedulers/unlink.c:
2114         * testsuite/schedulers/unref.c:
2115         * testsuite/schedulers/useless_iteration.c:
2116         * testsuite/states/bin.c:
2117           clean out/remove some stuff from the testsuite directories
2118
2119 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2120
2121         * configure.ac:
2122           check for some headers
2123         * gst/elements/Makefile.am:
2124         * gst/elements/gstelements.c:
2125           don't compile fdsrc without sys/socket.h
2126         * gst/indexers/Makefile.am:
2127         * gst/indexers/gstindexers.c: (plugin_init):
2128           don't compile fileindex without mmap
2129
2130 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2131
2132         * configure.ac:
2133           reorganize
2134           clean up
2135           document more
2136           remove cruft
2137         * check/Makefile.am:
2138         * docs/gst/Makefile.am:
2139         * examples/helloworld/Makefile.am:
2140         * gst/Makefile.am:
2141         * gst/base/Makefile.am:
2142         * gst/check/Makefile.am:
2143         * gst/elements/Makefile.am:
2144         * gst/indexers/Makefile.am:
2145         * gst/parse/Makefile.am:
2146         * libs/gst/controller/Makefile.am:
2147         * libs/gst/dataprotocol/Makefile.am:
2148         * examples/helloworld/helloworld.c: (event_loop):
2149           compile fixes, though it's not being compiled currently
2150
2151 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2152
2153         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
2154           Add some simple tests for the new taglist date API.
2155
2156 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2157
2158         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
2159         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
2160           Beautify 'last-message' output: print 'none' for buffer timestamps
2161           and durations if none is set; improve alignment with next messages.
2162
2163 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
2164
2165         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
2166         * gst/gstpluginfeature.h:
2167         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
2168         * gst/gstregistry.h:
2169         * docs/gst/gstreamer-sections.txt:
2170           Add new API to check plugin feature version requirements.
2171
2172         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
2173           Some basic tests for the above.         
2174
2175 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2176
2177         * gst/gststructure.c: (gst_structure_to_string):
2178           guard against NULL printf - happens when for example
2179           a message structure with GstClock gets serialized
2180
2181 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2182
2183         * gst/base/gstcollectpads.c: (gst_collectpads_event):
2184           Fix presumable copy'n'pasto.
2185
2186 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2187
2188         * gst/elements/gstfakesrc.h:
2189         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
2190         * gst/elements/gsttypefindelement.c:
2191           fix some signedness
2192         * gst/elements/gstfilesink.c: (gst_file_sink_render):
2193           I wonder if this could actually write +2GB files before
2194
2195 2005-10-13  Andy Wingo  <wingo@pobox.com>
2196
2197         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
2198         Fix Timmeke Waymans bug.
2199         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
2200         string of the proper length to gst_caps_from_string. There's a
2201         potential for, before this fix, that this could cause someone
2202         connecting over the network to cause a segfault if the payload is
2203         not NUL-terminated.
2204
2205 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2206
2207         * docs/design/draft-push-pull.txt:
2208         * docs/design/part-overview.txt:
2209         * docs/random/TODO-pre-0.9:
2210         * docs/random/old/ChangeLog.gstreamer:
2211         * gst/base/gstpushsrc.c:
2212         * gst/gstclock.c:
2213           fixed typos
2214
2215 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2216
2217         * gst/glib-compat.c: (gst_flags_get_first_value):
2218         * gst/glib-compat.h:
2219         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
2220         (gst_value_compare_double), (gst_value_serialize_flags):
2221           GLib 2.6 g_flags_get_first_value has a bug that triggers an
2222           infinite loop
2223
2224 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2225
2226         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2227         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2228           fix up debugging
2229         * tools/gst-launch.c: (event_loop):
2230           print out clock nicely
2231
2232 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2233
2234         * docs/gst/gstreamer-sections.txt:
2235         * gst/gsttaglist.h:
2236         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2237         (gst_tag_list_get_date_index):
2238           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2239           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2240
2241 2005-10-13  Julien MOUTTE  <julien@moutte.net>
2242
2243         * gst/base/gstcollectpads.c: (gst_collectpads_event),
2244         (gst_collectpads_chain):
2245         * gst/base/gstcollectpads.h: Handle newsegment and store informations
2246         in CollectData.
2247
2248 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
2249
2250         * docs/gst/gstreamer-sections.txt:
2251         * gst/gst.c:
2252         * gst/gsterror.h:
2253         * tools/gst-inspect.c: (main):
2254         * tools/gst-launch.c: (main):
2255         * tools/gst-run.c: (main):
2256         * tools/gst-xmlinspect.c: (main):
2257           fix GOption context leaks
2258           doc fixes
2259
2260 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2261
2262         * gst/gstbus.c:
2263           use HAVE_UNISTD_H
2264         * win32/common/config.h:
2265           update config
2266         * win32/vs6/grammar.dsp:
2267         * win32/vs6/libgstelements.dsp:
2268         * win32/vs6/libgstreamer.dsp:
2269           update vs6 files
2270
2271 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2272
2273         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2274         * gst/base/gstbasesrc.c: (gst_base_src_query):
2275           fix more guint64<->gdouble conversions
2276
2277 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2278
2279         * Makefile.am:
2280           add win32-update target
2281         * win32/common/gstconfig.h:
2282         * win32/common/gstenumtypes.c:
2283         * win32/common/gstenumtypes.h:
2284         * win32/common/gstversion.h:
2285           add files that visual studio can't generate
2286
2287 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2288
2289         * Makefile.am:
2290           add a win32-update target
2291         * configure.ac:
2292
2293 2005-10-12  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2296         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
2297         * gst/gstelement.c: (gst_element_commit_state),
2298         (gst_element_set_state):
2299         Protect flags with proper lock.
2300         unref provided cached clock in dispose.
2301
2302 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2303
2304         * gst/gst.c:
2305         * gst/gstminiobject.h:
2306         * gst/gstpad.h:
2307         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
2308           removed unused flags from miniobject
2309           doc fixes
2310
2311 2005-10-12  Wim Taymans  <wim@fluendo.com>
2312
2313         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2314         (gst_file_sink_event), (gst_file_sink_render):
2315         Flush before seeking.
2316
2317 2005-10-12  Andy Wingo  <wingo@pobox.com>
2318
2319         * gst/gst.c (gst_init_check): Ignore unknown options, as has
2320         always been the case.
2321
2322 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
2323
2324         * check/gst/gstbin.c: (GST_START_TEST):
2325         * docs/gst/gstreamer-sections.txt:
2326         * gst/base/gstbasesink.c: (gst_base_sink_init):
2327         * gst/base/gstbasesrc.c: (gst_base_src_init),
2328         (gst_base_src_get_range), (gst_base_src_check_get_range),
2329         (gst_base_src_start), (gst_base_src_stop):
2330         * gst/base/gstbasesrc.h:
2331         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
2332         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2333         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
2334         (bin_bus_handler):
2335         * gst/gstbin.h:
2336         * gst/gstbuffer.h:
2337         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
2338         * gst/gstbus.h:
2339         * gst/gstelement.c: (gst_element_is_locked_state),
2340         (gst_element_set_locked_state), (gst_element_commit_state),
2341         (gst_element_set_state):
2342         * gst/gstelement.h:
2343         * gst/gstindex.c: (gst_index_init):
2344         * gst/gstindex.h:
2345         * gst/gstminiobject.h:
2346         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
2347         (gst_object_set_parent):
2348         * gst/gstobject.h:
2349         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
2350         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
2351         * gst/gstpad.h:
2352         * gst/gstpadtemplate.h:
2353         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
2354         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2355         * gst/gstpipeline.h:
2356         * gst/indexers/gstfileindex.c: (gst_file_index_load),
2357         (gst_file_index_commit):
2358         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
2359         * testsuite/pad/link.c: (gst_test_src_init),
2360         (gst_test_filter_init), (gst_test_sink_init):
2361         * testsuite/states/locked.c: (main):
2362           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
2363           moved bitshift from macro to enum definition
2364
2365 2005-10-12  Wim Taymans  <wim@fluendo.com>
2366
2367         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
2368         * gst/elements/gstfilesink.c: (gst_file_sink_event),
2369         (gst_file_sink_render):
2370         Some more debugging info.
2371
2372 2005-10-12  Wim Taymans  <wim@fluendo.com>
2373
2374         * docs/design/part-states.txt:
2375         * tools/gst-launch.c: (main):
2376         Some doc updates.
2377         Revert non-intentional change.
2378
2379 2005-10-12  Wim Taymans  <wim@fluendo.com>
2380
2381         * check/gst/gstbin.c: (GST_START_TEST):
2382         * check/gst/gstelement.c: (GST_START_TEST):
2383         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
2384         * check/gst/gstghostpad.c: (GST_START_TEST):
2385         * check/gst/gstpipeline.c: (GST_START_TEST):
2386         * check/pipelines/simple_launch_lines.c: (run_pipeline):
2387         * check/states/sinks.c: (GST_START_TEST):
2388         * gst/elements/gsttypefindelement.c: (stop_typefinding):
2389         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2390         (gst_bin_remove_func), (gst_bin_get_state_func),
2391         (gst_bin_recalc_state), (gst_bin_change_state_func),
2392         (bin_bus_handler):
2393         * gst/gstelement.c: (gst_element_get_state_func),
2394         (gst_element_get_state), (gst_element_abort_state),
2395         (gst_element_commit_state), (gst_element_set_state),
2396         (gst_element_change_state), (gst_element_change_state_func):
2397         * gst/gstelement.h:
2398         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
2399         (gst_pipeline_provide_clock_func):
2400         * gst/gstutils.c: (gst_element_link_pads_filtered):
2401         * tools/gst-launch.c: (main):
2402         * tools/gst-typefind.c: (main):
2403         Use GstClockTime in _get_state() instead of GTimeVal.
2404         Remove old code in gstutils.c
2405
2406 2005-10-12  Andy Wingo  <wingo@pobox.com>
2407
2408         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
2409         removed.
2410
2411         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
2412         there is no task. Shouldn't affect any code, as nothing in our
2413         plugins checks this return value.
2414         (gst_pad_stop_task): Also take the stream lock if the pad has no
2415         task. Docs updated.
2416
2417 2005-10-12  Wim Taymans  <wim@fluendo.com>
2418
2419         * gst/gstpad.c: (pre_activate), (post_activate),
2420         (gst_pad_activate_pull), (gst_pad_activate_push):
2421         Cleanup activation code. Reset old state if
2422         activation failed.
2423
2424 2005-10-12  Wim Taymans  <wim@fluendo.com>
2425
2426         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2427         (gst_base_sink_change_state):
2428         No need to prerol after receiving EOS.
2429
2430         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
2431         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
2432         * gst/elements/gstidentity.c: (gst_identity_event):
2433         Print events more verbosely.
2434
2435 2005-10-12  Wim Taymans  <wim@fluendo.com>
2436
2437         * check/Makefile.am:
2438         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2439         * check/states/sinks2.c:
2440         Moved sinks2 testcode in sinks check.
2441
2442         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2443         (gst_bin_remove_func), (gst_bin_recalc_state),
2444         (gst_bin_change_state_func), (bin_bus_handler):
2445         Fix potential race condition when _get_state() iterated over an
2446         ASYNC element right before it posted a state completion.
2447
2448         * gst/gstclock.h:
2449         Do proper cast here.
2450
2451         * gst/gstevent.c: (gst_event_new_newsegment),
2452         (gst_event_parse_newsegment):
2453         A playback rate of 0.0 is not allowed.
2454
2455 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2456
2457         * win32/common/config.h:
2458         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
2459         (_trewinddir), (_ttelldir), (_tseekdir):
2460         * win32/common/dirent.h:
2461         * win32/common/gtchar.h:
2462         * win32/common/libgstbase.def:
2463         * win32/common/libgstreamer.def:
2464         * win32/vs6/grammar.dsp:
2465         * win32/vs6/gst_inspect.dsp:
2466         * win32/vs6/gst_launch.dsp:
2467         * win32/vs6/gstreamer.dsw:
2468         * win32/vs6/libgstbase.dsp:
2469         * win32/vs6/libgstelements.dsp:
2470         * win32/vs6/libgstreamer.dsp:
2471           Visual Studio 6 project files, and a new common directory.
2472           Phear.
2473
2474 2005-10-11  Wim Taymans  <wim@fluendo.com>
2475
2476         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2477         (gst_base_sink_do_sync), (gst_base_sink_query),
2478         (gst_base_sink_change_state):
2479         * gst/base/gstbasesink.h:
2480         Correctly parse newsegment info.
2481
2482 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2483
2484         * gst/gst.c: (init_post):
2485           split plugin paths correctly
2486
2487 2005-10-11  Wim Taymans  <wim@fluendo.com>
2488
2489         * check/gst/gstevent.c: (GST_START_TEST):
2490         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2491         (gst_base_sink_change_state):
2492         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
2493         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2494         * gst/elements/gstfilesink.c: (gst_file_sink_event):
2495         * gst/gstevent.c: (gst_event_new_newsegment),
2496         (gst_event_parse_newsegment):
2497         * gst/gstevent.h:
2498         Added extra flag to newsegment for future API freeze.
2499         Updated check and base elements.
2500
2501 2005-10-11  Julien MOUTTE  <julien@moutte.net>
2502
2503         * gst/base/gstcollectpads.c: (gst_collectpads_init),
2504         (gst_collectpads_add_pad), (gst_collectpads_pop),
2505         (gst_collectpads_event), (gst_collectpads_chain):
2506         * gst/base/gstcollectpads.h: Handle EOS correctly.
2507
2508 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2509
2510         * tools/gst-launch.c: (main):
2511           more null protecting
2512
2513 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2514
2515         * gst/gst-i18n-lib.h:
2516           check for ENABLE_NLS, not GETTEXT_PACKAGE
2517         * gst/gstregistry.c: (gst_registry_add_plugin),
2518         (gst_registry_scan_path_level),
2519         (_gst_registry_remove_cache_plugins):
2520           protect possibly NULL strings
2521         * gst/parse/types.h:
2522           config.h already included before
2523         * tools/gst-inspect.c: (main):
2524           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
2525           check for ENABLE_NLS, not GETTEXT_PACKAGE
2526         * tools/gst-launch.c: (main):
2527           check for ENABLE_NLS, not GETTEXT_PACKAGE
2528
2529 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2530
2531         * configure.ac:
2532           if we don't have glib, fail before testing 2.8
2533         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
2534           fix a leak, should fix plugins-base testsuite
2535
2536 2005-10-11  Andy Wingo  <wingo@pobox.com>
2537
2538         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
2539         take the mode we're going to as an arg. Go head and set the mode
2540         and flushing flags now, so that if the activate function starts a
2541         thread all the flags will be in the right state.
2542         (post_activate): Renamed also. Just handle making sure streaming
2543         finishes for the deactivation case, and setting the deactivated
2544         mode.
2545         (gst_pad_set_active): Complain loudly if deactivation fails.
2546         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
2547         (gst_pad_activate_push): Adapt to pre/post_activate changes,
2548         remove the terrible hack.
2549
2550 2005-10-11  Wim Taymans  <wim@fluendo.com>
2551
2552         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2553         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
2554         (gst_bin_recalc_state), (gst_bin_change_state_func),
2555         (gst_bin_dispose), (bin_bus_handler):
2556         * gst/gstbin.h:
2557         Prepare to make current EOS message queue more generic.
2558         Fix some typos.
2559
2560         * gst/gstevent.c: (gst_event_new_newsegment),
2561         (gst_event_parse_newsegment):
2562         * gst/gstevent.h:
2563         Rename base to stream_time.
2564
2565         * gst/gstmessage.h:
2566         Fix typo in docs.
2567
2568 2005-10-11  Wim Taymans  <wim@fluendo.com>
2569
2570         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2571         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
2572         (gst_bin_change_state_func), (bin_bus_handler):
2573         * gst/gstbin.h:
2574         Work on proper clock selection.
2575
2576 2005-10-11  Edward Hervey  <edward@fluendo.com>
2577
2578         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
2579         * libs/gst/controller/gstcontroller.h:
2580         Added GList* version of _remove_properties() in order to be able to wrap
2581         it in bindings.
2582
2583 2005-10-11  Wim Taymans  <wim@fluendo.com>
2584
2585         * docs/design/part-states.txt:
2586         Some more docs.
2587
2588         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
2589         (gst_bin_change_state_func), (bin_bus_handler):
2590         Doc updates. Don't distribute the same clock over and over again.
2591
2592         * gst/gstclock.c:
2593         * gst/gstclock.h:
2594         Doc updates.
2595
2596         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
2597         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
2598         (gst_pad_send_event):
2599         * gst/gstpad.h:
2600         Make probe emission threadsafe again.
2601         Register quarks and move _get_name() from utils.
2602         Doc updates.
2603
2604         * gst/gstpipeline.c: (gst_pipeline_class_init),
2605         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2606         Only redistribute the clock of it changed.
2607
2608         * gst/gstsystemclock.h:
2609         Doc updates. 
2610
2611         * gst/gstutils.c:
2612         * gst/gstutils.h:
2613         Moved the _flow_get_name() to GstPad.
2614
2615 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2616
2617         * check/gst-libs/gdp.c: (GST_START_TEST):
2618         * check/gst/gstcaps.c: (GST_START_TEST):
2619         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
2620         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
2621         (gst_dp_packet_from_caps):
2622           fix more valgrind warnings before turning up the heat
2623
2624 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2625
2626         * gst/parse/grammar.y:
2627           some cleanup before the hacking
2628
2629 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2630
2631         * gst/base/gstbasesrc.c: (gst_base_src_query):
2632           use conversions
2633         * gst/gstutils.c: (gst_guint64_to_gdouble),
2634         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
2635         * gst/gstutils.h:
2636           externalize, basesrc uses it
2637           obviously the implementation needs testing
2638
2639 2005-10-10  Wim Taymans  <wim@fluendo.com>
2640
2641         * tests/sched/Makefile.am:
2642         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
2643         (make_pipeline3), (make_pipeline4), (print_elem), (main):
2644
2645 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2646
2647         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
2648           apparently converting from guint64 to double is not implemented
2649           on MSVC
2650
2651 2005-10-10  Wim Taymans  <wim@fluendo.com>
2652
2653         * check/Makefile.am:
2654         * check/generic/states.c: (GST_START_TEST):
2655         * check/gst/gstbin.c: (GST_START_TEST):
2656         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2657         * check/states/sinks.c: (GST_START_TEST):
2658         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
2659         (main):
2660         Check fixes, use API as stated in design docs, remove hacks.
2661
2662         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2663         (gst_base_sink_change_state):
2664         Catch stopping our task while we're shutting down.
2665
2666         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2667         (gst_bin_remove_func), (gst_bin_get_state_func),
2668         (gst_bin_recalc_state), (gst_bin_change_state_func),
2669         (bin_bus_handler):
2670         * gst/gstbin.h:
2671         * gst/gstelement.c: (gst_element_init),
2672         (gst_element_get_state_func), (gst_element_abort_state),
2673         (gst_element_commit_state), (gst_element_lost_state),
2674         (gst_element_set_state), (gst_element_change_state),
2675         (gst_element_change_state_func):
2676         * gst/gstelement.h:
2677         New state change algorithm (see #318116)
2678
2679         * gst/gstpipeline.c: (gst_pipeline_class_init),
2680         (gst_pipeline_init), (gst_pipeline_set_property),
2681         (gst_pipeline_get_property), (do_pipeline_seek),
2682         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2683         * gst/gstpipeline.h:
2684         Remove crude state change hacks.
2685
2686         * gst/gstutils.h:
2687         Remove crude hacks.
2688
2689         * tools/gst-launch.c: (main):
2690         Fixes for state change. Needs some more work to fully use the
2691         new stuff.
2692
2693 2005-10-10  Andy Wingo  <wingo@pobox.com>
2694
2695         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
2696
2697         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
2698         this flag, but it's not even in GLib 2.6. Odd. Hack around the
2699         issue.
2700
2701 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2702
2703         * gst/gstiterator.c: (gst_iterator_new):
2704           Fix my previous commit: GTypes passed to gst_iterator_new()
2705           can be fundamental types.
2706
2707 2005-10-10  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/gstelement.c: (gst_element_iterate_pad_list),
2710         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
2711         (gst_element_iterate_sink_pads):
2712         Use src/sink pads lists for the respective iterators instead
2713         of filtering.
2714
2715 2005-10-10  Andy Wingo  <wingo@pobox.com>
2716
2717         Merged in popt removal + GOption addition patch from Ronald, bug
2718         #169772.
2719
2720         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
2721         GstElement macros around, remove popt-related symbols, add goption
2722         stuff.
2723
2724         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
2725         
2726         * docs/gst/Makefile.am:
2727         * docs/libs/Makefile.am: No POPT_CFLAGS.
2728         
2729         * examples/manual/Makefile.am:
2730         * docs/manual/basics-init.xml: Doc updates with an example.
2731         
2732         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2733         (gst_init), (parse_one_option), (parse_goption_arg):
2734         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
2735         bit of hand merging and debugging to get the GOption stuff working
2736         tho.
2737         
2738         * tests/Makefile.am:
2739         * tools/Makefile.am:
2740         * tools/gst-inspect.c: (main):
2741         * tools/gst-launch.c: (main):
2742         * tools/gst-run.c: (main):
2743         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
2744
2745 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2746
2747         * gst/gstiterator.c: (gst_iterator_new):
2748           Add assertions to make sure passed GType is likely to really
2749           be a GType (as the compiler won't catch it if the size and
2750           GType arguments get mixed up, see #318447).
2751
2752 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
2753
2754         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2755
2756         * gst/gstbin.c: (gst_bin_iterate_sorted):
2757           Pass GType and size arguments to gst_iterator_new() in the right
2758           order (maybe we should make _new() take the GType as first argument
2759           just like _new_list()?) (#318447).
2760           
2761
2762 2005-10-10  Wim Taymans  <wim@fluendo.com>
2763
2764         * gst/gstelement.c: (gst_element_finalize):
2765         And free the GStaticRecMutex too
2766
2767 2005-10-10  Andy Wingo  <wingo@pobox.com>
2768
2769         * gst/gstelement.c (gst_element_init, gst_element_finalize):
2770         Allocate and free the mutex properly.
2771
2772         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
2773         New macros.
2774         (GstElement): The state_lock is now recursive. Rebuild your
2775         plugins, suckers. Old macros adapted.
2776
2777         * docs/gst/gstreamer-sections.txt: Doc updates.
2778
2779         * gst/gstutils.h:
2780         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
2781         (g_static_rec_cond_wait): Ported from state changes patch, while
2782         we wait on bug #317802 to be solved in a well-distributed GLib.
2783
2784         * gst/gstelement.c (gst_element_change_state_func): Renamed from
2785         gst_element_change_state, variable name changes.
2786         (gst_element_change_state): Split out of gst_element_set_state in
2787         preparation for the state change merge. Doesn't pay attention to
2788         the 'transition' argument.
2789         (gst_element_set_state): Updates, hopefully purely cosmetic.
2790         (gst_element_sync_state_with_parent): MT-safety. Ported from the
2791         state change patch.
2792         (gst_element_get_state_func): Renamed from get_state, cosmetic
2793         changes.
2794
2795 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2796
2797         * gst/elements/gstelements.c:
2798         * win32/GStreamer.vcproj:
2799         * win32/config.h:
2800         * win32/dirent.c: (_tseekdir):
2801         * win32/gst-inspect.vcproj:
2802         * win32/gst-launch.vcproj:
2803         * win32/gstconfig.h:
2804         * win32/gstelements.vcproj:
2805         * win32/gstenumtypes.c: (gst_object_flags_get_type):
2806         * win32/gstreamer.def:
2807         * win32/msvc71.sln:
2808           updates for the win32 build (patch from Sebastien Moutte)
2809
2810 2005-10-10  Andy Wingo  <wingo@pobox.com>
2811
2812         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
2813         gst_bin_get_state, cleaned up (but no logic changes).
2814         (bin_element_is_sink): Comment updates.
2815         (sink_iterator_filter): Remove needless cast.
2816         (gst_bin_iterate_sinks): Doc update.
2817         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
2818         cleaned up (but no logic changes).
2819
2820         * check/states/sinks.c (test_src_sink): Cleanups from the state
2821         change patch.
2822         (test_livesrc_sink): Sync on the state.
2823
2824         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
2825         the state change patch.
2826
2827         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
2828         change patch.
2829
2830         * check/gst/gstbin.c: Merge in some style fixes and additional
2831         checks from Wim's state change patch.
2832
2833 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2834
2835         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2836         (gst_type_find_helper):
2837           Check whether we have the requested data already in our list of
2838           cached buffers before pulling a new buffer; also make the buffer
2839           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
2840
2841 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2842
2843         * gst/gstcaps.c:
2844         * gst/gstevent.c:
2845           doc updates
2846         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2847           don't use long long, it's not portable.  Replacing with
2848           gint64 seems to work; let's hope no skeletons fall out of the closet.
2849
2850 2005-10-10  Andy Wingo  <wingo@pobox.com>
2851
2852         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
2853
2854 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
2855
2856         * docs/gst/gstreamer-sections.txt:
2857         * gst/gstevent.c:
2858         * gst/gstevent.h:
2859         * gst/gstinfo.c:
2860         * gst/gstinfo.h:
2861         * gst/gstmessage.c: (gst_message_parse_state_changed):
2862         * gst/gstpad.c:
2863         * gst/gstpad.h:
2864           more docs, fix compilation
2865
2866 2005-10-09  Philippe Khalaf <burger@speedy.org>
2867         * gst/gstmessage.c:
2868           Fixed a few forgotten variables on previous commit
2869
2870 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2871
2872         * gst/base/gsttypefindhelper.c: (helper_find_peek):
2873           Fix evil typefind crasher: getrange() might return a short
2874           buffer at the end of a file, but gst_type_find_peek() must
2875           either return the full data as requested or NULL, but
2876           never a short buffer.
2877
2878 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2879
2880         * gst/gstmessage.c: (gst_message_new_state_changed),
2881         (gst_message_parse_state_changed):
2882         * gst/gstmessage.h:
2883           don't use "new", it's a C++ keyword
2884
2885 2005-10-08  Wim Taymans  <wim@fluendo.com>
2886
2887         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
2888         * gst/gstelement.c: (gst_element_post_message):
2889         * gst/gstpipeline.c: (gst_pipeline_change_state):
2890         Small docs and debug updates.
2891
2892 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
2893
2894         * docs/gst/gstreamer-sections.txt:
2895         * gst/gstelementfactory.c:
2896         * gst/gstevent.c:
2897         * gst/gsttaglist.c:
2898           more docs
2899
2900 2005-10-08  Wim Taymans  <wim@fluendo.com>
2901
2902         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
2903         (gst_bin_dispose), (bin_bus_handler):
2904         Fix typos, add comments.
2905         Clear EOS list when going to PAUSED from any direction and do it
2906         in a threadsafe way.
2907         Get base time in a threadsafe way too.
2908         Fix confusing debug in the change_state function.
2909         Various other small cleanups.
2910         
2911         * gst/gstelement.c: (gst_element_post_message):
2912         Fix very verbose bus posting code.
2913
2914         * gst/gstpipeline.c: (gst_pipeline_class_init),
2915         (gst_pipeline_set_property), (gst_pipeline_get_property),
2916         (gst_pipeline_change_state):
2917         Small ARG_ -> PROP_ cleanup
2918
2919 2005-10-08  Wim Taymans  <wim@fluendo.com>
2920
2921         * gst/gstbin.c: (is_eos), (bin_bus_handler):
2922         Do a less CPU demanding EOS check because we can.
2923
2924 2005-10-08  Wim Taymans  <wim@fluendo.com>
2925
2926         * libs/gst/dataprotocol/dataprotocol.c:
2927         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2928         (gst_dp_packet_from_event):
2929         * libs/gst/dataprotocol/dataprotocol.h:
2930         * libs/gst/dataprotocol/dp-private.h:
2931         It's about time we bump the version number.
2932         Since event types don't fit in the guint8 anymore describing
2933         the payload type, make payload type 16 bits wide.
2934
2935 2005-10-08  Wim Taymans  <wim@fluendo.com>
2936
2937         * docs/design/part-TODO.txt:
2938         * docs/design/part-clocks.txt:
2939         * docs/design/part-events.txt:
2940         * docs/design/part-gstbin.txt:
2941         * docs/design/part-gstelement.txt:
2942         * docs/design/part-gstpipeline.txt:
2943         * docs/design/part-live-source.txt:
2944         * docs/design/part-messages.txt:
2945         * docs/design/part-overview.txt:
2946         * docs/design/part-states.txt:
2947         Many doc updates.
2948
2949 2005-10-08  Wim Taymans  <wim@fluendo.com>
2950
2951         * gst/gstevent.c:
2952         * gst/gstevent.h:
2953         Fix event quark registration.
2954         Add some space between events so we can insert them in the
2955         right groups.
2956
2957 2005-10-08  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2960         (gst_base_sink_handle_buffer):
2961         Better log message.
2962
2963         * gst/gstbus.h:
2964         * gst/gstelement.h:
2965         More docs.
2966
2967         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2968         (gst_queue_set_property), (gst_queue_get_property):
2969         * gst/gstqueue.h:
2970         Remove old unused properties.
2971
2972 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
2973         * docs/gst/gstreamer-sections.txt:
2974         * gst/gstmessage.c:
2975         * gst/gstmessage.h:
2976         * gst/gstminiobject.c:
2977         * gst/gstminiobject.h:
2978         * gst/gstobject.h:
2979         * gst/gstpad.h:
2980         * gst/gstutils.h:
2981           lots of new docs and doc fixes
2982
2983 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2984
2985         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
2986         * gst/gstplugin.h:
2987         * gst/gstregistry.c: (gst_registry_lookup_locked),
2988         (gst_registry_scan_path_level):
2989         * gst/gstregistryxml.c: (load_plugin):
2990           Only ever load one plugin for a given plugin basename.
2991           This ensures correct overriding of GST_PLUGIN_PATH over
2992           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
2993           system installed plugins.
2994
2995 2005-10-08  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2998         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
2999         Prepare for doing QOS.
3000
3001 2005-10-08  Wim Taymans  <wim@fluendo.com>
3002
3003         * check/gst/gstbin.c: (GST_START_TEST):
3004         * check/pipelines/cleanup.c: (GST_START_TEST):
3005         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
3006         Allow new clock message too.
3007
3008 2005-10-08  Wim Taymans  <wim@fluendo.com>
3009
3010         * gst/gstmessage.c: (gst_message_new_error),
3011         (gst_message_new_warning), (gst_message_new_tag),
3012         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3013         (gst_message_new_clock_lost), (gst_message_new_new_clock),
3014         (gst_message_new_segment_start), (gst_message_new_segment_done),
3015         (gst_message_parse_state_changed),
3016         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3017         (gst_message_parse_new_clock):
3018         * gst/gstmessage.h:
3019         Also carry the clock in question.
3020
3021 2005-10-08  Wim Taymans  <wim@fluendo.com>
3022
3023         * gst/gstmessage.c: (gst_message_new_custom),
3024         (gst_message_new_eos), (gst_message_new_error),
3025         (gst_message_new_warning), (gst_message_new_tag),
3026         (gst_message_new_state_changed), (gst_message_new_clock_provide),
3027         (gst_message_new_new_clock), (gst_message_new_segment_start),
3028         (gst_message_new_segment_done), (gst_message_parse_state_changed),
3029         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
3030         * gst/gstmessage.h:
3031         Clean up.
3032         Added clock related messages.
3033
3034         * gst/gstpipeline.c: (gst_pipeline_change_state):
3035         Post message when the clock changed.
3036
3037         * tools/gst-launch.c: (event_loop):
3038         Print new clock.
3039
3040 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3041
3042         * tools/gst-inspect.c: (print_element_properties_info):
3043           Can't pass NULL strings to g_print() on windows.
3044
3045 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3046
3047         * docs/Makefile.am:
3048         * docs/gst/Makefile.am:
3049         * docs/gst/gstreamer-docs.sgml:
3050         * docs/gst/running.xml:
3051         * docs/version.entities.in:
3052           add a chapter on running GStreamer.
3053           document GST_DEBUG and GST_PLUGIN* env vars
3054
3055 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3056
3057         * Makefile.am:
3058           remove include dir
3059         * configure.ac:
3060           remove PLUGINS_BUILDDIR stuff
3061         * gst/gst.c: (init_post):
3062           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
3063         * idiottest.mak:
3064           remove, it was condescending and not needed
3065
3066 2005-10-08  Wim Taymans  <wim@fluendo.com>
3067
3068         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3069         (gst_base_sink_handle_object), (gst_base_sink_event),
3070         (gst_base_sink_wait), (gst_base_sink_handle_event),
3071         (gst_base_sink_change_state):
3072         * gst/base/gstbasesink.h:
3073         Repost EOS message while going to PLAYING if still EOS.
3074         Make sure that when receiving a FLUSH_START we don't attempt
3075         to sync on the clock anymore.
3076
3077 2005-10-08  Wim Taymans  <wim@fluendo.com>
3078
3079         * tools/gst-launch.c: (event_loop):
3080         Better message printout.
3081
3082 2005-10-08  Wim Taymans  <wim@fluendo.com>
3083
3084         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
3085         (gst_bin_child_proxy_get_children_count):
3086         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3087         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
3088         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
3089         (gst_child_proxy_set_valist):
3090         * gst/parse/grammar.y:
3091         Make ChildProxy threadsafe and fix mem leaks.
3092
3093 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3094
3095         * gst/gst.c: (init_post):
3096           debug the GST_PLUGIN_ env vars
3097
3098 2005-10-08  Wim Taymans  <wim@fluendo.com>
3099
3100         * check/gst/gstbin.c: (GST_START_TEST):
3101         * check/gst/gstmessage.c: (GST_START_TEST):
3102         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3103         * gst/gstelement.c: (gst_element_commit_state),
3104         (gst_element_lost_state):
3105         * gst/gstmessage.c: (gst_message_new_state_changed),
3106         (gst_message_parse_state_changed):
3107         * gst/gstmessage.h:
3108         * tools/gst-launch.c: (event_loop):
3109         Added extra field to STATE_CHANGE message with the pending
3110         state, which will be different from the new state soon.
3111
3112 2005-10-08  Wim Taymans  <wim@fluendo.com>
3113
3114         * gst/gstbus.c: (gst_bus_pop):
3115         * gst/gstclock.c:
3116         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3117         Small cleanups and doc updates.
3118
3119 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3120
3121         * gst/gst.c: (init_pre):
3122         * gst/gstbin.c: (gst_bin_add_func):
3123           log distributing clocks and base time
3124         * gst/gstregistry.c: (gst_registry_add_plugin),
3125         (gst_registry_scan_path_level), (gst_registry_scan_path):
3126           clean up the debugging output a little
3127         * gst/gstutils.c: (gst_element_state_get_name):
3128           warn about a memleak (I've actually seen this be used, though
3129           it was probably a bug)
3130
3131 2005-10-07  Wim Taymans  <wim@fluendo.com>
3132
3133         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3134         (gst_base_src_init), (gst_base_src_default_newsegment),
3135         (gst_base_src_newsegment), (gst_base_src_do_seek),
3136         (gst_base_src_loop), (gst_base_src_start):
3137         * gst/base/gstbasesrc.h:
3138         Make the newsegment event customizable by subclasses.
3139
3140 2005-10-07  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/gstevent.c: (gst_event_new_buffersize),
3143         (gst_event_parse_buffersize):
3144         * gst/gstevent.h:
3145         New event for future idea.
3146
3147 2005-10-07  Andy Wingo  <wingo@pobox.com>
3148
3149         * gst/gstelement.c (gst_element_post_message): Doc update.
3150
3151         * docs/gst/gstreamer-sections.txt: Update.
3152
3153         * gst/gstmessage.c (gst_message_new_application): Made into a
3154         function like honest API calls.
3155         (gst_message_new_element): New message type.
3156
3157         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
3158
3159         * check/elements/fakesrc.c (test_no_preroll): New check, checks
3160         that setting a live fakesrc to PAUSED returns NO_PREROLL both
3161         times.
3162
3163         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
3164         NO_PREROLL from gst_element_change_state to fall through.
3165
3166 2005-10-07  Wim Taymans  <wim@fluendo.com>
3167
3168         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
3169         (gst_ghost_pad_do_activate_push):
3170         Activating a ghostpad with no internal pad in push mode
3171         is ok.
3172
3173 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3174
3175         * gst/gstobject.h:
3176           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
3177           Fixes compilation on Windows.
3178
3179 2005-10-07  Michael Smith <msmith@fluendo.com>
3180
3181         * tools/gst-inspect.c:
3182           Print out feature and plugin count at the end when printing out
3183           all features.
3184
3185 2005-10-04  Michael Smith <msmith@fluendo.com>
3186
3187         * gst/gsterror.c: (_gst_stream_errors_init):
3188           Add another error string used in a few existing plugins.
3189
3190         * gst/gstplugin.c:
3191         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3192         * tools/gst-inspect.c: (print_element_info):
3193           When a feature disappears from a plugin (and the feature exists in
3194           the cached registry file), things went horribly wrong. This isn't a
3195           complete fix, we should actually be removing the 'missing' features
3196           from the features list when we load the actual plugin. That's not
3197           yet implemented. 
3198
3199 2005-10-04  Johan Dahlin  <johan@gnome.org>
3200
3201         * check/gst/gstiterator.c: (GST_START_TEST):
3202         * gst/gstbin.c: (gst_bin_iterate_elements),
3203         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
3204         * gst/gstelement.c: (gst_element_iterate_pads):
3205         * gst/gstformat.c: (gst_format_iterate_definitions):
3206         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3207         (gst_iterator_new_list), (gst_iterator_filter):
3208         * gst/gstiterator.h:
3209         * gst/gstquery.c: (gst_query_type_iterate_definitions):
3210         Add a GType to GstIterator, update callsites and tests.
3211
3212 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3213
3214         * gst/gstpad.c: (gst_pad_event_default_dispatch):
3215           give events a chance to be handled by event probes when the pad
3216           is not linked
3217
3218 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3219
3220         * gst/gstevent.c: (gst_event_type_get_name),
3221         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
3222         * gst/gstevent.h:
3223           add string representations for event types
3224
3225 2005-10-06  Wim Taymans  <wim@fluendo.com>
3226
3227         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
3228         Don't use NULL pointers.
3229
3230 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3231
3232         * gst/gst_private.h:
3233         * gst/gstbus.c:
3234         * gst/gstelement.c:
3235         * gst/gstinfo.c:
3236         * gst/gstpluginfeature.c:
3237           widen the debug category in output to fit the biggest one we have
3238           add a bus category and use it
3239           play with the colors
3240           fix up some categories
3241
3242 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3243
3244         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3245           add push activation of sink ghost pads.
3246           Andye, please verify
3247
3248 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3249
3250         * gst/gstutils.c: (gst_element_link_pads):
3251           fix a bug in the case where neither element has a pad
3252         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3253           add a test for that case
3254
3255 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3256
3257         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
3258           emit have-data before checking for peers.  This allows
3259           for probe handlers to connect elements.  This helps autopluggers.
3260         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
3261         (gst_pad_suite):
3262           add six checks, linked/unlinked with no/true/false probe
3263
3264 2005-10-04  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
3267         (gst_fake_sink_event), (gst_fake_sink_preroll),
3268         (gst_fake_sink_render), (gst_fake_sink_change_state):
3269         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
3270         (gst_fake_src_get_property), (gst_fake_src_create),
3271         (gst_fake_src_stop):
3272         * gst/elements/gstidentity.c: (gst_identity_stop):
3273         Protect last_message with lock.
3274
3275 2005-10-04  Edward Hervey  <edward@fluendo.com>
3276
3277         * gst/gstformat.h: 
3278         Added precision in the comments for GST_FORMAT_DEFAULT
3279
3280 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
3281
3282         * tools/gst-launch.c: (main):
3283           Don't try to run erroneous pipelines.
3284
3285 2005-10-04  Julien MOUTTE  <julien@moutte.net>
3286
3287         * gst/gstbus.c: We don't need this header.
3288
3289 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3290
3291         * configure.ac:
3292           back to development
3293
3294 === release 0.9.3 ===
3295
3296 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3297
3298         * README:
3299         * configure.ac:
3300           Releasing 0.9.3, "Unregistered"
3301
3302 2005-10-03  Andy Wingo  <wingo@pobox.com>
3303
3304         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
3305         whereby calling a pad's activatepush() function can start a thread
3306         that starts to push or pull before the pad gets the FLUSHING flag
3307         unset. Hack around it by holding the stream lock until the flag is
3308         set. Need to replace this with a proper solution. Together with
3309         the ghost pad fixes, this fixes mp3 playing/tagreading.
3310
3311         * docs/design/part-gstghostpad.txt: Add a note about activation of
3312         proxy pads outside of ghost pads.
3313
3314         * gst/gstghostpad.c: Implement the ghost pad activation design.
3315
3316 2005-10-02  Andy Wingo  <wingo@pobox.com>
3317
3318         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
3319         It is volatile, after all.
3320
3321         * docs/design/part-gstghostpad.txt: Flesh out activation with
3322         ghost pads.
3323
3324         * gst/base/gstbasesrc.c (gst_base_src_init): Use
3325         GST_DEBUG_FUNCPTR.
3326
3327 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3328
3329         * configure.ac:
3330           Fix (unused) AM_CONDITIONAL tests.
3331
3332 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
3333
3334         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3335
3336         * gst/gstutils.c: (gst_pad_query_convert):
3337           Add assertion that makes sure src_val is >=0, just like
3338           gst_query_new_convert() has. (#315895)
3339
3340 2005-09-30  Edward Hervey  <edward@fluendo.com>
3341
3342         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
3343         Let's not iterate pads we're not interested in, it avoids getting 
3344         sky-high refcounts on sinkpad.
3345
3346 2005-09-30  Wim Taymans  <wim@fluendo.com>
3347
3348         * gst/gstelement.c: (gst_element_set_state),
3349         (gst_element_change_state):
3350         Small tweak, element in ASYNC remains ASYNC.
3351
3352 2005-09-30  Wim Taymans  <wim@fluendo.com>
3353
3354         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3355         Only error is an error.
3356
3357         * gst/gstbin.c: (gst_bin_change_state):
3358         Better debugging.
3359
3360         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
3361         Also call pad_block in pad alloc.
3362
3363         * gst/gstutils.c: (gst_flow_get_name):
3364         Better debugging.
3365
3366 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3367
3368         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3369         (gst_base_src_get_range):
3370           Fix documentation typos. Add some more debug info.
3371
3372 2005-09-29  David Schleef  <ds@schleef.org>
3373
3374         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
3375           more end-user friendly.
3376         * tools/gst-inspect.c: (main): Check if command-line argument is
3377           a file and attempt to load that file as a plugin.
3378
3379 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3380
3381         * check/gst/gstbin.c:
3382         * check/states/sinks.c:
3383           fix tests for the new warning
3384         * check/gst/gstpipeline.c:
3385           add a test for pipeline and bus interaction
3386         * gst/gstelement.c:
3387           elements should be NULL if they get disposed; add a warning if not
3388
3389 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3390
3391         * gst/gstobject.c:
3392           for 2.6 refcounting, make debug log more correct by printing
3393           the actual refcounts at the time of swap (Wim)
3394
3395 2005-09-29  Andy Wingo  <wingo@pobox.com>
3396
3397         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
3398         removes signal watches previously added via
3399         gst_bus_add_signal_watch.
3400         (gst_bus_add_signal_watch): Don't return the source id, just store
3401         it on the bus if there wasn't an id already.
3402
3403         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
3404         add_signal_watch and remove_signal_watch.
3405
3406 2005-09-29  Edward Hervey  <edward@fluendo.com>
3407
3408         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
3409         Better if we actually iterate the list :)
3410
3411 2005-09-29  Wim Taymans  <wim@fluendo.com>
3412
3413         * check/gst/gstbin.c: (GST_START_TEST):
3414         Change for new bus API.
3415
3416         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
3417         (send_messages), (GST_START_TEST), (gstbus_suite):
3418         Change for new bus signal API.
3419
3420         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
3421         (gst_bus_source_prepare), (gst_bus_source_check),
3422         (gst_bus_create_watch), (gst_bus_add_watch_full),
3423         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
3424         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
3425         * gst/gstbus.h:
3426         Remove support for multiple GSources operating on different
3427         message types as it is too complex and unneeded when using
3428         signals.
3429         Added support for receiving signals from the bus.
3430
3431 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3432
3433         * docs/libs/tmpl/gstdataprotocol.sgml:
3434         * docs/manual/advanced-dataaccess.xml:
3435         * gst/elements/gstcapsfilter.c:
3436         * gst/gstutils.c:
3437           rename filter-caps to caps property
3438
3439 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3442           More robust fraction string parsing.
3443
3444         * docs/pwg/appendix-porting.xml:
3445           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
3446
3447 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3448
3449         * gst/gstcaps.c: (gst_caps_do_simplify):
3450           Thou shalt not free a structure and then continue using it
3451           in the next loop iteration.
3452
3453         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
3454         (gst_caps_suite):
3455           Add test case for caps simplification.
3456
3457 2005-09-29  Wim Taymans  <wim@fluendo.com>
3458
3459         * check/gst/gstbin.c: (GST_START_TEST):
3460         Oops.
3461
3462 2005-09-29  Wim Taymans  <wim@fluendo.com>
3463
3464         * check/gst/gstbin.c: (GST_START_TEST):
3465         Add bus to bin.
3466
3467         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3468         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3469         (find_element), (gst_bin_sort_iterator_next),
3470         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3471         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3472         (gst_bin_change_state), (gst_bin_dispose):
3473         A bin does not have a bus, it gets the bus from the parent.
3474
3475         * gst/gstelement.c: (gst_element_requires_clock),
3476         (gst_element_provides_clock), (gst_element_is_indexable),
3477         (gst_element_is_locked_state), (gst_element_change_state),
3478         (gst_element_set_bus_func):
3479         Small cleanups.
3480
3481         * gst/gstpipeline.c: (gst_pipeline_class_init),
3482         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
3483         The pipeline provides a bus.
3484
3485 2005-09-28  Johan Dahlin  <johan@gnome.org>
3486
3487         * gst/gstmessage.c (gst_message_parse_state_changed): Use
3488         gst_structure_get_enum instead of gst_structure_get_int
3489
3490         * gst/gststructure.c (gst_structure_get_enum): Impl.
3491
3492         * gst/gststructure.h (gst_structure_get_enum): Add
3493
3494         * docs/gst/gstreamer-sections.txt: Ditto
3495
3496         * gst/gstmessage.c (gst_message_new_state_changed): Use
3497         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
3498         which does introspection.
3499         Reviewed by Christian Schaller
3500
3501 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
3502
3503         * gst/gstinfo.c: (gst_debug_log_default):
3504           don't do dummy g_strdup()s
3505         * libs/gst/controller/gstcontroller.c:
3506         (on_object_controlled_property_changed),
3507         (gst_controlled_property_new), (gst_controller_new_valist),
3508         (gst_controller_new_list),
3509         (gst_controller_remove_properties_valist), (gst_controller_set),
3510         (gst_controller_get), (gst_controller_sync_values),
3511         (gst_controller_get_value_array), (_gst_controller_class_init),
3512         (gst_controller_get_type):
3513         * libs/gst/controller/gstcontroller.h:
3514         * libs/gst/controller/gstinterpolation.c:
3515         (gst_controlled_property_find_timed_value_node):
3516           convert // to /**/ comments
3517
3518 2005-09-28  Wim Taymans  <wim@fluendo.com>
3519
3520         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
3521         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
3522         (gst_bus_sync_signal_handler):
3523         * gst/gstbus.h:
3524         Added async-message and sync-message signals to the bus.
3525         Added helper BusFunc to emit signals for all posted messages.
3526
3527         * gst/gstmessage.c: (gst_message_type_get_name),
3528         (gst_message_type_to_quark), (gst_message_get_type):
3529         * gst/gstmessage.h:
3530         Register quarks for message names.
3531
3532 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
3533
3534         * docs/libs/gstreamer-libs-sections.txt:
3535         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3536         (gst_controller_new_list):
3537         * libs/gst/controller/gstcontroller.h:
3538           added another constructor for language bindings
3539
3540 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3541
3542         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3543           add another check
3544         * gst/gstbus.c:
3545           add some doc
3546         * gst/gstinfo.c: (_gst_debug_init):
3547           slightly more readable color for refcount debugging
3548
3549 2005-09-28  Wim Taymans  <wim@fluendo.com>
3550
3551         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3552         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3553         (find_element), (gst_bin_sort_iterator_next),
3554         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3555         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3556         (gst_bin_change_state), (gst_bin_dispose):
3557         Small doc fixes. get_clock -> provide_clock.
3558
3559         * gst/gstelement.c: (gst_element_class_init),
3560         (gst_element_provides_clock), (gst_element_provide_clock),
3561         (gst_element_get_clock), (gst_element_commit_state),
3562         (gst_element_lost_state):
3563         * gst/gstelement.h:
3564         Make get/set_clock() symetric. Add provide_clock vmethod since
3565         that is actually what this function does.
3566
3567         * gst/gstpipeline.c: (gst_pipeline_class_init),
3568         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
3569         (gst_pipeline_get_clock):
3570         get_clock -> provide_clock.
3571
3572 2005-09-28  Andy Wingo  <wingo@pobox.com>
3573
3574         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
3575         lieu of real docs...
3576
3577         * gst/elements/gstfdsrc.c: Cleaned up a bit.
3578
3579 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
3580
3581         * gst/elements/gstcapsfilter.c:
3582         * gst/elements/gstfakesink.c:
3583         * gst/elements/gstfakesrc.c:
3584         * gst/elements/gstfdsink.c:
3585         * gst/elements/gstfdsrc.c:
3586         * gst/elements/gstfilesink.c:
3587         * gst/elements/gstfilesrc.c:
3588         * gst/elements/gstidentity.c:
3589         * gst/elements/gsttee.c:
3590         * gst/elements/gsttypefindelement.c:
3591           Make element details static.
3592
3593 2005-09-28  Wim Taymans  <wim@fluendo.com>
3594
3595         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3596         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3597         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3598         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3599         (gst_bin_change_state), (gst_bin_dispose):
3600         Some documentation updates.
3601         Clean up dispose handlers.
3602
3603         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
3604         * gst/gstpad.c: (gst_pad_dispose):
3605         Clean up dispose handler.
3606
3607         * gst/gstpipeline.c: (gst_pipeline_change_state):
3608         Removed spurious UNLOCK.
3609
3610 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
3611
3612         * docs/gst/gstreamer-sections.txt:
3613         * gst/base/gstbasesrc.h:
3614         * gst/gstelement.h:
3615         * gst/gstevent.h:
3616         * gst/gstobject.h:
3617         * gst/gstpad.h:
3618         * gst/gstpipeline.c:
3619         * gst/gstpipeline.h:
3620         * gst/gstutils.h:
3621         * gst/gstxml.h:
3622           added two new functions to the docs
3623                 documents all undocumented GstXXXFlags
3624                 completed some incomplete docs 
3625
3626 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3627
3628         * gst/gstbin.c: (gst_bin_dispose):
3629         * gst/gstelement.c: (gst_element_dispose):
3630           remove now useless and leaky resurrection code in dispose
3631         * gst/base/gstbasesrc.c: (gst_base_src_init):
3632         * gst/gstelementfactory.c: (gst_element_factory_create):
3633         * gst/gstobject.c: (gst_object_set_parent):
3634           add some debugging
3635
3636 2005-09-27  Wim Taymans  <wim@fluendo.com>
3637
3638         * docs/design/part-TODO.txt:
3639         Update TODO.
3640
3641         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3642         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3643         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3644         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3645         (gst_bin_change_state):
3646         * gst/gstelement.h:
3647         Remove element variable, we keep element info in the iterator now.
3648
3649 2005-09-27  Andy Wingo  <wingo@pobox.com>
3650
3651         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
3652         values.
3653
3654 2005-09-27  Wim Taymans  <wim@fluendo.com>
3655
3656         * check/gst/gstbin.c: (GST_START_TEST):
3657         Enable check that works now.
3658
3659         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3660         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3661         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3662         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3663         (gst_bin_change_state):
3664         * gst/gstbin.h:
3665         Redid the state change algorithm using a topological sort algo.
3666         Handles all cases correctly.
3667         Exposed iterator for state change order.
3668
3669         * gst/gstelement.h:
3670         Temp storage for state changes. Need to get rid of this soon.
3671
3672 2005-09-27  Wim Taymans  <wim@fluendo.com>
3673
3674         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
3675         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
3676         (link_fold_func), (gst_pad_proxy_setcaps):
3677         Leak fixes, the fold functions need to unref the passed object and
3678         _get_parent_*() returns ref to parent.
3679
3680 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3681
3682         * check/gst/gstbuffer.c: (test_make_writable):
3683           Plug leak in test case and fix 'make check-valgrind'
3684
3685 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         * gst/gstbuffer.c: (gst_subbuffer_init):
3688           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
3689           works correctly in all circumstances (we could have just copied
3690           the parent buffer's readonly flag, but conceptually it seems
3691           cleaner to mark all subbuffers as read-only). (based on patch
3692           by Alessandro Decina, #314710).
3693         
3694         * check/gst/gstbuffer.c: (create_read_only_buffer),
3695         (test_make_writable), (test_subbuffer_make_writable),
3696         (gst_test_suite):
3697           Add some tests for gst_buffer_make_writable().
3698
3699 2005-09-27  Wim Taymans  <wim@fluendo.com>
3700
3701         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
3702         use gst_object_has_ancestor().
3703
3704         * gst/gstobject.c: (gst_object_has_ancestor):
3705         * gst/gstobject.h:
3706         gst_object_has_ancestor() copied from gstbin.c as it is a
3707         usefull function.
3708
3709         * tests/instantiate/create.c: (create_all_elements):
3710         * tests/lat.c: (handoff_src), (handoff_sink):
3711         * tests/sched/runxml.c: (main):
3712         * tests/seeking/seeking1.c: (main):
3713         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
3714         (main):
3715         Fix compilation of some tests.
3716
3717 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * gst/gsterror.h:
3720           Remove comment. GST_TYPE_G_ERROR is here to stay,
3721           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
3722           (#316961, #300610).
3723
3724 2005-09-26  Wim Taymans  <wim@fluendo.com>
3725
3726         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3727         Added check that shows error in state change order.
3728
3729 2005-09-26  Wim Taymans  <wim@fluendo.com>
3730
3731         * gst/gstbin.c: (gst_bin_change_state):
3732         Make state change function use 3 queues again, we were
3733         adding elements in the wrong order.
3734
3735         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3736         Some debug info,
3737
3738         * gst/gstpad.c: (gst_pad_dispose):
3739         Added some debug info first.
3740
3741 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
3742
3743         * docs/design/draft-push-pull.txt:
3744         * docs/design/part-events.txt:
3745         * docs/design/part-overview.txt:
3746         * docs/design/part-scheduling.txt:
3747           Replace all _pull_region() with _pull_range()
3748           
3749 2005-09-26  Andy Wingo  <wingo@pobox.com>
3750
3751         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
3752
3753         * check/gst-libs/controller.c: Update for controller api change.
3754
3755         * configure.ac: 
3756         * tests/Makefile.am:
3757         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
3758         over by GLib bug 118439.
3759         
3760         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
3761         routines to a function.
3762
3763         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
3764
3765         * libs/gst/controller/gsthelper.c:
3766         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
3767         (gst_object_sync_values): Renamed from sink_values. Ugh.
3768
3769         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
3770
3771         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
3772         Renamed from controller_key, as it is exported.
3773
3774         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
3775
3776 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
3777
3778         * gst/Makefile.am:
3779         * gst/gst.h:
3780         * gst/gstpad.h:
3781         * gst/gstpadtemplate.h:
3782         * gst/gstquery.c:
3783         * gst/gstquery.h:
3784         * gst/gstqueryutils.c:
3785         * gst/gstqueryutils.h:
3786           remove queryutils headers after moving the two used functions
3787           to gstquery.  also fixes build problem for gstsiddec
3788
3789 2005-09-26  Michael Smith <msmith@fluendo.com>
3790
3791         * tools/gst-launch.1.in:
3792         Correct documentation in manpage of debug syntax
3793
3794 2005-09-26  Wim Taymans  <wim@fluendo.com>
3795
3796         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
3797         (gst_base_src_is_seekable), (gst_base_src_change_state):
3798         Some more debugging info.
3799
3800 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3801
3802         * docs/gst/gstreamer-sections.txt:
3803         * gst/base/gstbasetransform.h:
3804         * gst/gstindex.h:
3805           added more docs
3806
3807 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3808
3809         * docs/gst/.cvsignore:
3810         * docs/gst/tmpl/.cvsignore:
3811         * docs/gst/tmpl/gstpipeline.sgml:
3812         * docs/gst/tmpl/gstplugin.sgml:
3813         * gst/gstpipeline.c:
3814         * gst/gstplugin.c:
3815         * gst/gstplugin.h:
3816           inlined the last two docs files
3817           removed the tmpl directory from cvs (no more conflicts here!)
3818
3819 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
3820
3821         * docs/gst/gstreamer-sections.txt:
3822         * docs/gst/tmpl/.cvsignore:
3823         * docs/gst/tmpl/gstpad.sgml:
3824         * docs/gst/tmpl/gstpadtemplate.sgml:
3825         * gst/Makefile.am:
3826         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3827         (gst_pad_finalize), (gst_pad_set_pad_template):
3828         * gst/gstpad.h:
3829         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
3830         (gst_pad_template_class_init), (gst_pad_template_init),
3831         (gst_pad_template_dispose), (name_is_valid),
3832         (gst_static_pad_template_get), (gst_pad_template_new),
3833         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
3834         (gst_pad_template_pad_created):
3835         * gst/gstpadtemplate.h:
3836           inlined two more docs
3837           factored gstpadtemplate out of gstpad
3838
3839 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
3840
3841         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3842         (test_children_state_change_order_semi_sink):
3843           Fix test case: we can't rely on a fixed state change order when
3844           going from READY => PAUSED because the sink might commit its 
3845           new state first when the first buffer created by the source 
3846           reaches the sink before the source has finished its change state.
3847           (Test case still fails at times, see #316856, comment 5 onwards)
3848
3849 2005-09-24  Wim Taymans  <wim@fluendo.com>
3850
3851         * docs/design/part-events.txt:
3852         * docs/design/part-gstbus.txt:
3853         * docs/design/part-gstpipeline.txt:
3854         * docs/design/part-messages.txt:
3855         * docs/design/part-overview.txt:
3856         * docs/design/part-segments.txt:
3857         * gst/gstbin.c:
3858         * gst/gstbuffer.c:
3859         * gst/gstclock.c:
3860         * gst/gstelement.c:
3861         * gst/gstevent.c:
3862         * gst/gstfilter.c:
3863         * gst/gstiterator.c:
3864         Various documentation updates.
3865
3866 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3867
3868         * gst/gstclock.h:
3869           Well, that's embarassing.  Luckily we weren't using
3870           GST_CLOCK_DIFF anywhere.
3871
3872 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3873
3874         * common/gtk-doc.mak:
3875           don't fail on building XML, FC4 slave shows a bunch of doc
3876           missing bits that I don't get
3877         * gst/gstpad.c:
3878         * gst/gstpipeline.c:
3879         * gst/gststructure.c:
3880           some doc updates
3881
3882 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3883
3884         * docs/design/part-gstbin.txt:
3885         * docs/design/part-gstbus.txt:
3886         * gst/gstbus.c:
3887           Add blurb about how the bus goes into flushing mode and
3888           drops all messages when its bin goes from READY into NULL 
3889           state.
3890
3891 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3892
3893         * docs/gst/gstreamer-sections.txt:
3894         * gst/gststructure.c: (gst_structure_get_clock_time):
3895         * gst/gststructure.h:
3896           add a method to get a GstClockTime out of a structure
3897
3898 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3899
3900         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3901         (test_children_state_change_order_semi_sink), (gst_bin_suite):
3902           Added test to check state change order in bins (can still be made
3903           to fail here under heavy disk load; bails out with 'Push on pad
3904           fakesink:sink0, but it was not activated in push mode').
3905
3906         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
3907           Fix state change order when there is only a semi sink (#316856)
3908
3909         * gst/gstbus.c: (gst_bus_class_init):
3910           Use _class_peek_parent(), not _class_ref(); fix docs to say
3911           'default main context' instead of 'mainloop' where that is
3912           what's meant.
3913
3914         * gst/gstelement.c: (gst_element_commit_state),
3915         (gst_element_set_state):
3916           Fix typos in debug messages
3917
3918 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3919
3920         * docs/README:
3921         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
3922         * gst/gstpluginfeature.c:
3923         * gst/gstutils.c:
3924           various doc updates
3925         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3926           change an assert into an error until it gets fixed properly
3927
3928 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
3929
3930         * docs/gst/gstreamer-sections.txt:
3931         * docs/gst/tmpl/.cvsignore:
3932         * docs/gst/tmpl/gstelement.sgml:
3933         * docs/gst/tmpl/gstinfo.sgml:
3934         * docs/gst/tmpl/gstobject.sgml:
3935         * gst/gstelement.c:
3936         * gst/gstelement.h:
3937         * gst/gstinfo.c:
3938         * gst/gstinfo.h:
3939         * gst/gstobject.c: (gst_object_class_init):
3940         * gst/gstobject.h:
3941           inlined 3 more biiiig doc files and added some missing docs on the fly
3942
3943 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3944
3945         * check/gst/.cvsignore:
3946         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
3947         * gst/gstregistryxml.c: (load_plugin),
3948         (gst_registry_xml_save_plugin):
3949           put back source in registry.  add checks for find_plugin.
3950         * testsuite/states/bin.c: (assert_state), (empty_bin),
3951         (test_adding_one_element), (main):
3952         * testsuite/states/locked.c: (main):
3953           some compile/run fixes
3954
3955 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3956
3957         * check/gst/gstvalue.c: (GST_START_TEST):
3958           fix leaks in the test itself
3959
3960 2005-09-22  Wim Taymans  <wim@fluendo.com>
3961
3962         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3963         (gst_base_sink_send_event), (gst_base_sink_peer_query),
3964         (gst_base_sink_query):
3965         Prepare for more accurate position reporting and query
3966         handling.
3967
3968         * gst/gstelement.c: (gst_element_send_event),
3969         (gst_element_set_state):
3970         Add some comment.
3971
3972 2005-09-22  Wim Taymans  <wim@fluendo.com>
3973
3974         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
3975         (gst_query_parse_segment):
3976         * gst/gstquery.h:
3977         More documentation.
3978         Add segment query for future use.
3979
3980 2005-09-22  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/gstbin.c: (gst_bin_add_func):
3983         Some more debug info.
3984
3985         * gst/gstelement.c: (gst_element_send_event):
3986         Simplify send_event
3987
3988         * gst/gstelement.h:
3989         Don't know how flags got broken.
3990
3991         * gst/gstquery.h:
3992         Added new query.
3993
3994 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3995
3996         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
3997           Add simplistic test suite for GST_TYPE_DATE serialisation and
3998           deserialisation.
3999
4000 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
4001
4002         * docs/gst/gstreamer-sections.txt:
4003         * gst/gststructure.c: (gst_structure_set_valist),
4004         (gst_structure_get_date):
4005         * gst/gststructure.h:
4006         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
4007         (gst_date_copy), (gst_value_compare_date),
4008         (gst_value_serialize_date), (gst_value_deserialize_date),
4009         (gst_value_transform_date_string),
4010         (gst_value_transform_string_date), (_gst_value_initialize):
4011         * gst/gstvalue.h:
4012           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
4013           bunch of utility functions along with a hack that checks that
4014           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
4015           is required. Part of the grand scheme in #170777.
4016
4017 2005-09-22  Andy Wingo  <wingo@pobox.com>
4018
4019         * gst/gstconfig.h.in: Psych out gtk-doc.
4020
4021         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
4022
4023         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
4024
4025         * tools/gst-inspect.c (print_element_list): Plug some
4026         inconsequential leaks.
4027
4028         * gst/gstregistry.c (gst_registry_get_default): Doc.
4029
4030         * check/gst/gstplugin.c: 
4031         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
4032         * gst/gstelementfactory.c (gst_element_factory_create): 
4033         * gst/gstindexfactory.c (gst_index_factory_create): Update for
4034         refcount changes.
4035
4036         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
4037         (gst_plugin_feature_load): Doc, don't eat refs.
4038
4039         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
4040         (gst_plugin_list_free): Doc.
4041         (gst_plugin_load_file): Doc updates.
4042
4043         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
4044         accessors returning refcounted objects, return a ref.
4045
4046         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
4047         accessor for caps. IDEMPOTENCE. Oh yes.
4048
4049 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
4050
4051         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4052
4053         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4054         (_gst_debug_register_funcptr):
4055           Add mutex to serialise access to the hash table with
4056           the function pointer => function name string mapping;
4057           make that hash table static scope (#316809).
4058
4059         * gst/registries/.cvsignore:
4060           Remove left-over file.
4061
4062 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4063
4064         * docs/pwg/appendix-porting.xml:
4065           And something about newsegment events and caps-on-buffers to
4066           the porting guide (feel free to improve).
4067
4068 2005-09-21  Andy Wingo  <wingo@pobox.com>
4069
4070         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
4071         data and event probes on the same pad.
4072         (test_buffer_probe_once): Test that removing probes from within
4073         the probe functions works.
4074
4075 2005-09-21  Andy Wingo  <wingo@pobox.com>
4076
4077         * check/gst/gstutils.c: New file.
4078         (test_buffer_probe_n_times): A simple buffer probe test. More to
4079         come, foolios.
4080
4081         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
4082         have-data::buffer, not have-data.
4083         (gst_pad_add_event_probe): Likewise for have-data::event.
4084         (gst_pad_add_data_probe): More docs. The part about 'resolving the
4085         peer' isn't quite right yet though.
4086         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
4087         (gst_pad_remove_data_probe): Change to take the guint handler_id
4088         as their arg, not the function+data, which is more glib-like.
4089
4090         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
4091         the signal emission to indicate if the data is a buffer or an
4092         event.
4093         (gst_pad_get_type): Initialize buffer and event quarks.
4094         (gst_pad_class_init): have-data is now a detailed signal, yes it
4095         is.
4096
4097 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
4098
4099         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4100         * gst/gstutils.c: (gst_util_set_value_from_string),
4101         (gst_util_set_object_arg):
4102           Don't put functional code in g_return_if_fail() or
4103           g_return_val_if_fail() statements, otherwise things will 
4104           break when G_DISABLE_CHECKS is defined during compilation.
4105
4106 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4107
4108         * docs/gst/tmpl/.cvsignore:
4109         * docs/gst/tmpl/gstvalue.sgml:
4110         * gst/gstvalue.c:
4111         * gst/gstvalue.h:
4112           inlied another one and added  some obvious docs
4113
4114 2005-09-21  Wim Taymans  <wim@fluendo.com>
4115
4116         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4117         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
4118         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
4119         (gst_fdsrc_get_property), (gst_fdsrc_create):
4120         * gst/elements/gstfdsrc.h:
4121         Properly implement fdsrc. Removed signal and timeout,
4122         better implemented somewhere else.
4123
4124 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4125
4126         * docs/gst/tmpl/.cvsignore:
4127         * docs/gst/tmpl/gstimplementsinterface.sgml:
4128         * gst/gstinterface.c:
4129           inlined more docs
4130
4131 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4132
4133         * docs/gst/gstreamer-sections.txt:
4134         * docs/gst/tmpl/.cvsignore:
4135         * docs/gst/tmpl/gstenumtypes.sgml:
4136           remove obsolete doc file
4137
4138 2005-09-21  David Schleef  <ds@schleef.org>
4139
4140         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
4141         little beer, fix a little leak.
4142
4143 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
4144
4145         * docs/gst/gstreamer-docs.sgml:
4146         * docs/gst/gstreamer-sections.txt:
4147         * docs/gst/tmpl/.cvsignore:
4148         * gst/Makefile.am:
4149         * gst/gst.h:
4150         * gst/gstbin.c:
4151         * gst/gstelement.h:
4152         * gst/gstindex.c: (gst_index_class_init):
4153         * gst/gstindex.h:
4154         * gst/gstindexfactory.c: (gst_index_factory_get_type),
4155         (gst_index_factory_class_init), (gst_index_factory_init),
4156         (gst_index_factory_finalize), (gst_index_factory_new),
4157         (gst_index_factory_destroy), (gst_index_factory_find),
4158         (gst_index_factory_create), (gst_index_factory_make):
4159         * gst/gstindexfactory.h:
4160         * gst/gstpluginfeature.c:
4161         * gst/gstpluginfeature.h:
4162         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4163           more docs inlined, splitted gstindex.{c,h}
4164
4165 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4166
4167         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4168           fix a leak
4169
4170 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4171
4172         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4173           Set sync to FALSE by default.
4174
4175 2005-09-20  Wim Taymans  <wim@fluendo.com>
4176
4177         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4178         (gst_base_sink_init):
4179         Make sync property settable from subclass.
4180
4181         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4182         (gst_fake_sink_change_state):
4183         Set sync to FALSE by default.
4184
4185 2005-09-20  Wim Taymans  <wim@fluendo.com>
4186
4187         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
4188         * tools/gst-launch.c: (main):
4189         The timeout handler should have lower priority than the source
4190         so we don't timeout before popping a message with 0 timeout.
4191         Dump error messages after failed state change.
4192
4193 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
4194
4195         * tools/gst-inspect.c: (print_element_properties_info):
4196           Fix two typos.
4197
4198 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4199
4200         * check/gst/gstevent.c:
4201         * gst/elements/gstfakesink.c:
4202         * gst/elements/gstfakesink.h:
4203           remove the sync property from fakesink.
4204           has the side effect of setting sync TRUE
4205           for fakesink, which is a change.  Anyone who knows how
4206           to fix this nicely in a GObject-y way, feel free.
4207
4208 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4209
4210         * docs/gst/gstreamer-docs.sgml:
4211           remove probe refsection
4212
4213 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4214
4215         * check/Makefile.am:
4216           disable valgrinding the controller test again
4217         * docs/gst/gstreamer-sections.txt:
4218           update for api-changes
4219
4220 2005-09-20  Wim Taymans  <wim@fluendo.com>
4221
4222         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4223         (gst_base_sink_set_property), (gst_base_sink_get_property),
4224         (gst_base_sink_do_sync):
4225         * gst/base/gstbasesink.h:
4226         Added sync property to basesink to disable clock sync.
4227
4228 2005-09-20  Andy Wingo  <wingo@pobox.com>
4229
4230         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
4231         eating the caller's refcount.
4232
4233         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
4234         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4235         refcount.
4236
4237         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4238         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4239         of GLib 2.8 public, so we can know which refcount to check in
4240         tests.
4241
4242         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4243         (gst_object_init): Only set the gst refcount if we're going ahead
4244         with the refcount hack.
4245
4246 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4247
4248         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4249         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4250           more leaks plumbed, added more debug-logging
4251         * gst/gstmacros.h:
4252           whitespace fix
4253
4254 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4255
4256         * gst/gstmessage.c:
4257           remove include of gstmemchunk.h
4258
4259 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4260
4261         * gst/gstclock.c: (_gst_clock_id_free):
4262           Commit from the Political Party For More Atomic CVS Commits,
4263           so that people don't waste too much of their day fishing
4264           out obvious leaks out of massive commits.
4265           Oh, and fix a pretty damn obvious leak in the memchunk
4266           removal code.
4267
4268 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
4269
4270         * check/Makefile.am:
4271         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4272           plug mem-leak, re-add to valgrindable tests
4273
4274 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4275
4276         * gst/gstplugin.h:
4277           unbreak the build for those who have chronic arthritis
4278           and typing "make check" is just too taxing on the hands
4279
4280 2005-09-20  Andy Wingo  <wingo@pobox.com>
4281
4282         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
4283         really want it out, you should fix plugins at the same time.
4284
4285 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * configure.ac:
4288         * docs/gst/gstreamer-sections.txt:
4289         * gst/gstobject.c:
4290           added missing symbols to api docs
4291           disable ref-count hack if we have glib >= 2.8
4292
4293 2005-09-19  David Schleef  <ds@schleef.org>
4294
4295         * docs/gst/Makefile.am: Ignore a few more internal headers
4296         * docs/gst/gstreamer-docs.sgml: Remove old sections
4297         * docs/gst/gstreamer-sections.txt: Remove old sections
4298         * docs/gst/tmpl/gstobject.sgml: update
4299         * docs/gst/tmpl/gstplugin.sgml: update
4300         * docs/gst/tmpl/gstpluginfeature.sgml: update
4301         * docs/random/ds/0.9-suggested-changes: update.
4302         * gst/Makefile.am: remove memchunk and trashstack, since they're
4303           not used.
4304         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
4305         * gst/gst.h: don't include some headers
4306         * gst/gstchildproxy.c: add gstmarshal.h
4307         * gst/gstclock.c: Don't use memchunks
4308         * gst/gstminiobject.c: Add some docs
4309         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
4310         * gst/gstobject.h: same
4311         * gst/gstplugin.c: include gstmacros.h
4312         * gst/gstplugin.h: don't include gstmacros.h, since it's private
4313         * gst/gstquery.c: don't use memchunks
4314         * gst/gstregistry.c: rename gst_registry_deinit()
4315         * gst/gstregistry.h: same
4316
4317 2005-09-19  David Schleef  <ds@schleef.org>
4318
4319         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
4320         * docs/libs/gstreamer-libs-sections.txt:
4321         * docs/libs/tmpl/gstgetbits.sgml:
4322         * docs/libs/tmpl/gstputbits.sgml:
4323
4324 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4325
4326         * win32/gstenumtypes.c:
4327         * win32/gstenumtypes.h:
4328           Update.
4329
4330 2005-09-19  Wim Taymans  <wim@fluendo.com>
4331
4332         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
4333         Automatically PAUSE and RESUME a pipeline when a flushing seek
4334         is performed.
4335
4336 2005-09-19  Andy Wingo  <wingo@pobox.com>
4337
4338         * gst/gstregistry.h: Spacing fixen.
4339
4340 2005-09-19  Wim Taymans  <wim@fluendo.com>
4341
4342         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
4343         Handle state change failure more correctly.
4344
4345 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * check/Makefile.am:
4348         * check/pipelines/cleanup.c: (run_pipeline):
4349         * check/pipelines/simple_launch_lines.c: (run_pipeline),
4350         (GST_START_TEST):
4351           enable cleanup again after fixing the leak
4352         * docs/README:
4353           some more info on docs
4354
4355 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * check/Makefile.am:
4358           re-enable tests now that leaks are plugged
4359         * check/gst/gst.c:
4360         * check/gst/gstbin.c:
4361         * check/gst/gstpipeline.c:
4362           add some more tests while fixing leaks
4363         * common/check.mak:
4364           make sure binaries are uptodate when valgrinding/gdbing
4365         * gst/gst.c:
4366         * gst/gstelementfactory.c:
4367           remove a ref too many, and add a FIXME for when we get
4368           round to disposing of classes
4369         * gst/gstplugin.c:
4370           fix the refcounting when loading a plugin from a file and
4371           the code pretends that the pointer is the same even though
4372           of course it can change
4373         * gst/gstpluginfeature.c:
4374           unref plugins marked cached (a bit confusing as a name)
4375           as the docs state should be done
4376           various doc additions to explain refcounting
4377         * gst/gstregistry.c:
4378         * gst/gstregistryxml.c:
4379           debugging
4380
4381 2005-09-19  Wim Taymans  <wim@fluendo.com>
4382
4383         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
4384         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4385         (send_messages), (GST_START_TEST), (gstbus_suite):
4386         * check/gst/gstpipeline.c: (GST_START_TEST):
4387         * check/pipelines/cleanup.c: (run_pipeline):
4388         * check/pipelines/simple_launch_lines.c: (run_pipeline),
4389         (GST_START_TEST):
4390         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
4391         (gst_bus_source_check), (gst_bus_source_dispatch),
4392         (gst_bus_create_watch), (gst_bus_add_watch_full),
4393         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
4394         * gst/gstbus.h:
4395         * tools/gst-launch.c: (event_loop):
4396         * tools/gst-md5sum.c: (event_loop):
4397         GstBusHandler -> GstBusFunc, return value has the same meaning as
4398         any other GSource (FALSE == remove source).
4399         _add_watch() and _add_watch_full() now take a MessageType mask to
4400         only handle specific types of messages.
4401         _poll() returns the GstMessage instead of the message type to avoid
4402         race conditions.
4403         _have_pending() takes a MessageType mask now too.
4404         Added testsuite for multiple bus watches.
4405         Fix testsuites and applications for new bus API.
4406
4407 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4408
4409         * check/Makefile.am:
4410           mark a bunch of the tests as to fix until we fix them
4411
4412 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4413
4414         * common/check.mak:
4415           use GST_PLUGIN settings for valgrind tests as well, so we're
4416           valgrinding the correct thing
4417         * gst/gst.c: (init_post):
4418           plug another leak
4419
4420 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4421
4422         * gst/gst.c: (init_post), (gst_deinit):
4423         * gst/gstelementfactory.c: (gst_element_factory_class_init),
4424         (gst_element_factory_finalize), (gst_element_factory_cleanup):
4425         * gst/gstindex.c: (gst_index_factory_class_init),
4426         (gst_index_factory_finalize):
4427         * gst/gstobject.c: (gst_object_dispose):
4428         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4429         (gst_plugin_load_file), (gst_plugin_desc_free):
4430         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
4431         (gst_plugin_feature_finalize):
4432         * gst/gstregistry.c: (gst_registry_class_init),
4433         (gst_registry_init), (gst_registry_finalize),
4434         (gst_registry_get_default), (gst_registry_deinit):
4435         * gst/gstregistry.h:
4436         * gst/gstregistryxml.c: (load_feature), (load_plugin):
4437           various cleanups and memleak plugging.  make valgrind is happy now.
4438
4439 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4440
4441         * common/check.mak:
4442           add a check-valgrind target
4443
4444 2005-09-18  David Schleef  <ds@schleef.org>
4445
4446         * tools/gst-inspect.c: Revert the GOption code.
4447
4448 2005-09-17  David Schleef  <ds@schleef.org>
4449
4450         * check/Makefile.am: Fix environment variables.
4451         * check/gst/gstplugin.c: Fix for API changes.
4452         * tools/gst-inspect.c: Fix for API changes.
4453         * tools/gst-xmlinspect.c: Fix for API changes.
4454         * gst/gstelementfactory.c:
4455         * gst/gstplugin.c:
4456         * gst/gstplugin.h:
4457         * gst/gstpluginfeature.c:
4458         * gst/gstpluginfeature.h:
4459         * gst/gstregistry.c:
4460         * gst/gstregistry.h:
4461         * gst/gstregistryxml.c:
4462         * gst/gsttypefind.c:
4463         * gst/gsttypefindfactory.c:
4464         * gst/indexers/gstfileindex.c:
4465         * gst/indexers/gstmemindex.c:
4466         * gst/schedulers/Makefile.am:
4467           Change registry to keep track of both plugins and features,
4468           removing the feature tracking from plugins themselves.
4469
4470 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4471
4472         * check/Makefile.am:
4473         * tools/gst-register.1.in:
4474           remove gst-register
4475
4476 2005-09-15  David Schleef  <ds@schleef.org>
4477
4478         * check/gst/gstplugin.c:
4479         * gst/gstelementfactory.c:
4480         * gst/gstplugin.c:
4481         * gst/gstpluginfeature.c:
4482         * gst/gstregistry.c:
4483           Getting tired of debugging.  Disabled all the unreffing of
4484           plugins and features, which fixes the segfaults, but of
4485           course leaks like crazy.  At least playbin works.
4486
4487 2005-09-15  David Schleef  <ds@schleef.org>
4488
4489         * check/gst/gstplugin.c: (register_check_elements),
4490         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
4491         More testing
4492         * gst/elements/gsttypefindelement.c: Fix refcounting.
4493         * gst/gsttypefind.c:
4494         * gst/gsttypefindfactory.c:
4495         * gst/gsttypefindfactory.h:
4496
4497 2005-09-15  David Schleef  <ds@schleef.org>
4498
4499         * gst/gstindex.c: get refcounting correct.
4500         * gst/gstregistry.c: Handle the case where a feature/plugin is
4501           not found.
4502
4503 2005-09-15  David Schleef  <ds@schleef.org>
4504
4505         * check/Makefile.am:
4506         * check/gst/gstplugin.c: Add test
4507         * gst/gstplugin.c: Fix problems noticed by testsuite
4508         * gst/gstplugin.h:
4509         * gst/gstregistry.c: 
4510         * gst/gstregistry.h:
4511
4512 2005-09-15  David Schleef  <ds@schleef.org>
4513
4514         * gst/gstplugin.c: Implement semi-decent recounting and locking
4515           in plugins and plugin features.
4516         * gst/gstplugin.h:
4517         * gst/gstpluginfeature.c:
4518         * gst/gstpluginfeature.h:
4519         * gst/gstregistry.c:
4520
4521 2005-09-15  Michael Smith <msmith@fluendo.com>
4522
4523         * gst/gstregistry.c: (gst_registry_get_feature_list):
4524           Implement this. Makes oggdemux work; decodebin still broken.
4525
4526 2005-09-14  David Schleef  <ds@schleef.org>
4527
4528         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
4529           #316076)
4530         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
4531         * gst/check/Makefile.am:
4532         * libs/gst/controller/Makefile.am:
4533         * libs/gst/dataprotocol/Makefile.am:
4534
4535 2005-09-14  David Schleef  <ds@schleef.org>
4536
4537         * configure.ac: Remove getbits library.  Nothing uses it, and
4538           it should be in something like liboil if someone did want
4539           to use it.
4540         * libs/gst/Makefile.am:
4541         * libs/gst/getbits/Makefile.am:
4542         * libs/gst/getbits/gbtest.c:
4543         * libs/gst/getbits/getbits.c:
4544         * libs/gst/getbits/getbits.h:
4545         * libs/gst/getbits/gstgetbits_generic.c:
4546         * libs/gst/getbits/gstgetbits_i386.s:
4547         * libs/gst/getbits/gstgetbits_inl.h:
4548
4549 2005-09-14  David Schleef  <ds@schleef.org>
4550
4551         * gst/Makefile.am: Dist glib-compat.h
4552
4553 2005-09-14  David Schleef  <ds@schleef.org>
4554
4555         * configure.ac: Remove gst/registries, since it's no longer used.
4556         * gst/registries/Makefile.am:
4557         * gst/registries/gstlibxmlregistry.c:
4558         * gst/registries/gstlibxmlregistry.h:
4559         * gst/registries/gstxmlregistry.c:
4560         * gst/registries/gstxmlregistry.h:
4561         * gst/registries/registrytest.c:
4562
4563 2005-09-14  David Schleef  <ds@schleef.org>
4564
4565         * gst/glib-compat.h:
4566         * gst/gstregistryxml.c:
4567           Convergence is near.  Seriously.
4568
4569 2005-09-14  David Schleef  <ds@schleef.org>
4570
4571         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4572         * gst/glib-compat.h:
4573           Attempt #4 to appease the buildbots.
4574
4575 2005-09-14  David Schleef  <ds@schleef.org>
4576
4577         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4578           Attempt #3.
4579
4580 2005-09-14  David Schleef  <ds@schleef.org>
4581
4582         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4583         Attempt #2.
4584
4585 2005-09-14  David Schleef  <ds@schleef.org>
4586
4587         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
4588           the new functions.
4589
4590 2005-09-14  David Schleef  <ds@schleef.org>
4591
4592         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4593         * gst/glib-compat.h: Add some functions that are in newer versions
4594           of glib than we care to require.
4595         * gst/gstregistryxml.c: Use them.
4596
4597 2005-09-14  David Schleef  <ds@schleef.org>
4598
4599         * po/POTFILES.in: remove gst-register.c
4600
4601 2005-09-14  David Schleef  <ds@schleef.org>
4602
4603         * docs/gst/gstreamer-docs.sgml:
4604         * docs/gst/gstreamer-sections.txt:
4605         * docs/gst/gstreamer.types:
4606         * docs/gst/tmpl/gstelement.sgml:
4607         * docs/gst/tmpl/gstplugin.sgml:
4608         * docs/gst/tmpl/gstpluginfeature.sgml:
4609           Documentation updates for registry changes.
4610
4611 2005-09-14  David Schleef  <ds@schleef.org>
4612
4613         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
4614           because we don't require glib-2.8.
4615
4616 2005-09-14  David Schleef  <ds@schleef.org>
4617
4618         * gst/gstregistryxml.c: Added.  Essentially moved out of the
4619           registries directory.
4620
4621 2005-09-14  David Schleef  <ds@schleef.org>
4622
4623         * check/Makefile.am:
4624         * check/generic/states.c:
4625         * gst/Makefile.am:
4626         * gst/gst.c:
4627         * gst/gst.h:
4628         * gst/gst_private.h:
4629         * gst/gstelementfactory.c:
4630         * gst/gstindex.c:
4631         * gst/gstinfo.c:
4632         * gst/gstplugin.c:
4633         * gst/gstplugin.h:
4634         * gst/gstpluginfeature.c:
4635         * gst/gstpluginfeature.h:
4636         * gst/gstregistry.c:
4637         * gst/gstregistry.h:
4638         * gst/gstregistrypool.c: remove
4639         * gst/gstregistrypool.h: remove
4640         * gst/gsttypefind.c:
4641         * gst/gsttypefindfactory.c:
4642         * gst/gsturi.c:
4643         * tools/Makefile.am:
4644         * tools/gst-compprep.c:
4645         * tools/gst-inspect.c:
4646         * tools/gst-register.c: remove
4647         * tools/gst-xmlinspect.c:
4648           Registry rewrite.  Changes registry from being a file created
4649           by a tool into a simple cache file created automatically by 
4650           libgstreamer.  Removed gst-register (because it's no longer
4651           needed).  Remove registry pools, because we only have one
4652           registry implementation (XML).  Fix up other subsystems as
4653           necessary.
4654
4655 2005-09-13  Michael Smith <msmith@fluendo.com>
4656
4657         * gst/gstconfig.h.in:
4658           Don't Use windows linking attributes for MinGW. Fixes #316157
4659
4660 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4661
4662         * gst/gstutils.c: (set_state_async_thread_func),
4663         (gst_element_set_state_async):
4664           Apparently people think it's better if this function doesn't
4665           try to set the state to whatever state was asked for on the first
4666           call to this function for any object.  Seriously.
4667
4668 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4669
4670         * check/gst/gstpipeline.c: (GST_START_TEST):
4671         * docs/gst/gstreamer-sections.txt:
4672         * gst/gstutils.c: (set_state_async_thread_func),
4673         (gst_element_set_state_async):
4674         * gst/gstutils.h:
4675           add a "gst_element_set_state_async" method that
4676           sets the state and starts a thread to make sure the state
4677           change completes as best as it can
4678
4679 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4680
4681         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4682           codify design+behaviour in testsuite after discussion
4683
4684 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4685
4686         * docs/gst/tmpl/gstelement.sgml:
4687         * docs/manual/appendix-quotes.xml:
4688           add a quote
4689         * gst/gstelement.c: (gst_element_set_state):
4690           add some debug
4691
4692 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
4693
4694         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4695         (gst_base_transform_prepare_output_buf),
4696         (gst_base_transform_handle_buffer):
4697         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
4698         (gst_capsfilter_prepare_buf):
4699           Remove the requirement for sub-classes to call the parent
4700           implementation of prepare_output_buffer with a wrapper function.
4701           
4702         * gst/gsttaglist.h:
4703         * gst/gsttagsetter.h:
4704           Fix #define wrapper
4705
4706 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
4707
4708         * docs/gst/gstreamer-sections.txt:
4709           more doc cleanups
4710
4711 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4712
4713         * docs/gst/gstreamer-sections.txt:
4714         * docs/gst/tmpl/gstelement.sgml:
4715         * docs/gst/tmpl/gstplugin.sgml:
4716         * gst/gstminiobject.c:
4717         * gst/gstvalue.h:
4718           docs now stop throwing warnings
4719
4720 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4721
4722         * docs/gst/gstreamer-sections.txt:
4723         * docs/gst/gstreamer.types:
4724         * docs/gst/tmpl/gstpad.sgml:
4725         * docs/gst/tmpl/gsttypes.sgml:
4726         * gst/base/gstadapter.h:
4727         * gst/base/gstbasesink.h:
4728         * gst/base/gstbasesrc.h:
4729         * gst/gstbin.h:
4730         * gst/gstbuffer.h:
4731         * gst/gstbus.h:
4732         * gst/gstcaps.h:
4733         * gst/gstclock.h:
4734         * gst/gstelement.h:
4735         * gst/gstevent.h:
4736         * gst/gstmessage.h:
4737         * gst/gstpad.h:
4738         * gst/gststructure.c:
4739         * gst/registries/gstlibxmlregistry.h:
4740           various documentation fixes
4741
4742 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4743
4744         * docs/gst/gstreamer-sections.txt:
4745         * docs/gst/tmpl/gstvalue.sgml:
4746           rearrange gstvalue section
4747         * gst/gstutils.c: (gst_element_state_get_name):
4748           NONE -> VOID
4749         * gst/gstvalue.c: (_gst_value_initialize):
4750         * gst/gstvalue.h:
4751           doc updates
4752
4753 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
4754
4755         * check/gst-libs/controller.c:
4756           Header include fix.
4757         * gst/base/gstbasetransform.c:
4758         (gst_base_transform_default_prepare_buf),
4759         (gst_base_transform_handle_buffer):
4760         * gst/base/gstbasetransform.h:
4761           Some more basetransform changes and fixes to enable sub-classes
4762           that modify buffer metadata only.
4763         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4764         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
4765         (gst_capsfilter_prepare_buf):
4766           If the output pad has fixed allowed caps and input buffers 
4767           don't have any, set the fixed caps on outgoing buffers.
4768
4769 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
4770         * check/elements/identity.c: (GST_START_TEST):
4771           Make the error a little clearer when the test fails because
4772           identity made a copy of the buffer.
4773         * docs/gst/gstreamer-sections.txt:
4774           New symbols in gstbasetransform.h
4775         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4776         (gst_base_transform_init), (gst_base_transform_transform_size),
4777         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4778         (gst_base_transform_default_prepare_buf),
4779         (gst_base_transform_get_unit_size),
4780         (gst_base_transform_buffer_alloc),
4781         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4782         (gst_base_transform_change_state),
4783         (gst_base_transform_set_passthrough),
4784         (gst_base_transform_set_in_place),
4785         (gst_base_transform_is_in_place):
4786         * gst/base/gstbasetransform.h:
4787           Change BaseTransform to separate in_place operate from same_caps
4788           output. in_place implies that the element can perform the transform
4789           on incoming buffers in-place, even if the caps on the output are
4790           different.
4791           Sub-class elements can now implement special buffer allocation
4792           methods for outgoing buffers if they wish to.
4793           Big documentation addition.
4794         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
4795         * gst/elements/gstelements.c:
4796           Changes for basetransform modifications.
4797         * gst/elements/Makefile.am:
4798         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
4799           Compile fix. Extra debug output.
4800
4801 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4802
4803         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
4804         (gst_pad_suite):
4805           add tests for valid pad naming
4806         * gst/check/gstcheck.c: (gst_check_log_message_func),
4807         (gst_check_log_critical_func):
4808           add ASSERT_WARNING
4809           remove printing of code, it is fragile when the code contains
4810           % and the line number is enough info
4811         * gst/check/gstcheck.h:
4812         * gst/gstpad.c: (gst_pad_template_new):
4813           fix memleaks
4814
4815 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4816
4817         * configure.ac:
4818           say what CHECK flags we use
4819         * docs/libs/gstreamer-libs.types:
4820         * libs/gst/controller/Makefile.am:
4821         * libs/gst/controller/gst-controller.c:
4822         * libs/gst/controller/gst-controller.h:
4823         * libs/gst/controller/gst-helper.c:
4824         * libs/gst/controller/gst-interpolation.c:
4825         * libs/gst/controller/gstcontroller.c:
4826         * libs/gst/controller/gsthelper.c:
4827         * libs/gst/controller/gstinterpolation.c:
4828         * tools/gst-inspect.c: (print_plugin_info):
4829           we don't use dashes in header names
4830
4831 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4832
4833         * check/Makefile.am:
4834         * check/gst/.cvsignore:
4835         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
4836         (gst_pipeline_suite), (main):
4837           adding a test for pipelines and state changes
4838         * gst/gstutils.c: (get_state_func):
4839           add some debugging
4840         * gstreamer.spec.in:
4841           fix up spec file
4842
4843 2005-09-08  Michael Smith <msmith@fluendo.com>
4844
4845         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
4846         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
4847         (gst_file_src_is_seekable), (gst_file_src_get_size),
4848         (gst_file_src_start):
4849         * gst/elements/gstfilesrc.h:
4850           Various fixes for unseekable, unmmapable, and non-normal files, so
4851           that fallback to read() rather than mmap() works.
4852         * gst/gstevent.c: (gst_event_new_newsegment):
4853           Allow newsegment events with segment_start == segment_end, as will
4854           correctly happen if you use filesrc on a zero-size file, for
4855           example.
4856
4857 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
4858
4859         * gst/gstplugin.c: (gst_plugin_load_file):
4860           Call g_module_close when we don't load the module
4861
4862         * gst/registries/gstlibxmlregistry.c:
4863         (gst_xml_registry_get_property):
4864           Port leak fix from 0.8
4865
4866 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4867
4868         * docs/gst/gstreamer-docs.sgml:
4869         * docs/gst/tmpl/.cvsignore:
4870         * docs/gst/tmpl/gsttrace.sgml:
4871         * docs/gst/tmpl/gsttrashstack.sgml:
4872         * gst/Makefile.am:
4873         * gst/gst.h:
4874         * gst/gstelement.h:
4875         * gst/gstevent.h:
4876         * gst/gstmessage.c:
4877         * gst/gstmessage.h:
4878         * gst/gsttag.c:
4879         * gst/gsttag.h:
4880         * gst/gsttaginterface.c:
4881         * gst/gsttaginterface.h:
4882         * gst/gsttaglist.c:
4883         * gst/gsttaglist.h:
4884         * gst/gsttagsetter.c:
4885         * gst/gsttagsetter.h:
4886         * gst/gsttrace.c:
4887         * gst/gsttrace.h:
4888         * gst/gsttrashstack.c:
4889           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
4890           inlined docs for gsttrace, gsttrashstack
4891
4892 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4893
4894         * gst/Makefile.am:
4895         * gst/elements/gstbufferstore.h:
4896         * gst/elements/gsttypefindelement.c:
4897         * gst/elements/gsttypefindelement.h:
4898         * gst/gst.h:
4899         * gst/gsttypefind.c:
4900         * gst/gsttypefind.h:
4901         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
4902         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
4903         (gst_type_find_factory_dispose),
4904         (gst_type_find_factory_unload_thyself),
4905         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
4906         (gst_type_find_factory_get_caps),
4907         (gst_type_find_factory_get_extensions),
4908         (gst_type_find_factory_call_function):
4909         * gst/gsttypefindfactory.h:
4910         * gst/registries/gstlibxmlregistry.c:
4911         * gst/registries/gstxmlregistry.c:
4912           splitted gsttypefind into gsttypefind, gsttypefindfactory
4913
4914 2005-09-07  Andy Wingo  <wingo@pobox.com>
4915
4916         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
4917         condition whereby the pad's task function is entered before the
4918         pad_mode variable was set.
4919
4920 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
4921
4922         * gst/gstpad.c: (gst_pad_alloc_buffer):
4923           Catch misbehaving pad_alloc functions that don't
4924           set up caps and do it for them.
4925
4926 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
4927
4928         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4929           test for pipe!=NULL
4930         * docs/gst/tmpl/.cvsignore:
4931         * docs/gst/tmpl/gstmemchunk.sgml:
4932         * docs/gst/tmpl/gstparse.sgml:
4933         * docs/gst/tmpl/gsttaglist.sgml:
4934         * docs/gst/tmpl/gsttagsetter.sgml:
4935         * docs/gst/tmpl/gsttypefind.sgml:
4936         * docs/gst/tmpl/gsttypefindfactory.sgml:
4937         * gst/gstmemchunk.c:
4938         * gst/gstparse.c:
4939         * gst/gsttag.c:
4940         * gst/gsttaginterface.c:
4941         * gst/gsttypefind.c:
4942         * gst/gsttypefind.h:
4943           inlined more docs
4944
4945 === release 0.9.2 ===
4946
4947 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4948
4949         * NEWS:
4950         * RELEASE:
4951         * configure.ac:
4952           releasing 0.9.2, "South"
4953
4954 2005-09-05  Andy Wingo  <wingo@pobox.com>
4955
4956         * gst/registries/gstxmlregistry.h:
4957         * gst/registries/gstxmlregistry.c: Um... resurrect...
4958         
4959         * gst/registries/gstxmlregistry.h:
4960         * gst/registries/gstxmlregistry.c: and update to newer API.
4961         Incidentally they should be a bit faster now that they don't have
4962         to parse the caps.
4963         
4964 2005-09-05  Andy Wingo  <wingo@pobox.com>
4965
4966         * gst/registries/gstxmlregistry.h:
4967         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
4968         replaced by the libxml registry a while back
4969
4970 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4971
4972         * docs/gst/tmpl/gstplugin.sgml:
4973         * gst/elements/gstelements.c:
4974         * gst/gst.c:
4975         * gst/gstplugin.c: (gst_plugin_register_func),
4976         (gst_plugin_desc_copy), (gst_plugin_desc_free),
4977         (gst_plugin_get_source):
4978         * gst/gstplugin.h:
4979         * gst/registries/gstlibxmlregistry.c: (load_plugin),
4980         (gst_xml_registry_save_plugin):
4981         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
4982         (gst_xml_registry_save_plugin):
4983         * tools/gst-inspect.c: (print_plugin_info):
4984           add a "source" plugin description field, to represent the source
4985           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
4986           will set it to PACKAGE, which is automake's idea of the name of
4987           the source project.
4988
4989 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4990
4991         * Makefile.am:
4992         * autogen.sh:
4993         * configure.ac:
4994         * docs/Makefile.am:
4995         * docs/faq/Makefile.am:
4996         * docs/gst/tmpl/gstelement.sgml:
4997         * docs/gst/tmpl/gsttypes.sgml:
4998         * docs/htmlinstall.mak:
4999         * docs/manual/Makefile.am:
5000         * docs/pwg/Makefile.am:
5001           reorganize doc build a little
5002           split out docbook and gtk-doc stuff
5003           have two separate --enable's and enable them through autogen
5004           but disable by default in configure (to be similar to other
5005           projects)
5006         * gstreamer.spec.in:
5007           clean up docs install
5008         * po/af.po:
5009         * po/az.po:
5010         * po/ca.po:
5011         * po/cs.po:
5012         * po/de.po:
5013         * po/en_GB.po:
5014         * po/fr.po:
5015         * po/it.po:
5016         * po/nb.po:
5017         * po/nl.po:
5018         * po/ru.po:
5019         * po/sq.po:
5020         * po/sr.po:
5021         * po/sv.po:
5022         * po/tr.po:
5023         * po/uk.po:
5024         * po/vi.po:
5025           translation updates
5026
5027 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
5028
5029         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
5030           Add comment.
5031           
5032         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5033         (gst_fake_sink_change_state):
5034           Make state change function thread-safe.
5035           
5036         * gst/gstpad.c: (gst_pad_alloc_buffer):
5037           Set offset on generic buffer allocated by fallback.
5038
5039 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
5040
5041         * docs/gst/gstreamer-sections.txt:
5042         * docs/gst/tmpl/gstelement.sgml:
5043         * gst/gstpad.c:
5044         * libs/gst/controller/gst-controller.c:
5045         (gst_controlled_property_set_interpolation_mode),
5046         (gst_controlled_property_new),
5047         (gst_controller_find_controlled_property):
5048          run the wingo-magic script against the docs
5049
5050 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5051
5052         * docs/gst/gstreamer-docs.sgml:
5053         * docs/gst/gstreamer-sections.txt:
5054         * docs/gst/tmpl/.cvsignore:
5055         * docs/gst/tmpl/gstelementdetails.sgml:
5056         * docs/gst/tmpl/gstelementfactory.sgml:
5057         * gst/gst.c:
5058         * gst/gstbus.c:
5059         * gst/gstelementfactory.c:
5060         * gst/gstelementfactory.h:
5061           merged elementdetails docs into elementfactory docs
5062           inlined both
5063
5064 2005-09-02  Andy Wingo  <wingo@pobox.com>
5065
5066         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
5067         consider this enum an enum and not a flags.
5068
5069 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
5070
5071         * docs/gst/gstreamer-docs.sgml:
5072         * docs/gst/tmpl/.cvsignore:
5073         * docs/gst/tmpl/gstghostpad.sgml:
5074         * docs/gst/tmpl/gstiterator.sgml:
5075         * docs/gst/tmpl/gstmacros.sgml:
5076         * docs/gst/tmpl/gstrealpad.sgml:
5077         * docs/gst/tmpl/gstregistry.sgml:
5078         * docs/gst/tmpl/gstregistrypool.sgml:
5079         * docs/gst/tmpl/gststructure.sgml:
5080         * docs/gst/tmpl/gstsystemclock.sgml:
5081         * docs/gst/tmpl/gsttrace.sgml:
5082         * gst/gstghostpad.c:
5083         * gst/gstmacros.h:
5084         * gst/gstmemchunk.c:
5085         * gst/gstmemchunk.h:
5086         * gst/gstqueue.c:
5087         * gst/gstregistry.c:
5088         * gst/gstregistrypool.c:
5089         * gst/gststructure.c:
5090         * gst/gstsystemclock.c:
5091           more docs inlined
5092
5093 2005-09-02  Andy Wingo  <wingo@pobox.com>
5094
5095         * gst/gstelement.h (GstState): Renamed from GstElementState,
5096         changed to be a normal enum instead of flags.
5097         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
5098         munged to be GST_STATE_CHANGE_*.
5099         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
5100         work with the new state representation.
5101         (GstStateChange): New enumeration of possible state transitions.
5102         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
5103         (GstElementClass::change_state): Pass the GstStateChange along as
5104         an argument. Helps language bindings, so they don't have to use
5105         tricky lock-needing macros like GST_STATE_CHANGE ().
5106
5107         * scripts/update-states (file): New script. Run it on a file to
5108         update it for state naming and API changes. Updates files in
5109         place.
5110
5111         * All files updated for the new API.
5112
5113 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5114
5115         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
5116         * gst/gstutils.c: (gst_util_set_value_from_string),
5117         (gst_util_set_object_arg):
5118           fix a bunch of unchecked return values
5119         * tools/gst-complete.c: (main):
5120         * gstreamer.spec.in:
5121           clean up a little
5122
5123 2005-09-01  Wim Taymans  <wim@fluendo.com>
5124
5125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5126         (gst_base_sink_event), (gst_base_sink_do_sync),
5127         (gst_base_sink_handle_event):
5128         * gst/base/gstbasesink.h:
5129         Handle newsegments more correctly.
5130
5131         * gst/gstbus.c:
5132         Fix docs.
5133
5134         * gst/gstevent.c: (gst_event_new_newsegment):
5135         A newsegment cannot have a start_time of -1
5136
5137 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
5138
5139         * win32/gstenumtypes.c:
5140         * win32/gstenumtypes.h:
5141           Update
5142
5143 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5144
5145         * libs/gst/controller/gst-controller.c:
5146         (gst_controlled_property_set_interpolation_mode),
5147         (gst_controlled_property_new):
5148          fixed boolean again
5149
5150 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5151
5152         * docs/faq/gst-uninstalled:
5153           add -good
5154         * gst/gstevent.c:
5155         * gst/gstevent.h:
5156           remove wrong docs
5157         * gst/gstutils.c: (gst_element_link_filtered):
5158         * gst/gstutils.h:
5159           add gst_element_link_filtered
5160
5161 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5162
5163         * docs/gst/gstreamer-docs.sgml:
5164         * docs/gst/gstreamer-sections.txt:
5165         * docs/gst/tmpl/.cvsignore:
5166         * docs/gst/tmpl/gsterror.sgml:
5167         * docs/gst/tmpl/gstfilter.sgml:
5168         * docs/gst/tmpl/gsturihandler.sgml:
5169         * docs/gst/tmpl/gsturitype.sgml:
5170         * docs/gst/tmpl/gstutils.sgml:
5171         * docs/gst/tmpl/gstxml.sgml:
5172         * gst/gsterror.c:
5173         * gst/gsterror.h:
5174         * gst/gstfilter.c:
5175         * gst/gsturi.c:
5176         * gst/gsturitype.c:
5177         * gst/gstutils.c:
5178         * gst/gstxml.c:
5179           inlined more docs, fixed double id-ref
5180
5181 2005-08-31  Wim Taymans  <wim@fluendo.com>
5182
5183         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5184         (gst_base_transform_handle_buffer):
5185         Passthrough elements don't need the caps as they don't care.
5186
5187 2005-08-31  Wim Taymans  <wim@fluendo.com>
5188
5189         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5190         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
5191         Don't leak refcounts on buffers.
5192
5193 2005-08-31  Wim Taymans  <wim@fluendo.com>
5194
5195         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
5196         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5197         (gst_base_transform_chain), (gst_base_transform_change_state):
5198         * gst/base/gstbasetransform.h:
5199         Handle the case where we are not negotiated more gracefully.
5200
5201 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
5202
5203         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
5204         (gst_file_src_map_region):
5205           Set READONLY flag on mmap'ed buffers, otherwise
5206           gst_buffer_make_writable() won't work properly (#314708).
5207
5208 2005-08-31  Wim Taymans  <wim@fluendo.com>
5209
5210         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
5211         passthrough elements can even do inplace on non writable
5212         buffers (as they don't touch them).
5213
5214 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
5215
5216         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5217         (gst_test_mono_source_set_property),
5218         (gst_test_mono_source_class_init), (GST_START_TEST),
5219         (gst_controller_suite):
5220           more tests (hehe I have the most)
5221         * gst/gstbus.c:
5222           describe popping messages whenusing mulltiple sources
5223         * libs/gst/controller/gst-controller.c:
5224         (gst_controlled_property_set_interpolation_mode),
5225         (gst_controlled_property_new):
5226         * libs/gst/controller/gst-controller.h:
5227         * libs/gst/controller/gst-interpolation.c:
5228           implement boolean properties
5229
5230 2005-08-31  Wim Taymans  <wim@fluendo.com>
5231
5232         * gst/gstminiobject.c: (gst_mini_object_ref):
5233         Cannot assert that the refcount has to be positive
5234         since a disposed object can be resurrected.
5235
5236 2005-08-31  Wim Taymans  <wim@fluendo.com>
5237
5238         * gst/gstpad.c: (gst_pad_init):
5239         Revert change, need to first fix badly behaving 
5240         apps.
5241
5242 2005-08-30  Wim Taymans  <wim@fluendo.com>
5243
5244         * check/elements/fakesrc.c: (setup_fakesrc):
5245         * check/elements/identity.c: (setup_identity):
5246         Activate pads before using them.
5247
5248 2005-08-30  Wim Taymans  <wim@fluendo.com>
5249
5250         * gst/base/gstadapter.c: (gst_adapter_flush):
5251         Flushing out 0 bytes is ok for this function.
5252
5253         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5254         no newsegment gives a warning and sets the start/stop to 
5255         invalid.
5256
5257         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
5258         (gst_base_transform_set_passthrough):
5259         Some debug info.
5260
5261         * gst/gstminiobject.c: (gst_mini_object_ref):
5262         Check refcount here too.
5263
5264         * gst/gstpad.c: (gst_pad_init):
5265         Pads are initially flushing and refusing data.
5266
5267         * gst/gstutils.c: (gst_element_link_pads_filtered):
5268         When adding a capsfilter element make sure it has the
5269         same state as the parent bin.
5270
5271 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5272
5273         * docs/gst/tmpl/.cvsignore:
5274         * docs/gst/tmpl/gstformat.sgml:
5275         * docs/gst/tmpl/gstversion.sgml:
5276         * gst/gstbus.h:
5277         * gst/gstformat.c:
5278         * gst/gstformat.h:
5279         * gst/gstversion.h.in:
5280           more docs and two more inlined
5281
5282 2005-08-30  Wim Taymans  <wim@fluendo.com>
5283
5284         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
5285         Don't sync to clock.
5286
5287 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5288
5289         * docs/gst/gstreamer-sections.txt:
5290           ultral33t func10ns deserve to appear in the docs actually
5291         * docs/gst/tmpl/.cvsignore:
5292         * docs/gst/tmpl/gstcompat.sgml:
5293         * docs/gst/tmpl/gstconfig.sgml:
5294         * gst/check/gstcheck.c:
5295         * gst/gstcompat.h:
5296         * gst/gstconfig.h.in:
5297           inlined more docs
5298
5299 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5300
5301         * docs/gst/tmpl/.cvsignore:
5302         * docs/gst/tmpl/gstquery.sgml:
5303         * docs/gst/tmpl/gstutils.sgml:
5304         * gst/gstquery.c:
5305         * gst/gstquery.h:
5306           inlined and extended docs
5307
5308 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
5309
5310         * check/gst-libs/controller.c: (GST_START_TEST),
5311         (gst_controller_suite):
5312           more tests
5313         * docs/gst/tmpl/gstutils.sgml:
5314         * docs/libs/gstreamer-libs-sections.txt:
5315         * docs/libs/tmpl/gstdataprotocol.sgml:
5316           include path fixes
5317         * examples/controller/audio-example.c: (main):
5318           controller example works now
5319         * gst/gstclock.h:
5320           doc fixes
5321         * tools/gst-inspect.c: (print_element_properties_info):
5322           show param spec flags
5323
5324 2005-08-29  Andy Wingo  <wingo@pobox.com>
5325
5326         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
5327
5328 2005-08-28  Andy Wingo  <wingo@pobox.com>
5329
5330         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
5331         as having two arguments instead of just one. Allows superclasses
5332         to access information on subclasses -- see the terrible for() loop
5333         in gtype.c:g_type_create_instance for the reason why. All callers
5334         changed.
5335
5336 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5337
5338         * docs/design/part-messages.txt:
5339           update info
5340         * docs/gst/tmpl/.cvsignore:
5341         * docs/gst/tmpl/gstcaps.sgml:
5342         * docs/gst/tmpl/gstclock.sgml:
5343         * gst/gstbus.c:
5344         * gst/gstcaps.c:
5345         * gst/gstcaps.h:
5346         * gst/gstclock.c:
5347         * gst/gstclock.h:
5348         * gst/gstmessage.c:
5349           added descriptions for bus and message
5350           inline caps and clock docs
5351
5352 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5353
5354         * gst/gstmessage.c:
5355         * gst/gstmessage.h:
5356           doc fixes
5357
5358 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
5359
5360         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5361           fix div-by-zero
5362
5363 2005-08-26  Andy Wingo  <wingo@pobox.com>
5364
5365         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
5366         element_set_state's return val.
5367         (test_2_elements): Add test that's been disabled for months.
5368
5369         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
5370         can-activate-pull properties.
5371
5372         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
5373         can-activate-pull properties. Implement is_seekable so fakesrc can
5374         operate in pull mode.
5375
5376         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
5377         properties.
5378         (gst_base_sink_activate, gst_base_sink_activate_pull)
5379         (gst_base_sink_activate_push): Make activation mode choosing work.
5380         Cleanups.
5381         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
5382         is right. Make pull mode work. Post an eos before pausing in pull
5383         mode.
5384         (gst_base_sink_change_state): Pay attention to the core's
5385         change_state() return val.
5386         
5387         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
5388         has-getrange properties. Cleanups.
5389         
5390         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
5391         has_getrange and replace with can_activate_pull and
5392         can_activate_push.
5393
5394         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
5395         locking comments. Remove has_loop, has_chain and replace with
5396         can_activate_pull and can_activate_push.
5397
5398 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
5399
5400         * configure.ac:
5401         * examples/Makefile.am:
5402         * examples/metadata/Makefile.am:
5403         * examples/metadata/read-metadata.c: (message_loop),
5404         (have_pad_handler), (make_pipeline), (print_tag), (main):
5405           Add metadata reading example that loops over a list of filenames,
5406           dumping any tags found.
5407
5408         * gst/gstbus.c: (gst_bus_dispose):
5409         * gst/gstelement.c: (gst_element_dispose):
5410           Release a few potentially-held references in dispose.
5411
5412 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5413
5414         * docs/gst/tmpl/gstminiobject.sgml:
5415           do *not* add tmpl/*.sgml files to CVS!
5416
5417 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5418
5419         * libs/gst/bytestream/.cvsignore:
5420         * libs/gst/bytestream/Makefile.am:
5421         * libs/gst/bytestream/adapter.c:
5422         * libs/gst/bytestream/adapter.h:
5423         * libs/gst/bytestream/bytestream.c:
5424         * libs/gst/bytestream/bytestream.h:
5425         * libs/gst/bytestream/filepad.c:
5426         * libs/gst/bytestream/filepad.h:
5427           removing obsolete files
5428
5429 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5430
5431         * docs/gst/gstreamer-docs.sgml:
5432         * docs/libs/gstreamer-libs-docs.sgml:
5433           disabed additional index entries again, as this makes docs-gen just
5434           slow and they aren't useful yet
5435         * docs/libs/gstreamer-libs-sections.txt:
5436           little -section.txt cleanup for libs
5437
5438 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5439
5440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5441         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
5442           fix up some debugging
5443         (gst_base_transform_get_unit_size),
5444         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5445         (gst_base_transform_handle_buffer):
5446         * gst/base/gstbasetransform.h:
5447           handle and store timed NEWSEGMENT events so that subclasses that
5448           calculate time by counting samples have a segment_start time they
5449           need to add to their timestamps - see audioresample
5450
5451 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
5452
5453         * gst/gstbin.h:
5454           removed ';' from the end of macro defs
5455         * docs/gst/gstreamer-docs.sgml:
5456         * docs/gst/gstreamer-sections.txt:
5457         * docs/gst/tmpl/.cvsignore:
5458         * gst/gstbus.h:
5459         * gst/gstelement.c: (gst_element_class_init),
5460         (gst_element_set_state), (activate_pads),
5461         (gst_element_save_thyself):
5462         * gst/gstevent.c: (gst_event_new_newsegment):
5463         * gst/gstevent.h:
5464         * gst/gstiterator.c:
5465         * gst/gstiterator.h:
5466         * gst/gstpad.c:
5467         * gst/gstprobe.h:
5468         * gst/gstutils.c: (gst_pad_query_convert):
5469         * gst/gstutils.h:
5470           fixed parameter name mismatches between source, header and docs
5471           added some more docs, resolved the last batch of unused elements in
5472           docs (now someone needs to doc them)
5473
5474 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5475
5476         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
5477         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
5478           don't walk through the plugins backwards.  Where is all this
5479           reversed logic coming from ?
5480
5481 2005-08-25  Wim Taymans  <wim@fluendo.com>
5482
5483         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5484         (gst_base_transform_transform_size),
5485         (gst_base_transform_configure_caps),
5486         (gst_base_transform_get_unit_size),
5487         (gst_base_transform_buffer_alloc),
5488         (gst_base_transform_change_state):
5489         * gst/base/gstbasetransform.h:
5490         Cache caps unit_size.
5491         Make sure we cannot negotiate up and downstream at the
5492         same time.
5493
5494 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5495
5496         * gst/gst.c: (init_pre), (init_post):
5497           register the installed plugin path after the env var
5498         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
5499         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
5500           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
5501           directories, so the tests can prefer uninstalled over installed
5502
5503 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5504
5505         * gst/base/gstbasetransform.h:
5506           comment
5507         * gst/gstpad.c:
5508           add to docs
5509
5510 2005-08-25  Wim Taymans  <wim@fluendo.com>
5511
5512         * gst/gstbin.c: (bin_bus_handler):
5513         Be a bit more conservative about the posted message.
5514         
5515         * gst/gstbus.c: (gst_bus_post):
5516         Some cleanups, warn wrong return values.
5517
5518 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
5519
5520         * check/gst/gstbin.c: (GST_START_TEST):
5521         * gst/gstbin.c: (bin_bus_handler):
5522         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5523         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5524         (gst_message_new_warning), (gst_message_new_tag),
5525         (gst_message_new_state_changed), (gst_message_new_segment_start),
5526         (gst_message_new_segment_done), (gst_message_new_custom):
5527         * gst/gstmessage.h:
5528         * tools/gst-launch.c: (event_loop):
5529         * tools/gst-md5sum.c: (event_loop):
5530           Revert unpopular change for GST_MESSAGE_SRC to GObject.
5531
5532 2005-08-25  Wim Taymans  <wim@fluendo.com>
5533
5534         * check/generic/states.c: (GST_START_TEST):
5535         Cleanup can be done at the end.
5536
5537         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
5538         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5539         (gst_task_get_state), (gst_task_start), (gst_task_pause):
5540         Oh boy.. Thanks for finding this, Thomas. 
5541
5542 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
5543
5544         * docs/gst/gstreamer.types:
5545           added missing types
5546
5547 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
5548
5549         * docs/gst/gstreamer-docs.sgml:
5550         * docs/gst/gstreamer-sections.txt:
5551         * docs/gst/tmpl/.cvsignore:
5552         * gst/gstbin.c:
5553         * gst/gstiterator.c:
5554         * gst/gstutils.c:
5555         * gst/registries/gstxmlregistry.h:
5556           added missing classes and symbols (123 more to go)
5557           removed removed symbols from section file
5558           fixed many doc-comments
5559
5560 2005-08-24  Wim Taymans  <wim@fluendo.com>
5561
5562         * check/generic/states.c: (GST_START_TEST):
5563         Make sure all tasks are stopped.
5564
5565         * check/gst/gstbin.c: (GST_START_TEST):
5566         Unref after usage for proper valgrinding.
5567
5568         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
5569         Really wait for the task to stop before destroying the
5570         mutex.
5571
5572         * gst/gstqueue.c: (gst_queue_sink_activate_push),
5573         (gst_queue_src_activate_push):
5574         Small cleanups. Don't stop the task when we did not start
5575         it.
5576
5577         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
5578         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5579         (gst_task_get_state), (gst_task_start), (gst_task_pause),
5580         (gst_task_join):
5581         * gst/gsttask.h:
5582         Protect the stream lock with the object lock.
5583         Disallow setting the stream lock when running.
5584         Add cleanup_all to wait for the threadpool to finish.
5585         Remove code to autoallocate a mutex if none was provided.
5586         Add _join() to wait for a task to stop.
5587         Protect the thread pool with a global lock.
5588
5589 2005-08-24  Wim Taymans  <wim@fluendo.com>
5590
5591         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5592         (gst_base_sink_get_times), (gst_base_sink_do_sync),
5593         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
5594         * gst/base/gstbasesink.h:
5595         Handle newsegment events correctly.
5596         Drop buffers out of the segment range.
5597
5598 2005-08-22  Andy Wingo  <wingo@pobox.com>
5599
5600         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
5601         macro, implements an interface and gstimplementsinterface for a
5602         new type.
5603
5604 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5605
5606         * check/Makefile.am:
5607         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
5608           add a test that does a bunch of state changes on elements
5609           needs some fixing for valgrind
5610         * check/states/sinks.c: (gst_object_suite):
5611           whitespace
5612         * gst/gstcaps.h:
5613           add prototype for gst_caps_is_equal_fixed
5614         * gst/gstplugin.c:
5615         * gst/gstregistrypool.c:
5616           doc fixes
5617
5618 2005-08-24  Andy Wingo  <wingo@pobox.com>
5619
5620         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
5621         convert a negative value. Doesn't make much sense. Mostly this is
5622         here to force callers to ensure -1 maps to -1.
5623
5624 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5625
5626         * docs/pwg/advanced-types.xml:
5627           Well done to Michael for catching my deliberate introduction
5628           of this spelling mistake. 
5629         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
5630         * gst/gstelement.h:
5631           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
5632           unlink pads before removing the element from the bin.
5633
5634 2005-08-24  Andy Wingo  <wingo@pobox.com>
5635
5636         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
5637         the same thing as GST_DEBUG=*:4.
5638         (parse_debug_level, parse_debug_category): New helper parsers.
5639
5640 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5641
5642         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5643         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
5644         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
5645         (gst_base_transform_buffer_alloc),
5646         (gst_base_transform_handle_buffer):
5647           use gboolean return values and pointers to size so we can use the
5648           full GST_BUFFER_SIZE range (guint) for buffer sizes
5649           use GstPadDirection for transform_caps
5650         * gst/base/gstbasetransform.h:
5651           rename get_size to get_unit_size since that's what it is
5652         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
5653           use GstPadDirection for transform_caps
5654         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5655         * gst/gstutils.h:
5656           cleanup and debugging
5657
5658 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
5659
5660         * gst/gstelement.c: (gst_element_class_init),
5661         (gst_element_set_state), (activate_pads),
5662         (gst_element_save_thyself):
5663         * tools/gst-compprep.c: (main):
5664         * tools/gst-inspect.c: (print_element_properties_info):
5665         * tools/gst-xmlinspect.c: (print_element_properties):
5666           Fixed long standing mem-leak
5667
5668 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5669
5670         * check/gst/gstbin.c: (GST_START_TEST):
5671         * gst/gstbin.c: (bin_bus_handler):
5672         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5673         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5674         (gst_message_new_warning), (gst_message_new_tag),
5675         (gst_message_new_state_changed), (gst_message_new_segment_start),
5676         (gst_message_new_segment_done), (gst_message_new_custom):
5677         * gst/gstmessage.h:
5678         * tools/gst-launch.c: (event_loop):
5679         * tools/gst-md5sum.c: (event_loop):
5680           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
5681           that applications can sensibly post custom messages with references
5682           to their own objects.
5683
5684 2005-08-24  Andy Wingo  <wingo@pobox.com>
5685
5686         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
5687         already.
5688
5689 2005-08-24  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5692         (gst_base_transform_transform_caps),
5693         (gst_base_transform_transform_size),
5694         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5695         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5696         (gst_base_transform_handle_buffer):
5697         * gst/base/gstbasetransform.h:
5698         Many fixes and new features added by Thomas. Can now also do
5699         transforms with variable sizes and a custom fixate_caps function.
5700
5701 2005-08-24  Wim Taymans  <wim@fluendo.com>
5702
5703         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5704         Some debugging.
5705
5706         * gst/gstclock.h:
5707         Cast to ClockTime before formatting to time.
5708
5709         * gst/gstutils.h:
5710         Cleanups.
5711
5712 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
5713
5714         * check/gst-libs/controller.c: (GST_START_TEST),
5715         (gst_controller_suite):
5716         * docs/gst/tmpl/gstcaps.sgml:
5717         * docs/gst/tmpl/gstghostpad.sgml:
5718         * docs/gst/tmpl/gstquery.sgml:
5719         * docs/gst/tmpl/gstutils.sgml:
5720         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
5721         (gst_object_sink_values), (gst_object_get_value_arrays),
5722         (gst_object_get_value_array):
5723           gracefully handle helper method calls to objects that are not beeing
5724           controlled, added test case for that          
5725
5726 2005-08-23  Wim Taymans  <wim@fluendo.com>
5727
5728         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
5729         (gst_event_new_newsegment), (gst_event_parse_newsegment),
5730         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
5731         (gst_event_parse_qos), (gst_event_new_seek),
5732         (gst_event_parse_seek):
5733         * gst/gstevent.h:
5734         Some more debugging output and doc cleanups.
5735
5736         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5737         Fix possible deadlock.
5738
5739 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5740
5741         * docs/gst/gstreamer-docs.sgml:
5742         * docs/gst/gstreamer-sections.txt:
5743         * docs/gst/gstreamer.types:
5744         * docs/gst/tmpl/.cvsignore:
5745         * gst/gstbin.h:
5746         * gst/gstbus.c:
5747         * gst/gstelement.c:
5748         * gst/gstevent.h:
5749           added 100 symbols from gstreamer-unused.txt to the right sections
5750           fixed more broken comments
5751           added GstBus to docs
5752
5753 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5754
5755         * docs/gst/gstreamer-sections.txt:
5756         * docs/gst/tmpl/.cvsignore:
5757         * docs/gst/tmpl/gstbin.sgml:
5758         * docs/gst/tmpl/gstbuffer.sgml:
5759         * gst/base/gstbasesrc.c:
5760         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
5761         * gst/gstbuffer.c:
5762         * gst/gstbuffer.h:
5763         * tools/gst-launch.1.in:
5764           inlined more doc comments, added missing comments and fixed comments
5765           fixed typos
5766
5767 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5768
5769         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5770           some debugging
5771         * gst/gstcaps.h:
5772           whitespace fixes
5773         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
5774           more debugging
5775         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
5776         * gst/gststructure.h:
5777           add a fixate function for booleans; add a FIXME that these func
5778           names should probably be gst_structure_fixate_*
5779
5780 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
5781
5782         * docs/gst/gstreamer-docs.sgml:
5783         * docs/gst/gstreamer-sections.txt:
5784         * gst/Makefile.am:
5785         * gst/gstbin.c: (gst_bin_get_type),
5786         (gst_bin_child_proxy_get_child_by_index),
5787         (gst_bin_child_proxy_get_children_count),
5788         (gst_bin_child_proxy_init):
5789         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5790         (gst_child_proxy_get_child_by_index),
5791         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
5792         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
5793         (gst_child_proxy_get), (gst_child_proxy_set_property),
5794         (gst_child_proxy_set_valist), (gst_child_proxy_set),
5795         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
5796         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
5797         * gst/gstchildproxy.h:
5798         * gst/parse/grammar.y:
5799         * tools/gst-inspect.c: (print_interfaces),
5800         (print_element_properties_info), (print_element_info):
5801           ported gstchildproxy over from 0.8
5802           ported gst-inspect fixes and enhancements over from 0.8
5803
5804 2005-08-22  Wim Taymans  <wim@fluendo.com>
5805
5806         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5807         (gst_base_transform_handle_buffer):
5808         Also call the transform function if we have ANY caps.
5809
5810         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
5811         Fix debug info.
5812
5813 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
5814
5815         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
5816           Don't pretend to handle seek events if the source is not seekable
5817
5818 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
5819
5820         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5821           Remove extra parameter to debug output
5822
5823         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5824         (gst_base_src_do_seek), (gst_base_src_activate_push):
5825           Fix seek event handling.
5826
5827         * gst/gstpipeline.c: (gst_pipeline_change_state):
5828         * gst/gstqueue.c: (gst_queue_handle_sink_event),
5829         (gst_queue_src_activate_push):
5830           Don't start the src pad task on FLUSH_STOP if the pad
5831           isn't linked.
5832           Debug changes.
5833
5834 2005-08-22  Wim Taymans  <wim@fluendo.com>
5835
5836         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5837         Added check for gst_static_caps_get() refcounting.
5838
5839 2005-08-22  Wim Taymans  <wim@fluendo.com>
5840
5841         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
5842         Make _static_caps_get() refcounting sane.
5843         
5844         * gst/gstelement.c: (gst_element_set_state):
5845         Add g_return_val_if_fail() to protect against segfaults.
5846
5847 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
5848
5849         * docs/gst/tmpl/gstevent.sgml:
5850         * gst/gstevent.c:
5851         * gst/gstevent.h:
5852           inlined remaining docs, added missing doc comments
5853
5854 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5855
5856         * check/gst/gstbin.c: (GST_START_TEST):
5857           since we don't know when preroll is done, use refcount range
5858           check for the sink
5859         * gst/check/gstcheck.h:
5860           add macro for checking refcount range
5861
5862 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5863
5864         * check/Makefile.am:
5865           clean up environment for when registry gets built versus
5866           when actual tests are run; valgrind seems to not report
5867           leaks if GST_PLUGIN_PATH is set to some specific values
5868         * check/gst/gstbin.c: (GST_START_TEST):
5869           add more refcounting checks; maybe this exposes a
5870           preroll lock bug ?
5871         * common/check.mak:
5872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5873         * gst/check/gstcheck.h:
5874         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
5875         (gst_bin_change_state):
5876         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
5877           add/fix debugging/whitespace
5878
5879 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
5880
5881         * check/gst/gstevent.c: (event_probe), (test_event),
5882         (GST_START_TEST):
5883          Er, don't call gst_bin_watch_for_state_change you idiot.
5884
5885 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
5886
5887         * check/Makefile.am:
5888           Use CHECK_CFLAGS and CHECK_LIBS
5889         * check/gst/gstevent.c: (event_probe), (test_event),
5890         (GST_START_TEST):
5891           Don't leak events.
5892         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5893         (gst_base_src_start), (gst_base_src_stop),
5894         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5895         (gst_base_src_change_state):
5896           Sprinkle gst_base_src_stop liberally around error paths to fix
5897           problems reusing a source after failed state changes.
5898         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5899         (helper_find_suggest), (gst_type_find_helper):
5900           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
5901         * gst/gstevent.h:
5902         * docs/gst/tmpl/gstevent.sgml:
5903           Migrate part of the docs from the SGML file. Wait for ensonic to
5904           tell me how I did it wrong ;)
5905         * tools/gst-typefind.c: (main):
5906           Extra robustness to state changes between files.
5907
5908 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5909
5910         * check/Makefile.am:
5911           don't valgrind the controller test - it's leaking - Stefan, HELP
5912         * gst/check/gstcheck.c: (gst_check_message_error),
5913         (gst_check_chain_func), (gst_check_setup_element),
5914         (gst_check_teardown_element), (gst_check_setup_src_pad),
5915         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5916         (gst_check_teardown_sink_pad):
5917         * gst/check/gstcheck.h:
5918           add a bunch of methods to set up elements, and src and sink pads
5919         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
5920         * check/elements/identity.c: (setup_identity), (cleanup_identity),
5921         (GST_START_TEST):
5922           use them
5923         * gst/gstmessage.c:
5924         * gst/gsttag.h:
5925           whitespace/doc fixes
5926
5927 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5928
5929         * gst/gstelement.h:
5930           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
5931           be handled by the application and not always printed as well
5932
5933 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5934
5935         * check/Makefile.am:
5936           set GST_TOOLS_DIR
5937         * gst/check/gstcheck.c: (gst_check_message_error):
5938         * gst/check/gstcheck.h:
5939           add a fail_unless_equals_int
5940           add fail_unless for error messages
5941
5942 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * check/Makefile.am:
5945         * check/gst.supp:
5946         * common/Makefile.am:
5947         * common/check.mak:
5948         * common/gst.supp:
5949           factor out some of the common stuff so we can use it
5950
5951 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         * check/Makefile.am:
5954         * check/gst/gstiterator.c: (GST_START_TEST):
5955         * check/gst/gstsystemclock.c: (GST_START_TEST),
5956         (gst_systemclock_suite):
5957         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5958         * gst/gstclock.c:
5959           valgrind more tests
5960
5961 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5962
5963         * check/elements/.cvsignore:
5964         * check/elements/gstfakesrc.c:
5965           rename to name of element
5966         * check/elements/identity.c: (chain_func), (event_func),
5967         (setup_identity), (cleanup_identity), (GST_START_TEST),
5968         (identity_suite), (main):
5969           add a test for identity
5970         * check/Makefile.am:
5971         * pkgconfig/Makefile.am:
5972         * pkgconfig/gstreamer-check.pc.in:
5973         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5974         * gst/check:
5975         * gst/Makefile.am:
5976         * configure.ac:
5977           move the check stuff to a library that gets installed
5978         * check/gst-libs/controller.c: (GST_START_TEST):
5979         * check/gst-libs/gdp.c:
5980         * check/gst/gst.c: (GST_START_TEST):
5981         * check/gst/gstbin.c:
5982         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5983         * check/gst/gstbus.c:
5984         * check/gst/gstcaps.c: (GST_START_TEST):
5985         * check/gst/gstelement.c:
5986         * check/gst/gstghostpad.c:
5987         * check/gst/gstiterator.c:
5988         * check/gst/gstmessage.c:
5989         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
5990         * check/gst/gstobject.c:
5991         * check/gst/gstpad.c: (GST_START_TEST):
5992         * check/gst/gststructure.c: (GST_START_TEST):
5993         * check/gst/gstsystemclock.c: (GST_START_TEST),
5994         (gst_systemclock_suite):
5995         * check/gst/gsttag.c: (gst_tag_suite):
5996         * check/gst/gstvalue.c:
5997         * check/pipelines/cleanup.c:
5998         * check/pipelines/simple_launch_lines.c:
5999         * check/states/sinks.c:
6000           change include statement
6001
6002         * docs/gst/gstreamer-sections.txt:
6003         * docs/gst/tmpl/gstpad.sgml:
6004           document more pad stuff
6005         * gst/gstminiobject.c: (gst_mini_object_ref),
6006         (gst_mini_object_unref):
6007           debug refcounting
6008
6009 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
6010
6011         * docs/gst/tmpl/gst.sgml:
6012         * gst/gst.c:
6013           eliminate another tmpl file, fix spelling in the long-description
6014
6015 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6016
6017         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6018         (test_event), (timediff), (gstevents_suite):
6019           Should fix build on 64-bit arch's
6020
6021 2005-08-18  Andy Wingo  <wingo@pobox.com>
6022
6023         Make sure that when a pipeline goes to PLAYING, that data has
6024         actually hit the sink.
6025
6026         * check/states/sinks.c (test_sink): A sink that doesn't get any
6027         data shouldn't return SUCCESS for going to either PLAYING or
6028         PAUSED. Test also the return values on the way back down.
6029
6030         * gst/gstelement.c (gst_element_set_state): When changing the
6031         state of an element currently changing state asynchronously, go to
6032         lost-state after commiting the pending state. Makes future calls
6033         to get_state continue to return ASYNC.
6034
6035         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
6036         ASYNC when going to PLAYING if we still don't have preroll, as can
6037         happen with live sources.
6038
6039 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6040
6041         * docs/pwg/advanced-types.xml:
6042           Hack long paragraph into 2 chunks as a workaround for buggy
6043           jadetex version in sid and breezy that loops infinitely and
6044           eats all RAM.
6045
6046 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6047
6048         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6049         (test_event), (timediff), (gstevents_suite):
6050           Provide more error margin in clock measurements to allow for 
6051           g_get_current_time inaccuracies.
6052
6053 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6054
6055         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6056         (test_event), (timediff), (gstevents_suite):
6057            Fix error message output so I might be able to tell why the
6058            test works here but fails on the build farm.
6059
6060 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
6061
6062         * check/Makefile.am:
6063         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
6064         (test_event), (timediff), (gstevents_suite), (main):
6065           I wrote a test!
6066
6067         * docs/design/part-seeking.txt:
6068           Spelling correction
6069
6070         * docs/gst/tmpl/gstevent.sgml:
6071         * docs/gst/tmpl/gstfakesrc.sgml:
6072           Docs updates.
6073
6074         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6075           Treat a buffer-without-newsegment the same as a receiving 
6076           a newsegment not in time format, and disable syncing to the clock
6077           with a warning.
6078
6079         * gst/gstbus.c: (gst_bus_set_sync_handler):
6080           Assert if anyone tries to replace the existing sync_handler for bus, 
6081           as only the owner should be setting it.
6082
6083         * gst/gstevent.h:
6084           Have a fixed set of custom event enums with events identified by
6085           their structure name (as in 0.8), rather than a free-for-all
6086           allowing collisions between enum values from different plugins.
6087
6088         * gst/gstpad.c: (gst_pad_class_init):
6089           Docs change.
6090           
6091         * gst/gstqueue.c: (gst_queue_handle_sink_event):
6092           Handle out-of-band downstream events from the sending thread.
6093
6094 2005-08-17  Andy Wingo  <wingo@pobox.com>
6095
6096         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
6097         play-timeout==0 to mean no timeout at all. In that case, don't
6098         bother with a get_state or a warning, just return directly, even
6099         if it's ASYNC.
6100
6101         * gst/base/gstbasetransform.c: Debug changes.
6102
6103         * gst/gstutils.h:
6104         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
6105         ensure bins post state change messages. A bit of a hack but I can't
6106         think of a way to avoid it.
6107
6108         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
6109
6110 2005-08-16  Andy Wingo  <wingo@pobox.com>
6111
6112         * gst/base/gstadapter.h:
6113         * gst/base/gstadapter.c (gst_adapter_take): New function, like
6114         peek() but you own the data. Not terribly efficient atm.
6115
6116 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6117
6118         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
6119         (gst_element_found_tags):
6120         * gst/gstutils.h:
6121           Add two utility functions for tag handling.
6122
6123 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6124
6125         * docs/manual/advanced-dataaccess.xml:
6126         * docs/manual/basics-helloworld.xml:
6127           Fix docs to use _bin_add() before _link(), which fixes the examples
6128           with recent core versions (reported by Madhan Raj M
6129           <raj_madan@rediffmail.com>, #313199).
6130
6131 2005-08-16  Wim Taymans  <wim@fluendo.com>
6132
6133         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6134         Added subtract checks.
6135
6136         * docs/design/part-events.txt:
6137         Some more docs about newsegment
6138
6139         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6140         Fix FIXME
6141
6142         * gst/gstcaps.c: (gst_caps_to_string):
6143         Add comments, cleanups.
6144         
6145         * gst/gstelement.c: (gst_element_save_thyself):
6146         cleanups
6147         
6148         * gst/gstvalue.c: (gst_value_collect_int_range),
6149         (gst_string_unwrap), (gst_value_union_int_int_range),
6150         (gst_value_union_int_range_int_range),
6151         (gst_value_intersect_int_int_range),
6152         (gst_value_intersect_int_range_int_range),
6153         (gst_value_intersect_double_double_range),
6154         (gst_value_intersect_double_range_double_range),
6155         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
6156         (gst_value_subtract_int_range_int),
6157         (gst_value_subtract_double_range_double),
6158         (gst_value_subtract_double_range_double_range),
6159         (gst_value_subtract_from_list), (gst_value_subtract_list),
6160         (gst_value_can_compare), (gst_value_compare_fraction):
6161         Cleanups, add comments, remove unneeded asserts.
6162
6163 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6164
6165         * tools/gst-launch.c: (event_loop):
6166           don't convert NULL structures to strings
6167
6168 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
6169
6170         * docs/gst/gstreamer-sections.txt:
6171           made some defines private
6172         * docs/gst/tmpl/gstconfig.sgml:
6173         * docs/gst/tmpl/gstqueue.sgml:
6174         * docs/gst/tmpl/gsttaglist.sgml:
6175         * docs/gst/tmpl/gsttypes.sgml:
6176         * docs/gst/tmpl/gstutils.sgml:
6177         * docs/pwg/appendix-porting.xml:
6178         * gst/base/gstbasesink.h:
6179         * gst/base/gstbasesrc.c:
6180         * gst/base/gstbasesrc.h:
6181         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
6182         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
6183         * gst/gstelement.c: (gst_element_class_init):
6184         * gst/gstpad.c: (gst_pad_class_init):
6185         * gst/gstqueue.c: (gst_queue_class_init):
6186         * gst/gstxml.c: (gst_xml_class_init):
6187           documented all undocumented signal inline
6188         * libs/gst/controller/gst-controller.h:
6189           added padding
6190
6191 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6192
6193         * docs/pwg/appendix-porting.xml:
6194           Document _set_link_function -> _set_setcaps_function.
6195
6196 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6197
6198         * check/Makefile.am:
6199           add a .check target for running the check
6200         * check/gst-libs/controller.c: (GST_START_TEST):
6201           cosmetic fixups
6202         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6203           complete checks for gstbuffer; would be nice if I could get the
6204           gcov stuff to work so I can see if I actually completed gstbuffer.c
6205         * check/gstcheck.h:
6206           add ASSERT_BUFFER_REFCOUNT
6207
6208 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
6209
6210         * docs/gst/gstreamer-sections.txt:
6211         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
6212         * gst/gsttag.h:
6213           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
6214           spew out a warning if a tag that is already registered
6215           is re-registered, unless it is re-registered with a 
6216           different type (#308438).
6217
6218 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
6219
6220         * docs/pwg/appendix-porting.xml:
6221         * docs/pwg/building-state.xml:
6222           Add some paragraphs about state changes in 0.9 to the PWG
6223           and the porting guide, in particular about the new meaning
6224           of GST_STATE_PAUSED and how to write state change functions
6225           with concurrent access by multiple threads in mind.
6226
6227 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
6228
6229         * docs/gst/gstreamer-docs.sgml:
6230         * docs/libs/gstreamer-libs-docs.sgml:
6231           added deprecation and since indexes
6232         * libs/gst/controller/gst-controller.c:
6233         * libs/gst/controller/gst-helper.c:
6234           added since tags
6235
6236
6237 2005-08-11  Wim Taymans  <wim@fluendo.com>
6238
6239         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6240         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6241         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6242         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6243         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6244         (gst_ghost_pad_set_target):
6245         Actually implement (re)setting the target on a ghostpad
6246         as described in the docs.
6247
6248 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6249
6250         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
6251           Check whether GST_DEBUG_NO_COLOR environment variable is
6252           set and disable coloured debug output if that is the case.
6253
6254 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6255
6256         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6257         (gst_type_find_helper):
6258           The memory returned by gst_type_find_peek() needs to
6259           stay valid until the end of a typefind function, and
6260           typefind functions may keep results from different 
6261           offsets around, so we can't just unref the buffer from
6262           the previous _peek(), but have to save all buffers 
6263           returned by _peek() until typefinding is done and only
6264           free them then.
6265
6266 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6267
6268         * docs/gst/gstreamer-sections.txt:
6269         * gst/gstutils.h:
6270           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
6271
6272 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6273
6274         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6275           Fix a pretty good memleak.
6276
6277 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6278
6279         * gst/gstiterator.h:
6280           Fix wrong include and 'make distcheck'.
6281
6282 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6283
6284         * gst/gstbin.c: (bin_bus_handler):
6285           Use gst_element_post_message() instead.
6286
6287 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6288
6289         * gst/base/gstadapter.h:
6290         * gst/base/gstbasesink.h:
6291         * gst/base/gstbasesrc.h:
6292         * gst/base/gstbasetransform.h:
6293         * gst/base/gstcollectpads.h:
6294         * gst/base/gstpushsrc.h:
6295         * gst/gstiterator.h:
6296           Add padding to our base elements' class and instance structs and
6297           to GstIterator (you will need to rebuild all plugins and apps!)
6298
6299 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6300
6301         * gst/gstbin.c: (bin_bus_handler):
6302           Make default message forwarding from child->bus to bin->bus
6303           threadsafe and make it not emit warnings if the parent has no bus.
6304
6305 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6306
6307         * gst/gstelement.c: (activate_pads):
6308           On paused->ready, set pad->caps to NULL, as is the documented
6309           behaviour in this state change. Fixes playback of series of
6310           media files when visualization is enabled in Totem.
6311
6312 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6313
6314         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6315           Allow NULL as filter-caps (which means "any").
6316
6317 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6318
6319         * docs/libs/gstreamer-libs-sections.txt:
6320         * libs/gst/controller/gst-controller.c:
6321         * libs/gst/controller/gst-controller.h:
6322         * libs/gst/controller/gst-helper.c:
6323           adding more entries to the docs and fix small doc-bugs
6324
6325 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6326
6327         * docs/gst/gstreamer-docs.sgml:
6328         * docs/gst/gstreamer-sections.txt:
6329         * docs/gst/gstreamer.types:
6330         * docs/gst/tmpl/gstbasesink.sgml:
6331         * docs/gst/tmpl/gstbasesrc.sgml:
6332         * docs/gst/tmpl/gstbasetransform.sgml:
6333         * docs/gst/tmpl/gstfakesrc.sgml:
6334         * gst/base/gstcollectpads.c:
6335         * gst/base/gstcollectpads.h:
6336         * libs/gst/controller/gst-controller.c:
6337         * libs/gst/controller/gst-controller.h:
6338         * libs/gst/controller/gst-helper.c:
6339         * libs/gst/controller/gst-interpolation.c:
6340         * libs/gst/controller/lib.c:
6341           added long/short desc for controller docs
6342           added collectpads base class docs
6343           added correct includes to base-class docs
6344
6345 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
6346
6347         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6348         (gst_test_mono_source_set_property),
6349         (gst_test_mono_source_class_init), (GST_START_TEST),
6350         (gst_controller_suite):
6351         * docs/gst/gstreamer-docs.sgml:
6352         * docs/gst/gstreamer-sections.txt:
6353         * docs/gst/gstreamer.types:
6354         * docs/libs/gstreamer-libs-docs.sgml:
6355         * docs/libs/gstreamer-libs-sections.txt:
6356         * gst/base/gstadapter.c:
6357         * libs/gst/controller/gst-controller.c:
6358         (gst_controlled_property_new), (gst_controlled_property_free),
6359         (gst_controller_new_valist),
6360         (gst_controller_remove_properties_valist),
6361         (gst_controller_sink_values), (_gst_controller_finalize):
6362         * libs/gst/controller/gst-controller.h:
6363         * libs/gst/controller/gst-helper.c:
6364         (gst_object_control_properties), (gst_object_uncontrol_properties),
6365         (gst_object_get_controller), (gst_object_set_controller),
6366         (gst_object_sink_values), (gst_object_get_value_arrays),
6367         (gst_object_get_value_array):
6368           more tests (and fixes) for the controller
6369           more docs for the controller
6370           integrated companies docs for the adapter 
6371
6372 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6373
6374         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
6375         (GST_START_TEST), (fakesrc_suite):
6376           add tests for sizetype
6377
6378 2005-08-04  Andy Wingo  <wingo@pobox.com>
6379
6380         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
6381         fixes buffer_alloc proxying among other things.
6382
6383         * gst/base/gstbasetransform.c:
6384         * gst/base/gstbasetransform.h:
6385         Revert patch to gstbasetransform from 7-28 removing
6386         delay_configure.
6387
6388         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
6389         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
6390         Semantics changed, should return not the size of the output buffer
6391         but the byte size of a buffer with a given caps.
6392
6393         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
6394         debug object.
6395         (gst_base_transform_configure_caps): Don't set out_size here: (in,
6396         out) are not the pad caps until setcaps finishes.
6397         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
6398         not-in-place case as well. Deal with changing from in-place to
6399         not-in-place within calling pad_alloc_buffer. Still a bit
6400         concerned about the overhead here...
6401
6402 2005-08-03  Andy Wingo  <wingo@pobox.com>
6403
6404         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
6405         fixating is an error.
6406
6407 2005-08-04  Edward Hervey  <edward@fluendo.com>
6408
6409         * gst/base/gstadapter.h: 
6410         Added gst_adapter_get_type() to the header
6411
6412 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6413
6414         * check/Makefile.am:
6415         * check/gst-libs/controller.c:
6416         * libs/gst/controller/gst-controller.c:
6417         (gst_controller_new_valist):
6418           added check test suite for the controller
6419         * gst/base/gstpushsrc.c:
6420           fixed a doc typo
6421
6422 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * docs/gst/Makefile.am:
6425         * docs/gst/gstreamer-docs.sgml:
6426         * docs/gst/gstreamer-sections.txt:
6427         * docs/gst/gstreamer.types:
6428         * docs/gst/tmpl/gstfakesrc.sgml:
6429         * gst/base/README:
6430         * gst/base/gstbasesink.c:
6431         * gst/base/gstbasesink.h:
6432         * gst/base/gstbasesrc.c:
6433         * gst/base/gstbasesrc.h:
6434         * gst/base/gstbasetransform.c:
6435         * gst/base/gstpushsrc.c:
6436         * gst/base/gstpushsrc.h:
6437           add short/long description docs to base classes
6438           add pushsrc to the docs
6439           remove consolidated doc fragments
6440
6441 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
6442
6443         * configure.ac:
6444         * docs/libs/Makefile.am:
6445         * docs/libs/gstreamer-libs-docs.sgml:
6446         * docs/libs/gstreamer-libs-sections.txt:
6447         * docs/libs/gstreamer-libs.types:
6448         * examples/Makefile.am:
6449         * examples/controller/.cvsignore:
6450         * examples/controller/Makefile.am:
6451         * examples/controller/audio-example.c: (main):
6452         * libs/gst/Makefile.am:
6453         * libs/gst/controller/.cvsignore:
6454         * libs/gst/controller/Makefile.am:
6455         * libs/gst/controller/gst-controller.c:
6456         (on_object_controlled_property_changed), (gst_timed_value_compare),
6457         (gst_timed_value_find),
6458         (gst_controlled_property_set_interpolation_mode),
6459         (gst_controlled_property_new), (gst_controlled_property_free),
6460         (gst_controller_find_controlled_property),
6461         (gst_controller_new_valist), (gst_controller_new),
6462         (gst_controller_remove_properties_valist),
6463         (gst_controller_remove_properties), (gst_controller_set),
6464         (gst_controller_set_from_list), (gst_controller_unset),
6465         (gst_controller_get), (gst_controller_get_all),
6466         (gst_controller_sink_values), (gst_controller_get_value_arrays),
6467         (gst_controller_get_value_array),
6468         (gst_controller_set_interpolation_mode),
6469         (_gst_controller_finalize), (_gst_controller_init),
6470         (_gst_controller_class_init), (gst_controller_get_type):
6471         * libs/gst/controller/gst-controller.h:
6472         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
6473         (g_object_uncontrol_properties), (g_object_get_controller),
6474         (g_object_set_controller), (g_object_sink_values),
6475         (g_object_get_value_arrays), (g_object_get_value_array):
6476         * libs/gst/controller/gst-interpolation.c:
6477         (gst_controlled_property_find_timed_value_node),
6478         (interpolate_none_get), (interpolate_trigger_get),
6479         (interpolate_trigger_get_value_array):
6480         * libs/gst/controller/lib.c: (gst_controller_init):
6481         * pkgconfig/Makefile.am:
6482         * pkgconfig/gstreamer-control-uninstalled.pc.in:
6483         * pkgconfig/gstreamer-control.pc.in:
6484         * testsuite/Makefile.am:
6485         * testsuite/controller/.cvsignore:
6486         * testsuite/controller/Makefile.am:
6487         * testsuite/controller/interpolator.c: (main):
6488           added controller code
6489           removed dparam pc files
6490
6491 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
6492         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
6493         (gst_collectpads_stop):
6494           Broadcast the condition when shutting down, to make sure we wake all
6495           threads up. Shut down pads on finalize, for safety.
6496
6497 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
6498         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6499         (gst_base_transform_handle_buffer),
6500         (gst_base_transform_change_state):
6501           Handle PAUSED->READY->PAUSED transition after negotiation
6502           occurred already.
6503         * gst/gstmessage.c: (gst_message_init):
6504           Extra piece of debug for new messages.
6505
6506 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
6507
6508         * configure.ac:
6509         * docs/gst/tmpl/gstbasesrc.sgml:
6510         * docs/gst/tmpl/gstelement.sgml:
6511         * docs/gst/tmpl/gstevent.sgml:
6512         * docs/gst/tmpl/gstfakesrc.sgml:
6513         * docs/gst/tmpl/gstformat.sgml:
6514         * docs/gst/tmpl/gstghostpad.sgml:
6515         * docs/gst/tmpl/gstpad.sgml:
6516         * docs/gst/tmpl/gstquery.sgml:
6517         * docs/gst/tmpl/gststructure.sgml:
6518         * docs/gst/tmpl/gsttaglist.sgml:
6519         * docs/gst/tmpl/gstvalue.sgml:
6520         * docs/libs/gstreamer-libs-docs.sgml:
6521         * docs/libs/gstreamer-libs-sections.txt:
6522         * docs/libs/gstreamer-libs.types:
6523         * libs/gst/Makefile.am:
6524         * libs/gst/control/.cvsignore:
6525         * libs/gst/control/Makefile.am:
6526         * libs/gst/control/control.c:
6527         * libs/gst/control/control.h:
6528         * libs/gst/control/dparam.c:
6529         * libs/gst/control/dparam.h:
6530         * libs/gst/control/dparam_smooth.c:
6531         * libs/gst/control/dparam_smooth.h:
6532         * libs/gst/control/dparamcommon.h:
6533         * libs/gst/control/dparammanager.c:
6534         * libs/gst/control/dparammanager.h:
6535         * libs/gst/control/dplinearinterp.c:
6536         * libs/gst/control/dplinearinterp.h:
6537         * libs/gst/control/unitconvert.c:
6538         * libs/gst/control/unitconvert.h:
6539         * testsuite/Makefile.am:
6540         * testsuite/dynparams/.cvsignore:
6541         * testsuite/dynparams/Makefile.am:
6542         * testsuite/dynparams/dparamstest.c:
6543         * tools/Makefile.am:
6544         * tools/gst-inspect.c: (print_element_info), (main):
6545         * tools/gst-xmlinspect.c: (print_element_info), (main):
6546           deactivate and remove dparams (libgstcontrol)
6547
6548 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6549
6550         * gst/elements/gsttypefindelement.c:
6551         (gst_type_find_element_have_type), (gst_type_find_element_init),
6552         (stop_typefinding), (gst_type_find_element_handle_event),
6553         (gst_type_find_element_chain), (gst_type_find_element_getrange):
6554         * gst/elements/gsttypefindelement.h:
6555           Set caps on all outgoing buffers, not just the first one.
6556
6557 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6558
6559         * gst/elements/gsttypefindelement.c:
6560         (gst_type_find_element_have_type),
6561         (gst_type_find_element_check_set_buffer_caps),
6562         (gst_type_find_element_init), (stop_typefinding),
6563         (gst_type_find_element_handle_event),
6564         (gst_type_find_element_chain), (gst_type_find_element_getrange):
6565         * gst/elements/gsttypefindelement.h:
6566           Set caps on first outgoing buffer when we've found the type.
6567
6568 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
6569
6570         * docs/gst/gstreamer-docs.sgml:
6571         * docs/gst/gstreamer-sections.txt:
6572         * docs/gst/tmpl/gstscheduler.sgml:
6573         * docs/gst/tmpl/gstschedulerfactory.sgml:
6574           Remove some old cruft from docs.
6575
6576 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
6577
6578         * gst/gstpad.h:
6579           Fix inline docs for GstPadLinkReturn.
6580           
6581         * gst/gststructure.c: (gst_structure_has_name):
6582         * gst/gststructure.h:
6583         * docs/gst/gstreamer-sections.txt:
6584           New API: gst_structure_has_name().
6585
6586 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
6587
6588         * configure.ac:
6589           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
6590           and _LARGEFILE_SOURCE in config.h as required. Do not 
6591           export those flags in our .pc files any longer (#142209).
6592
6593           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
6594
6595         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
6596         (gst_file_sink_do_seek), (gst_file_sink_event),
6597         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6598           Redo seek/tell calls with large file support in mind; add some
6599           debugging messages; add log message that tells us when large
6600           file support is unavailable or not enabled for some reason.
6601
6602         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
6603           Add log message that tells us when large file support 
6604           is unavailable or not enabled for some reason.
6605
6606 2005-07-29  Wim Taymans  <wim@fluendo.com>
6607
6608         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6609         Added test for removing an element with ghostpad from a bin.
6610         Fixed test as current implementation does the right thing.
6611
6612         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
6613         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
6614         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
6615         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
6616         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
6617         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
6618         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
6619         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6620         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
6621         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
6622         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
6623         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
6624         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6625         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
6626         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
6627         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6628         * gst/gstghostpad.h:
6629         Clean up ghostpads, remove properties for internal stuff.
6630         Make threadsafe.
6631         Fix refcounting.
6632         Prepare for switching targets, not all use cases work yet.
6633
6634 2005-07-29  Wim Taymans  <wim@fluendo.com>
6635
6636         * docs/design/part-gstghostpad.txt:
6637         Small update.
6638
6639         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6640         (gst_bin_remove_func):
6641         Unlinking pads while holding the bin LOCK is not a good
6642         idea.
6643
6644         * gst/gstpad.c: (gst_pad_class_init),
6645         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
6646         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
6647         No prob setting template after creating the pad.
6648
6649 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
6650
6651         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
6652         (gst_bus_peek), (gst_bus_source_dispatch),
6653         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
6654         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
6655           gst_bus_poll may be called from other threads. Handle
6656           this nicely by not making poll_data disappear off the
6657           stack once gst_bus_poll returns.
6658           gst_bus_peek now increments the refcount on the returned
6659           message.
6660
6661 2005-07-29  Wim Taymans  <wim@fluendo.com>
6662
6663         * docs/design/part-gstghostpad.txt:
6664         Overview of current GhostPad datastructures and use
6665         cases for changing the target.
6666
6667 2005-07-28  Wim Taymans  <wim@fluendo.com>
6668
6669         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6670         Added checks for hierarchy consistency whan adding linked
6671         elements to bins.
6672
6673         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6674         Added check to test element scheduling without bin/pipeline.
6675
6676         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6677         First add elements to bin, then link.
6678         
6679         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6680         (gst_bin_remove_func):
6681         Unlink pads from elements added/removed from bin to maintain
6682         hierarchy consistency.
6683
6684 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6685
6686         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6687         (gst_base_transform_handle_buffer):
6688         * gst/base/gstbasetransform.h:
6689           Remove broken delay_configure (fixes renegotiation of software
6690           scaling pipelines); remove some leftover printf()s.
6691
6692 2005-07-28  Wim Taymans  <wim@fluendo.com>
6693
6694         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6695         Added some more tests for wrong hierarchy
6696
6697         * docs/design/part-overview.txt:
6698         Some updates.
6699
6700         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
6701         Cleanups.
6702
6703         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
6704         (gst_element_dispose):
6705         Some more cleanups.
6706
6707         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6708         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
6709         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6710         (gst_pad_set_caps), (gst_pad_send_event):
6711         Check for correct hierarchy when linking pads. Moving to
6712         strict requirement for ghostpads when linking elements in
6713         different bins.
6714
6715         * gst/gstpad.h:
6716         Clean ups. Added WRONG_HIERARCHY return value.
6717
6718 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6719
6720         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6721           Better debug if no transform is possible.
6722
6723 2005-07-27  Wim Taymans  <wim@fluendo.com>
6724
6725         * docs/random/wtay/network-transp:
6726         Some old doc I had.
6727
6728 2005-07-27  Wim Taymans  <wim@fluendo.com>
6729
6730         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6731         (gst_dp_event_from_packet):
6732         Fix serialization of seek events.
6733
6734 2005-07-27  Wim Taymans  <wim@fluendo.com>
6735
6736         * check/gst-libs/gdp.c: (GST_START_TEST):
6737         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6738         Fix compilation and fix event serialization.
6739
6740 2005-07-27  Wim Taymans  <wim@fluendo.com>
6741
6742         * CHANGES-0.9:
6743         * docs/design/part-TODO.txt:
6744         * docs/design/part-events.txt:
6745         Some docs updates
6746
6747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6748         (gst_base_sink_event), (gst_base_sink_do_sync),
6749         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6750         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6751         (gst_base_src_do_seek), (gst_base_src_event_handler),
6752         (gst_base_src_loop):
6753         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6754         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6755         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6756         (gst_base_transform_event), (gst_base_transform_handle_buffer),
6757         (gst_base_transform_set_passthrough),
6758         (gst_base_transform_is_passthrough):
6759         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6760         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6761         Event updates.
6762
6763         * gst/gstbuffer.h:
6764         Use faster casts.
6765
6766         * gst/gstelement.c: (gst_element_seek):
6767         * gst/gstelement.h:
6768         Update gst_element_seek.
6769
6770         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
6771         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
6772         (gst_event_new_flush_start), (gst_event_new_flush_stop),
6773         (gst_event_new_eos), (gst_event_new_newsegment),
6774         (gst_event_parse_newsegment), (gst_event_new_tag),
6775         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
6776         (gst_event_parse_qos), (gst_event_new_seek),
6777         (gst_event_parse_seek), (gst_event_new_navigation):
6778         * gst/gstevent.h:
6779         Make GstEvent use GstStructure. Add parsing code, make sure the
6780         API is sufficiently generic.
6781         Mark possible directions of events and serialization.
6782
6783         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
6784         (_gst_message_copy), (gst_message_new_segment_start),
6785         (gst_message_new_segment_done), (gst_message_new_custom),
6786         (gst_message_parse_segment_start),
6787         (gst_message_parse_segment_done):
6788         Small cleanups.
6789
6790         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6791         (gst_pad_set_caps), (gst_pad_send_event):
6792         Update for new events. 
6793         Catch events sent in wrong directions.
6794
6795         * gst/gstqueue.c: (gst_queue_link_src),
6796         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
6797         (gst_queue_handle_src_query):
6798         Event updates.
6799
6800         * gst/gsttag.c:
6801         * gst/gsttag.h:
6802         Remove event code from this file.
6803
6804         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6805         (gst_dp_event_from_packet):
6806         Event updates.
6807
6808 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6809
6810         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
6811         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6812         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
6813           Make debugging actually useful.
6814
6815 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6816
6817         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
6818         (gst_pad_fixate_caps):
6819           Implement default fixation once again, so that gst_pad_fixate()
6820           actually does anything at all. This probably needs to be some
6821           sort of a last resort, and use profile-based fixation first, but
6822           since that doesn't exist yet, this is the best we have. Fixes
6823           visualization in Totem.
6824
6825 2005-07-22  Wim Taymans  <wim@fluendo.com>
6826
6827         * docs/design/part-events.txt:
6828         Small update.
6829
6830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6831         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
6832         (gst_base_sink_activate_pull):
6833         Some more comments.
6834
6835         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
6836         (gst_fake_src_create):
6837         Fix handoff marshall.
6838
6839         * gst/elements/gstidentity.c: (gst_identity_class_init),
6840         (gst_identity_transform_ip):
6841         We're a real inplace element.
6842
6843         * gst/gstbus.c: (gst_bus_post):
6844         Added some comments.
6845
6846         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
6847         * tests/muxing/case1.c: (main):
6848         * tests/sched/dynamic-pipeline.c: (main):
6849         * tests/sched/interrupt1.c: (main):
6850         * tests/sched/interrupt2.c: (main):
6851         * tests/sched/interrupt3.c: (main):
6852         * tests/sched/runxml.c: (main):
6853         * tests/sched/sched-stress.c: (main):
6854         * tests/seeking/seeking1.c: (event_received), (main):
6855         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6856         (main):
6857         * tests/threadstate/threadstate3.c: (main):
6858         * tests/threadstate/threadstate4.c: (main):
6859         * tests/threadstate/threadstate5.c: (main):
6860         Fix the tests.
6861
6862 2005-07-21  Wim Taymans  <wim@fluendo.com>
6863
6864         * docs/design/part-seeking.txt:
6865         Some small additions.
6866
6867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6868         (gst_base_sink_get_times), (gst_base_sink_do_sync),
6869         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6870         * gst/base/gstbasesink.h:
6871         discont values are gint64, handle the math correctly.
6872
6873         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6874         Make the basesrc report error if the source pad is not linked.
6875
6876         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6877         (gst_queue_loop), (gst_queue_handle_src_query),
6878         (gst_queue_src_activate_push):
6879         Make queue collect data even if the srcpad is not linked.
6880         Start pushing out data as soon as it is linked.
6881
6882         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
6883         * gst/gstutils.h:
6884         Added gst_flow_get_name() to ease error reporting.
6885
6886 2005-07-20  Wim Taymans  <wim@fluendo.com>
6887
6888         * gst/gstmessage.c: (gst_message_new_segment_start),
6889         (gst_message_new_segment_done), (gst_message_parse_segment_start),
6890         (gst_message_parse_segment_done):
6891         * gst/gstmessage.h:
6892         Added a bunch of messages for advanced seeking.
6893
6894         * gst/parse/grammar.y:
6895         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
6896         (gst_dpman_state_changed):
6897         Fix some new-pad -> pad-added signals
6898
6899 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6900
6901         * docs/manual/appendix-porting.xml:
6902         * docs/pwg/appendix-porting.xml:
6903           Document new-pad/state-change signal renames and the FixedList
6904           type rename.
6905
6906 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6907
6908         * docs/manual/advanced-autoplugging.xml:
6909         * docs/manual/basics-helloworld.xml:
6910         * docs/manual/basics-pads.xml:
6911         * docs/random/ds/0.9-suggested-changes:
6912         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
6913         * gst/gstelement.h:
6914         * gst/gstevent.h:
6915         * gst/gstformat.h:
6916         * gst/gstquery.h:
6917         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6918         (gst_structure_parse_array), (gst_structure_parse_value):
6919         * gst/gstvalue.c: (gst_type_is_fixed),
6920         (gst_value_list_prepend_value), (gst_value_list_append_value),
6921         (gst_value_list_get_size), (gst_value_list_get_value),
6922         (gst_value_transform_array_string), (gst_value_serialize_array),
6923         (gst_value_deserialize_array), (gst_value_intersect_array),
6924         (gst_value_is_fixed), (_gst_value_initialize):
6925         * gst/gstvalue.h:
6926           GstElement::new-pad -> pad-added, GstElement::state-change ->
6927           state-changed, GstValueFixedList -> GstValueArray, add format and
6928           flags as their own arguments in gst_element_seek() (should improve
6929           "bindeability"), remove function generators since they don't work
6930           under a whole bunch of compilers (they were deprecated already
6931           anyway).
6932
6933 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6934
6935         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6936         (_gst_debug_register_funcptr):
6937         * gst/gstinfo.h:
6938           Fix illegal cast on some platforms (#309253).
6939
6940 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6941
6942         * gst/gstmessage.c: (gst_message_new_custom):
6943         * gst/gstmessage.h:
6944           Add _new_custom, make _new_application a macro to _new_custom.
6945
6946 2005-07-20  Wim Taymans  <wim@fluendo.com>
6947
6948         * gst/base/gstbasesrc.c: (gst_base_src_init),
6949         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6950         * gst/base/gstbasesrc.h:
6951         Add a gboolean to decide when to push out a discont.
6952
6953         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6954         (gst_queue_loop), (gst_queue_handle_src_query),
6955         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
6956         (gst_queue_set_property), (gst_queue_get_property):
6957         Some cleanups.
6958
6959         * tests/threadstate/threadstate1.c: (main):
6960         Make a thread test compile and run... very silly..
6961
6962
6963 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6964
6965         * docs/manual/appendix-porting.xml:
6966           Mention removal of libgstgconf-0.9.la and existence of gconf
6967           elements.
6968
6969 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6970
6971         * docs/pwg/advanced-clock.xml:
6972         * docs/pwg/appendix-porting.xml:
6973         * docs/pwg/intro-preface.xml:
6974         * docs/pwg/other-base.xml:
6975         * docs/pwg/other-manager.xml:
6976         * docs/pwg/other-nton.xml:
6977         * docs/pwg/other-ntoone.xml:
6978         * docs/pwg/other-oneton.xml:
6979         * docs/pwg/pwg.xml:
6980           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
6981           demuxer), remove n-to-n (was never written), fix some code examples
6982           and links and update the porting section to include all this.
6983
6984 2005-07-19  Wim Taymans  <wim@fluendo.com>
6985
6986         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
6987         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
6988         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
6989         (gst_queue_src_activate_push), (gst_queue_change_state),
6990         (gst_queue_get_property):
6991         * gst/gstqueue.h:
6992         Propagate GstFlowReturn more intelligently upstream and output
6993         an ERROR/EOS when streaming stopped due to fatal error.
6994
6995 2005-07-19  Wim Taymans  <wim@fluendo.com>
6996
6997         * tools/gst-launch.c: (check_intr), (event_loop), (main):
6998         Don't block forever for the state change to complete, the
6999         pipeline already did with a sensible timeout.
7000
7001 2005-07-19  Wim Taymans  <wim@fluendo.com>
7002
7003         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7004         Make sure we never call the create function is we
7005         got deactivated.
7006
7007 2005-07-19  Andy Wingo  <wingo@pobox.com>
7008
7009         * gst/parse/parse.l: Attempt to solve bug #172815.
7010
7011 2005-07-19  Wim Taymans  <wim@fluendo.com>
7012
7013         * docs/design/part-clocks.txt:
7014         * docs/design/part-events.txt:
7015         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
7016         Small docs updates.
7017         Only update the seeking values when we are not
7018         busy streaming.
7019
7020 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7021
7022         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7023           Oops, ignore the result of gst_pad_push_event here.
7024
7025 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
7026
7027         * gst/base/gstbasesrc.c: (gst_base_src_loop),
7028         (gst_base_src_activate_push):
7029           Send discont event from the loop function, as pads
7030           aren't activated yet in the activate_push handler.
7031
7032         * gst/gstbin.c: (bin_bus_handler):
7033           Don't leak element name.
7034
7035 2005-07-18  Andy Wingo  <wingo@pobox.com>
7036
7037         * configure.ac: Use AS_LIBTOOL_TAGS.
7038
7039 2005-07-18  Wim Taymans  <wim@fluendo.com>
7040
7041         * docs/gst/gstreamer.types:
7042         Remove deleted types.
7043
7044 2005-07-18  Wim Taymans  <wim@fluendo.com>
7045
7046         * check/elements/gstfakesrc.c: (GST_START_TEST):
7047         * configure.ac:
7048         * gst/Makefile.am:
7049         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
7050         (init_popt_callback):
7051         * gst/gst.h:
7052         * gst/gst_private.h:
7053         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
7054         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
7055         * gst/gstbin.h:
7056         * gst/gstbus.h:
7057         * gst/gstconfig.h.in:
7058         * gst/gstelement.c: (gst_element_class_init),
7059         (gst_element_set_base_time), (gst_element_get_base_time),
7060         (iterator_fold_with_resync), (gst_element_change_state),
7061         (gst_element_dispose), (gst_element_get_bus):
7062         * gst/gstelement.h:
7063         * gst/gstelementfactory.h:
7064         * gst/gsterror.c: (_gst_core_errors_init):
7065         * gst/gsterror.h:
7066         * gst/gstevent.h:
7067         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7068         * gst/gstindex.c:
7069         * gst/gstinfo.c: (_gst_debug_init):
7070         * gst/gstmessage.c: (_gst_message_copy):
7071         * gst/gstmessage.h:
7072         * gst/gstminiobject.h:
7073         * gst/gstobject.c:
7074         * gst/gstobject.h:
7075         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7076         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
7077         * gst/gstpad.h:
7078         * gst/gstparse.h:
7079         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7080         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7081         (gst_pipeline_get_last_stream_time):
7082         * gst/gstpipeline.h:
7083         * gst/gstpluginfeature.h:
7084         * gst/gstquery.h:
7085         * gst/gstscheduler.c:
7086         * gst/gstscheduler.h:
7087         * gst/gststructure.h:
7088         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
7089         (gst_task_finalize), (gst_task_func), (gst_task_create),
7090         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
7091         (gst_task_stop), (gst_task_pause):
7092         * gst/gsttask.h:
7093         * gst/gsttypefind.h:
7094         * gst/gsttypes.h:
7095         * gst/registries/gstlibxmlregistry.c: (load_feature),
7096         (gst_xml_registry_load), (gst_xml_registry_save_feature):
7097         * gst/registries/gstxmlregistry.c:
7098         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
7099         * gst/schedulers/threadscheduler.c:
7100         * libs/gst/control/dparammanager.h:
7101         * tools/gst-inspect.c: (print_element_list),
7102         (print_plugin_features), (print_element_features):
7103         * tools/gst-xmlinspect.c: (print_element_list),
7104         (print_plugin_info), (main):
7105         Removed plugable schedulers.
7106         Removed Scheduler/Manager from elements.
7107         Removed gsttypes.h, rearranged includes.
7108         Removed dependency pad<->element, element<>pipeline, and
7109         various others,  fix includes.
7110         implement gst_pad_get_parent() with gst_object_get_parent()
7111         Make GstTask sefcontained.
7112         Fix _get_state() on GstBin, it did not return ASYNC with a 0
7113         timeout.
7114         Fix endless loop in iterator_fold_with_resync.
7115
7116
7117 2005-07-18  Wim Taymans  <wim@fluendo.com>
7118
7119         * gst/Makefile.am:
7120         * gst/gstarch.h:
7121         Remove old file.
7122
7123 2005-07-18  Wim Taymans  <wim@fluendo.com>
7124
7125         * gst/Makefile.am:
7126         No more cothreads.h
7127
7128 2005-07-18  Wim Taymans  <wim@fluendo.com>
7129
7130         * gst/cothreads.c:
7131         * gst/cothreads.h:
7132         Let's remove these.
7133
7134 2005-07-18  Wim Taymans  <wim@fluendo.com>
7135
7136         * docs/design/part-dynamic.txt:
7137         * docs/design/part-events.txt:
7138         * docs/design/part-seeking.txt:
7139         Some more docs in the works.
7140
7141         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7142         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
7143         (gst_base_transform_setcaps), (gst_base_transform_get_size),
7144         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7145         (gst_base_transform_handle_buffer),
7146         (gst_base_transform_sink_activate_push),
7147         (gst_base_transform_src_activate_pull),
7148         (gst_base_transform_set_passthrough),
7149         (gst_base_transform_is_passthrough):
7150         Refcounting fixes.
7151
7152         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
7153         Cleanups.
7154
7155         * gst/gstevent.c: (gst_event_finalize):
7156         Set SRC to NULL.
7157
7158         * gst/gstutils.c: (gst_element_unlink),
7159         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
7160         (gst_pad_proxy_setcaps):
7161         * gst/gstutils.h:
7162         Add _get_parent_element() to get a pads parent as an element.
7163
7164 2005-07-18  Wim Taymans  <wim@fluendo.com>
7165
7166         * check/gst/gstbin.c: (GST_START_TEST):
7167         Remove bogus test.
7168
7169 2005-07-18  Wim Taymans  <wim@fluendo.com>
7170
7171         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7172         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7173         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7174         (gst_base_sink_event), (gst_base_sink_do_sync),
7175         (gst_base_sink_chain), (gst_base_sink_loop),
7176         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
7177         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7178         Refcounting fixes.
7179         Fix logic for returning ASYNC when not prerolled.
7180
7181 2005-07-18  Wim Taymans  <wim@fluendo.com>
7182
7183         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7184         Fix nasty refcount bug.
7185
7186 2005-07-16 Philippe Khalaf <burger@speedy.org>
7187
7188         * gst/elements/gstfdsrc.c:
7189         * gst/elements/gstfdsrc.h:
7190         * gst/elements/gstelements.c:
7191         * gst/elements/Makefile.am:
7192         Ported fdsrc to 0.9.
7193
7194 2005-07-16  Wim Taymans  <wim@fluendo.com>
7195
7196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7197         (gst_base_sink_do_sync):
7198         Fix compile error.
7199
7200 2005-07-16  Wim Taymans  <wim@fluendo.com>
7201
7202         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7203         (gst_base_sink_event), (gst_base_sink_get_times),
7204         (gst_base_sink_do_sync), (gst_base_sink_change_state):
7205         * gst/base/gstbasesink.h:
7206         Store and use discont values when syncing buffers as described
7207         in design docs.
7208         
7209         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7210         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
7211         (gst_base_src_activate_push):
7212         Push discont event when starting.
7213
7214         * gst/elements/gstidentity.c: (gst_identity_transform):
7215         Small cleanups.
7216
7217         * gst/gstbin.c: (gst_bin_change_state):
7218         Small cleanups in base_time  distribution.
7219
7220         * gst/gstelement.c: (gst_element_set_base_time),
7221         (gst_element_get_base_time), (gst_element_change_state):
7222         * gst/gstelement.h:
7223         Added methods for the base_time of the element.
7224         Some MT fixes.
7225
7226         * gst/gstpipeline.c: (gst_pipeline_send_event),
7227         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
7228         (gst_pipeline_get_last_stream_time):
7229         * gst/gstpipeline.h:
7230         MT fixes.
7231         Handle seeking as described in design doc, remove stream_time
7232         hack.
7233         Cleanups clock and stream_time selection code. Added accessors
7234         for the stream_time.
7235         
7236
7237 2005-07-16  Andy Wingo  <wingo@pobox.com>
7238
7239         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7240         (#305291).
7241
7242 2005-07-16  Wim Taymans  <wim@fluendo.com>
7243
7244         * check/gst/gstbin.c: (GST_START_TEST):
7245         Make elements silent as the deep_notify refs the
7246         parent, which might make the test fail.
7247
7248         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7249         Don't hold the lock for too long.
7250
7251 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
7252
7253         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7254           Don't unref the caps we passed to gst_caps_make_writable() after
7255           passing them. gst_caps_make_writable() will do that for us.
7256
7257 2005-07-15  Andy Wingo  <wingo@pobox.com>
7258
7259         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
7260         (#157311).
7261
7262         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
7263         own marshalling function for the handoff signal. Properly type the
7264         buffer as a buffer. Fixes some warnings. Should do a more general
7265         solution.
7266         (gst_identity_class_init): Plug into the right marshaller.
7267
7268 2005-07-15  Wim Taymans  <wim@fluendo.com>
7269
7270         * docs/design/part-TODO.txt:
7271         * docs/design/part-clocks.txt:
7272         * docs/design/part-element-sink.txt:
7273         * docs/design/part-events.txt:
7274         * docs/design/part-gstpipeline.txt:
7275         Updated docs, mostly DISCONT related.
7276
7277 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
7278
7279         * docs/pwg/building-pads.xml:
7280           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
7281
7282 2005-07-15  Andy Wingo  <wingo@pobox.com>
7283
7284         * tools/gst-typefind.c: Update, add copyright block.
7285
7286         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
7287         Normalize and truncate caps before fixation.
7288
7289         * gst/gstcaps.h:
7290         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
7291         discards all but the first structure from its argument.
7292
7293 2005-07-15  Wim Taymans  <wim@fluendo.com>
7294
7295         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7296         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
7297         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7298         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7299         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
7300         (gst_base_transform_chain), (gst_base_transform_change_state),
7301         (gst_base_transform_set_passthrough),
7302         (gst_base_transform_is_passthrough):
7303         * gst/base/gstbasetransform.h:
7304         Make passthrough work using the bufferpools.
7305         Changed API a bit, subclasses have to write into a buffer
7306         provided by the base class.
7307         More debug info in nego functions.
7308         
7309         * gst/elements/gstidentity.c: (gst_identity_init),
7310         (gst_identity_transform):
7311         Port to new base class.
7312
7313 2005-07-15  Wim Taymans  <wim@fluendo.com>
7314
7315         * gst/gstmessage.c: (gst_message_new_state_changed):
7316         * tools/gst-launch.c: (event_loop), (main):
7317         Totally dump messages in -launch with the -m option.
7318         Fix message name for State messages,
7319
7320 2005-07-14  Wim Taymans  <wim@fluendo.com>
7321
7322         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7323         Post error messages on errors.
7324
7325 2005-07-14  Wim Taymans  <wim@fluendo.com>
7326
7327         * gst/gstcaps.c: (gst_caps_do_simplify):
7328         Remove debug info.
7329
7330         * gst/gsterror.h:
7331         Define error for stream stopped.
7332
7333         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7334         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
7335         Do proper return values.
7336
7337         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7338         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
7339         (gst_pad_get_range):
7340         Better return values.
7341
7342         * gst/gstpad.h:
7343         Reorganise return values, add macro to check for fatal errors.
7344
7345         * gst/gstqueue.c: (gst_queue_chain):
7346         Return proper GstFlowReturn values,
7347
7348 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7349
7350         * docs/gst/gstreamer-sections.txt:
7351         * docs/gst/gstreamer.types:
7352         * docs/gst/tmpl/gst.sgml:
7353         * docs/gst/tmpl/gstbasesink.sgml:
7354         * docs/gst/tmpl/gstbasesrc.sgml:
7355         * docs/gst/tmpl/gstbasetransform.sgml:
7356         * docs/gst/tmpl/gstbin.sgml:
7357         * docs/gst/tmpl/gstbuffer.sgml:
7358         * docs/gst/tmpl/gstcaps.sgml:
7359         * docs/gst/tmpl/gstclock.sgml:
7360         * docs/gst/tmpl/gstcompat.sgml:
7361         * docs/gst/tmpl/gstconfig.sgml:
7362         * docs/gst/tmpl/gstelement.sgml:
7363         * docs/gst/tmpl/gstelementdetails.sgml:
7364         * docs/gst/tmpl/gstelementfactory.sgml:
7365         * docs/gst/tmpl/gstenumtypes.sgml:
7366         * docs/gst/tmpl/gsterror.sgml:
7367         * docs/gst/tmpl/gstevent.sgml:
7368         * docs/gst/tmpl/gstfakesink.sgml:
7369         * docs/gst/tmpl/gstfakesrc.sgml:
7370         * docs/gst/tmpl/gstfilesink.sgml:
7371         * docs/gst/tmpl/gstfilesrc.sgml:
7372         * docs/gst/tmpl/gstfilter.sgml:
7373         * docs/gst/tmpl/gstformat.sgml:
7374         * docs/gst/tmpl/gstghostpad.sgml:
7375         * docs/gst/tmpl/gstimplementsinterface.sgml:
7376         * docs/gst/tmpl/gstindex.sgml:
7377         * docs/gst/tmpl/gstindexfactory.sgml:
7378         * docs/gst/tmpl/gstinfo.sgml:
7379         * docs/gst/tmpl/gstiterator.sgml:
7380         * docs/gst/tmpl/gstmacros.sgml:
7381         * docs/gst/tmpl/gstmemchunk.sgml:
7382         * docs/gst/tmpl/gstminiobject.sgml:
7383         * docs/gst/tmpl/gstobject.sgml:
7384         * docs/gst/tmpl/gstpad.sgml:
7385         * docs/gst/tmpl/gstpadtemplate.sgml:
7386         * docs/gst/tmpl/gstparse.sgml:
7387         * docs/gst/tmpl/gstpipeline.sgml:
7388         * docs/gst/tmpl/gstplugin.sgml:
7389         * docs/gst/tmpl/gstpluginfeature.sgml:
7390         * docs/gst/tmpl/gstquery.sgml:
7391         * docs/gst/tmpl/gstqueue.sgml:
7392         * docs/gst/tmpl/gstregistry.sgml:
7393         * docs/gst/tmpl/gstregistrypool.sgml:
7394         * docs/gst/tmpl/gstscheduler.sgml:
7395         * docs/gst/tmpl/gstschedulerfactory.sgml:
7396         * docs/gst/tmpl/gststructure.sgml:
7397         * docs/gst/tmpl/gstsystemclock.sgml:
7398         * docs/gst/tmpl/gsttaglist.sgml:
7399         * docs/gst/tmpl/gsttagsetter.sgml:
7400         * docs/gst/tmpl/gsttrace.sgml:
7401         * docs/gst/tmpl/gsttrashstack.sgml:
7402         * docs/gst/tmpl/gsttypefind.sgml:
7403         * docs/gst/tmpl/gsttypefindfactory.sgml:
7404         * docs/gst/tmpl/gsttypes.sgml:
7405         * docs/gst/tmpl/gsturihandler.sgml:
7406         * docs/gst/tmpl/gsturitype.sgml:
7407         * docs/gst/tmpl/gstutils.sgml:
7408         * docs/gst/tmpl/gstvalue.sgml:
7409         * docs/gst/tmpl/gstversion.sgml:
7410         * docs/gst/tmpl/gstxml.sgml:
7411         * docs/libs/tmpl/gstcontrol.sgml:
7412         * docs/libs/tmpl/gstdataprotocol.sgml:
7413         * docs/libs/tmpl/gstdparam.sgml:
7414         * docs/libs/tmpl/gstdplinint.sgml:
7415         * docs/libs/tmpl/gstdpman.sgml:
7416         * docs/libs/tmpl/gstdpsmooth.sgml:
7417         * docs/libs/tmpl/gstgetbits.sgml:
7418         * docs/libs/tmpl/gstunitconvert.sgml:
7419         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
7420         (gst_push_src_base_init), (gst_push_src_class_init),
7421         (gst_push_src_init), (gst_push_src_create):
7422         * gst/base/gstpushsrc.h:
7423         * gst/elements/gstelements.c:
7424         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
7425         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
7426         (gst_fake_sink_init), (gst_fake_sink_set_property),
7427         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
7428         (gst_fake_sink_event), (gst_fake_sink_preroll),
7429         (gst_fake_sink_render), (gst_fake_sink_change_state):
7430         * gst/elements/gstfakesink.h:
7431         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7432         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7433         (gst_fake_src_base_init), (gst_fake_src_class_init),
7434         (gst_fake_src_init), (gst_fake_src_event_handler),
7435         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
7436         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
7437         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
7438         (gst_fake_src_create_buffer), (gst_fake_src_create),
7439         (gst_fake_src_start), (gst_fake_src_stop):
7440         * gst/elements/gstfakesrc.h:
7441         * gst/elements/gstfilesink.c: (_do_init),
7442         (gst_file_sink_base_init), (gst_file_sink_class_init),
7443         (gst_file_sink_init), (gst_file_sink_dispose),
7444         (gst_file_sink_set_location), (gst_file_sink_set_property),
7445         (gst_file_sink_get_property), (gst_file_sink_open_file),
7446         (gst_file_sink_close_file), (gst_file_sink_query),
7447         (gst_file_sink_event), (gst_file_sink_render),
7448         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
7449         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
7450         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
7451         * gst/elements/gstfilesink.h:
7452         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
7453         (gst_file_src_class_init), (gst_file_src_init),
7454         (gst_file_src_finalize), (gst_file_src_set_location),
7455         (gst_file_src_set_property), (gst_file_src_get_property),
7456         (gst_file_src_map_region), (gst_file_src_map_small_region),
7457         (gst_file_src_create_mmap), (gst_file_src_create_read),
7458         (gst_file_src_create), (gst_file_src_is_seekable),
7459         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
7460         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
7461         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
7462         (gst_file_src_uri_handler_init):
7463         * gst/elements/gstfilesrc.h:
7464           more autistic cleanliness in functions/names/defines
7465
7466 2005-07-13  Andy Wingo  <wingo@pobox.com>
7467
7468         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
7469         source couldn't negotiate.
7470
7471         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
7472         connections again.
7473
7474         * gst/gstutils.h:
7475         * gst/gstutils.c (gst_element_link_pads_filtered): New old
7476         function. I am channeling Hades. Put your boots on suckers!!!
7477
7478 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7479
7480         * testsuite/caps/Makefile.am:
7481         * testsuite/caps/value_compare.c:
7482         * testsuite/caps/value_intersect.c:
7483         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7484           move two testsuite apps over to the check dir
7485
7486 2005-07-12  Wim Taymans  <wim@fluendo.com>
7487
7488         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7489         Added more debug info in the negotiate process.
7490
7491         * gst/gstmessage.h:
7492         Prepare for segment playback.
7493
7494         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
7495         Better debugging.
7496
7497         * gst/gstutils.c:
7498         Some more docs.
7499
7500         * tools/gst-launch.c: (main):
7501         NULL pipeline on errors.
7502
7503 2005-07-12  Andy Wingo  <wingo@pobox.com>
7504
7505         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
7506         not it comes from a malloc region. Make sure our copy gets freed.
7507
7508 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7509
7510         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7511         * check/gst/gstmessage.c: (GST_START_TEST):
7512         * check/gst/gststructure.c: (GST_START_TEST),
7513         (gst_structure_suite), (main):
7514           more testing
7515         * gst/gstelement.c: (gst_element_message_full):
7516           clean up GError and debug string now that they get copied
7517         * gst/gstmessage.c: (gst_message_new_error),
7518         (gst_message_new_warning), (gst_message_parse_error),
7519         (gst_message_parse_warning):
7520           use GST_TYPE_G_ERROR for structure_new, and take copies of
7521           arguments, so that we don't mess up refcounting
7522
7523 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7524
7525         * check/Makefile.am:
7526           add per-test valgrind targets
7527         * check/gst-libs/gdp.c: (GST_START_TEST),
7528         (gst_data_protocol_suite), (main):
7529           clean up
7530
7531 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7532
7533         * check/Makefile.am:
7534           instate more valgrindable tests
7535         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7536         (GST_START_TEST), (fakesrc_suite):
7537         * check/gst/gstpad.c: (GST_START_TEST):
7538         * check/gst/gststructure.c: (GST_START_TEST):
7539           fix test leaks
7540         * docs/gst/tmpl/gstminiobject.sgml:
7541         * gst/gstpad.c: (gst_pad_finalize):
7542           fix the static mutex leak
7543
7544 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7545
7546         * check/Makefile.am:
7547           add two more tests for valgrinding
7548         * check/gst/gstvalue.c: (GST_START_TEST):
7549           test refcount of deserialized buffer, found a leak
7550         * docs/gst/gstreamer-docs.sgml:
7551         * docs/gst/gstreamer-sections.txt:
7552         * docs/gst/gstreamer.types:
7553         * docs/gst/tmpl/gstminiobject.sgml:
7554           add miniobject to docs
7555         * gst/gstminiobject.c:
7556           add some docs
7557         * gst/gstvalue.c: (gst_value_deserialize_buffer),
7558         (gst_string_unwrap):
7559           fix a hard-to-find invalid write for one of the tests
7560           fix a leak for deserialized buffers
7561
7562 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7563
7564         * docs/pwg/advanced-events.xml:
7565         * docs/pwg/advanced-request.xml:
7566         * docs/pwg/advanced-scheduling.xml:
7567         * docs/pwg/appendix-porting.xml:
7568         * docs/pwg/building-boiler.xml:
7569         * docs/pwg/intro-preface.xml:
7570         * docs/pwg/other-ntoone.xml:
7571           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
7572           of example code and explanation for pad activation, loop() and
7573           getrange() functions and a bit more. Remove old comments pointing
7574           to loop-functions.
7575         * examples/pwg/Makefile.am:
7576           Add loop/getrange examples.
7577
7578 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7579
7580         * configure.ac:
7581           check for valgrind binary + some fixes
7582         * check/gst.supp:
7583           valgrind suppressions for the tests
7584         * check/Makefile.am:
7585           add a valgrind: target that valgrinds the unit tests
7586         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
7587         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7588         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7589         * check/gst/gstghostpad.c:
7590           added some cleanup
7591         * check/gst/gstdata.c:
7592           removed
7593         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
7594         (thread_unref), (gst_mini_object_suite), (main):
7595           added
7596         * gst/gst.c: (gst_deinit):
7597         * gst/gst.h:
7598           add a method to clean up.
7599         * gst/gstsystemclock.c: (gst_system_clock_dispose),
7600         (gst_system_clock_obtain):
7601           allow for disposing the system clock.
7602         * tools/gst-launch.c: (main):
7603           deinit
7604
7605 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7606
7607         * docs/gst/tmpl/gstbasesrc.sgml:
7608         * docs/gst/tmpl/gstfakesrc.sgml:
7609         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7610         (gst_base_src_init), (gst_base_src_set_property),
7611         (gst_base_src_get_property), (gst_base_src_get_range),
7612         (gst_base_src_start):
7613         * gst/base/gstbasesrc.h:
7614           add num-buffers property
7615         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7616         (gst_fakesrc_init), (gst_fakesrc_set_property),
7617         (gst_fakesrc_get_property), (gst_fakesrc_create),
7618         (gst_fakesrc_start):
7619           remove num-buffers property
7620
7621 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7622
7623         * docs/gst/gstreamer-sections.txt:
7624         * docs/gst/tmpl/gstbasesink.sgml:
7625         * docs/gst/tmpl/gstbasesrc.sgml:
7626         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7627         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7628         (gst_base_sink_finalize), (gst_base_sink_set_clock),
7629         (gst_base_sink_set_property), (gst_base_sink_get_property),
7630         (gst_base_sink_handle_object), (gst_base_sink_event),
7631         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7632         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
7633         (gst_base_sink_loop), (gst_base_sink_deactivate),
7634         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
7635         (gst_base_sink_change_state):
7636         * gst/base/gstbasesink.h:
7637         * gst/base/gstbasesrc.h:
7638         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
7639         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7640         (gst_filesink_init):
7641           more macro splitting
7642
7643 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7644
7645         * gst/gstelement.c: (gst_element_get_bus):
7646           add debug
7647         * tools/gst-launch.c: (check_intr), (event_loop):
7648           fix bus leaks
7649
7650 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7651
7652         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
7653           fix a caps leak
7654
7655 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7656
7657         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7658         (gst_base_src_finalize):
7659           add finalize method and clean up properly
7660         * gst/gstpipeline.c: (gst_pipeline_dispose):
7661           add debug
7662
7663 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
7666         (gst_bin_suite):
7667           add more things to check
7668         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7669         * gst/gstelement.c:
7670           more debug
7671
7672 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7675         (GST_START_TEST), (fakesrc_suite):
7676         * check/gst-libs/gdp.c: (GST_START_TEST):
7677         * check/gst/gst.c: (GST_START_TEST):
7678         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7679         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7680         * check/gst/gstbus.c: (GST_START_TEST):
7681         * check/gst/gstcaps.c: (GST_START_TEST):
7682         * check/gst/gstdata.c: (GST_START_TEST):
7683         * check/gst/gstelement.c: (GST_START_TEST):
7684         * check/gst/gstghostpad.c: (GST_START_TEST):
7685         * check/gst/gstiterator.c: (GST_START_TEST):
7686         * check/gst/gstmessage.c: (GST_START_TEST):
7687         * check/gst/gstobject.c: (GST_START_TEST):
7688         * check/gst/gstpad.c: (GST_START_TEST):
7689         * check/gst/gststructure.c: (GST_START_TEST):
7690         * check/gst/gstsystemclock.c: (GST_START_TEST),
7691         (gst_systemclock_suite):
7692         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7693         * check/gst/gstvalue.c: (GST_START_TEST):
7694         * check/pipelines/cleanup.c: (GST_START_TEST):
7695         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7696         * check/states/sinks.c: (GST_START_TEST):
7697         * check/gstcheck.c: (gst_check_init):
7698         * check/gstcheck.h:
7699           add debugging category
7700           use GST_START_TEST now, so we add a debug line
7701
7702 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7703
7704         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
7705           add test for state change message on a bin
7706         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
7707           add another test
7708         * gst/gstbin.c: (gst_bin_init):
7709         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
7710         * gst/gstelement.c: (gst_element_post_message),
7711         (gst_element_set_state):
7712         * gst/gstelementfactory.c: (gst_element_factory_create):
7713         * gst/gstmessage.c: (gst_message_new):
7714         * gst/gstscheduler.c:
7715           various debugging additions and cleanups
7716
7717 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7718
7719         * check/Makefile.am:
7720         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
7721         (main):
7722           adding tests for elements
7723         * gst/gstelement.c: (gst_element_dispose):
7724
7725 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7726
7727         * gst/registries/gstlibxmlregistry.c: (load_feature):
7728           plug more leaks.  A simple gst_init() now is leakfree, yay.
7729
7730 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7731
7732         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
7733         (gst_xml_registry_load):
7734           plug another memleak
7735
7736 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7737
7738         * configure.ac:
7739           use GST_SET_ERROR_CFLAGS
7740         * docs/faq/cvs.xml:
7741           change to ERROR_CFLAGS
7742
7743 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7744
7745         * configure.ac:
7746           make GST_ERROR_CFLAGS overridable and re-enable Werror
7747         * docs/faq/cvs.xml:
7748           add a note about error CFLAGS
7749         * docs/gst/tmpl/gstfakesrc.sgml:
7750         * gst/elements/gstfakesrc.c:
7751           comment out some unused code
7752         * gst/gst.c: (split_and_iterate):
7753         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
7754         (load_feature):
7755           plug some memleaks
7756
7757 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7758
7759         * common/Makefile.am:
7760         * common/gtk-doc.mak:
7761         * docs/gst/Makefile.am:
7762           factor out gtk-doc.mak
7763
7764 2005-07-07  Wim Taymans  <wim@fluendo.com>
7765
7766         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
7767         (gst_thread_scheduler_dispose):
7768         Unlock the STREAM_LOCK completely.
7769
7770 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7771
7772         * check/Makefile.am:
7773         * check/elements/.cvsignore:
7774         * check/elements/gstfakesrc.c: (chain_func), (event_func),
7775         (START_TEST), (fakesrc_suite), (main):
7776         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7777         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7778         (gst_fakesrc_create), (gst_fakesrc_start):
7779         * gst/elements/gstfakesrc.h:
7780           adding a first element test
7781
7782 2005-07-07  Andy Wingo  <wingo@pobox.com>
7783
7784         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
7785         debug message.
7786
7787 2005-07-07  Wim Taymans  <wim@fluendo.com>
7788
7789         * gst/gstquery.c:
7790         * gst/gstquery.h:
7791         Remove old types
7792
7793 2005-07-07  Wim Taymans  <wim@fluendo.com>
7794
7795         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7796         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
7797         Allow subclasses to implement their own negotiation.
7798
7799 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7800
7801         * docs/design/part-gstbin.txt:
7802         * docs/design/part-gstpipeline.txt:
7803           Update design notes to reflect the movement of
7804           responsibility for bus handling from GstPipeline to
7805           GstBin
7806
7807 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7808
7809         * configure.ac:
7810           Remove unnecessary queue2/3/4 examples.
7811
7812 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
7813
7814         * examples/Makefile.am:
7815         * examples/helloworld/helloworld.c: (event_loop), (main):
7816         * examples/queue/queue.c: (event_loop), (main):
7817         * examples/queue2/queue2.c: (main):
7818           Update a couple of the examples to work again.
7819
7820         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7821         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
7822          Spelling corrections and extra debug.
7823         
7824         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
7825         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
7826         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
7827         * gst/gstbin.h:
7828         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7829         (gst_pipeline_change_state):
7830         * gst/gstpipeline.h:
7831           Move the bus handler for children to the GstBin, and create a
7832           separate bus for receiving messages from children to the one the
7833           bus sends 'upwards' on.
7834
7835 2005-07-06  Wim Taymans  <wim@fluendo.com>
7836
7837         * gst/base/README:
7838         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7839         (gst_base_sink_handle_object), (gst_base_sink_loop),
7840         (gst_base_sink_change_state):
7841         * gst/base/gstbasesink.h:
7842         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7843         (gst_base_src_init), (gst_base_src_setcaps),
7844         (gst_base_src_getcaps), (gst_base_src_loop),
7845         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
7846         (gst_base_src_start), (gst_base_src_change_state):
7847         * gst/base/gstbasesrc.h:
7848         Make basesrc negotiate.
7849         Handle the case where preroll fails in basesink.
7850         Update README.
7851
7852 2005-07-06  Wim Taymans  <wim@fluendo.com>
7853
7854         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
7855         Implement the fixate function.
7856         Clean up acceptcaps.
7857
7858 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7859
7860         * docs/pwg/building-filterfactory.xml:
7861         * docs/pwg/pwg.xml:
7862           Remove never-written filter-factory chapter; I'll add the various
7863           base classes to part 4 ("other element types") later on.
7864
7865 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7866
7867         * docs/pwg/advanced-negotiation.xml:
7868         * docs/pwg/building-boiler.xml:
7869         * docs/pwg/building-pads.xml:
7870         * docs/pwg/pwg.xml:
7871         * examples/pwg/Makefile.am:
7872           Add a chapter on caps negotiation, simplify the original code
7873           samples a bit w.r.t. caps negotiation, add link to the advanced
7874           section. Add a bunch of examples showing different use cases of
7875           different types of caps negotiation. Upstream renegotiation isn't
7876           fully documented yet since nobody knows how that works.
7877
7878 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7879
7880         * check/gst/gstpad.c:
7881         * check/gstcheck.c:
7882         * gst/gstpad.c: (gst_pad_get_internal_links_default):
7883           if pad has no parent, return NULL as list of internal links
7884
7885 2005-07-05  Andy Wingo  <wingo@pobox.com>
7886
7887         * gst/elements/gstfilesrc.c:
7888         * gst/elements/gstfakesrc.c: 
7889         * gst/base/gstpushsrc.c:
7890         * gst/base/gstbasesrc.h: 
7891         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
7892         
7893 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
7894
7895         * Makefile.am:
7896           better report generation target (lcov needs a patch)
7897
7898 2005-07-05  Andy Wingo  <wingo@pobox.com>
7899
7900         * gst/elements, testsuite: Null if we got it...
7901
7902 2005-07-05  Wim Taymans  <wim@fluendo.com>
7903
7904         * configure.ac:
7905         * libs/gst/dataprotocol/Makefile.am:
7906         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
7907         * libs/gst/dataprotocol/dataprotocol.h:
7908         * pkgconfig/Makefile.am:
7909         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
7910         * pkgconfig/gstreamer-dataprotocol.pc.in:
7911         Ported dataprotol to 0.9. 
7912         Added pkgconfig files.
7913
7914 2005-07-05  Andy Wingo  <wingo@pobox.com>
7915
7916         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
7917         Default to returning TRUE for the case when tranform_caps returns
7918         a fixed caps, like for identity or volume.
7919
7920         * check/gst/gstbus.c (pound_bus_with_messages): 
7921         * check/gst/gstmessage.c (START_TEST): 
7922         * check/pipelines/simple_launch_lines.c (got_handoff): Application
7923         message API change.
7924
7925         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
7926         logic weaks here: always run transform_caps, trying passthrough
7927         operation only if the original caps intersects with the transform.
7928
7929         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
7930         source and sink caps.
7931
7932         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
7933         Intersect the peer caps with the pad template before going into
7934         transform_caps.
7935         (gst_base_transform_transform_caps): More debugging.
7936
7937         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
7938         src argument.
7939
7940 2005-07-04  Edward Hervey  <edward@fluendo.com>
7941
7942         * gst/gstutils.c:
7943         * gst/gstutils.h:
7944         (gst_pad_add_*_probe): now returns the signal id for better wrapping
7945         in bindings.
7946
7947 2005-07-04  Andy Wingo  <wingo@pobox.com>
7948
7949         * check/gst/gstpad.c: Only set explicit caps on pads.
7950
7951 2005-07-01  Andy Wingo  <wingo@pobox.com>
7952
7953         * tests/network-clock.scm: Commentary update.
7954
7955         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
7956         Didn't really make sense, not implementable with basetransform,
7957         etc.
7958         (gst_identity_transform): Unref inbuf via make_writable. Feeble
7959         attempt at implementing the sync property, needs an unlock method.
7960
7961         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
7962         New func, by default returns the same caps (the identity
7963         transformation).
7964         (gst_base_transform_getcaps): Uses transform_caps to return
7965         something sensible.
7966         (gst_base_transform_setcaps): Complicated logic to get caps on
7967         both pads, even if they are different, and to call set_caps once
7968         for every time both pads get their caps set.
7969         (gst_base_transform_handle_buffer): Give the ref to the transform
7970         function. Allows in-place modification of the buffer.
7971
7972         * gst/base/gstbasetransform.h (transform_caps): New class method.
7973         Given caps on one side, what can I do on the other.
7974         (set_caps): Take two caps, one for each side of the element.
7975
7976         * gst/gstpad.h:
7977         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
7978         caps in place. This is safe because we can check the mutability of
7979         the caps, and a good idea because fixate functions are just called
7980         as a matter of last resort. (Not actually implemented.)
7981         (gst_pad_set_caps): If the caps we're setting is actually the same
7982         as the existing pad caps, just update the pointer without calling
7983         setcaps. Assert that caps is either NULL or fixed, as per the
7984         docs.
7985
7986         * gst/gstghostpad.c: Update for fixate changes.
7987
7988 2005-07-02  Andy Wingo  <wingo@pobox.com>
7989
7990         * gst/gstcaps.c:
7991         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
7992         two refcounts makes it immutable, which is enough. Doc more.
7993
7994 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
7995
7996         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
7997           Put the mini_object into GValue as a mini_object,
7998           not a gpointer, since that's how we declared
7999           the signal.
8000
8001 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8002
8003         * examples/pwg/Makefile.am:
8004           Fix buildbot again.
8005
8006 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8007
8008         * docs/pwg/building-testapp.xml:
8009           Add extra check.
8010         * examples/pwg/Makefile.am:
8011           Fix buildbot.
8012
8013 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8014
8015         * configure.ac:
8016         * examples/Makefile.am:
8017         * examples/pwg/Makefile.am:
8018         * examples/pwg/extract.pl:
8019           Enable building the PWG examples.
8020         * docs/pwg/advanced-interfaces.xml:
8021           Add URI interface stub.
8022         * docs/pwg/advanced-types.xml:
8023         * docs/pwg/other-autoplugger.xml:
8024         * docs/pwg/appendix-porting.xml:
8025         * docs/pwg/pwg.xml:
8026           Add porting guide (mostly stubs), remove autoplugging (see ADM).
8027         * docs/pwg/building-boiler.xml:
8028         * docs/pwg/building-chainfn.xml:
8029         * docs/pwg/building-pads.xml:
8030         * docs/pwg/building-props.xml:
8031         * docs/pwg/building-state.xml:
8032         * docs/pwg/building-testapp.xml:
8033           Update the building-*.xml parts for 0.9 changes. All examples
8034           code blocks compile in examples/pwg/*.
8035
8036 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8037
8038         * docs/manual/advanced-autoplugging.xml:
8039         * docs/manual/appendix-checklist.xml:
8040         * docs/manual/appendix-integration.xml:
8041         * docs/manual/highlevel-components.xml:
8042           Fix playbin/decodebin examples, update docs a bit, mention bus
8043           instead of signals in various places, mention kmplayer and
8044           kaffeine since they have a working GStreamer backend in the KDE
8045           section.
8046
8047 2005-06-30  Wim Taymans  <wim@fluendo.com>
8048
8049         * CHANGES-0.9:
8050         * docs/design/draft-ghostpads.txt:
8051         * docs/design/draft-push-pull.txt:
8052         * docs/design/draft-query.txt:
8053         * docs/design/part-TODO.txt:
8054         * docs/design/part-query.txt:
8055         Added CHANGES-0.9 doc, updated status of other docs.
8056         
8057         * gst/gstquery.h:
8058         Remove "hmm" macro
8059
8060 2005-06-30  Wim Taymans  <wim@fluendo.com>
8061
8062         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8063         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8064         (gst_base_sink_change_state):
8065         * gst/base/gstbasesink.h:
8066         Some tweaks, only EOS and a buffer complete a preroll.
8067
8068 2005-06-30  Andy Wingo  <wingo@pobox.com>
8069
8070         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
8071         activate_push down to the internal pad as well.
8072
8073 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
8074
8075         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8076
8077         * gst/gsttaginterface.c:
8078           Some documentation fixes (#307394 and #307397).
8079
8080 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
8081
8082         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8083
8084         * gst/gstvalue.c: (gst_value_intersect_list):
8085           Fix memleak (#309125).
8086
8087 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8088
8089         * docs/manual/advanced-dataaccess.xml:
8090           Fix fakesrc example to compile; doesn't work, bug somewhere...?
8091         * docs/manual/basics-pads.xml:
8092           Add reference for filtered caps to above chapter.
8093
8094 2005-06-30  Wim Taymans  <wim@fluendo.com>
8095
8096         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
8097         (gst_bin_change_state):
8098         Probes are gone.
8099         Lame attempt at making the state change function a bit
8100         more readable.
8101
8102 2005-06-30  Wim Taymans  <wim@fluendo.com>
8103
8104         * docs/design/part-clocks.txt:
8105         * docs/design/part-element-sink.txt:
8106         * docs/design/part-events.txt:
8107         * docs/design/part-preroll.txt:
8108         * docs/design/part-states.txt:
8109         Some more tweeks and additions to the docs.
8110
8111 2005-06-30  Wim Taymans  <wim@fluendo.com>
8112
8113         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8114         (default_have_data), (gst_pad_class_init), (gst_pad_init),
8115         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8116         (gst_pad_check_pull_range), (gst_pad_get_range),
8117         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
8118         * gst/gstpad.h:
8119         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
8120         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8121         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8122         (gst_pad_remove_buffer_probe):
8123         Removed atomic operations, use existing LOCK.
8124         Move exception handling out of main code path.
8125
8126 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8127
8128         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8129         (silly_return_true_function), (gst_pad_class_init),
8130         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
8131         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
8132         (gst_pad_send_event):
8133           Fix accumulator, add default value by using _emitv() instead
8134           of _emit() for signal emission.
8135
8136 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8137
8138         * docs/manual/advanced-dataaccess.xml:
8139         * examples/manual/Makefile.am:
8140           Add probe example.
8141         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
8142           Make work (??).
8143
8144 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
8145
8146         * gst/elements/gstfilesink.c: (gst_filesink_render):
8147           Simplify code so that we don't have to handle short
8148           writes and return GST_FLOW_ERROR if an error occured.
8149
8150 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8151
8152         * docs/gst/gstreamer-docs.sgml:
8153           Remove probes more.
8154
8155 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8156
8157         * docs/gst/gstreamer-sections.txt:
8158         * docs/gst/tmpl/gstpad.sgml:
8159         * docs/gst/tmpl/gstprobe.sgml:
8160         * gst/Makefile.am:
8161         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
8162         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
8163         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8164         (gst_pad_push_event), (gst_pad_send_event):
8165         * gst/gstpad.h:
8166         * gst/gstutils.c: (gst_pad_add_data_probe),
8167         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8168         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8169         (gst_pad_remove_buffer_probe):
8170         * gst/gstutils.h:
8171           Remove old probes, add new g-signal-based probes and some utility
8172           functions.
8173
8174 2005-06-29  Edward Hervey  <edward@fluendo.com>
8175
8176         * gst/gstelementfactory.c:
8177         * gst/gstutils.h:
8178         * gst/gstutils.c:
8179         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
8180         the definition to the header file.
8181
8182 2005-06-29  Andy Wingo  <wingo@pobox.com>
8183
8184         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
8185         plugins from the source directory.
8186
8187 2005-06-29  Wim Taymans  <wim@fluendo.com>
8188
8189         * docs/gst/tmpl/gstbuffer.sgml:
8190         * docs/gst/tmpl/gstclock.sgml:
8191         Some fixings for blantently wrong text.
8192
8193 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8194
8195         * check/Makefile.am:
8196         * gst/gst.c: (add_path_func), (init_pre):
8197         * gst/gstregistry.c: (gst_registry_add_path):
8198           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
8199           only scan the GST_PLUGIN_PATH locations, and not add
8200           system locations
8201
8202 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8203
8204         * docs/gst/gstreamer-sections.txt:
8205         * docs/gst/tmpl/gstbasesrc.sgml:
8206         * gst/gstelement.c:
8207         * gst/gstelement.h:
8208         * gst/gstevent.c:
8209         * gst/gstutils.c:
8210           doc fixes
8211
8212 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8213
8214         * docs/manual/advanced-autoplugging.xml:
8215           Fix autoplugging example.
8216
8217 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8218
8219         * docs/manual/advanced-autoplugging.xml:
8220         * docs/manual/mime-world.fig:
8221           Try to get autoplugging working, fix type detection. Fix text
8222           in hello-world image.
8223
8224 2005-06-29  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8227         (gst_base_sink_change_state):
8228         Small debug line.
8229
8230         * gst/gstclock.h:
8231         map SIGNAL and BROADCAST to the right function.
8232
8233         * gst/gstobject.h:
8234         Remove redundant braces.
8235
8236         * gst/gstpad.c: (gst_pad_set_caps):
8237         Don't call setcaps function when reseting caps to NULL.
8238
8239         * gst/gstsystemclock.c: (gst_system_clock_dispose),
8240         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8241         (gst_system_clock_id_unschedule):
8242         Use BROADCAST as this is what we do.
8243
8244 2005-06-29  Wim Taymans  <wim@fluendo.com>
8245
8246         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8247         We are actually prerolling before commiting the state
8248         change. 
8249
8250 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8251
8252         * docs/manual/advanced-clocks.xml:
8253         * docs/manual/advanced-interfaces.xml:
8254         * docs/manual/advanced-metadata.xml:
8255         * docs/manual/advanced-position.xml:
8256         * docs/manual/advanced-schedulers.xml:
8257         * docs/manual/advanced-threads.xml:
8258         * docs/manual/appendix-porting.xml:
8259         * docs/manual/basics-bins.xml:
8260         * docs/manual/basics-bus.xml:
8261         * docs/manual/basics-elements.xml:
8262         * docs/manual/basics-helloworld.xml:
8263         * docs/manual/basics-pads.xml:
8264         * docs/manual/highlevel-components.xml:
8265         * docs/manual/manual.xml:
8266         * docs/manual/thread.fig:
8267           Update (until threads/scheduling) Application Development Manual;
8268           remove GstThread, add GstBus, add simple porting checklist, add
8269           documentation for tag writing, clocks, make all examples until this
8270           part compile and run.
8271         * examples/manual/Makefile.am:
8272           Update from changes to Application Development Manual; add bus
8273           example, remove thread example.
8274
8275 2005-06-28  Wim Taymans  <wim@fluendo.com>
8276
8277         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
8278         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
8279         (gst_bus_source_dispatch):
8280         Add debugging messages.
8281         Make internal methods static.
8282         Handle the case where the bus is flushed in the handler.
8283         
8284         * gst/gstelement.c: (gst_element_get_bus):
8285         Fix refcount in _get_bus();
8286
8287         * gst/gstpipeline.c: (gst_pipeline_change_state),
8288         (gst_pipeline_get_clock_func):
8289         Clock refcounting fixes.
8290         Handle the case where preroll timed out more gracefully.
8291         
8292         * gst/gstsystemclock.c: (gst_system_clock_dispose):
8293         Clean up the internal thread in dispose. This is needed
8294         for subclasses that actually get disposed.
8295         
8296         * gst/schedulers/threadscheduler.c:
8297         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8298         (gst_thread_scheduler_dispose):
8299         Free thread pool in dispose.
8300
8301 2005-06-28  Andy Wingo  <wingo@pobox.com>
8302
8303         * tests/network-clock-utils.scm (debug, print-event): New utils.
8304
8305         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
8306         (*packet-loss*): Unified loss probability.
8307         (network-time): Report out-of-band events.
8308
8309         * tests/plot-data: Add support for out-of-band events. Hack it
8310         into this script instead of passing it down the pipe; should fix
8311         this later.
8312
8313 2005-06-28  Wim Taymans  <wim@fluendo.com>
8314
8315         * docs/gst/gstreamer.types:
8316         * docs/gst/tmpl/gstbasesrc.sgml:
8317         * docs/gst/tmpl/gstpad.sgml:
8318         Docs fixes.
8319
8320 2005-06-28  Wim Taymans  <wim@fluendo.com>
8321
8322         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8323         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
8324         (gst_proxy_pad_do_fixatecaps):
8325         Correctly proxy the check_pull_range function.
8326
8327 2005-06-28  Andy Wingo  <wingo@pobox.com>
8328
8329         * tests/network-clock.scm: Removed need for slib.
8330         
8331 2005-06-28  Wim Taymans  <wim@fluendo.com>
8332
8333         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
8334         (gst_basesink_preroll_queue_flush):
8335         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
8336         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
8337         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8338         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8339         (gst_proxy_pad_set_property):
8340         * gst/gstpad.c:
8341         * gst/gstpad.h:
8342         * gst/gstqueue.c: (gst_queue_init):
8343         The deprecated pad loop function is removed now.
8344
8345 2005-06-28  Andy Wingo  <wingo@pobox.com>
8346
8347         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
8348         New parameters, simulate network packet loss.
8349
8350         * tests/network-clock-utils.scm: Initialize the RNG.
8351
8352 2005-06-28  Wim Taymans  <wim@fluendo.com>
8353
8354         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
8355         (gst_basesink_event), (gst_basesink_deactivate):
8356         Flushing the preroll queue always needs to unlock the waiters.
8357
8358 2005-06-28  Edward Hervey  <edward@fluendo.com>
8359
8360         * gst/gstpipeline.c: (gst_pipeline_send_event): 
8361         Wheen a seek was successful on a pipeline, set the stream_time to the
8362         seek offset in order to have a synchronized stream_time.
8363
8364 2005-06-28  Wim Taymans  <wim@fluendo.com>
8365
8366         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8367         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8368         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
8369         (gst_proxy_pad_do_fixatecaps):
8370         Call wrapper function instead of just calling the function
8371         pointers. This takes care of any locking and whatmore.
8372
8373 2005-06-28  Wim Taymans  <wim@fluendo.com>
8374
8375         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
8376         (gst_pad_pull_range):
8377         * gst/gstpad.h:
8378         CONNECTED -> LINKED.
8379
8380 2005-06-28  Andy Wingo  <wingo@pobox.com>
8381
8382         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
8383         source-munging commit!!!
8384
8385         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
8386         (gst_object_sink): Take gpointer arguments, not GstObject --
8387         avoids casts. Like GLib.
8388
8389         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
8390         activate.
8391
8392 2005-06-27  Andy Wingo  <wingo@pobox.com>
8393
8394         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
8395         remaining buffer.
8396
8397         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
8398         returns a sorted copy of the trace list.
8399         (gst_alloc_trace_print_live): New API, only prints traces with
8400         live objects. Sort the list.
8401         (gst_alloc_trace_print_all): Sort the list.
8402         (gst_alloc_trace_print): Align columns.
8403
8404         * gst/elements/gstttypefindelement.c:
8405         * gst/elements/gsttee.c:
8406         * gst/base/gstbasesrc.c:
8407         * gst/base/gstbasesink.c:
8408         * gst/base/gstbasetransform.c:
8409         * gst/gstqueue.c: Adapt for pad activation changes.
8410
8411         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
8412         sched.
8413         (gst_pipeline_dispose): Drop ref on sched.
8414
8415         * gst/gstpad.c (gst_pad_init): Set the default activate func.
8416         (gst_pad_activate_default): Push mode by default.
8417         (pre_activate_switch, post_activate_switch): New stubs, things to
8418         do before and after switching activation modes on pads.
8419         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
8420         the pad's activate function to choose which mode to activate.
8421         Shortcut on deactivation and call the right function directly.
8422         (gst_pad_activate_pull): New API, (de)activates a pad in pull
8423         mode.
8424         (gst_pad_activate_push): New API, same for push mode.
8425         (gst_pad_set_activate_function) 
8426         (gst_pad_set_activatepull_function) 
8427         (gst_pad_set_activatepush_function): Setters for new API.
8428
8429         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
8430         Trace all miniobjects.
8431         (gst_mini_object_make_writable): Unref the arg if we copy, like
8432         gst_caps_make_writable.
8433
8434         * gst/gstmessage.c (_gst_message_initialize): No trace init.
8435
8436         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
8437         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
8438         Adapt for new pad API.
8439
8440         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
8441
8442         * gst/gstelement.h:
8443         * gst/gstelement.c (gst_element_iterate_src_pads) 
8444         (gst_element_iterate_sink_pads): New API functions.
8445         
8446         * gst/gstelement.c (iterator_fold_with_resync): New utility,
8447         should fold into gstiterator.c in some form.
8448         (gst_element_pads_activate): Simplified via use of fold and
8449         delegation of decisions to gstpad->activate.
8450
8451         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
8452         help in debugging.
8453
8454         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
8455         class once in init, like gstmessage. Didn't run into this issue
8456         but it seems correct. Don't initialize a trace, gstminiobject does
8457         that.
8458
8459         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
8460         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
8461         to the bus.
8462         (assert_live_count): New util function, uses alloc traces to check
8463         cleanup.
8464
8465         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
8466         To be modified when unlink drops the internal pad.
8467
8468 2005-06-27  Wim Taymans  <wim@fluendo.com>
8469
8470         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
8471         (gst_bin_change_state):
8472         Cleanup the get_state() function a little, make sure it
8473         iterates the same set of elements.
8474         Added stub iterate_state_order().
8475
8476 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         * docs/gst/gstreamer-docs.sgml:
8479         * docs/gst/gstreamer-sections.txt:
8480         * docs/gst/gstreamer.types:
8481         * docs/gst/tmpl/gstbasesink.sgml:
8482         * docs/gst/tmpl/gstbasesrc.sgml:
8483         * docs/gst/tmpl/gstbasetransform.sgml:
8484         * docs/gst/tmpl/gstelement.sgml:
8485         * docs/gst/tmpl/gstiterator.sgml:
8486         * gst/base/gstbasesrc.c:
8487         * gst/base/gstbasesrc.h:
8488         * gst/base/gstbasetransform.h:
8489         * gst/gstelement.c:
8490         * gst/gstiterator.h:
8491           adding basetransform and iterator docs
8492
8493 2005-06-27  Andy Wingo  <wingo@pobox.com>
8494
8495         * docs/design/part-activation.txt: Notes on how activation should
8496         work -- not quite implemented yet.
8497
8498 2005-06-25  Wim Taymans  <wim@fluendo.com>
8499
8500         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
8501         At least get the chain function correct, needs more
8502         fixing.
8503
8504 2005-06-25  Wim Taymans  <wim@fluendo.com>
8505
8506         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8507         (gst_basesink_handle_object), (gst_basesink_event),
8508         (gst_basesink_do_sync), (gst_basesink_handle_event),
8509         (gst_basesink_change_state):
8510         * gst/gsttask.h:
8511         Right, two problems here: ghostpads don't take locks and
8512         glib _rec_mutex_lock_full() with depth==0 still locks.
8513         Catch illegal locking and g_warn them.
8514
8515 2005-06-25  Wim Taymans  <wim@fluendo.com>
8516
8517         * check/states/sinks.c: (START_TEST), (gst_object_suite):
8518         Have to check for completion now...
8519
8520 2005-06-25  Wim Taymans  <wim@fluendo.com>
8521
8522         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8523         (gst_basesink_handle_object), (gst_basesink_event),
8524         (gst_basesink_do_sync), (gst_basesink_handle_event),
8525         (gst_basesink_change_state):
8526         * gst/gstpad.h:
8527         Unlock STREAM_LOCK whatever the recursion was.
8528
8529 2005-06-25  Wim Taymans  <wim@fluendo.com>
8530
8531         * gst/base/gstbasesink.c: (gst_basesink_set_property),
8532         (gst_basesink_preroll_queue_empty),
8533         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
8534         (gst_basesink_event), (gst_basesink_do_sync),
8535         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
8536         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
8537         (gst_basesink_change_state):
8538         Reworked the base sink, handle event and buffer serialisation
8539         correctly and removed possible deadlock.
8540         Handle EOS correctly.
8541
8542 2005-06-25  Wim Taymans  <wim@fluendo.com>
8543
8544         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
8545         (gst_pipeline_change_state):
8546         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8547         Allow elements to post EOS in the state change function.
8548         Fix up -launch, make it exit the poll loop when the
8549         pipeline actually changed state.
8550         Fix up warning parsing in -launch.
8551
8552 2005-06-25  Wim Taymans  <wim@fluendo.com>
8553
8554         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
8555         (gst_tee_sink_activate):
8556         Core takes STREAM_LOCK for us now.
8557
8558 2005-06-25  Wim Taymans  <wim@fluendo.com>
8559
8560         * gst/gstelement.c: (gst_element_get_state_func),
8561         (gst_element_set_state):
8562         * gst/gstelement.h:
8563         * gst/gstmessage.c: (gst_message_parse_error),
8564         (gst_message_parse_warning):
8565         Keep track of current target state while performing a state
8566         change so that subclasses can do something interesting.
8567         Fix parsing of warning/error messages when GError is NULL.
8568
8569 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8570
8571         * docs/gst/Makefile.am:
8572         * docs/gst/gstreamer-docs.sgml:
8573         * docs/gst/gstreamer-sections.txt:
8574         * docs/gst/gstreamer.types:
8575         * docs/gst/tmpl/gstbasesink.sgml:
8576         * docs/gst/tmpl/gstbasesrc.sgml:
8577         * docs/gst/tmpl/gstbin.sgml:
8578         * docs/gst/tmpl/gstcompat.sgml:
8579         * docs/gst/tmpl/gstfakesink.sgml:
8580         * docs/gst/tmpl/gstfakesrc.sgml:
8581         * docs/gst/tmpl/gstfilesink.sgml:
8582         * docs/gst/tmpl/gstfilesrc.sgml:
8583         * docs/gst/tmpl/gstindex.sgml:
8584         * docs/manual/appendix-quotes.xml:
8585         * gst/base/gstbasesrc.h:
8586         * gst/elements/gstfakesrc.h:
8587         * gst/gstmessage.h:
8588           start pulling in base classes and elements in our docs
8589
8590 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
8591
8592         * docs/gst/Makefile.am:
8593         * docs/libs/Makefile.am:
8594           fixed make distcheck with gtk-doc 1.3
8595
8596 2005-06-23  Wim Taymans  <wim@fluendo.com>
8597
8598         * gst/gstelement.c: (gst_element_get_state_func),
8599         (gst_element_set_state), (gst_element_change_state):
8600         When the state did not change, also report NO_PREROLL
8601         when it matters.
8602
8603 2005-06-23  Wim Taymans  <wim@fluendo.com>
8604
8605         * gst/gstpad.c: (gst_pad_event_default):
8606         * gst/gstqueue.c: (gst_queue_loop):
8607         No unsafe task pausing please.
8608
8609 2005-06-23  Wim Taymans  <wim@fluendo.com>
8610
8611         * gst/schedulers/threadscheduler.c:
8612         (gst_thread_scheduler_task_start),
8613         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
8614         Ref the task before pushing it on the threadpool. This
8615         makes sure that we have a ref when the threadfunction is
8616         actually called.
8617
8618 2005-06-23  Andy Wingo  <wingo@pobox.com>
8619
8620         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
8621         offset is greater than the file's size.
8622
8623         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
8624         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
8625         * gst/gstobject.c (gst_object_class_init): Make the class lock
8626         recursive. Wim won't let me drop deep_notify. Decodebin works
8627         again, whoopdy doo.
8628
8629         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
8630         internal pad, and hacks accordingly. Doesn't do it on the target
8631         pad because we change its caps. Probably catches all cases of
8632         interest tho.
8633         (gst_ghost_pad_set_property): Connect to notify::caps as
8634         appropritate.
8635
8636         * tests/network-clock.scm (plot-simulation): Pipe data to the
8637         elite python skript.
8638
8639         * tests/network-clock-utils.scm (define-parameter): New macro,
8640         defines a parameter that can be set via the command line.
8641         (set-parameter!, parse-parameter-arguments): Command line args
8642         parser.
8643
8644         * tests/plot-data: Simple matplotlib-based plotter, takes input on
8645         stdin.
8646
8647 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
8648
8649         * gst/elements/gsttypefindelement.c:
8650         (gst_type_find_element_handle_event):
8651           Don't restart typefinding on a discont.
8652         * gst/gstelement.c: (gst_element_set_state):
8653           Debug spelling fix.
8654         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
8655           Allow changing mode of an active pad.
8656           Debug output fixes.
8657         * gst/registries/gstlibxmlregistry.c: (load_feature):
8658           Don't cast a static pad template to a normal pad template.
8659
8660 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8661
8662         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8663         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8664           remove gst_strtoll completely, since it didn't actually do
8665           anything more than what g_ascii_strtoull already does.
8666           check for range errors when deserializing
8667           do a cast for the unsigned cases; but further fixing needs
8668           a decision on what the interpretation of "(int)" and
8669           deserialization should be for values that fall outside the
8670           type's boundaries (ie, refuse, or interpret as casting)
8671
8672 2005-06-23  Wim Taymans  <wim@fluendo.com>
8673
8674         * check/Makefile.am:
8675         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
8676         * docs/design/part-live-source.txt:
8677         * docs/design/part-states.txt:
8678         * gst/base/gstbasesrc.c: (gst_basesrc_init),
8679         (gst_basesrc_set_live), (gst_basesrc_is_live),
8680         (gst_basesrc_get_range), (gst_basesrc_activate),
8681         (gst_basesrc_change_state):
8682         * gst/base/gstbasesrc.h:
8683         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8684         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
8685         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
8686         * gst/gstelement.c: (gst_element_get_state_func),
8687         (gst_element_set_state):
8688         * gst/gstelement.h:
8689         * gst/gsttypes.h:
8690         * tools/gst-launch.c: (event_loop), (main):
8691         Added support for live sources and other elements that
8692         cannot do preroll.
8693         Updated design docs, added live-source design doc.
8694         Implemented live source functionality in basesrc
8695         Fix error condition in _bin_get_state()
8696         Implement live source handling in -launch.
8697         Added check for live sources.
8698         Fixed case in GstBin where elements were changed state
8699         multiple times.
8700
8701
8702 2005-06-23  Andy Wingo  <wingo@pobox.com>
8703
8704         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
8705         borken refcounting.
8706
8707         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
8708         gst_caps_replace takes care of this for us.
8709
8710         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
8711         gst_pad_set_caps on the target, not just its setcaps() function.
8712
8713         * tests/network-clock.scm: 
8714         * tests/network-clock-utils.scm: A network clock simulator.
8715         Something of an algorithmic testbed before doing something in C.
8716
8717 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8718
8719         * check/Makefile.am:
8720         * check/gst/capslist.h:
8721           copy over from 0.8, and add two with bitmasks specified with
8722           (int) 0xFF...
8723         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8724           add test to parse everything from capslist.h
8725         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
8726         (main):
8727           add test for structure deserialization
8728         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8729           add tests for deserialization of strings to int types
8730         * gst/gststructure.c: (gst_structure_nth_field_name):
8731         * gst/gststructure.h:
8732           add a way to get the name of a field referenced by index
8733         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8734           instead of checking if the resulting long long lies between
8735           min and max, we check if the long long would fit into
8736           a number of bytes for the final type.
8737           This fixes cases where a string represents 2^32 - 1, which
8738           when cast to int would be the (valid) -1, but is bigger than
8739           G_MAXINT
8740
8741 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8742
8743         * gst/parse/grammar.y:
8744           add a log line for type deserialization
8745
8746 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8747
8748         * check/gst/gstvalue.c: (START_TEST):
8749         * gst/gstvalue.c: (gst_value_deserialize):
8750           return long long, not int, so gint64 deserialization actually
8751           works.  Is there any flag that makes the compiler check this ?
8752           Fixes #308559
8753
8754 2005-06-22  Wim Taymans  <wim@fluendo.com>
8755
8756         * gst/gstbuffer.h:
8757         Added convenience macros for setting buffers in GValue.
8758
8759 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8760
8761         * check/gst/.cvsignore:
8762         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8763           add a test deserializing int64, and comment part out because
8764           it fails, yay !
8765
8766 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8767
8768         * check/Makefile.am:
8769         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
8770         * testsuite/Makefile.am:
8771         * testsuite/caps/Makefile.am:
8772         * testsuite/caps/value_serialize.c:
8773         * testsuite/test_gst_init.c:
8774           move a value_serialize test over
8775
8776 2005-06-20  Wim Taymans  <wim@fluendo.com>
8777
8778         * gst/gstpad.c:
8779         Small doc updates.
8780         
8781         * gst/gstvalue.c: (gst_value_compare_buffer),
8782         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
8783         (gst_value_compare_flags), (gst_value_serialize_flags),
8784         (gst_value_deserialize_flags), (_gst_value_initialize):
8785         Fix serialisation of buffers, they are not boxed types anymore
8786
8787 2005-06-20  Wim Taymans  <wim@fluendo.com>
8788
8789         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8790         Testcase to show error in buffer-on-caps serialisation.
8791
8792 2005-06-20  Andy Wingo  <wingo@pobox.com>
8793
8794         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
8795         will be adding to later.
8796
8797         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
8798         if its socks fill with rocks.
8799         (gst_system_clock_obtain): Set the name on object construction.
8800         Avoid double-checked locking.
8801
8802 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
8803
8804         * gst/gsturi.c: (gst_element_make_from_uri):
8805           Fix potential endless loop.
8806
8807 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8808
8809         * check/Makefile.am:
8810           add gsttag
8811         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
8812         (main):
8813           move over from testsuite dir and clean up
8814         * configure.ac:
8815         * gst/gsttag.c:
8816         * testsuite/Makefile.am:
8817         * testsuite/tags/.cvsignore:
8818         * testsuite/tags/Makefile.am:
8819         * testsuite/tags/merge.c:
8820           remove testsuite/tags
8821
8822 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8823
8824         * docs/gst/gstreamer-sections.txt:
8825         * docs/gst/tmpl/gstenumtypes.sgml:
8826         * win32/gstenumtypes.c:
8827           clean up documentation build a little
8828
8829 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8830
8831         * check/gstcheck.h:
8832           add macros for checking refcounts on objects and caps
8833         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
8834           add some more unit tests
8835         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8836         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
8837           fix leaked refcounts (I hope :)) so unittest works
8838         * gst/gstpad.h:
8839           whitespace removal
8840
8841 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8842
8843         * configure.ac: back to HEAD
8844
8845 === release 0.9.1 ===
8846
8847 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8848
8849         * NEWS:
8850         * RELEASE:
8851           updated
8852
8853 2005-06-17  Andy Wingo  <wingo@pobox.com>
8854
8855         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
8856         assert; it's always possible that the pad gets deactivated in
8857         between the checks in gstpad.c and the implementation. Rely on
8858         finish_preroll() to return a FLUSHING or similar instead of on the
8859         assert.
8860         
8861         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
8862         clock and post an EOS message if we come out of finish_preroll in
8863         the playing state.
8864
8865 2005-06-16  David Schleef  <ds@schleef.org>
8866
8867         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8868         (gst_capsfilter_set_property): Allow NULL as possible value
8869         for filter_caps property, indicating GST_CAPS_ANY.
8870
8871 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8872
8873         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
8874           fix debug output
8875         * gst/schedulers/Makefile.am:
8876           use libgst prefix
8877         * gstreamer.spec.in:
8878           fix spec for it
8879
8880 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8881
8882         * gstreamer.spec.in:
8883           clean up
8884
8885 2005-06-08  Andy Wingo  <wingo@pobox.com>
8886
8887         * gst/gstutils.c: RPAD fixes all around.
8888         (gst_element_link_pads): Refcounting fixes.
8889
8890         * tools/gst-inspect.c:
8891         * tools/gst-xmlinspect.c:
8892         * parse/grammar.y:
8893         * gst/base/gsttypefindhelper.c:
8894         * gst/base/gstbasesink.c:
8895         * gst/gstqueue.c: RPAD fixes.
8896
8897         * gst/gstghostpad.h:
8898         * gst/gstghostpad.c: New ghost pad implementation as full proxy
8899         pads. The tricky thing is they provide both source and sink
8900         interfaces, since they proxy the internal pad for the external
8901         pad, and vice versa. Implement with lower-level ProxyPad objects,
8902         with the interior proxy pad as a child of the exterior ghost pad.
8903         Should write a doc on this.
8904         
8905         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
8906         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
8907         gst_object API.
8908         
8909         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
8910         pads are real pads. No ghost pads in this file. Not documenting
8911         the myriad s/RPAD/PAD/ and REALIZE fixes.
8912         (gst_pad_class_init): Add properties for "direction" and
8913         "template". Both are construct-only, so they can't change during
8914         the life of the pad. Fixes properly deriving from GstPad.
8915         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
8916         derived objects, just set properties when creating the objects via
8917         g_object_new.
8918         (gst_pad_get_parent): Implement as a function, return NULL if the
8919         parent is not an element.
8920         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
8921         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
8922         
8923         * gst/gstobject.c (gst_object_class_init): Make name a construct
8924         property. Don't set it in the object init.
8925
8926         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
8927         with UNKNOWN direction.
8928         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
8929         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
8930         (gst_element_remove_pad): Remove ghost-pad special cases.
8931         (gst_element_pads_activate): Remove rpad cruft.
8932
8933         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
8934         catch the pad's-parent-not-an-element case.
8935
8936         * gst/gst.h: Include gstghostpad.h.
8937
8938         * gst/gst.c (init_post): No more real, ghost pads.
8939
8940         * gst/Makefile.am: Add gstghostpad.[ch].
8941
8942         * check/Makefile.am:
8943         * check/gst/gstbin.c:
8944         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
8945         into a bin creates ghost pads, and that the refcounts are right.
8946         Partly moved from gstbin.c.
8947
8948 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8949
8950         * check/gst-libs/.cvsignore:
8951         * check/gst/.cvsignore:
8952         * check/pipelines/.cvsignore:
8953           ignore more
8954         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
8955         (START_TEST), (cleanup_suite), (main):
8956           add some tests related to cleanup after running pipelines
8957
8958 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8959
8960         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
8961           add a testsuite for GstBuffer
8962
8963 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8964
8965         * gst/gstminiobject.h:
8966           add defines for accessing the refcount
8967
8968 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
8969
8970         * Makefile.am: added support for html unit test coverage reports
8971
8972 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
8973
8974         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8975           Free existing caps if the capsfilter changes. Add a FIXME about
8976           setting those caps on the pads.
8977
8978         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
8979           Before adding a ghost pad to a parent bin, check that there isn't
8980           already one for the element on the bin. Prevents infinite recursion
8981           when using decodebin in parse pipelines. Andy says he'll rewrite the
8982           way this works anyway, so ignore the hack.
8983
8984 2005-06-02  Andy Wingo  <wingo@pobox.com>
8985
8986         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
8987         file size, pass it on to the type find helper.
8988
8989         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
8990         segment_start and segment_end properly according to the seek
8991         method. Segment_end is still a bit flaky because offset can be
8992         negative for CUR and END cases, but it takes -1 as an "unset"
8993         value.
8994
8995 2005-06-02  Wim Taymans  <wim@fluendo.com>
8996
8997         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
8998         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
8999         (gst_basesink_activate):
9000         * gst/base/gstbasesink.h:
9001         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9002         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9003         (gst_pad_query), (gst_pad_start_task):
9004         * gst/gstpad.h:
9005         * gst/gstqueue.c: (gst_queue_bufferalloc),
9006         (gst_queue_handle_sink_event), (gst_queue_chain):
9007         Bufferalloc: return GstFlowReturn to more accuratly report
9008         why allocation failed.
9009
9010 2005-06-02  Wim Taymans  <wim@fluendo.com>
9011
9012         * gst/gstpipeline.c: (gst_pipeline_send_event):
9013         Take snapshot of state without blocking.
9014
9015 2005-06-02  Wim Taymans  <wim@fluendo.com>
9016
9017         * docs/design/part-TODO.txt:
9018         * docs/design/part-caps.txt:
9019         * docs/design/part-clocks.txt:
9020         * docs/design/part-negotiation.txt:
9021         * docs/design/part-preroll.txt:
9022         Small doc updates 
9023
9024 2005-05-30  Wim Taymans  <wim@fluendo.com>
9025
9026         * gst/elements/gstidentity.c: (gst_identity_event),
9027         (gst_identity_transform), (gst_identity_get_property):
9028         Protect last_message property as it is accessed from
9029         multiple threads.
9030
9031 2005-05-30  Wim Taymans  <wim@fluendo.com>
9032
9033         * gst/gstelement.c: (gst_element_init),
9034         (gst_element_pads_activate), (gst_element_change_state):
9035         Slicker pad activation code.
9036
9037 2005-05-30  Wim Taymans  <wim@fluendo.com>
9038
9039         * gst/Makefile.am:
9040         * gst/gstelement.h:
9041         * gst/gstelementfactory.h:
9042         * gst/gsttypes.h:
9043         Move elementfactory methods to separate .h file.
9044
9045 2005-05-30  Wim Taymans  <wim@fluendo.com>
9046
9047         * docs/design/part-overview.txt:
9048         * gst/gstsystemclock.h:
9049         Small typo fixes, doc updates.
9050
9051 2005-05-30  Wim Taymans  <wim@fluendo.com>
9052
9053         * gst/gst.c: (gst_init_get_popt_table), (init_post),
9054         (init_popt_callback):
9055         Remove cpu-opt flag.
9056
9057 2005-05-30  Wim Taymans  <wim@fluendo.com>
9058
9059         * gst/gstbuffer.c: (gst_subbuffer_finalize),
9060         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
9061         * gst/gstbuffer.h:
9062         Avoid typechecking in places where not needed.
9063         Added accessor for malloc_data.
9064
9065 2005-05-30  Wim Taymans  <wim@fluendo.com>
9066
9067         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
9068         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
9069         (gst_pad_configure_sink), (gst_pad_configure_src),
9070         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
9071         (gst_pad_start_task):
9072         Propagate errors from _set_caps() in configure_src/sink
9073         functions instead of returning TRUE.
9074         FLUSH events can travel up and downstream
9075
9076
9077 2005-05-30  Wim Taymans  <wim@fluendo.com>
9078
9079         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9080         (gst_basesink_activate):
9081         Handle EOS in preroll.
9082
9083 2005-05-30  Wim Taymans  <wim@fluendo.com>
9084
9085         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9086         (gst_queue_loop), (gst_queue_handle_src_event):
9087         Remove old pieces of code
9088         Flushing the queue in an upstream event is a very bad idea.
9089
9090 2005-05-26  Andy Wingo  <wingo@pobox.com>
9091
9092         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
9093         gst_value_set_mini_object so as to add a ref on the object (which
9094         will be removed when the value is unset).
9095
9096         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
9097         arg type in ::handoff.
9098
9099         * gst/gstelement.c (gst_element_change_state): Also deactivate
9100         pads in READY->NULL, just in case the element didn't make it to
9101         PAUSED. Wingo tested, Wim approved.
9102
9103 2005-05-26  Wim Taymans  <wim@fluendo.com>
9104
9105         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9106         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
9107         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
9108         A flushing pad cannot be used to alloc_buffer from.
9109
9110 2005-05-26  Wim Taymans  <wim@fluendo.com>
9111
9112         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9113         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
9114         (gst_bus_source_dispatch), (gst_bus_source_finalize),
9115         (gst_bus_create_watch), (gst_bus_add_watch_full):
9116         * gst/gstbus.h:
9117         Implement a real GSource and use g_main_context_wakeup() to
9118         signal new messages instead of the socketpair.
9119
9120 2005-05-25  Wim Taymans  <wim@fluendo.com>
9121
9122         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
9123         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
9124         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9125         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9126         (gst_pad_send_event), (gst_pad_start_task):
9127         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
9128         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9129         (gst_queue_sink_activate), (gst_queue_src_activate),
9130         (gst_queue_change_state):
9131         * gst/gstqueue.h:
9132         Fix state changes for non sinks. We now change sinks, then elements
9133         with unconnected srcpads, then the rest.
9134         More efficient queue unlocking in flush and state changes.
9135         Set the pad activate mode even if it does not have an activate
9136         function.
9137
9138 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9139
9140         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
9141           Don't go in pull mode for non-seekable sources.
9142         * gst/elements/gsttypefindelement.h:
9143         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9144         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
9145         (free_entry), (stop_typefinding),
9146         (gst_type_find_element_handle_event), (find_peek),
9147         (gst_type_find_element_chain), (do_pull_typefind),
9148         (gst_type_find_element_change_state):
9149           Allow typefinding (w/o seeking) in push-mode, simplified version
9150           of what was in 0.8.
9151         * gst/gstutils.c: (gst_buffer_join):
9152         * gst/gstutils.h:
9153           gst_buffer_join() from 0.8.
9154
9155 2005-05-25  Wim Taymans  <wim@fluendo.com>
9156
9157         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
9158         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
9159         (gst_pad_send_event), (gst_pad_start_task):
9160         Disable attempt at mode switching until it is figured out.
9161
9162 2005-05-25  Wim Taymans  <wim@fluendo.com>
9163
9164         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
9165         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
9166         (gst_basesink_finish_preroll), (gst_basesink_chain),
9167         (gst_basesink_loop), (gst_basesink_activate),
9168         (gst_basesink_change_state):
9169         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
9170         (gst_basesrc_get_range), (gst_basesrc_loop),
9171         (gst_basesrc_activate):
9172         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9173         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9174         (gst_real_pad_init), (gst_real_pad_set_property),
9175         (gst_real_pad_get_property), (gst_pad_set_active),
9176         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
9177         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
9178         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
9179         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
9180         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9181         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
9182         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
9183         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9184         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
9185         (gst_pad_stop_task):
9186         * gst/gstpad.h:
9187         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9188         (gst_queue_loop), (gst_queue_src_activate):
9189         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
9190         (gst_task_get_state):
9191         * gst/gsttask.h:
9192         * gst/schedulers/threadscheduler.c:
9193         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
9194         Implement gst_pad_pause/start/stop_task(), take STREAM lock
9195         in task function.
9196         Remove ACTIVE pad flag, use FLUSHING everywhere
9197         Added _pad_chain(), _pad_get_range() to call chain/getrange 
9198         functions.
9199         Add locks around IS_FLUSHING when reading.
9200         Take STREAM lock in chain(), get_range() functions so plugins
9201         don't need to take it anymore.
9202         
9203
9204
9205 2005-05-25  Wim Taymans  <wim@fluendo.com>
9206
9207         * tools/gst-launch.c: (event_loop):
9208         Unref message after using its contents instead of
9209         before.
9210
9211 2005-05-24  Wim Taymans  <wim@fluendo.com>
9212
9213         * docs/design/draft-ghostpads.txt:
9214         * docs/design/draft-push-pull.txt:
9215         * docs/design/draft-query.txt:
9216         * docs/design/part-overview.txt:
9217         Docs updates, added general overview doc.
9218
9219 2005-05-21  David Schleef  <ds@schleef.org>
9220
9221         * docs/gst/tmpl/old/GstBin.sgml:
9222         * docs/gst/tmpl/old/GstBuffer.sgml:
9223         * docs/gst/tmpl/old/GstCaps.sgml:
9224         * docs/gst/tmpl/old/GstClock.sgml:
9225         * docs/gst/tmpl/old/GstCompat.sgml:
9226         * docs/gst/tmpl/old/GstData.sgml:
9227         * docs/gst/tmpl/old/GstElement.sgml:
9228         * docs/gst/tmpl/old/GstEvent.sgml:
9229         * docs/gst/tmpl/old/GstIndex.sgml:
9230         * docs/gst/tmpl/old/GstStructure.sgml:
9231         * docs/gst/tmpl/old/GstTag.sgml:
9232         * docs/gst/tmpl/old/cothreads.sgml:
9233         * docs/gst/tmpl/old/cothreads_compat.sgml:
9234         * docs/gst/tmpl/old/gettext.sgml:
9235         * docs/gst/tmpl/old/gobject2gtk.sgml:
9236         * docs/gst/tmpl/old/grammar.tab.sgml:
9237         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9238         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9239         * docs/gst/tmpl/old/gst_private.sgml:
9240         * docs/gst/tmpl/old/gstaggregator.sgml:
9241         * docs/gst/tmpl/old/gstarch.sgml:
9242         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9243         * docs/gst/tmpl/old/gstbufferstore.sgml:
9244         * docs/gst/tmpl/old/gstdata_private.sgml:
9245         * docs/gst/tmpl/old/gstdisksink.sgml:
9246         * docs/gst/tmpl/old/gstdisksrc.sgml:
9247         * docs/gst/tmpl/old/gstelementfactory.sgml:
9248         * docs/gst/tmpl/old/gstextratypes.sgml:
9249         * docs/gst/tmpl/old/gstfakesink.sgml:
9250         * docs/gst/tmpl/old/gstfakesrc.sgml:
9251         * docs/gst/tmpl/old/gstfdsink.sgml:
9252         * docs/gst/tmpl/old/gstfdsrc.sgml:
9253         * docs/gst/tmpl/old/gstfilesink.sgml:
9254         * docs/gst/tmpl/old/gstfilesrc.sgml:
9255         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9256         * docs/gst/tmpl/old/gstidentity.sgml:
9257         * docs/gst/tmpl/old/gstindexfactory.sgml:
9258         * docs/gst/tmpl/old/gstmarshal.sgml:
9259         * docs/gst/tmpl/old/gstmd5sink.sgml:
9260         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9261         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9262         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9263         * docs/gst/tmpl/old/gstpipefilter.sgml:
9264         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9265         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9266         * docs/gst/tmpl/old/gstshaper.sgml:
9267         * docs/gst/tmpl/old/gstspider.sgml:
9268         * docs/gst/tmpl/old/gstspideridentity.sgml:
9269         * docs/gst/tmpl/old/gststatistics.sgml:
9270         * docs/gst/tmpl/old/gsttee.sgml:
9271         * docs/gst/tmpl/old/gsttimecache.sgml:
9272         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9273         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9274         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9275         * docs/gst/tmpl/old/types.sgml:
9276           I didn't intend to add these or check them in.
9277
9278 2005-05-19  David Schleef  <ds@schleef.org>
9279
9280         * configure.ac: Use -no-common everywhere.  In a sane world, it
9281           would be the default in libtool, because without it, you can't
9282           build DLLs on Windows.
9283         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
9284         * docs/gst/gstreamer-sections.txt:
9285         * docs/gst/tmpl/gstcpu.sgml:
9286         * docs/gst/tmpl/gstdata.sgml:
9287         * docs/gst/tmpl/gstthread.sgml:
9288
9289 2005-05-19  David Schleef  <ds@schleef.org>
9290
9291         * gst/gstminiobject.c: (gst_value_set_mini_object),
9292         (gst_value_take_mini_object), (gst_value_get_mini_object):
9293         * gst/gstminiobject.h: Add GValue set/get functions.
9294
9295 2005-05-19  Wim Taymans  <wim@fluendo.com>
9296
9297         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
9298         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
9299         (gst_subbuffer_init), (gst_buffer_is_span_fast):
9300         * gst/gstbuffer.h:
9301         * gst/gstbus.c: (gst_bus_post):
9302         * gst/gstelement.c: (gst_element_get_random_pad):
9303         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
9304         Make subbufer unref the parent in finalize.
9305         some more debugging info.
9306
9307
9308 2005-05-19  Wim Taymans  <wim@fluendo.com>
9309
9310         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9311         (gst_basesink_init), (gst_basesink_finalize),
9312         (gst_basesink_activate), (gst_basesink_change_state):
9313         Don't free preroll queue too early.
9314
9315 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9316
9317         * gst/Makefile.am:
9318         * gst/ROADMAP:
9319           Hi, I'm outdated. Please shoot me.
9320
9321 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9322
9323         * gst/gstpipeline.c: (gst_pipeline_send_event):
9324           Do not access variables after they have been deleted.
9325
9326 2005-05-19  Wim Taymans  <wim@fluendo.com>
9327
9328         * tools/gst-inspect.c: (print_plugin_features):
9329         A plugin feature does unfortunatly not use the
9330         object name yet...
9331
9332 2005-05-18  Wim Taymans  <wim@fluendo.com>
9333
9334         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
9335         Port _span() functions to new subbuffers.
9336
9337 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9338
9339         * gst/gstbin.c: (gst_bin_add_func):
9340           Fix clock settery in bins when adding kids after the clock has
9341           been selected.
9342
9343 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9344
9345         * gst/elements/gstidentity.c: (gst_identity_class_init):
9346           Workaround until signals support GstMiniObject.
9347
9348 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9349
9350         * gst/gstbuffer.c:
9351         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
9352
9353 2005-05-18  Wim Taymans  <wim@fluendo.com>
9354
9355         * gst/base/Makefile.am:
9356         * gst/base/gstadapter.c: (gst_adapter_base_init),
9357         (gst_adapter_class_init), (gst_adapter_init),
9358         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
9359         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
9360         (gst_adapter_flush), (gst_adapter_available),
9361         (gst_adapter_available_fast):
9362         * gst/base/gstadapter.h:
9363         Ported and added adapter to the base classes.
9364
9365 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9366
9367         * gst/gst.c:
9368         * gst/gstmessage.c:
9369           Make sure the class is reffed/unreffed once before threads can be
9370           used.  Fixes #304551.
9371
9372 2005-05-17  Wim Taymans  <wim@fluendo.com>
9373
9374         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
9375         (gst_basesink_chain_unlocked), (gst_basesink_activate):
9376         * gst/gstminiobject.c: (gst_mini_object_get_type),
9377         (gst_mini_object_free):
9378         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
9379         (gst_pad_push), (gst_pad_push_event):
9380         * gst/gstqueue.c: (gst_queue_change_state):
9381         Don't queue buffers in basesink when we are flushing.
9382         Unref buffer when flushing in basesink.
9383         Flush queue when going to READY
9384         Unref buffer when _push() returns an error.
9385         Don't free MiniObject instance when refcount is incremented
9386         in _finalize() so that we can recover objects.
9387
9388 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9389
9390         * docs/manual/advanced-schedulers.xml:
9391         * docs/manual/appendix-checklist.xml:
9392         * docs/pwg/advanced-clock.xml:
9393         * docs/pwg/advanced-interfaces.xml:
9394         * docs/pwg/advanced-request.xml:
9395         * docs/pwg/advanced-types.xml:
9396         * docs/pwg/intro-preface.xml:
9397         * examples/plugins/example.c: (gst_example_get_type),
9398         (gst_example_class_init), (gst_example_chain),
9399         (gst_example_set_property), (gst_example_get_property),
9400         (gst_example_change_state), (plugin_init):
9401         * examples/plugins/example.h:
9402           small doc fixes
9403
9404 2005-05-17  Wim Taymans  <wim@fluendo.com>
9405
9406         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
9407         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
9408         * gst/gstqueue.c: (gst_queue_change_state):
9409         Clear queue when going to READY.
9410         Remove IN_SETCAPS flag too.
9411
9412 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
9413
9414         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
9415           Remove implicit cast from gboolean to GstElementStateReturn;
9416           make sure we still return failure in paused => ready case if
9417           the parent class fails to change state and our own stop 
9418           vfunc succeeds.
9419
9420 2005-05-17  Wim Taymans  <wim@fluendo.com>
9421
9422         * tools/gst-launch.c: (event_loop):
9423         Message was unreffed too soon.
9424
9425 2005-05-16  Andy Wingo  <wingo@pobox.com>
9426
9427         * gst/gstbin.c (sink_iterator_filter): Err... um...
9428
9429         * check/gst/gstbin.c (test_ghost_pads): New test for the
9430         ghosting-if-elements-not-in-same-bin behavior.
9431
9432 2005-05-16  David Schleef  <ds@schleef.org>
9433
9434         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
9435         accessing refcount directly.
9436
9437 2005-05-15  David Schleef  <ds@schleef.org>
9438
9439         * check/Makefile.am: remove GstData checks
9440         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
9441         * gst/Makefile.am: add miniobject, remove data
9442         * gst/gst.h: add miniobject, remove data
9443         * gst/gstdata.c: remove
9444         * gst/gstdata.h: remove
9445         * gst/gstdata_private.h: remove
9446         * gst/gsttypes.h: remove GstEvent and GstMessage
9447         * gst/gstelement.c: (gst_element_post_message): fix for API changes
9448         * gst/gstmarshal.list: change BOXED -> OBJECT
9449
9450         Implement GstMiniObject.
9451         * gst/gstminiobject.c:
9452         * gst/gstminiobject.h:
9453
9454         Modify to be subclasses of GstMiniObject.
9455         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9456         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
9457         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
9458         (gst_subbuffer_get_type), (gst_subbuffer_init),
9459         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
9460         (gst_buffer_span):
9461         * gst/gstbuffer.h:
9462         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
9463         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
9464         (_gst_event_copy), (gst_event_new):
9465         * gst/gstevent.h:
9466         * gst/gstmessage.c: (_gst_message_initialize),
9467         (gst_message_get_type), (gst_message_class_init),
9468         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
9469         (gst_message_new), (gst_message_new_error),
9470         (gst_message_new_warning), (gst_message_new_tag),
9471         (gst_message_new_state_changed), (gst_message_new_application):
9472         * gst/gstmessage.h:
9473         * gst/gstprobe.c: (gst_probe_perform),
9474         (gst_probe_dispatcher_dispatch):
9475         * gst/gstprobe.h:
9476         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
9477         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
9478         (_gst_query_copy), (gst_query_new):
9479
9480         Update elements for GstData -> GstMiniObject changes
9481         * gst/gstquery.h:
9482         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
9483         (gst_queue_chain), (gst_queue_loop):
9484         * gst/elements/gstbufferstore.c:
9485         (gst_buffer_store_add_buffer_func),
9486         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
9487         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9488         (gst_fakesink_render):
9489         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9490         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
9491         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
9492         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
9493         (gst_filesrc_create_read):
9494         * gst/elements/gstidentity.c: (gst_identity_class_init):
9495         * gst/elements/gsttypefindelement.c:
9496         (gst_type_find_element_src_event), (free_entry_buffers),
9497         (gst_type_find_element_handle_event):
9498         * libs/gst/dataprotocol/dataprotocol.c:
9499         (gst_dp_header_from_buffer):
9500         * libs/gst/dataprotocol/dataprotocol.h:
9501         * libs/gst/dataprotocol/dp-private.h:
9502
9503 2005-05-15  David Schleef  <ds@schleef.org>
9504
9505         * gst/elements/gstelements.c: Don't include headers that were
9506         just removed.
9507
9508 2005-05-15  David Schleef  <ds@schleef.org>
9509
9510         * gst/elements/Makefile.am: Remove some elements that don't
9511         need to be in the core (or even exist at all).
9512         * gst/elements/gstaggregator.c:
9513         * gst/elements/gstaggregator.h:
9514         * gst/elements/gstmd5sink.c:
9515         * gst/elements/gstmd5sink.h:
9516         * gst/elements/gstmultifilesrc.c:
9517         * gst/elements/gstmultifilesrc.h:
9518         * gst/elements/gstpipefilter.c:
9519         * gst/elements/gstpipefilter.h:
9520         * gst/elements/gstshaper.c:
9521         * gst/elements/gstshaper.h:
9522         * gst/elements/gststatistics.c:
9523         * gst/elements/gststatistics.h:
9524         * po/POTFILES.in: Remove above files.
9525
9526 2005-05-14  Andy Wingo  <wingo@pobox.com>
9527
9528         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
9529         so as to get the refs right.
9530         (sink_iterator_filter): New function, wraps bin_element_is_sink,
9531         unreffing objects that don't pass the filter.
9532
9533         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
9534         gst_element_set_bus.
9535         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
9536         normal cases, this will destroy the bus.
9537
9538         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
9539         object.
9540
9541         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
9542         has no sinks.
9543
9544 2005-05-13  Andy Wingo  <wingo@pobox.com>
9545
9546         * gst/gstutils.c (gst_element_link_pads): Instead of calling
9547         gst_pad_link, call pad_link_maybe_ghosting,
9548         (pad_link_maybe_ghosting): Links pads, making sure that the
9549         elements being linked are in the same bin.
9550         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
9551         Helpers for pad_link_maybe_ghosting.
9552
9553 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         * configure.ac:
9556           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
9557
9558 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9559
9560         * docs/design/part-element-source.txt:
9561           Mention GstPushSrc
9562
9563 2005-05-12  Wim Taymans  <wim@fluendo.com>
9564
9565         * gst/base/gstbasesink.c: (gst_basesink_init),
9566         (gst_basesink_activate):
9567         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
9568         (gst_basesrc_is_seekable):
9569         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9570         (bin_element_is_sink), (gst_bin_change_state):
9571         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9572         * gst/gstelement.h:
9573         Identify sinks by their flag to avoid overly complicated
9574         checks (fow now).
9575         Do state changes even for elements not reachable from the
9576         sinks.
9577         BaseSink is a sink now :)
9578         Some more debugging info in the basesrc.
9579
9580
9581 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9582
9583         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
9584           Implement _query on a bin, similar to _send_event.
9585
9586 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9587
9588         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
9589           Discont event offset format should be GST_FORMAT_BYTES,
9590           not GST_FORMAT_TIME.
9591
9592 2005-05-12  Wim Taymans  <wim@fluendo.com>
9593
9594         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
9595         Same fix as Ronald's but without the signal. 
9596
9597 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9598
9599         * gst/gstutils.c: (gst_element_query_position):
9600           No, an element is not a pad.
9601
9602 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9603
9604         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
9605         (gst_bin_get_state):
9606           If a child is removed from a bin while we remove the child from
9607           the bin and while we're retrieving its state, signal this to the
9608           get_state function so we abort the wait (instead of waiting for
9609           a timeout) and can immediately re-iterate over all other elements.
9610
9611 2005-05-12  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/base/Makefile.am:
9614         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
9615         (gst_basesrc_start):
9616         * gst/base/gstbasesrc.h:
9617         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
9618         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
9619         (gst_pushsrc_init), (gst_pushsrc_create):
9620         * gst/base/gstpushsrc.h:
9621         Added is_seekable to BaseSrc
9622         Added simple PushSrc.
9623
9624 2005-05-11  Wim Taymans  <wim@fluendo.com>
9625
9626         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9627         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9628         (gst_element_link_pads), (gst_element_query_position),
9629         (gst_element_query_convert), (intersect_caps_func),
9630         (gst_pad_query_position), (gst_pad_query_convert):
9631         Fix refcounting in utils function.
9632         No point in trying to activate a pad when it's added, it could
9633         be added from the state change function and then we deadlock, the
9634         element has to decide what to do.
9635
9636 2005-05-10  Andy Wingo  <wingo@pobox.com>
9637
9638         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
9639         *all* the arguments.
9640
9641         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
9642         stream lock if it's a FLUSH_DONE; normal flushes don't get the
9643         lock (according to the docs -- if this is wrong change the docs).
9644
9645         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
9646         flush messages in the NULL state.
9647
9648         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
9649         message immediately and return.
9650         (gst_bus_set_flushing): New function. If a bus is flushing, it
9651         flushes out any queued messages and immediately unrefs new
9652         messages. This is so when an element goes to NULL, all of the
9653         unhandled messages coming from it can be freed, and their
9654         references to the element dropped. In other words: message source
9655         ref considered harmful :P
9656
9657         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
9658         we're finished with it.
9659
9660         * gst/gstmessage.c (gst_message_new_state_changed): 
9661
9662 2005-05-10  Wim Taymans  <wim@fluendo.com>
9663
9664         * gst/gstvalue.c: (gst_value_compare_flags),
9665         (gst_value_serialize_flags), (gst_value_deserialize_flags),
9666         (_gst_value_initialize):
9667         Added flags serialize/deserialize/compare code.
9668
9669 2005-05-09  Andy Wingo  <wingo@pobox.com>
9670
9671         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
9672         Intersect the peer's caps with our caps.
9673
9674 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9675
9676         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9677         * gst/elements/gsttypefindelement.c: (find_peek):
9678           Handle negative offsets better. Fixes decodebin.
9679
9680 2005-05-09  Wim Taymans  <wim@fluendo.com>
9681
9682         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
9683         (gst_base_transform_event):
9684         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
9685         Implement accept_caps.
9686         Fix silly lock/unlock mismatch in base class.
9687
9688 2005-05-09  Wim Taymans  <wim@fluendo.com>
9689
9690         * docs/design/draft-push-pull.txt:
9691         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
9692         * gst/elements/gstfilesink.c: (gst_filesink_init),
9693         (gst_filesink_query):
9694         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9695         (gst_type_find_handle_src_query), (find_element_get_length):
9696         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
9697         * gst/gstelement.h:
9698         * gst/gstmessage.c:
9699         * gst/gstmessage.h:
9700         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
9701         (gst_real_pad_get_caps_unlocked),
9702         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
9703         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9704         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
9705         (gst_real_pad_dispose), (gst_real_pad_finalize),
9706         (gst_pad_load_and_link), (gst_pad_save_thyself),
9707         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
9708         (gst_pad_check_pull_range), (gst_pad_pull_range),
9709         (gst_pad_template_get_type), (gst_pad_template_class_init),
9710         (gst_pad_template_init), (gst_pad_template_dispose),
9711         (name_is_valid), (gst_static_pad_template_get),
9712         (gst_pad_template_new), (gst_static_pad_template_get_caps),
9713         (gst_pad_template_get_caps), (gst_pad_set_element_private),
9714         (gst_pad_get_element_private), (gst_pad_start_task),
9715         (gst_pad_pause_task), (gst_pad_stop_task),
9716         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
9717         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9718         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
9719         (gst_ghost_pad_new):
9720         * gst/gstpad.h:
9721         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
9722         (gst_query_new_position), (gst_query_set_position),
9723         (gst_query_parse_position), (gst_query_new_convert),
9724         (gst_query_set_convert), (gst_query_parse_convert):
9725         * gst/gstquery.h:
9726         * gst/gstqueryutils.c:
9727         * gst/gstqueryutils.h:
9728         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9729         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9730         (gst_queue_handle_src_query):
9731         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9732         (gst_element_query_position), (gst_element_query_convert),
9733         (intersect_caps_func), (gst_pad_query_position),
9734         (gst_pad_query_convert):
9735         * gst/gstutils.h:
9736         * tools/gst-inspect.c: (print_pad_info):
9737         * tools/gst-xmlinspect.c: (print_element_info):
9738         Remove old query functions. Ported old code.
9739         Added position/convert helper functions to gstutils.
9740         Reordered gstpad.c code, grouping relevant things.
9741         Remove gst_message_new(), always need to speficy a specific
9742         message.
9743
9744
9745 2005-05-09  Andy Wingo  <wingo@pobox.com>
9746
9747         * gst/gstiterator.h: Add some includes.
9748
9749         * gst/gstqueryutils.h: Include more headers.
9750
9751         * gst/gstpad.h:
9752         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
9753         some uses of gst_pad_query.
9754
9755         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
9756         NULL out parameters.
9757         (gst_query_new_position): New proc, allocates a new position
9758         query.
9759
9760         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
9761         gstqueryutils.c to the build.
9762
9763         * gst/gststructure.c (gst_structure_set_valist): Implement with
9764         the generic G_VALUE_COLLECT.
9765         
9766 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
9767
9768         * gst/Makefile.am: (gst_headers):
9769         Added gstqueryutils.h to the list of headers to install, that was
9770         a 'nachty' move wingo :)
9771
9772 2005-05-06  Andy Wingo  <wingo@pobox.com>
9773
9774         * gst/gstquery.h
9775         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
9776         GstData, init a memchunk.
9777         (standard_definitions): Add a few query types, deprecate a few.
9778         (gst_query_get_type): New proc.
9779         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
9780         implementation.
9781         (gst_query_new_application, gst_query_get_structure): New public
9782         procs.
9783
9784         * docs/design/draft-query.txt: Removed LINKS from the query types,
9785         because all the rest can be dispatched to other pads -- seemed
9786         ugly to have a query that couldn't be dispatched. internal_links
9787         is fine as a pad method.
9788
9789         * gst/gstpad.h: Add query2 as a pad method, add the new functions
9790         in gstpad.c, but maintain binary compatibility for the moment.
9791         Will fix before 0.9 is out.
9792
9793         * gst/gstqueryutils.c: 
9794         * gst/gstqueryutils.h: New files, implement 3 methods for each
9795         query type: parse_query, parse_response, and set. Probably need an
9796         allocator as well.
9797
9798         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
9799
9800         * gst/elements/gstfilesink.c (gst_filesink_query2):
9801         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
9802         query_types, and formats methods.
9803
9804         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
9805         (gst_pad_set_query2_function): New functions.
9806         (gst_real_pad_init): Set query2_default as the default query2
9807         function. Basically just dispatches to internally linked pads.
9808
9809         Needs review!
9810         
9811         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
9812         without using the atomic operations. Only one thread can possibly
9813         be accessing the data at this point. Changed so as to avoid
9814         gst_atomic operations.
9815
9816 2005-05-06  Wim Taymans  <wim@fluendo.com>
9817
9818         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
9819         Also set caps if we use the fallback buffer alloc.
9820
9821 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
9822
9823         * docs/gst/Makefile.am:
9824         * docs/gst/gstreamer-docs.sgml:
9825         * docs/gst/gstreamer-sections.txt:
9826         * docs/gst/tmpl/gstatomic.sgml:
9827         * docs/gst/tmpl/gstmemchunk.sgml:
9828         * testsuite/elements/struct_i386.h:
9829         * win32/GStreamer.vcproj:
9830         * win32/Makefile:
9831           Purge GstAtomic stuff from docs and win32 makefiles as well
9832
9833 2005-05-06  Wim Taymans  <wim@fluendo.com>
9834
9835         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
9836         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
9837         * gst/gstpad.c: (gst_pad_peer_get_caps):
9838         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9839         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9840         (gst_queue_src_activate), (gst_queue_change_state):
9841         * gst/gstqueue.h:
9842         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9843         (intersect_caps_func):
9844         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
9845         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
9846         Some fixes for the peer_get_caps() change.
9847
9848 2005-05-06  Wim Taymans  <wim@fluendo.com>
9849
9850         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9851         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
9852         (gst_basesink_activate):
9853         Actually do something with error codes returned from the push
9854         functions.
9855
9856 2005-05-06  Wim Taymans  <wim@fluendo.com>
9857
9858         * docs/design/part-element-sink.txt:
9859         * docs/design/part-element-source.txt:
9860         * gst/base/gstbasesink.c: (gst_basesink_class_init),
9861         (gst_basesink_event), (gst_basesink_activate):
9862         * gst/base/gstbasesink.h:
9863         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
9864         (gst_basesrc_activate):
9865         * gst/base/gstbasesrc.h:
9866         * gst/gstelement.c: (gst_element_pads_activate):
9867         Some more documentation.
9868         Fixed scheduling decision in _pads_activate().
9869
9870 2005-05-05  Andy Wingo  <wingo@pobox.com>
9871
9872         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
9873         the test suite.
9874
9875 2005-05-05  Wim Taymans  <wim@fluendo.com>
9876
9877         * gst/base/Makefile.am:
9878         * gst/base/gstbasesink.h:
9879         * gst/base/gstbasesrc.c: (gst_basesrc_init),
9880         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
9881         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
9882         (gst_collectpads_class_init), (gst_collectpads_init),
9883         (gst_collectpads_finalize), (gst_collectpads_new),
9884         (gst_collectpads_set_function), (gst_collectpads_add_pad),
9885         (find_pad), (gst_collectpads_remove_pad),
9886         (gst_collectpads_is_active), (gst_collectpads_collect),
9887         (gst_collectpads_collect_range), (gst_collectpads_start),
9888         (gst_collectpads_stop), (gst_collectpads_peek),
9889         (gst_collectpads_pop), (gst_collectpads_available),
9890         (gst_collectpads_read), (gst_collectpads_flush),
9891         (gst_collectpads_chain):
9892         * gst/base/gstcollectpads.h:
9893         * gst/elements/Makefile.am:
9894         * gst/elements/gstelements.c:
9895         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9896         (gst_fakesink_get_times), (gst_fakesink_event),
9897         (gst_fakesink_preroll), (gst_fakesink_render):
9898         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9899         (gst_filesink_init), (gst_filesink_set_location),
9900         (gst_filesink_open_file), (gst_filesink_close_file),
9901         (gst_filesink_pad_query), (gst_filesink_event),
9902         (gst_filesink_render), (gst_filesink_change_state):
9903         * gst/elements/gstfilesink.h:
9904         Added object to help in making collect pad based elements.
9905         Ported filesink.
9906         Make event function in sink baseclass return gboolean.
9907
9908 2005-05-05  Wim Taymans  <wim@fluendo.com>
9909
9910         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
9911         (gst_bin_get_by_name):
9912         * gst/gstbuffer.h:
9913         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
9914         (gst_clock_finalize):
9915         * gst/gstdata.c: (gst_data_replace):
9916         * gst/gstdata.h:
9917         * gst/gstelement.c: (gst_element_request_pad),
9918         (gst_element_pads_activate):
9919         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9920         (gst_object_unref):
9921         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9922         (gst_pad_set_checkgetrange_function),
9923         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
9924         (gst_pad_check_pull_range), (gst_pad_pull_range),
9925         (gst_static_pad_template_get_caps), (gst_pad_start_task),
9926         (gst_pad_pause_task), (gst_pad_stop_task):
9927         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9928         (gst_element_request_pad), (gst_pad_proxy_getcaps):
9929         Fix name lookup in GstBin.
9930         Added _data_replace() function and _buffer_replace()
9931         Use finalize method to clean up clock.
9932         Fix refcounting on request pads.
9933         Fix pad schedule mode error.
9934         Some more object refcounting debug info,
9935
9936
9937 2005-05-04  Andy Wingo <wingo@pobox.com>
9938
9939         * check/Makefile.am:
9940         * docs/gst/tmpl/gstatomic.sgml:
9941         * docs/gst/tmpl/gstplugin.sgml:
9942         * gst/base/gstbasesink.c: (gst_basesink_activate):
9943         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
9944         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
9945         (gst_basesrc_query), (gst_basesrc_set_property),
9946         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
9947         (gst_basesrc_activate):
9948         * gst/base/gstbasesrc.h:
9949         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
9950         (gst_base_transform_src_activate):
9951         * gst/elements/gstelements.c:
9952         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9953         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9954         * gst/elements/gsttee.c: (gst_tee_sink_activate):
9955         * gst/elements/gsttypefindelement.c: (find_element_get_length),
9956         (gst_type_find_element_checkgetrange),
9957         (gst_type_find_element_activate):
9958         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
9959         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
9960         (gst_caps_load_thyself):
9961         * gst/gstelement.c: (gst_element_pads_activate),
9962         (gst_element_save_thyself), (gst_element_restore_thyself):
9963         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
9964         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
9965         * gst/gstpad.h:
9966         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
9967         (gst_xml_parse_file), (gst_xml_parse_memory),
9968         (gst_xml_get_element), (gst_xml_make_element):
9969         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9970         (_file_index_id_save_xml), (gst_file_index_commit):
9971         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
9972         (read_enum), (load_pad_template), (load_feature), (load_plugin),
9973         (load_paths):
9974         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
9975         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
9976         * tools/gst-complete.c: (main):
9977         * tools/gst-compprep.c: (main):
9978         * tools/gst-inspect.c: (print_element_properties_info):
9979         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9980         * tools/gst-xmlinspect.c: (print_element_properties):
9981         GCC 4 fixen.
9982         
9983 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9984
9985         * gst/gstplugin.c: (gst_plugin_check_module),
9986         (gst_plugin_check_file), (gst_plugin_load_file):
9987             apply patch from #172526 to make register work on MacOSX
9988
9989 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * docs/gst/tmpl/gstconfig.sgml:
9992         * gst/gstconfig.h.in:
9993           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
9994         * testsuite/debug/printf_extension.c: (main):
9995           Do not use GST_PTR_FORMAT on pointers to types with
9996           sizeof < sizeof(gpointer).  Fixes test on 64-bit
9997         * testsuite/elements/property.h:
9998           use correct printf format
9999
10000 2005-05-02  Wim Taymans  <wim@fluendo.com>
10001
10002         * docs/design/draft-push-pull.txt:
10003         * docs/design/draft-query.txt:
10004         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
10005         (gst_basesrc_start):
10006         Added draft for new query API.
10007         Added draft for better selecting scheduling methods.
10008         Make basesrc ignore length if the subclass does not support
10009         it.
10010
10011 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10012
10013         * gst/Makefile.am:
10014           possible fixes for automake-1.5 - _LIBADD is reserved
10015
10016 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * docs/faq/Makefile.am:
10019         * docs/manual/Makefile.am:
10020         * docs/manuals.mak:
10021         * docs/pwg/Makefile.am:
10022         * gst/Makefile.am:
10023           possible fixes for automake-1.5
10024
10025 2005-04-28  Wim Taymans  <wim@fluendo.com>
10026
10027         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10028         (gst_basesink_pad_getcaps), (gst_basesink_init),
10029         (gst_basesink_do_sync):
10030         * gst/gstclock.c: (gst_clock_entry_new):
10031         * gst/gstevent.c: (gst_event_discont_get_value):
10032         * gst/gstpipeline.c: (pipeline_bus_handler),
10033         (gst_pipeline_change_state):
10034         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10035         Better debugging of clocking info.
10036         Allow NULL values when getting discont values.
10037
10038 2005-04-27  Wim Taymans  <wim@fluendo.com>
10039
10040         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10041         * check/gst/gstpad.c: (gst_pad_suite):
10042         Increase timeout for checks.
10043
10044 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10045
10046         * check/Makefile.am:
10047           fix the broken rule for cleanup.  Apparently this rule is
10048           only needed on FC2, so maybe this warrants further autotool
10049           inspection.
10050
10051 2005-04-26  Wim Taymans  <wim@fluendo.com>
10052
10053         * gst/gsttrashstack.h:
10054         Ooohh. a nasty one! After having a failed pop() from the stack,
10055         it's possible that the stack is empty. In that case, don't
10056         follow the NULL pointer.
10057
10058 2005-04-25  Wim Taymans  <wim@fluendo.com>
10059
10060         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10061         (gst_pad_set_checkgetrange_function),
10062         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
10063         (gst_pad_check_pull_range), (gst_pad_pull_range),
10064         (gst_static_pad_template_get_caps), (gst_pad_start_task),
10065         (gst_pad_pause_task), (gst_pad_stop_task):
10066         * gst/gstplugin.c: (gst_plugin_load):
10067         * gst/gstplugin.h:
10068         Remove gst_library_load as it does more harm than good with
10069         the new g_module flags.
10070         Revert bogus caps template check in pad linking, pad caps
10071         are important when linking not the template, which is more
10072         general than the current caps.
10073
10074 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10075
10076         * gst/autoplug/.cvsignore:
10077         * gst/autoplug/Makefile.am:
10078         * gst/autoplug/gstsearchfuncs.c:
10079         * gst/autoplug/gstsearchfuncs.h:
10080         * gst/autoplug/gstspider.c:
10081         * gst/autoplug/gstspider.h:
10082         * gst/autoplug/gstspideridentity.c:
10083         * gst/autoplug/gstspideridentity.h:
10084         * gst/autoplug/spidertest.c:
10085           Die, spider, die.
10086
10087 2005-04-25  Wim Taymans  <wim@fluendo.com>
10088
10089         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10090         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10091         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
10092         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
10093         * gst/gstpad.h:
10094         Added stubs for unimplemented functions. 
10095
10096 2005-04-24  David Schleef  <ds@schleef.org>
10097
10098         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
10099         please fix.
10100
10101 2005-04-24  David Schleef  <ds@schleef.org>
10102
10103         Convert everything from GstAtomicInt to g_atomic_int_*, and
10104         remove gstatomic.
10105         * gst/Makefile.am:
10106         * gst/gstatomic.c:
10107         * gst/gstatomic.h:
10108         * gst/gstatomic_impl.h:
10109         * gst/gstbuffer.c:
10110         * gst/gstcaps.c:
10111         * gst/gstcaps.h:
10112         * gst/gstclock.c:
10113         * gst/gstclock.h:
10114         * gst/gstdata.c:
10115         * gst/gstdata.h:
10116         * gst/gstdata_private.h:
10117         * gst/gstevent.c:
10118         * gst/gstinfo.c:
10119         * gst/gstinfo.h:
10120         * gst/gstmessage.c:
10121         * gst/gstobject.c:
10122         * gst/gstobject.h:
10123         * gst/gststructure.c:
10124         * gst/gststructure.h:
10125         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
10126         * gst/gstutils.h:
10127
10128 2005-04-24  David Schleef  <ds@schleef.org>
10129
10130         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
10131         make the regressions tests work.  Remove some code that is no
10132         longer true.
10133         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
10134         Disable warning for pads without templates.
10135
10136 2005-04-24  David Schleef  <ds@schleef.org>
10137
10138         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
10139         functions that handle filtered links.
10140         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
10141         removed functions.
10142         * gst/gstutils.c: Fix/remove utility functions that handle
10143         filtered caps.
10144         * gst/gstutils.h:
10145         * gst/gstvalue.c: Add serialization/deserialization of caps
10146         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
10147         requires fixing so that the filter caps notation creates
10148         a capsfilter element and sets the filter_caps property.  I
10149         think everyone probably wants to keep the shorthand notation.
10150         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
10151         * docs/gst/tmpl/gstpad.sgml:
10152
10153         * gst/elements/gstelements.c: Register capsfilter element.
10154         * gst/Makefile.am: fix spacing
10155         * docs/random/ds/0.9-suggested-changes: random
10156
10157 2005-04-23  David Schleef  <ds@schleef.org>
10158
10159         * gst/elements/Makefile.am:
10160         * gst/elements/gstcapsfilter.c: New element that acts like an
10161         identity, but filters caps.  Will eventually replace filtered
10162         caps in pad linking.
10163         * gst/gstutils.c: (gst_element_create_all_pads): New function
10164         to create all the ALWAYS pads that are registered with an
10165         element class.  This functionality should eventually be
10166         merged in with GstElement initialization.
10167         * gst/gstutils.h:
10168         * testsuite/trigger/README: part of trigger test code that should
10169         have been checked in a long time ago.
10170
10171 2005-04-23  David Schleef  <ds@schleef.org>
10172
10173         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
10174         needed with new versions of libtool (nobody will confirm this),
10175         and hard to carry around.
10176         * gst/autoplug/Makefile.am:
10177         * gst/base/Makefile.am:
10178         * gst/elements/Makefile.am:
10179         * gst/indexers/Makefile.am:
10180         * gst/schedulers/Makefile.am:
10181         * libs/gst/bytestream/Makefile.am:
10182         * libs/gst/control/Makefile.am:
10183         * libs/gst/dataprotocol/Makefile.am:
10184         * libs/gst/getbits/Makefile.am:
10185
10186 2005-04-21  Wim Taymans  <wim@fluendo.com>
10187
10188         * docs/design/draft-push-pull.txt:
10189         * docs/design/part-MT-refcounting.txt:
10190         * docs/design/part-TODO.txt:
10191         * docs/design/part-caps.txt:
10192         * docs/design/part-events.txt:
10193         * docs/design/part-gstbus.txt:
10194         * docs/design/part-gstpipeline.txt:
10195         * docs/design/part-messages.txt:
10196         * docs/design/part-push-pull.txt:
10197         * docs/design/part-query.txt:
10198         Some more docs.
10199
10200 2005-04-21  Wim Taymans  <wim@fluendo.com>
10201
10202         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
10203         (gst_message_new), (gst_message_new_error),
10204         (gst_message_new_warning), (gst_message_new_tag),
10205         (gst_message_new_state_changed), (gst_message_new_application),
10206         (gst_message_get_structure):
10207         * gst/gstmessage.h:
10208         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10209         (gst_structure_copy_conditional):
10210         Use parent refcount in GstMessage to ensure GstStructure
10211         consistency.
10212         Cleaned up headers a bit.
10213         
10214
10215 2005-04-20  Wim Taymans  <wim@fluendo.com>
10216
10217         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10218         (gst_basesink_pad_getcaps), (gst_basesink_init),
10219         (gst_basesink_chain_unlocked):
10220         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
10221         (gst_type_find_helper):
10222         * gst/elements/gsttypefindelement.c:
10223         (gst_type_find_element_have_type), (gst_type_find_element_init),
10224         (stop_typefinding), (gst_type_find_element_handle_event),
10225         (find_suggest), (gst_type_find_element_chain),
10226         (gst_type_find_element_checkgetrange),
10227         (gst_type_find_element_getrange), (do_typefind),
10228         (gst_type_find_element_activate):
10229         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10230         (gst_buffer_default_free), (gst_buffer_default_copy),
10231         (gst_buffer_set_caps):
10232         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
10233         (gst_caps_replace):
10234         * gst/gstmessage.c: (gst_message_new),
10235         (gst_message_new_state_changed):
10236         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10237         (gst_pad_set_checkgetrange_function),
10238         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10239         (gst_pad_set_caps), (gst_pad_check_pull_range),
10240         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10241         * gst/gstpad.h:
10242         * gst/gsttypefind.c: (gst_type_find_register):
10243         Make gst_caps_replace() work like other _replace() functions.
10244         Use _caps_replace() where possible.
10245         Make sure _message_new() initialises its field.
10246         Add gst_static_pad_template_get_caps()
10247
10248
10249 2005-04-18  Andy Wingo  <wingo@pobox.com>
10250
10251         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
10252         on the peer, not the pad. I think that was a typo. Pass an extra
10253         arg to see if random access is possible. Activate the pads as
10254         PULL_RANGE if possible.
10255
10256         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
10257
10258         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
10259         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
10260         to PROP_....
10261
10262 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10263
10264         * docs/faq/using.xml:
10265           Add note on gstreamer-properties (#154996).
10266
10267 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10268
10269         * docs/random/bbb/optional-properties:
10270           Some analysis on optional properties.
10271
10272 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10273
10274         * docs/gst/tmpl/gstelementfactory.sgml:
10275         * gst/gstelement.h:
10276         * gst/gstelementfactory.c: (gst_element_factory_init),
10277         (gst_element_factory_cleanup), (gst_element_register),
10278         (__gst_element_factory_add_static_pad_template),
10279         (gst_element_factory_get_static_pad_templates),
10280         (gst_element_factory_can_src_caps),
10281         (gst_element_factory_can_sink_caps):
10282         * gst/registries/Makefile.am:
10283         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
10284         (gst_xml_registry_class_init), (gst_xml_registry_init),
10285         (gst_xml_registry_new), (gst_xml_registry_set_property),
10286         (gst_xml_registry_get_property), (get_time), (make_dir),
10287         (gst_xml_registry_get_perms_func),
10288         (plugin_times_older_than_recurse), (plugin_times_older_than),
10289         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
10290         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
10291         (add_to_char_array), (read_string), (read_uint), (read_enum),
10292         (load_pad_template), (load_feature), (load_plugin), (load_paths),
10293         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
10294         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
10295         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
10296         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
10297         (gst_xml_registry_rebuild):
10298         * gst/registries/gstlibxmlregistry.h:
10299         * tools/gst-compprep.c: (main):
10300         * tools/gst-inspect.c: (print_pad_templates_info):
10301         * tools/gst-xmlinspect.c: (print_element_info):
10302           Use libxml2 for registry parsing, use staticpadtemplates in
10303           elementfactories. Makes gst_init() +/- 10x faster.
10304
10305 2005-04-12  Wim Taymans  <wim@fluendo.com>
10306
10307         * gst/base/Makefile.am:
10308         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10309         (gst_basesink_pad_getcaps), (gst_basesink_init),
10310         (gst_basesink_event), (gst_basesink_change_state):
10311         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10312         (gst_basesrc_init), (gst_basesrc_query),
10313         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10314         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10315         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10316         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10317         (gst_basesrc_stop), (gst_basesrc_activate),
10318         (gst_basesrc_change_state):
10319         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10320         (helper_find_suggest), (gst_type_find_helper):
10321         * gst/base/gsttypefindhelper.h:
10322         * gst/elements/Makefile.am:
10323         * gst/elements/gstelements.c:
10324         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10325         (gst_fakesink_get_times), (gst_fakesink_event),
10326         (gst_fakesink_preroll), (gst_fakesink_render):
10327         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10328         (gst_fakesrc_init), (gst_fakesrc_event_handler),
10329         (gst_fakesrc_get_property), (gst_fakesrc_create),
10330         (gst_fakesrc_start), (gst_fakesrc_stop):
10331         * gst/elements/gstfakesrc.h:
10332         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
10333         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10334         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10335         (gst_filesrc_create_read), (gst_filesrc_create),
10336         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
10337         (gst_filesrc_start):
10338         * gst/elements/gsttypefindelement.c:
10339         (gst_type_find_element_have_type), (gst_type_find_element_init),
10340         (start_typefinding), (stop_typefinding), (push_buffer_store),
10341         (gst_type_find_element_handle_event),
10342         (gst_type_find_element_chain),
10343         (gst_type_find_element_checkgetrange),
10344         (gst_type_find_element_getrange), (do_typefind),
10345         (gst_type_find_element_activate),
10346         (gst_type_find_element_change_state):
10347         * gst/elements/gsttypefindelement.h:
10348         * gst/gstpipeline.c: (pipeline_bus_handler):
10349         Added typefind helper.
10350         Small preroll fix in the base sink.
10351         Disable typefind code in basesrc.
10352         Crude port of typefindelement.
10353         Fakesrc cleanups.
10354
10355
10356 2005-04-11  Wim Taymans  <wim@fluendo.com>
10357
10358         * check/gst/gstbus.c: (gstbus_suite):
10359         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
10360         * check/gstcheck.h:
10361           Fix up the timeout so that the test does not fail.
10362
10363 2005-04-06  Wim Taymans  <wim@fluendo.com>
10364
10365         * gst/base/README:
10366         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10367         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
10368         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10369         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10370         (gst_basesrc_check_get_range), (gst_basesrc_loop),
10371         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10372         (gst_basesrc_stop), (gst_basesrc_activate),
10373         (gst_basesrc_change_state), (basesrc_find_peek),
10374         (basesrc_find_suggest), (gst_basesrc_type_find):
10375         * gst/base/gstbasesrc.h:
10376         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
10377         (gst_filesrc_class_init), (gst_filesrc_init),
10378         (gst_filesrc_finalize), (gst_filesrc_set_location),
10379         (gst_filesrc_set_property), (gst_filesrc_get_property),
10380         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10381         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10382         (gst_filesrc_create_read), (gst_filesrc_create),
10383         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
10384         * gst/elements/gstfilesrc.h:
10385         * gst/gstelement.c: (gst_element_get_state_func),
10386         (gst_element_lost_state), (gst_element_pads_activate):
10387         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10388         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10389         (gst_pad_pull_range):
10390         * gst/gstpad.h:
10391         More work on the generic source base class, implement seeking,
10392         query.
10393         Make filesrc extend the base source class.
10394         Added gst_pad_set_checkgetrange_function to GstPad.
10395
10396 2005-04-06  Andy Wingo  <wingo@pobox.com>
10397
10398         * pkgconfig/gstreamer-base.pc.in:
10399         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
10400
10401         * pkgconfig/Makefile.am:
10402         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
10403
10404 2005-04-04  Wim Taymans  <wim@fluendo.com>
10405
10406         * gst/base/Makefile.am:
10407         * gst/base/README:
10408         * gst/base/gstbasesink.c: (gst_basesink_base_init),
10409         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10410         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10411         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
10412         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10413         (gst_basesrc_base_init), (gst_basesrc_class_init),
10414         (gst_basesrc_init), (gst_basesrc_get_formats),
10415         (gst_basesrc_get_query_types), (gst_basesrc_query),
10416         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
10417         (gst_basesrc_set_property), (gst_basesrc_get_property),
10418         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
10419         (gst_basesrc_loop), (gst_basesrc_activate),
10420         (gst_basesrc_change_state):
10421         * gst/base/gstbasesrc.h:
10422         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
10423         (gst_fakesrc_class_init), (gst_fakesrc_init),
10424         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
10425         (gst_fakesrc_get_property), (gst_fakesrc_create):
10426         * gst/elements/gstfakesrc.h:
10427         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
10428         (gst_filesrc_open_file), (gst_filesrc_loop),
10429         (gst_filesrc_activate), (filesrc_find_peek),
10430         (gst_filesrc_type_find):
10431         Made base source class, make fakesrc extend it.
10432         Add comments to basesink class.
10433         Some filesrc cleanup.
10434
10435 2005-03-31  David Schleef  <ds@schleef.org>
10436
10437         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
10438         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
10439         expected to link against libgstreamer.
10440         * gst/base/Makefile.am: link against libgstreamer
10441         * gst/elements/Makefile.am: same
10442
10443 2005-03-31  Andy Wingo  <wingo@pobox.com>
10444
10445         * tests/instantiate/Makefile.am:
10446         * tests/instantiate/caps.c: Add test to test speed of caps copy
10447         and free.
10448
10449         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
10450         GMemChunk to be fair.
10451
10452         * gst/gsttrashstack.h: Remove warning about using the fallback
10453         trash stack implementation, it's still faster than malloc.
10454
10455 2005-03-30  Andy Wingo  <wingo@pobox.com>
10456
10457         * tests/complexity.c: Add a copyright.
10458
10459 2005-03-31  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
10462         (gst_base_transform_class_init), (gst_base_transform_init),
10463         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10464         (gst_base_transform_get_property),
10465         (gst_base_transform_sink_activate),
10466         (gst_base_transform_src_activate),
10467         (gst_base_transform_change_state):
10468         * gst/base/gstbasetransform.h:
10469         * gst/elements/gstidentity.c: (gst_identity_class_init),
10470         (gst_identity_event), (gst_identity_check_perfect),
10471         (gst_identity_transform), (gst_identity_start),
10472         (gst_identity_stop):
10473         Added start/stop methods to transform base class so subclasses 
10474         don't need to deal with state changes even.
10475
10476 2005-03-31  Wim Taymans  <wim@fluendo.com>
10477
10478         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
10479         (gst_event_new_discontinuous), (gst_event_discont_get_value):
10480         * gst/gstevent.h:
10481         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10482         (gst_pad_pull_range):
10483         Added rate to the discont event to prepare for variable speed
10484         and reverse playback.
10485
10486 2005-03-29  David Schleef  <ds@schleef.org>
10487
10488         * configure.ac:
10489         * testsuite/trigger/Makefile.am:
10490         * testsuite/trigger/trigger.c: A little example program to show
10491         how trigger-based elements can work.
10492
10493 2005-03-29  Wim Taymans  <wim@fluendo.com>
10494
10495         * gst/base/Makefile.am:
10496         * gst/base/README:
10497         * gst/base/gstbasesink.c: (gst_basesink_get_type),
10498         (gst_basesink_base_init), (gst_basesink_class_init),
10499         (gst_basesink_pad_getcaps), (gst_basesink_init),
10500         (gst_basesink_activate), (gst_basesink_change_state):
10501         * gst/base/gstbasesink.h:
10502         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
10503         (gst_base_transform_base_init), (gst_base_transform_finalize),
10504         (gst_base_transform_class_init), (gst_base_transform_init),
10505         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
10506         (gst_base_transform_event), (gst_base_transform_getrange),
10507         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
10508         (gst_base_transform_set_property),
10509         (gst_base_transform_get_property),
10510         (gst_base_transform_sink_activate),
10511         (gst_base_transform_src_activate),
10512         (gst_base_transform_change_state):
10513         * gst/base/gstbasetransform.h:
10514         * gst/elements/gstidentity.c: (gst_identity_finalize),
10515         (gst_identity_class_init), (gst_identity_init),
10516         (gst_identity_event), (gst_identity_check_perfect),
10517         (gst_identity_transform), (gst_identity_set_property),
10518         (gst_identity_get_property), (gst_identity_change_state):
10519         * gst/elements/gstidentity.h:
10520         * gst/gstelement.c: (gst_element_get_state_func),
10521         (gst_element_lost_state), (gst_element_pads_activate):
10522         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10523         (gst_pad_check_pull_range), (gst_pad_pull_range):
10524         * gst/gstpad.h:
10525         Simplify pad activation.
10526         Added function to check if pull_range can be performed.
10527         Error out when pulling inactive or flushing pads.
10528         Removed const from refcounted types as it does not make sense.
10529         Simplify pad templates in basesink
10530         Added base class for simple 1-to-1 transforms.
10531         Make identity subclass the base transform.
10532
10533 2005-03-29  Andy Wingo  <wingo@pobox.com>
10534
10535         * docs/libs/gstreamer-libs-overrides.txt: 
10536         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
10537         really don't understand what's going on, but like whatever. I want
10538         green buildbot!
10539
10540         * docs/gst/Makefile.am:
10541         * docs/libs/Makefile.am: Dist the overrides files.
10542
10543         * check/Makefile.am (clean-local): Remove .libs directories.
10544
10545         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
10546         elements to EXTRA_DIST, so po/ files are happy.
10547
10548         * po/POTFILES.in: Er, remove it here.
10549
10550         * po/POTFILES: Remove gstspider.c.
10551
10552         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
10553
10554         * docs/libs/gstreamer-libs-docs.sgml: 
10555         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
10556         bytestream.
10557
10558         * tests/complexity.c (main): Set the length of the preroll queue
10559         on the sinks to prevent a lockup.
10560
10561         * libs/gst/dataprotocol/Makefile.am: 
10562         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
10563         the same as the one in check/gst-libs/gdp.c.
10564
10565         * po/, docs/gst/: Commit automatic changes to docs and po files.
10566
10567         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
10568         the versioned libgstbase.
10569
10570         * check/Makefile.am: Depend on an unversioned gst-register, seems
10571         to make autoconf happier.
10572
10573         * gst/base/Makefile.am: Make libgstbase a versioned lib.
10574
10575 2005-03-28  Wim Taymans  <wim@fluendo.com>
10576
10577         * configure.ac:
10578         * docs/design/part-gstelement.txt:
10579         * docs/design/part-negotiation.txt:
10580         * docs/design/part-preroll.txt:
10581         * docs/design/part-scheduling.txt:
10582         * docs/design/part-states.txt:
10583         * gst/Makefile.am:
10584         * gst/base/Makefile.am:
10585         * gst/base/README:
10586         * gst/base/gstbasesink.c: (gst_basesink_get_template),
10587         (gst_basesink_base_init), (gst_basesink_class_init),
10588         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10589         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10590         (gst_basesink_set_pad_functions),
10591         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
10592         (gst_basesink_set_property), (gst_basesink_get_property),
10593         (gst_base_sink_get_template), (gst_base_sink_get_caps),
10594         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
10595         (gst_basesink_preroll_queue_push),
10596         (gst_basesink_preroll_queue_empty),
10597         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
10598         (gst_basesink_event), (gst_basesink_get_times),
10599         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
10600         (gst_basesink_chain_unlocked), (gst_basesink_chain),
10601         (gst_basesink_loop), (gst_basesink_activate),
10602         (gst_basesink_change_state):
10603         * gst/base/gstbasesink.h:
10604         * gst/elements/Makefile.am:
10605         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
10606         (gst_fakesink_class_init), (gst_fakesink_init),
10607         (gst_fakesink_set_property), (gst_fakesink_get_property),
10608         (gst_fakesink_get_times), (gst_fakesink_event),
10609         (gst_fakesink_preroll), (gst_fakesink_render),
10610         (gst_fakesink_change_state):
10611         * gst/elements/gstfakesink.h:
10612         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10613         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
10614         * gst/gstelement.c: (gst_element_add_pad),
10615         (gst_element_get_state_func), (gst_element_abort_state),
10616         (gst_element_commit_state), (gst_element_lost_state),
10617         (gst_element_set_state), (gst_element_pads_activate):
10618         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
10619         * gst/gstpipeline.c: (gst_pipeline_send_event),
10620         (gst_pipeline_change_state):
10621         Added state change code.
10622         Added/updated docs.
10623         Added sink base class, make fakesink extend the base class.
10624         Small cleanups in GstPipeline.
10625
10626 2005-03-26  David Schleef  <ds@schleef.org>
10627
10628         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
10629         is broken and should be implemented in a different library.
10630         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
10631         * gst/gst.h: remove gstcpu.h
10632         * gst/gstcpu.c: remove
10633         * gst/gstcpu.h: remove
10634         * gst/Makefile.am.future: Remove this file.  It's ancient.
10635
10636 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10637
10638         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10639         (gst_bin_send_event):
10640           Add default event/set_manager handlers. The set_manager handler
10641           takes care that the manager is distributed over kids that were
10642           already in the bin before the manager was set. The event handler
10643           is a utility virtual function that sends the event over all sinks,
10644           so that gst_element_send_event (bin, event); has the expected
10645           behaviour.
10646         * gst/gstpad.c: (gst_pad_event_default):
10647           Re-install default event handling for discontinuities, so that
10648           seeking works without requiring hacks in applications or extra
10649           code in sinks.
10650         * gst/gstpipeline.c: (gst_pipeline_class_init),
10651         (gst_pipeline_send_event):
10652           Half hack, half utility: set a pipeline to PAUSED for seek events,
10653           since that is the only way we can guarantee a/v sync. Means that
10654           you can do gst_element_seek (pipeline, method, pos); on a pipeline
10655           and it "just works".
10656
10657 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10658
10659         * gst/gstpipeline.c: (gst_pipeline_use_clock):
10660           Lock/unlock mismatch.
10661
10662 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
10663
10664         * docs/faq/gst-uninstalled:
10665           add gst-plugins-base
10666         * docs/gst/Makefile.am:
10667           don't error out until docs are fixed
10668         * docs/gst/gstreamer.types:
10669           remove thread
10670
10671 2005-03-22  Wim Taymans  <wim@fluendo.com>
10672
10673         * check/Makefile.am:
10674         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
10675         * gst/gststructure.c: (gst_structure_set_valist),
10676         (gst_structure_copy_conditional):
10677         Activated more tests.
10678         Added message test.
10679         Added G_TYPE_POINTER to GstStructure.
10680         
10681
10682 2005-03-22  Wim Taymans  <wim@fluendo.com>
10683
10684         * docs/design/part-TODO.txt:
10685         * docs/design/part-events.txt:
10686         * docs/design/part-gstbin.txt:
10687         * docs/design/part-gstbus.txt:
10688         * docs/design/part-gstpipeline.txt:
10689         * docs/design/part-messages.txt:
10690         * gst/gstbus.c:
10691         * gst/gstmessage.c:
10692         Docs updates
10693
10694 2005-03-21  Wim Taymans  <wim@fluendo.com>
10695
10696         * gst/gstbus.c: (gst_bus_post):
10697         Fix copy-and-paste error.
10698
10699 2005-03-21  Wim Taymans  <wim@fluendo.com>
10700
10701         * check/Makefile.am:
10702         * gst/Makefile.am:
10703         * gst/elements/Makefile.am:
10704         * gst/elements/gstelements.c:
10705         * gst/elements/gstfakesink.c: (gst_fakesink_init),
10706         (gst_fakesink_event), (gst_fakesink_chain):
10707         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10708         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
10709         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
10710         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
10711         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10712         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
10713         (gst_fakesrc_loop), (gst_fakesrc_activate),
10714         (gst_fakesrc_change_state):
10715         * gst/elements/gstfakesrc.h:
10716         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10717         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
10718         (gst_filesrc_open_file), (gst_filesrc_loop),
10719         (gst_filesrc_activate), (gst_filesrc_change_state),
10720         (filesrc_find_peek), (filesrc_find_suggest),
10721         (gst_filesrc_type_find):
10722         * gst/elements/gstidentity.c: (gst_identity_finalize),
10723         (gst_identity_class_init), (gst_identity_init),
10724         (gst_identity_proxy_getcaps), (identity_queue_push),
10725         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
10726         (gst_identity_getrange), (gst_identity_chain),
10727         (gst_identity_sink_loop), (gst_identity_src_loop),
10728         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
10729         (gst_identity_set_property), (gst_identity_get_property),
10730         (gst_identity_change_state):
10731         * gst/elements/gstidentity.h:
10732         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10733         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
10734         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
10735         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
10736         (gst_tee_sink_activate):
10737         * gst/elements/gsttee.h:
10738         * gst/gst.c: (gst_register_core_elements), (init_post):
10739         * gst/gst.h:
10740         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
10741         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
10742         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
10743         (gst_bin_change_state):
10744         * gst/gstbin.h:
10745         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
10746         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
10747         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
10748         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
10749         (gst_bus_set_sync_handler), (gst_bus_create_watch),
10750         (bus_watch_callback), (bus_watch_destroy),
10751         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
10752         (poll_timeout), (gst_bus_poll):
10753         * gst/gstbus.h:
10754         * gst/gstcaps.h:
10755         * gst/gstdata.h:
10756         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
10757         (gst_element_post_message), (gst_element_message_full),
10758         (gst_element_get_state_func), (gst_element_get_state),
10759         (gst_element_abort_state), (gst_element_commit_state),
10760         (gst_element_lost_state), (gst_element_set_state),
10761         (gst_element_pads_activate), (gst_element_change_state),
10762         (gst_element_dispose), (gst_element_set_manager_func),
10763         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
10764         (gst_element_set_manager), (gst_element_get_manager),
10765         (gst_element_set_bus), (gst_element_get_bus),
10766         (gst_element_set_scheduler), (gst_element_get_scheduler):
10767         * gst/gstelement.h:
10768         * gst/gstevent.c: (gst_event_new_segment_seek),
10769         (gst_event_new_flush):
10770         * gst/gstevent.h:
10771         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
10772         (_gst_message_free), (gst_message_get_type), (gst_message_new),
10773         (gst_message_new_eos), (gst_message_new_error),
10774         (gst_message_new_warning), (gst_message_new_tag),
10775         (gst_message_new_state_changed), (gst_message_new_application),
10776         (gst_message_get_structure), (gst_message_parse_tag),
10777         (gst_message_parse_state_changed), (gst_message_parse_error),
10778         (gst_message_parse_warning):
10779         * gst/gstmessage.h:
10780         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
10781         (gst_real_pad_set_property), (gst_pad_set_active),
10782         (gst_pad_is_active), (gst_pad_set_blocked_async),
10783         (gst_pad_set_blocked), (gst_pad_is_blocked),
10784         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
10785         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
10786         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10787         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
10788         (gst_pad_link_filtered), (gst_pad_relink_filtered),
10789         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
10790         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
10791         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
10792         (gst_pad_set_caps), (gst_pad_configure_sink),
10793         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
10794         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
10795         (gst_real_pad_dispose), (gst_real_pad_finalize),
10796         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
10797         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10798         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
10799         * gst/gstpad.h:
10800         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
10801         (pipeline_bus_handler), (gst_pipeline_change_state),
10802         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
10803         * gst/gstpipeline.h:
10804         * gst/gstprobe.h:
10805         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10806         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
10807         (gst_queue_link_src), (gst_queue_bufferalloc),
10808         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10809         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
10810         (gst_queue_loop), (gst_queue_handle_src_event),
10811         (gst_queue_handle_src_query), (gst_queue_src_activate),
10812         (gst_queue_change_state):
10813         * gst/gstqueue.h:
10814         * gst/gstscheduler.c: (gst_scheduler_init),
10815         (gst_scheduler_dispose), (gst_scheduler_create_task),
10816         (gst_scheduler_factory_create):
10817         * gst/gstscheduler.h:
10818         * gst/gststructure.c: (gst_structure_get_type),
10819         (gst_structure_copy_conditional):
10820         * gst/gststructure.h:
10821         * gst/gsttaginterface.h:
10822         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10823         (gst_task_init), (gst_task_dispose), (gst_task_create),
10824         (gst_task_get_state), (gst_task_start), (gst_task_stop),
10825         (gst_task_pause):
10826         * gst/gsttask.h:
10827         * gst/gstthread.c:
10828         * gst/gstthread.h:
10829         * gst/gsttypes.h:
10830         * gst/schedulers/Makefile.am:
10831         * gst/schedulers/cothreads_compat.h:
10832         * gst/schedulers/entryscheduler.c:
10833         * gst/schedulers/faircothreads.c:
10834         * gst/schedulers/faircothreads.h:
10835         * gst/schedulers/fairscheduler.c:
10836         * gst/schedulers/gstbasicscheduler.c:
10837         * gst/schedulers/gstoptimalscheduler.c:
10838         * gst/schedulers/gthread-cothreads.h:
10839         * gst/schedulers/threadscheduler.c:
10840         (gst_thread_scheduler_task_get_type),
10841         (gst_thread_scheduler_task_class_init),
10842         (gst_thread_scheduler_task_init),
10843         (gst_thread_scheduler_task_start),
10844         (gst_thread_scheduler_task_stop),
10845         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
10846         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10847         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
10848         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
10849         (plugin_init):
10850         * libs/gst/Makefile.am:
10851         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
10852         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
10853         (gst_file_pad_parent_set):
10854         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10855         (gst_dp_event_from_packet):
10856         * tests/complexity.c: (main):
10857         * tests/mass_elements.c: (main):
10858         * testsuite/states/locked.c: (message_received), (main):
10859         * testsuite/states/parent.c: (main):
10860         * tools/gst-inspect.c: (print_element_flag_info),
10861         (print_implementation_info), (print_pad_info):
10862         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
10863         (main):
10864         * tools/gst-md5sum.c: (event_loop), (main):
10865         * tools/gst-typefind.c: (main):
10866         * tools/gst-xmlinspect.c: (print_element_info):
10867         Next big merge.
10868         Added GstBus for mainloop integration.
10869         Added GstMessage for sending notifications on the bus.
10870         Added GstTask as an abstraction for pipeline entry points.
10871         Removed GstThread.
10872         Removed Schedulers.
10873         Simplified GstQueue for multithreaded core.
10874         Made _link threadsafe, removed old capsnego.
10875         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
10876         Added pad blocking functions.
10877         Reworked scheduling functions in GstPad to prepare for
10878         scheduling updates soon.
10879         Moved events out of data stream.
10880         Simplified GstEvent types.
10881         Added return values to push/pull.
10882         Removed clocking from GstElement.
10883         Added prototypes for state change function for next merge.
10884         Removed iterate from bins and state change management.
10885         Fixed some elements, disabled others for now.
10886         Fixed -inspect and -launch.
10887         Added check for GstBus.
10888
10889 2005-03-10  Wim Taymans  <wim@fluendo.com>
10890
10891         * docs/design/part-MT-refcounting.txt:
10892         * docs/design/part-clocks.txt:
10893         * docs/design/part-gstelement.txt:
10894         * docs/design/part-gstobject.txt:
10895         * docs/design/part-standards.txt:
10896         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10897         (gst_bin_remove_func), (gst_bin_remove):
10898         * gst/gstbin.h:
10899         * gst/gstbuffer.c:
10900         * gst/gstcaps.h:
10901         * testsuite/clock/clock1.c: (main):
10902         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
10903         (main):
10904         * testsuite/dlopen/loadgst.c: (do_test):
10905         * testsuite/refcounting/bin.c: (add_remove_test1),
10906         (add_remove_test2), (main):
10907         * testsuite/refcounting/element.c: (main):
10908         * testsuite/refcounting/element_pad.c: (main):
10909         * testsuite/refcounting/pad.c: (main):
10910         * tools/gst-launch.c: (sigint_handler_sighandler):
10911         * tools/gst-typefind.c: (main):
10912         Doc updates.
10913         Added doc about clock.
10914         removed gst_bin_iterate_recurse_up(), marked methods
10915         for removal.
10916         Fix more testsuites.
10917
10918 2005-03-09  Wim Taymans  <wim@fluendo.com>
10919
10920         * gst/gstpad.c: (gst_pad_get_direction),
10921         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
10922         (gst_pad_collect_valist):
10923         * testsuite/bins/interface.c: (main):
10924         * testsuite/caps/audioscale.c: (test_caps):
10925         * testsuite/caps/caps.c: (test1), (test2), (test3):
10926         * testsuite/caps/deserialize.c: (main):
10927         * testsuite/caps/enumcaps.c: (main):
10928         * testsuite/caps/filtercaps.c: (main):
10929         * testsuite/caps/intersect2.c: (main):
10930         * testsuite/caps/random.c: (main):
10931         * testsuite/caps/renegotiate.c: (my_fixate), (main):
10932         * testsuite/caps/sets.c: (check_caps):
10933         * testsuite/caps/simplify.c: (check_caps), (main):
10934         * testsuite/caps/subtract.c: (check_caps):
10935         Fix _pad_get_direction wrt ghostpads.
10936         Fix caps testsuite.
10937
10938 2005-03-09  Wim Taymans  <wim@fluendo.com>
10939
10940         * check/Makefile.am:
10941         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
10942         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
10943         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
10944         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
10945         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
10946         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
10947         (gst_bin_remove), (gst_bin_iterate_recurse_up),
10948         (bin_element_is_sink), (gst_bin_iterate_sinks),
10949         (gst_bin_iterate_all_by_interface):
10950         * gst/gstbin.h:
10951         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
10952         (gst_element_change_state), (gst_element_dispose),
10953         (gst_element_finalize), (gst_element_set_loop_function):
10954         * gst/gstelement.h:
10955         * gst/gstiterator.c: (find_custom_fold_func):
10956         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10957         (gst_pad_collectv), (gst_pad_collect_valist),
10958         (gst_pad_template_new):
10959         * gst/gstpipeline.c: (gst_pipeline_class_init),
10960         (gst_pipeline_dispose), (gst_pipeline_set_property),
10961         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
10962         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
10963         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
10964         * gst/gstutils.h:
10965         * gst/schedulers/entryscheduler.c:
10966         * gst/schedulers/gstbasicscheduler.c:
10967         (gst_basic_scheduler_cothreaded_chain),
10968         (gst_basic_scheduler_chain_add_element):
10969         * testsuite/bins/interface.c: (main):
10970         Added GstBin test.
10971         Added GstSystemClock test.
10972         Implemented clock distribution code in GstBin.
10973         Implemented iterate sinks method for future use.
10974         Rearranged gstelement.h
10975         Fix GstIterator comparison bug.
10976         Moved some code to GstPipeline, mostly clocking related.
10977
10978 2005-03-09  Wim Taymans  <wim@fluendo.com>
10979
10980         * configure.ac:
10981         * gst/gst_private.h:
10982         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10983         (gst_bin_remove_func), (gst_bin_remove),
10984         (gst_bin_get_by_name_recurse_up):
10985         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
10986         (gst_clock_id_compare_func), (gst_clock_id_wait),
10987         (gst_clock_id_wait_async), (gst_clock_init),
10988         (gst_clock_adjust_unlocked), (gst_clock_get_time):
10989         * gst/gstelement.h:
10990         * gst/gstinfo.c: (_gst_debug_init):
10991         * gst/gstobject.h:
10992         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10993         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
10994         * gst/gstpad.h:
10995         Bump version number, we're now 0.9.0
10996         Add future debugging category.
10997         Fix NULL _unref() in _get_by_name_recurse_up
10998         Rearrange gstpad.h.
10999         Update some docs.
11000
11001 2005-03-08  Wim Taymans  <wim@fluendo.com>
11002
11003         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
11004         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
11005         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11006         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
11007         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
11008         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
11009         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
11010         * gst/elements/gstidentity.c: (gst_identity_class_init):
11011         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
11012         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11013         * gst/elements/gstshaper.c: (gst_shaper_class_init):
11014         * gst/elements/gststatistics.c: (gst_statistics_class_init):
11015         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
11016         (gst_tee_link):
11017         * gst/gstelement.c: (gst_element_class_init),
11018         (gst_element_base_class_init), (gst_element_init),
11019         (gst_element_get_random_pad), (gst_element_wait_state_change),
11020         (gst_element_change_state), (gst_element_dispose),
11021         (gst_element_finalize), (gst_element_set_loop_function):
11022         * gst/gstelement.h:
11023         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
11024         * gst/gstthread.c: (gst_thread_class_init),
11025         (gst_thread_release_children_locks), (gst_thread_change_state):
11026         * gst/schedulers/gstbasicscheduler.c:
11027         (gst_basic_scheduler_loopfunc_wrapper),
11028         (gst_basic_scheduler_chain_wrapper),
11029         (gst_basic_scheduler_src_wrapper),
11030         (gst_basic_scheduler_remove_element):
11031         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
11032         Remove threadsafe properties. Fix elements because GObject
11033         complains when installing a property before declaring a
11034         set/get_property handler.
11035         Rearrange gstelement.h file, use STATE macros for state locks.
11036         Free mutexes in the finalize method instead of dispose.
11037
11038 2005-03-08  Wim Taymans  <wim@fluendo.com>
11039
11040         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11041         * gst/gstthread.c: (gst_thread_release_children_locks):
11042         Added parentage check.
11043         Fix build og GstThread again.
11044
11045 2005-03-08  Wim Taymans  <wim@fluendo.com>
11046
11047         * docs/design/part-MT-refcounting.txt:
11048         * docs/design/part-conventions.txt:
11049         * docs/design/part-gstobject.txt:
11050         * docs/design/part-relations.txt:
11051         * docs/design/part-standards.txt:
11052         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
11053         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
11054         (gst_bin_get_by_name), (gst_bin_get_by_interface),
11055         (gst_bin_iterate_all_by_interface):
11056         * gst/gstbuffer.h:
11057         * gst/gstclock.h:
11058         * gst/gstelement.c: (gst_element_class_init),
11059         (gst_element_change_state), (gst_element_set_loop_function):
11060         * gst/gstelement.h:
11061         * gst/gstiterator.c:
11062         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
11063         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
11064         (gst_object_dispatch_properties_changed), (gst_object_set_name),
11065         (gst_object_set_parent), (gst_object_unparent),
11066         (gst_object_check_uniqueness):
11067         * gst/gstobject.h:
11068         Docs updates, clean up some headers.
11069
11070 2005-03-07  Wim Taymans  <wim@fluendo.com>
11071
11072         * check/.cvsignore:
11073         * check/Makefile.am:
11074         * check/gst-libs/.cvsignore:
11075         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
11076         * check/gst/.cvsignore:
11077         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
11078         (START_TEST), (gstbus_suite), (main):
11079         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
11080         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
11081         (gst_data_suite), (main):
11082         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
11083         (add_fold_func), (gstiterator_suite), (main):
11084         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
11085         (thread_name_object), (thread_name_object_default),
11086         (gst_object_name_compare), (gst_object_suite), (main):
11087         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
11088         (gst_pad_suite), (main):
11089         * check/gstcheck.c: (gst_check_log_message_func),
11090         (gst_check_log_critical_func), (gst_check_init):
11091         * check/gstcheck.h:
11092         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11093         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
11094         Added checks.
11095
11096 2005-03-07  Wim Taymans  <wim@fluendo.com>
11097
11098         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11099         (gst_list_iterator_next), (gst_list_iterator_resync),
11100         (gst_list_iterator_free), (gst_iterator_new_list),
11101         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
11102         (gst_iterator_free), (gst_iterator_push), (filter_next),
11103         (filter_resync), (filter_uninit), (filter_free),
11104         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
11105         (gst_iterator_foreach), (find_custom_fold_func),
11106         (gst_iterator_find_custom):
11107         * gst/gstiterator.h:
11108         Added missing files.
11109
11110 2005-03-07  Wim Taymans  <wim@fluendo.com>
11111
11112         * Makefile.am:
11113         * configure.ac:
11114         * docs/design/part-MT-refcounting.txt:
11115         * docs/design/part-conventions.txt:
11116         * docs/design/part-gstobject.txt:
11117         * docs/design/part-relations.txt:
11118         * examples/mixer/mixer.c: (main):
11119         * examples/thread/thread.c: (eos), (main):
11120         * gst/Makefile.am:
11121         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11122         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
11123         (gst_spider_plug_from_srcpad):
11124         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
11125         (gst_spider_identity_change_state),
11126         (gst_spider_identity_sink_loop_type_finding):
11127         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
11128         * gst/elements/gstidentity.c: (gst_identity_init):
11129         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
11130         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
11131         * gst/elements/gsttypefindelement.c: (free_entry):
11132         * gst/gst.c:
11133         * gst/gst.h:
11134         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
11135         (gst_bin_set_clock_func), (gst_bin_auto_clock),
11136         (gst_bin_set_index), (gst_bin_set_element_sched),
11137         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
11138         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
11139         (gst_bin_iterate_elements), (iterate_child_recurse),
11140         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
11141         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
11142         (compare_interface), (gst_bin_get_by_interface),
11143         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
11144         * gst/gstbin.h:
11145         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
11146         (gst_buffer_default_free), (gst_buffer_default_copy),
11147         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
11148         (gst_buffer_create_sub):
11149         * gst/gstbuffer.h:
11150         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
11151         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
11152         (gst_caps_unref), (gst_static_caps_get),
11153         (gst_caps_remove_and_get_structure), (gst_caps_append),
11154         (gst_caps_append_structure), (gst_caps_remove_structure),
11155         (gst_caps_copy_nth), (gst_caps_set_simple),
11156         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
11157         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
11158         (gst_caps_structure_intersect_field), (gst_caps_intersect),
11159         (gst_caps_structure_subtract_field), (gst_caps_subtract),
11160         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
11161         (gst_caps_structure_figure_out_union),
11162         (gst_caps_switch_structures), (gst_caps_do_simplify),
11163         (gst_caps_replace), (gst_caps_from_string),
11164         (gst_caps_copy_conditional):
11165         * gst/gstcaps.h:
11166         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
11167         (_gst_clock_id_free), (gst_clock_id_unref),
11168         (gst_clock_id_compare_func), (gst_clock_id_wait),
11169         (gst_clock_id_wait_async), (gst_clock_class_init),
11170         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
11171         (gst_clock_get_time), (gst_clock_set_time_adjust),
11172         (gst_clock_set_property), (gst_clock_get_property):
11173         * gst/gstclock.h:
11174         * gst/gstcompat.h:
11175         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
11176         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
11177         * gst/gstdata.h:
11178         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
11179         (gst_element_requires_clock), (gst_element_provides_clock),
11180         (gst_element_set_clock), (gst_element_clock_wait),
11181         (gst_element_wait), (gst_element_set_time_delay),
11182         (gst_element_is_indexable), (gst_element_add_pad),
11183         (gst_element_add_ghost_pad), (gst_element_remove_pad),
11184         (pad_compare_name), (gst_element_get_static_pad),
11185         (gst_element_request_pad), (gst_element_get_request_pad),
11186         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
11187         (gst_element_class_get_pad_template_list),
11188         (gst_element_class_get_pad_template), (gst_element_error_func),
11189         (gst_element_get_random_pad), (gst_element_get_event_masks),
11190         (gst_element_send_event), (gst_element_seek),
11191         (gst_element_get_query_types), (gst_element_query),
11192         (gst_element_get_formats), (gst_element_convert),
11193         (gst_element_is_locked_state), (gst_element_set_locked_state),
11194         (gst_element_sync_state_with_parent), (gst_element_change_state),
11195         (gst_element_finalize), (gst_element_yield),
11196         (gst_element_interrupt), (gst_element_set_scheduler),
11197         (gst_element_get_scheduler), (gst_element_set_loop_function):
11198         * gst/gstelement.h:
11199         * gst/gstevent.h:
11200         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
11201         (gst_format_get_by_nick), (gst_format_get_details),
11202         (gst_format_iterate_definitions):
11203         * gst/gstformat.h:
11204         * gst/gstindex.c: (gst_index_gtype_resolver):
11205         * gst/gstinfo.c:
11206         * gst/gstinfo.h:
11207         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
11208         (gst_mem_chunk_free):
11209         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
11210         (gst_object_ref), (gst_object_unref), (gst_object_sink),
11211         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
11212         (gst_object_dispatch_properties_changed),
11213         (gst_object_set_name_default), (gst_object_set_name),
11214         (gst_object_get_name), (gst_object_set_name_prefix),
11215         (gst_object_get_name_prefix), (gst_object_set_parent),
11216         (gst_object_get_parent), (gst_object_unparent),
11217         (gst_object_check_uniqueness), (gst_object_save_thyself),
11218         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
11219         (gst_object_set_property), (gst_object_get_property),
11220         (gst_object_get_path_string):
11221         * gst/gstobject.h:
11222         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11223         (gst_real_pad_init), (gst_real_pad_get_property),
11224         (gst_pad_custom_new), (gst_pad_get_direction),
11225         (gst_pad_set_active), (gst_pad_is_active),
11226         (gst_pad_set_event_function), (gst_pad_is_linked),
11227         (gst_pad_link_free), (gst_pad_link_intersect),
11228         (gst_pad_link_fixate), (gst_pad_set_caps),
11229         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
11230         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
11231         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
11232         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
11233         (gst_pad_get_caps), (gst_pad_peer_get_caps),
11234         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
11235         (gst_pad_realize), (gst_pad_get_allowed_caps),
11236         (gst_real_pad_dispose), (gst_real_pad_finalize),
11237         (gst_pad_collectv), (gst_pad_collect_valist),
11238         (gst_pad_template_dispose), (gst_pad_template_new),
11239         (gst_pad_get_internal_links):
11240         * gst/gstpad.h:
11241         * gst/gstpipeline.c: (gst_pipeline_dispose),
11242         (gst_pipeline_change_state):
11243         * gst/gstpipeline.h:
11244         * gst/gstplugin.c:
11245         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11246         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
11247         * gst/gstpluginfeature.h:
11248         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
11249         * gst/gstquery.c: (_gst_query_type_initialize),
11250         (gst_query_type_register), (gst_query_type_get_by_nick),
11251         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
11252         * gst/gstquery.h:
11253         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
11254         * gst/gstscheduler.c: (gst_scheduler_add_element),
11255         (gst_scheduler_factory_create):
11256         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11257         (gst_structure_free), (gst_structure_set_name),
11258         (gst_structure_id_set_value), (gst_structure_set_value),
11259         (gst_structure_set_valist), (gst_structure_remove_field),
11260         (gst_structure_remove_fields),
11261         (gst_structure_remove_fields_valist),
11262         (gst_structure_remove_all_fields), (gst_structure_foreach),
11263         (gst_structure_map_in_place),
11264         (gst_caps_structure_fixate_field_nearest_int),
11265         (gst_caps_structure_fixate_field_nearest_double):
11266         * gst/gststructure.h:
11267         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11268         (gst_system_clock_init), (gst_system_clock_dispose),
11269         (gst_system_clock_async_thread),
11270         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
11271         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
11272         * gst/gstsystemclock.h:
11273         * gst/gsttag.c: (gst_tag_list_add_value_internal),
11274         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
11275         * gst/gsttaginterface.c:
11276         * gst/gstthread.c: (gst_thread_dispose),
11277         (gst_thread_release_children_locks), (gst_thread_change_state),
11278         (gst_thread_main_loop):
11279         * gst/gsttrashstack.h:
11280         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
11281         * gst/gsttypes.h:
11282         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11283         (gst_element_request_pad), (gst_element_get_pad_from_template),
11284         (gst_element_request_compatible_pad),
11285         (gst_element_get_compatible_pad_filtered),
11286         (gst_element_get_compatible_pad), (gst_element_state_get_name),
11287         (gst_element_link_pads_filtered), (gst_element_link_filtered),
11288         (gst_element_link_many), (gst_element_link),
11289         (gst_element_link_pads), (gst_element_unlink_pads),
11290         (gst_element_unlink_many), (gst_element_unlink),
11291         (gst_pad_can_link_filtered), (gst_pad_can_link),
11292         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
11293         (gst_object_default_error), (gst_bin_add_many),
11294         (gst_bin_remove_many), (gst_element_populate_std_props),
11295         (gst_element_class_install_std_props), (gst_buffer_merge),
11296         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
11297         (link_fold_func), (gst_pad_proxy_setcaps):
11298         * gst/gstutils.h:
11299         * gst/gstvalue.c: (gst_value_deserialize_string):
11300         * gst/parse/grammar.y:
11301         * gst/schedulers/gstbasicscheduler.c:
11302         (gst_basic_scheduler_cothreaded_chain),
11303         (gst_basic_scheduler_chain_recursive_add),
11304         (gst_basic_scheduler_pad_link):
11305         * gst/schedulers/gstoptimalscheduler.c:
11306         (get_group_schedule_function),
11307         (gst_opt_scheduler_state_transition),
11308         (gst_opt_scheduler_add_element), (element_get_reachables_func):
11309         * libs/gst/bytestream/bytestream.c:
11310         * libs/gst/dataprotocol/dataprotocol.c:
11311         (gst_dp_header_from_buffer):
11312         * po/nb.po:
11313         * po/ru.po:
11314         * tests/threadstate/threadstate2.c: (eos):
11315         * tools/gst-compprep.c: (main):
11316         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
11317         (print_pad_info), (print_children_info):
11318         * tools/gst-launch.c: (idle_func), (main):
11319         * tools/gst-md5sum.c: (idle_func), (main):
11320         * tools/gst-xmlinspect.c: (print_element_info):
11321         First THREADED backport attempt, focusing on adding locks and
11322         making sure the API is threadsafe. Needs more work. More docs
11323         follow this week.
11324
11325 2005-02-24  Andy Wingo  <wingo@pobox.com>
11326
11327         * tests/bench-complexity.scm:
11328         * tests/complexity.gnuplot: New files, good for running complexity
11329         benchmarks.
11330
11331         * tests/Makefile.am:
11332         * tests/complexity.c: New test, sets up N elements, at each level
11333         teeing into M streams per element. Eeeenteresting.
11334
11335         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
11336         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
11337         running bench-mass_elements.scm.
11338
11339         * tests/bench-mass_elements.scm: New script, runs mass_elements
11340         for various numbers of identities, outputting the results to a
11341         file. Requires guile 1.6. Just for testing.
11342
11343 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * gst/schedulers/fairscheduler.c:
11346           compile with debug disabled
11347
11348 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11349
11350         * configure.ac:
11351           hunting season on 0.9 is now OPEN