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