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