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