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