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