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