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