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