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