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