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