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