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