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