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