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