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