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