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