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