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