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