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