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