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