]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blob - ChangeLog
gst/gstplugin.h: Cast description string constants in GST_PLUGIN_DEFINE macros to...
[glsdk/gstreamer0-10.git] / ChangeLog
1 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
3         * gst/gstplugin.h:
4           Cast description string constants in GST_PLUGIN_DEFINE macros
5           to a (gchar*) to make C++ code using these macros compile
6           without warning with g++-4.2 (see #462737).  Even if slightly
7           ugly, this seems preferable to putting the description strings
8           into the GLib quark table or making the structure member a
9           const gchar * and doing casts in core code that allocs and
10           frees these strings, or requiring a cast in the C++ code.
12 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14         * gst/gstinfo.h:
15           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
16           to print the entire class/function signature into the log
17           file for C++ code.  This only affects C++ code, for C code
18           everything remains the same.
20 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
22         * gst/gstbin.c: (remove_from_queue):
23         Work around a problem with pipelines containing (semi)loops until a
24         proper, more complicated solution is ready. See #475455.
26 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
28         * gst/gstplugin.c:
29         * gst/gstplugin.h:
30         * gst/gstregistrybinary.c:
31         * gst/gstregistryxml.c:
32           Put more strings into the GLib quark table. No need to keep
33           a hundred-something copies of identical version strings,
34           license strings, package name strings and package origin
35           strings around. 
37 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
39         * docs/manual/advanced-dataaccess.xml:
40           Don't imply that it's okay to unconditionally change
41           buffer data or buffer metadata in a pad probe callback,
42           and a bunch of other comments. Fixes #430031.
44 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
46         * win32/common/gstenumtypes.c:
47         * win32/common/gstenumtypes.h:
48         * win32/common/gstversion.h:
49           Update generated files.
51 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
53         * docs/manual/advanced-autoplugging.xml:
54           Prefix section with broken code with a warning (see #342432).
56 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
58         * docs/manual/appendix-integration.xml:
59         * docs/manual/basics-init.xml:
60           Call g_thread_init() before g_option_context_new() to
61           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
63 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
65         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
66         (gst_base_sink_queue_object_unlocked),
67         (gst_base_sink_queue_object), (gst_base_sink_event),
68         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
69         When we received EOS and are waiting for when to post the EOS message,
70         our state is prerolled and we should not return ASYNC.
71         Reorganize some code paths to implement this behavior.
73         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
74         (gst_sinks_suite):
75         Add unit test to verify above EOS fix.
77 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
79         * plugins/elements/gsttypefindelement.c:
80         (gst_type_find_element_have_type), (gst_type_find_element_init),
81         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
82         Move detecting the input caps of the sinkpad to the setcaps function.
83         This allows us to update the output caps when we receive new input caps
84         instead of always using the first detected caps.
86 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
88         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
89         (gst_base_sink_get_position):
90         Don't try to preroll non-async elements after a flush.
91         Subtract latency form clock times when reporting position.
93 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
95         * gst/gstpad.c: (gst_pad_pause_task):
96         * gst/gstutils.c:
97         Small comment and documentation update.
99 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
101         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
102         (gst_base_src_set_live), (gst_base_src_is_live),
103         (gst_base_src_query_latency), (gst_base_src_perform_seek),
104         (gst_base_src_default_event), (gst_base_src_wait),
105         (gst_base_src_do_sync), (gst_base_src_get_range),
106         (gst_base_src_pad_get_range), (gst_base_src_loop),
107         (gst_base_src_unlock), (gst_base_src_unlock_stop),
108         (gst_base_src_set_flushing), (gst_base_src_set_playing),
109         (gst_base_src_activate_push), (gst_base_src_activate_pull),
110         (gst_base_src_change_state):
111         Rework the locking of basesrc in a similar fashion to basesink. We
112         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
113         us to handle live sources and semi live ones much better.
114         Simplify flushing.
115         Fix unlocking when seeking, shutting down and pausing in live sources.
117 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
119         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
120         Fix compilation again.
122 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
124         * gst/gstelement.c:
125           Use meaningful categories for the logs to clean the default one.
127 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
129         * tests/check/pipelines/cleanup.c:
130           Print message name and not just number.
132 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
134         * docs/design/draft-tagreading.txt:
135           Add some more thoughts.
137 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
139         * tests/check/pipelines/simple-launch-lines.c:
140           Print message name and not just number.
142 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
144         * libs/gst/base/gsttypefindhelper.c:
145           Speedup typefinding. This is work in progress (see #459862).
147 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
149         * gst/gstplugin.c:
150           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
151           Spotted by Josep Torra Valles <josep@fluendo.com>.
153 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
155         * gst/gstclock.h:
156           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
157           field has moved to GstObject.
159 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
161         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
162         (gst_base_src_get_range), (gst_base_src_change_state):
163         Call unlock for live sources so that they can't get stuck in _create and
164         produce a buffer before they are set back to PLAYING.
166 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
168         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
169         (gst_queue_locked_dequeue):
170         Comment the segment-related code... in the PROPER function.
171         See #482147 and my commit from yesterday.
173 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
175         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
176         Also initialize the counter that calculates the first timestamp on a
177         buffer correctly for non-live sources.
179 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
181         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
182         Disable code that's breaking the current-time-level reporting.
183         See #482147
185 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
187         * docs/gst/gstreamer-sections.txt:
188         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
189         as they shouldn't show up. Fixes the docs build.
191 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
192         
193         * gst/gstinfo.h:
194         Add an explicit variable importation needed on VS6 (only for MSC_VER)
195         Define M_PI which is used in files which are including gstinfo.h. 
196         VS6 includes doesn't define it.
197         * win32/common/libgstbase.def:
198         * win32/common/libgstcontroller.def:
199         * win32/common/libgstreamer.def:
200         Add new exported functions and variables.
201         * win32/vs6/libgstcontroller.dsp:
202         * win32/vs6/libgstreamer.dsp:
203         Update the list of files to build.
204         
205 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
207         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
209         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
210         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
211         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
212         Improve debugging. Fixes #480858.
214 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
216         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
218         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
219         First patch of code cleanups, use the macros and right arguments in the
220         macros to signal and lock the queue. See #480858.
222 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
224         * gst/gstbus.c: (poll_func):
225         Improve debugging when dealing with _poll().
227 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
229         * gst/gstregistryxml.c:
230           Fix memory leak I introduced a few days ago.
232 2007-09-26  Michael Smith <msmith@fluendo.com>
234         * gst/gstbuffer.c: (gst_buffer_finalize):
235           Make it once again possible to free GstBuffers in the default
236           build.
237           The poisoning scribbles on parts of the miniobject we need in
238           order to free it.
239           Fixes #480341
241 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
243         * docs/gst/gstreamer-sections.txt:
244         * gst/gsttaglist.c:
245         * gst/gsttaglist.h:
246         API: add GST_TAG_COMPOSER, fixes #459809.
248 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
250         * gst/gstplugin.c:
251         * gst/gstplugin.h:
252         Add the 3-clause BSD license and the MIT/X11 license to the license
253         list. Fixes #479784.
255 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
257         * docs/faq/getting.xml:
258           Add Q+A about different GStreamer versions (#364056).
260 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
262         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
263         (gst_base_sink_event), (gst_base_sink_change_state):
264         Return correct gboolean from query function.
266 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
268         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
269         (gst_base_sink_event), (gst_base_sink_query),
270         (gst_base_sink_change_state):
271         Simplify latency query.
272         When not synchronizing, we can report latency without querying the peer
273         element.
275 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
277         * gst/gstobject.h:
278         * gst/gstvalue.c:
279         Fix small typos in the docs.
281 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
283         * docs/design/draft-latency.txt:
284         * docs/design/draft-push-pull.txt:
285         * docs/design/draft-tagreading.txt:
286         * docs/design/part-MT-refcounting.txt:
287         * docs/design/part-activation.txt:
288         * docs/design/part-block.txt:
289         * docs/design/part-element-source.txt:
290         * docs/design/part-events.txt:
291         * docs/design/part-gstbin.txt:
292         * docs/design/part-gstelement.txt:
293         * docs/design/part-gstobject.txt:
294         * docs/design/part-gstpipeline.txt:
295         * docs/design/part-messages.txt:
296         * docs/design/part-preroll.txt:
297         * docs/design/part-push-pull.txt:
298         * docs/design/part-qos.txt:
299         * docs/design/part-query.txt:
300         * docs/design/part-scheduling.txt:
301         * docs/design/part-seeking.txt:
302         * docs/design/part-segments.txt:
303         * docs/design/part-states.txt:
304         Documentation updates and typo fixes.
306 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
308         * plugins/elements/gstfakesink.c:
309           Add some debug text to error message to indicate that
310           we errored out on request.
312         * tools/gst-launch.c:
313           When the state change to PLAYING fails, check for an
314           error message on the bus and print it.
316 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
318         translated by: Jorge González González <aloriel@gmail.com>
320         * po/LINGUAS:
321         * po/es.po:
322           Added Spanish translation.
324 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
326         * plugins/elements/gstqueue.c: (gst_queue_push_one):
327         Fix printf arguments.
329 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
331         * tests/check/generic/states.c:
332           Improved state change unit test.
334 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
336         * gst/gstbin.h:
337           Move priv to the right place.
339         * gst/gstsystemclock.c:
340           Add FIXME: and improve log.
342         * tests/check/Makefile.am:
343         * tests/examples/manual/Makefile.am:
344           Work with all types of registries.
346 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
348         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
349         Don't unref the event after pushing it. Fixes #478401.
351 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
353         * .cvsignore:
354         * tests/examples/manual/.cvsignore:
355           Ignore registries in any format.
357 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
359         * gst/glib-compat-private.h:
360           Add compatibility macro for g_intern_string() for
361           GLib-2.8 (any reason we can't just bump the
362           requirement to at least 2.10?)
364         * gst/gstpadtemplate.h:
365         * gst/gstelementfactory.c:
366         * gst/gstregistryxml.c:
367         * gst/gstregistrybinary.c:
368           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
369           up the internal code accordingly.  This shouldn't be a problem, since
370           there is no reason external code could ever assume the string in such
371           a structure is dynamically allocated unless it did that itself;  the
372           use of g_strdup() is private to element factories.  The new code also
373           saves some memory by putting pad template name strings into the GLib
374           quark table instead of allocating them dynamically.
375           Declaring this field constant fixes warnings with g++-4.2 when using
376           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
378 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
380         * gst/gstelementfactory.c:
381           Release static caps. Fixes #475723.
383 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
385         * gst/gstinfo.c:
386         * gst/gstinfo.h:
387           Make some internal API take const gchar * instead of just
388           gchar * to avoid compiler warnings with g++-4.2.2 when
389           passing string constants (partially fixes #478092).
391 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
393         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
394         A latency query fails when one of the sinks fail.
396         * gst/gstelement.c: (gst_element_set_base_time):
397         Improve debugging.
399 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
401         * gst/gstbin.c: (gst_bin_continue_func):
402         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
403         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
404         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
406         Fix minor compilation warnings shown with Forte.
408 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
410         * plugins/elements/gstqueue.c: (apply_buffer),
411         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
412         Measure queue level based on the diff between head and tail timestamps
413         even when pushing the first buffer.
415 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
417         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
418         (gst_base_sink_event), (gst_base_sink_change_state):
419         Sinks that don't preroll can always be queried for the latency.
420         Don't post ASYNC start when we are not async.
422 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
424         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
425         (gst_queue_handle_sink_event), (gst_queue_chain),
426         (gst_queue_push_one), (gst_queue_handle_src_query),
427         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
428         * plugins/elements/gstqueue.h:
429         When downstream returns UNEXPECTED from pushing a buffer, don't try to
430         push more buffers but allow pushing of EOS and NEWSEGMENT.
431         Add some more debug info here and there. Fixes #476514.
433 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
435         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
436         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
437         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
438         (gst_base_sink_set_flushing), (gst_base_sink_query),
439         (gst_base_sink_change_state):
440         Latency query is allowed after we are prerolled. Introduce a new flag
441         for this and stop abusing other variables.
443 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
445         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
446         Push OOB events downstream when we get them in send_event. This allows
447         the application to insert events in the pipeline.
448         Add some more comments.
450 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
452         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
453         (do_bin_latency), (gst_bin_change_state_func):
454         * gst/gstpipeline.c: (gst_pipeline_change_state):
455         Move latency query from GstPipeline to GstBin so that we can also
456         use it when async-handling is enabled on bins.
458 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
460         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
461         (gst_base_src_do_sync), (gst_base_src_change_state):
462         Update docs.
463         Clean up the timestamping and syncing code for pseudo live sources.
465 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
467         Patch by: Steve Fink  <sphink gmail com>
469         * docs/manual/appendix-checklist.xml:
470           Mention less -R switch in the section about debug output (#474055).
472 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
474         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
475         Queue can latency to the pipeline up to the configured max size in time.
476         Report this fact in the latency query.
478 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
480         Patch by: Sebastien Moutte <sebastien at moutte dot net>
482         * libs/gst/controller/gstinterpolation.c:
483         * libs/gst/controller/gstlfocontrolsource.c:
484         Use gst_guint64_to_gdouble() when converting from a uint64 or
485         GstClockTime to double to fix the build on win32. Fixes #474371.
487 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
489         * gst/gstbuffer.c: (gst_buffer_finalize):
490         Implement poisoning for GstBuffer if --enable-poisoning is specified.
491         When finalizing a buffer the complete struct is filled with 0xff,
492         thus making a use of the buffer after the final unref impossible.
494 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
496         * tests/check/libs/controller.c: (GST_START_TEST):
497         Use fail_unless_equals_int(a, b) instead of
498         fail_unless_equals (a == b) to get better output on failures.
500 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
502         * tests/check/gst/gsturi.c:
503           Also check for the other file URI variant on win32.
505 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
507         * gst/gsturi.c: (gst_uri_get_location):
508           If there's no hostname, we want to return 'c:/foo/bar.txt'
509           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
511         * tests/check/gst/gsturi.c:
512           Unit test for the above and a few more things.
514 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
516         * docs/design/part-live-source.txt:
517         Add docs on how live sources should timestamp.
519         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
520         Add some more debug info.
521         For subclasses that are live and like to sync, add aditional startup
522         latency to sync time and timestamps so that we timstamp according to the
523         design doc.
525 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
527         * gst/gstbuffer.c:
528           Also do a g_type_class_ref() for the subbuffer type in
529           the init function.
531 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
533         * docs/gst/gstreamer-sections.txt:
534         * gst/gstpad.c: (gst_pad_peer_query):
535         * gst/gstpad.h:
536         Add function to perform a query on the peer of a pad.
537         API: gst_pad_peer_query()
539 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
541         * tests/check/gst/gstsystemclock.c:
542           Cleanup the test a little (use gst-logging and not g_message). Improve
543           test to check if a wait reached the target.
545 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
547         * docs/libs/gstreamer-libs-sections.txt:
548           Add new API to docs and fix the build.
550 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
552         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
553         (gst_base_src_init), (gst_base_src_set_do_timestamp),
554         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
555         (gst_base_src_get_property), (gst_base_src_do_sync):
556         * libs/gst/base/gstbasesrc.h:
557         Add property to make the basesrc timestamp buffers based on the current
558         running time.
559         API: GstBaseSrc::do-timestamp
560         API: gst_base_src_set_do_timestamp()
561         API: gst_base_src_get_do_timestamp()
563 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
565         * docs/random/release:
566           Really make sure translations are up-to-date before
567           a release (#465010).
569 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
571         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
572         Always destroy the timer, also in error cases.
574 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
576         * docs/manual/highlevel-xml.xml:
577         Fix XML example code. Fixes #472714.
579 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
581         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
582         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
583         (gst_base_sink_query):
584         Protect eos and have_preroll with the OBJECT lock so we don't need to
585         take the PREROLL lock when querying the latency. Fixes #473846.
587 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
589         * gst/gstelement.c:
590           Give some log-messages a category.
592 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
594         * gst/gststructure.c:
595         (gst_structure_fixate_field_nearest_fraction):
596         Fix fraction list fixation code. Take the fraction with the smallest
597         difference with the target instead of the first one in the list.
599         * tests/check/gst/gststructure.c: (GST_START_TEST),
600         (gst_structure_suite):
601         Added test to verify correct fraction list fixation behaviour.
603 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
605         * win32/common/libgstreamer.def:
606           Export gst_bus_add_signal_watch too.
608 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
610         * docs/libs/gstreamer-libs-sections.txt:
611         Add new methods to docs.
613         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
614         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
615         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
616         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
617         * libs/gst/base/gstbasesink.h:
618         Add ts-offset property to fine-tune the synchronisation.
619         API: GstBaseSink::ts-offset property
620         API: gst_base_sink_set_ts_offset()
621         API: gst_base_sink_get_ts_offset()
623 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
625         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
626         (gst_base_sink_init), (gst_base_sink_set_sync),
627         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
628         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
629         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
630         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
631         (gst_base_sink_get_property), (gst_base_sink_change_state):
632         * libs/gst/base/gstbasesink.h:
633         Add async property to instruct the sink never to inform the parent about
634         ASYNC state changes, update docs.
635         Check argument with g_return_* for the public functions.
636         API: GstBaseSink::async property
637         API: gst_base_sink_set_async_enabled()
638         API: gst_base_sink_is_async_enabled()
640 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
642         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
643         Improve debugging.
645         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
646         (gst_base_src_default_query), (gst_base_src_wait),
647         (gst_base_src_do_sync), (gst_base_src_change_state):
648         Rearrange some code so that we can add support for measuring the 
649         startup latency.
651 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
653         * docs/random/ensonic/dynlink.txt:
654           More thoughs on this.
656         * plugins/elements/gstcapsfilter.c:
657           Add bugzilla ticket number to FIXME comment.
659 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
661         * docs/design/part-TODO.txt:
662         * docs/design/part-block.txt:
663         Update some docs.
665 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
667         * gst/Makefile.am:
668           Revert patch which uses $(gst_headers) instead of $^ because it
669           breaks make dist.
671 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
673         * tests/check/gst/gstbin.c: (GST_START_TEST):
674           Fix leaks in the new unit test.
676 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
678         * gst/gst.c:
679           Don't use GST_INFO before the debug system is actually initialised
680           (shouldn't do any harm, but won't print anything either, so we can
681           just as well remove it).
683         * gst/gstinfo.h:
684           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
685           compilers that don't support variadic macros (such as MSVC), should
686           check for debug_level <= __gst_debug_min as well, since that's the
687           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
688           inline helper functions. Should improve performance a bit, but also
689           makes sure uses of GST_INFO et.al are ignored if the debugging
690           system isn't initialised yet (instead of printing an assertion
691           failure).
693 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
695         patch by: David Nečas <yeti@physics.muni.cz>
697         * gst/Makefile.am:
698           Replace some non portable makefile constructs.
700 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
702         * common/gtk-doc-plugins.mak:
703           Grrrrr. Don't remove the types file on make clean.
705 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
707         * tools/gst-launch.1.in:
708         Add colorspace to example pipeline. Fixes #458274.
710 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
712         * docs/random/release:
713           The release manager should run 'make download-po' before making a
714           release to make sure translations are up-to-date.
716         * po/LINGUAS:
717         * po/be.po:
718         * po/pl.po:
719         * po/rw.po:
720           Add some new translations.
722 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
724         * tools/gst-launch.c: (event_loop), (main):
725         Don´t try to do any state management when a live pipeline posts
726         buffering messages.
727         Also make the buffering string translatable.
729 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
731         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
732         (bin_handle_async_start), (gst_bin_handle_message_func):
733         Improve debugging.
734         When adding elements, insert messages into the bus of the newly added
735         element and make sure the element is the source of the message. This
736         allows the parent bin to intercept the message and do the
737         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
738         messages to the app (which is not allowed).
739         Update some docs.
741         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
742         Fix testsuite so that is does not work around messages that should not
743         have been posted in the first place.
745 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
747         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
748         (update_degree), (gst_bin_sort_iterator_next):
749         Fix annoying bug in the sorted iterator where a sink that is not really
750         a sink (when it has downstream links) screwed up the iterator.
752         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
753         Unit test to verify the fix.
755 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
757         * gst/gstmessage.h:
758         Add some more docs for the messages.
760         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
761         (gst_base_sink_query):
762         Add some more debugging.
764         * tools/gst-launch.c: (event_loop):
765         When interrupting, don't try to set pipeline to PAUSED twice.
767 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
769         
770         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
771         (bin_handle_async_start), (gst_bin_handle_message_func):
772         Move ASYNC_START message posting to where it belongs, similar to
773         async_done. 
774         Don't post ASYNC_START when we are in error. 
775         Post ASYNC_START when we added an async element to a bin.
777 2007-08-14  Julien MOUTTE  <julien@moutte.net>
779         * gst/gstindex.c: (gst_index_add_association): Fix index entry
780         generation from vargs. Fixes #466595.
782 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
784         * gst/gstbin.c: (gst_bin_element_set_state):
785         Always change the state of a NO_PREROLL element even if it has ASYNC
786         elements inside (in case of a bin).
788         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
789         Unit test for this case.
791 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
793         * libs/gst/check/gstbufferstraw.c:
794         * libs/gst/check/gstcheck.h:
795         * libs/gst/controller/gstcontroller.c:
796         * libs/gst/controller/gstcontrolsource.h:
797         * libs/gst/controller/gstlfocontrolsource.h:
798         * plugins/elements/gstcapsfilter.h:
799         * plugins/elements/gstfdsink.h:
800         * plugins/elements/gstfdsrc.h:
801           Add more missing docs.
803 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
805         * gst/gststructure.c:
806         Add Since tag to docs.
808 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
810         * docs/gst/gstreamer-sections.txt:
811         * gst/gststructure.c: (gst_structure_get_uint):
812         * gst/gststructure.h:
813         Add function to get uint from a structure.
814         API: gst_structure_get_uint()
816 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
818         * gst/gstcaps.c: (gst_caps_set_simple_valist),
819         (gst_caps_intersect):
820         Fix proper check for simple caps.
822 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
824         * docs/gst/Makefile.am:
825         * docs/libs/Makefile.am:
826           Remove cruft and do some cleanups.
828         * docs/gst/gstreamer-docs.sgml:
829         * docs/libs/gstreamer-libs-docs.sgml:
830           Prepare for comming gtkdoc features (rebase against online docs).
832 2007-08-10  Michael Smith <msmith@fluendo.com>
834         * docs/gst/gstreamer-sections.txt:
835           Add gst_registry_add_path to docs.
837 2007-08-10  Michael Smith <msmith@fluendo.com>
839         * gst/gstregistry.h:
840           Add gst_registry_add_path, which was missing from this header.
842 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
844         * libs/gst/controller/gstlfocontrolsource.c:
845           Printf format fix.
847 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
849         * libs/gst/base/gstbasesink.c:
850           Don't send an async_start message during downwards state change if 
851           target state is less than READY
853 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
855         translated by: Gabor Kelemen <kelemeng@gnome.hu>
857         * po/LINGUAS:
858         * po/hu.po:
859           Added Hungarian translation.
861 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
863         * po/fi.po:
864         * po/it.po:
865         * po/nl.po:
866         * po/sv.po:
867         * po/uk.po:
868           Updated translations.
870 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
872         * libs/gst/controller/Makefile.am:
873         Dist gstlfocontrolsourceprivate.h
875 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
877         * docs/libs/gstreamer-libs.types:
878         Don't register the enum type gst_lfo_waveform_get_type() in the
879         .types file - only GObject derived types belong.
881 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
883         Patch by: <arenevier at fdn dot fr>
885         * gst/gstbuffer.h:
886         Remove comma from last element in enum to avoid compile errors when
887         using -pendantic. Fixes #464366.
889 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
891         * docs/design/part-TODO.txt:
892         Add some more TODO items
894         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
895         Improve debugging.
897         * gst/gstcaps.c: (gst_caps_intersect):
898         Optimize trivial intersection case between identical caps pointers.
900         * gst/gstelement.c: (gst_element_continue_state),
901         (gst_element_set_state_func):
902         * gst/gstpad.c:
903         Fix spelling and grammar mistakes.
905 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
907         * po/POTFILES.in:
908         * po/POTFILES.skip:
909           Update POTFILES. Fixes #461599.
911 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
913         * gst/gst.c:
914         Fix confusing typo in debug output.
916 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
918         reviewed by: Stefan Kost <ensonic@users.sf.net>
920         * libs/gst/controller/Makefile.am:
921         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
922         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
923         (gst_lfo_control_source_new),
924         (gst_lfo_control_source_set_waveform),
925         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
926         (gst_lfo_control_source_finalize),
927         (gst_lfo_control_source_dispose),
928         (gst_lfo_control_source_set_property),
929         (gst_lfo_control_source_get_property),
930         (gst_lfo_control_source_class_init):
931         * libs/gst/controller/gstlfocontrolsource.h:
932         * libs/gst/controller/gstlfocontrolsourceprivate.h:
933         API: Add GstLFOControlSource, a control source that gives values
934         for specific timestamps based on several periodic waveforms.
935         Fixes #459717.
937         * tests/check/libs/controller.c: (GST_START_TEST),
938         (gst_controller_suite):
939         * docs/libs/gstreamer-libs-docs.sgml:
940         * docs/libs/gstreamer-libs-sections.txt:
941         * docs/libs/gstreamer-libs.types:
942         Add documentation and unit tests for GstLFOControlSource.
944 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
946         * configure.ac:
947         Back to CVS
949 === release 0.10.14 ===
951 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
953         * configure.ac:
954           releasing 0.10.14, "Breathing Vacuum"
956 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
958         * gst/gstelement.c: (gst_element_class_set_details_simple):
959         * gst/gstelement.h:
960           Make strings passed to gst_element_class_set_details_simple()
961           constant, as they should be (#462752).
963 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
965         * gst/gstbin.c: (gst_bin_change_state_func),
966         (bin_handle_async_done), (gst_bin_handle_message_func):
967         Don't forget about the fact that some element went ASYNC even after a
968         resync. This makes us post the ASYNC_DONE message correctly.
969         Fixes #462558.
971 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
973         * gst/gstregistry.c: (gst_registry_add_feature):
974         When replacing an existing feature in the registry, make sure to
975         continue holding a reference until we've replaced the name string
976         within our feature hash table. Make sure to use g_hash_table_replace
977         instead of g_hash_table_insert to ensure the new name string is used
978         as a key instead of the old one that we're about to free.
979         Fixes: #462085
981 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
983         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
984         (gst_plugin_feature_set_name):
985         Revert patch from #459466 until after the release and we can work
986         out exactly what the problem is (if any).
988 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
990         * docs/gst/gstreamer-sections.txt:
991         * gst/gsttaglist.c:
992         * gst/gsttaglist.h:
993           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
995 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
997         * docs/libs/Makefile.am:
998         Include our build-prefix libs and includes before the generic ones to
999         avoid linking against the installed libs when we want the build-tree
1000         ones.
1002 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1004         Patch by: Steve Fink  <sphink gmail com>
1006         * docs/pwg/building-testapp.xml:
1007           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1008           if people try to build or install the example from the plugin
1009           template against a GStreamer from package using the configure
1010           defaults.
1012 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1014         Patch by: Steve Fink  <sphink gmail com>
1016         * tools/gst-inspect.1.in:
1017           Document --print-all and --print-plugin-auto-install-info command
1018           line options in man page.
1020 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1022         * docs/gst/gstreamer-sections.txt:
1023         Add docs for new api function.
1025 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1027         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1028         * gst/gstelementfactory.h:
1029         API: gst_element_factory_has_interface()
1030         Added method to check if an element factory implements a named
1031         interface.
1033 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1035         * configure.ac:
1036         * docs/gst/gstreamer.types.in:
1037           Another conditional doc check.
1039         * gst/gstmessage.c:
1040         * gst/gstparamspecs.h:
1041         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1042         * gst/gstvalue.c:
1043         * gst/gstxml.h:
1044           API-doc fixes.
1046 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1048         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1049         (gst_registry_binary_load_feature),
1050         (gst_registry_binary_load_plugin),
1051         (gst_registry_binary_read_cache):
1052           Print error just once and with additional info.
1054 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1056         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1057         (helper_find_suggest), (helper_find_get_length),
1058         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1059         (gst_type_find_helper_for_buffer):
1060           Cleanup the typefindhelper code and add private doc comments.
1062 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1064         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1065         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1066         Fix capsfilter for cases where the caps set on capsfilter will provide
1067         additional information.
1068         Fixes #449197
1070 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1072         * gst/gsttypefindfactory.c:
1073           Fix docs that recommened wrong function to use.
1075 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1077         * tools/gst-inspect.c: (print_plugin_features):
1078           Also give media-type for typefinders in element output.
1080 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1082         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1083         (gst_registry_remove_features_for_plugin_unlocked),
1084         (gst_registry_add_feature), (gst_registry_remove_feature),
1085         (gst_registry_lookup_feature_locked):
1086         * gst/gstregistry.h:
1087           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1088           Fixes #459501.
1090 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1092         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1093         (gst_plugin_feature_set_name):
1094           Avoid double memory usage for pluginfeature names. Fixes #459466.
1096 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1098         * gst/gstpad.h:
1099           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1100           driving the pipeline may need to explicitly check for NOT_LINKED as
1101           well, since IS_FATAL doesn't cover that.
1103 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1105         * docs/pwg/advanced-types.xml:
1106           Fix typo and duplicate entry in video formats list.
1108 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1110         * libs/gst/controller/gstinterpolation.c:
1111         Also round to the nearest int when using cubic interpolation.
1113 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1115         * libs/gst/controller/gstinterpolation.c:
1116         When linearly interpolating integer types, round to the nearest int
1117         by adding 0.5. Don't do it for float/double types.
1118         Fixes the failing controller test on my machine, which is somehow
1119         rounding differently than on the buildbots.
1121 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1123         * tools/gst-plot-timeline.py:
1124           Better log parsing (categories can have -). Adjust text vs. lines, so
1125           that they span the same y-range.        
1127 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1129         * docs/random/ensonic/audiobaseclasses.txt:
1130         * docs/random/ensonic/dynlink.txt:
1131         * docs/random/ensonic/profiling.txt:
1132           Save my thoughts.
1134         * docs/random/moving-plugins:
1135           Add note to use g_assert type macros.
1137 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1139         * configure.ac:
1140         * libs/gst/check/Makefile.am:
1141           Add libm check as we use in for plugins.
1143 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1145         * gst/gstbin.c: (gst_bin_continue_func):
1146         Check that the state_cookie hasn't changed since the continue_func
1147         was scheduled. Avoids problems where the state changes back to
1148         something it shouldn't be because it was changed in the meantime.
1150 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1152         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1153         (gst_registry_binary_save_string),
1154         (gst_registry_binary_save_pad_template),
1155         (gst_registry_binary_save_feature),
1156         (gst_registry_binary_save_plugin),
1157         (gst_registry_binary_load_feature),
1158         (gst_registry_binary_load_plugin),
1159         (gst_registry_binary_read_cache):
1160           Fix memory leak. Be less verbose in the log.
1162 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1164         * tests/check/elements/.cvsignore:
1165         Add file to cvsignore as commanded.
1167 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1169         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1170         (mq_dummypad_event), (run_output_order_test):
1171         Use a GStaticMutex to protect all cases where libcheck
1172         fail_if/fail_unless macros might be called from multiple threads
1173         simultaneously to avoid errors like:
1174           "check_pack.c:107: :-1081725400:Bad message type arg"
1176 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1178         * tests/check/pipelines/stress.c: (GST_START_TEST):
1179         Make sure we set the pipeline back to the NULL state before
1180         dropping our final reference.
1182 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1184         * tests/check/elements/tee.c: (GST_START_TEST):
1185         Make the tee stress-test a little less stressful so it doesn't just
1186         time out on slow-machines, and remove a small race when it's starting 
1187         up by adding a get_state() call.
1189 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1191         * gst/gst.c:
1192           Avoid reading registry twice on startup. Fixes #457322.
1194 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1196         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1197         * pkgconfig/gstreamer-check.pc.in:
1198         Substitute the CFLAGS for libcheck into our .pc file too so that
1199         dependent modules will pick it up properly if libcheck is installed
1200         into some other prefix.
1202 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1204         * configure.ac:
1205         Revert the pkg-config check for libcheck, since it pulls in the
1206         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1207         a proper solution, either from the check project, or something else.
1209 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1211         * configure.ac:
1212           Use pkg-config to locate check.
1214 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1216         * gst/gsttaglist.c:
1217           Fix doc syntax.
1219         * gst/gstutils.c:
1220         * gst/gstutils.h:
1221           Add deprecation guards.
1223         * libs/gst/base/gstcollectpads.h:
1224           Don't document object (this is implicitly private).
1226 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1228         * gst/gststructure.c: (gst_structure_parse_value):
1229           When deserialising foo=bar without a type cast, check if it's a
1230           boolean before falling back to a string type, otherwise things like
1231           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1232           because the filtercaps end up having a signed=(string)true field,
1233           which causes problems later when intersection caps.
1235         * tests/check/gst/gststructure.c: (GST_START_TEST):
1236           Add a unit test for this.
1238 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1240         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1242         * libs/gst/controller/Makefile.am:
1243         * libs/gst/controller/gstcontroller.c:
1244         (gst_controlled_property_add_interpolation_control_source),
1245         (gst_controlled_property_new), (gst_controlled_property_free),
1246         (gst_controller_find_controlled_property),
1247         (gst_controller_new_valist), (gst_controller_new_list),
1248         (gst_controller_new), (gst_controller_remove_properties_valist),
1249         (gst_controller_remove_properties_list),
1250         (gst_controller_remove_properties),
1251         (gst_controller_set_property_disabled),
1252         (gst_controller_set_disabled), (gst_controller_set_control_source),
1253         (gst_controller_get_control_source), (gst_controller_get),
1254         (gst_controller_sync_values), (gst_controller_get_value_array),
1255         (_gst_controller_dispose), (gst_controller_get_type),
1256         (gst_controlled_property_set_interpolation_mode),
1257         (gst_controller_set), (gst_controller_set_from_list),
1258         (gst_controller_unset), (gst_controller_unset_all),
1259         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1260         * libs/gst/controller/gstcontroller.h:
1261         * libs/gst/controller/gstcontrollerprivate.h:
1262         * libs/gst/controller/gstcontrolsource.c:
1263         (gst_control_source_class_init), (gst_control_source_init),
1264         (gst_control_source_get_value),
1265         (gst_control_source_get_value_array), (gst_control_source_bind):
1266         * libs/gst/controller/gstcontrolsource.h:
1267         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1268         (gst_object_get_control_source):
1269         * libs/gst/controller/gstinterpolation.c:
1270         (gst_interpolation_control_source_find_control_point_node),
1271         (gst_interpolation_control_source_get_first_value),
1272         (_interpolate_none_get), (interpolate_none_get),
1273         (interpolate_none_get_boolean_value_array),
1274         (interpolate_none_get_enum_value_array),
1275         (interpolate_none_get_string_value_array),
1276         (_interpolate_trigger_get), (interpolate_trigger_get),
1277         (interpolate_trigger_get_boolean_value_array),
1278         (interpolate_trigger_get_enum_value_array),
1279         (interpolate_trigger_get_string_value_array):
1280         * libs/gst/controller/gstinterpolationcontrolsource.c:
1281         (gst_control_point_free), (gst_interpolation_control_source_reset),
1282         (gst_interpolation_control_source_new),
1283         (gst_interpolation_control_source_set_interpolation_mode),
1284         (gst_interpolation_control_source_bind),
1285         (gst_control_point_compare), (gst_control_point_find),
1286         (gst_interpolation_control_source_set_internal),
1287         (gst_interpolation_control_source_set),
1288         (gst_interpolation_control_source_set_from_list),
1289         (gst_interpolation_control_source_unset),
1290         (gst_interpolation_control_source_unset_all),
1291         (gst_interpolation_control_source_get_all),
1292         (gst_interpolation_control_source_get_count),
1293         (gst_interpolation_control_source_init),
1294         (gst_interpolation_control_source_finalize),
1295         (gst_interpolation_control_source_dispose),
1296         (gst_interpolation_control_source_class_init):
1297         * libs/gst/controller/gstinterpolationcontrolsource.h:
1298         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1299         API: Refactor GstController into the core controller which can take
1300         a GstControlSource for providing actual values for timestamps.
1301         Implement a interpolation control source and use this for backward
1302         compatibility, deprecate a bunch of functions that are now handled
1303         by GstControlSource or GstInterpolationControlSource.
1304         Make it possible to disable the controller completely or only for
1305         specific properties. Fixes #450711.
1306         * docs/libs/gstreamer-libs-docs.sgml:
1307         * docs/libs/gstreamer-libs-sections.txt:
1308         * docs/libs/gstreamer-libs.types:
1309         Add new functions and classes to the docs.
1310         * tests/check/libs/controller.c: (GST_START_TEST),
1311         (gst_controller_suite):
1312         * tests/examples/controller/audio-example.c: (main):
1313         Port unit test and example to the new API and add some new
1314         unit tests.
1316 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
1318         Patch by: Mark Nauwelaerts <manauw at skynet be>
1320         * plugins/elements/gstmultiqueue.c:
1321         (gst_multi_queue_get_internal_links), (apply_buffer),
1322         (single_queue_overrun_cb), (gst_single_queue_new):
1323         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1324         the pipeline layout can be tracked correctly. Fixes #453732.
1326 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
1328         * docs/gst/Makefile.am:
1329         * docs/libs/Makefile.am:
1330         * docs/plugins/Makefile.am:
1331           Simplify --extra-dir as gtkdoc scans recursively.
1333 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1335         * tools/gst-launch.c: (main):
1336         When we got an error, there is no point in waiting for preroll when
1337         shutting down.
1339 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1341         * plugins/elements/gsttee.c: (gst_tee_base_init),
1342         (gst_tee_request_new_pad), (gst_tee_release_pad),
1343         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1344         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1345         (gst_tee_chain):
1346         Be a lot smarter when deciding what srcpad to use for proxying
1347         the buffer_alloc. Also handle pad added/removed when doing so.
1348         Fixes #357959.
1349         Keep track of what pads we already pushed on in case we have pads
1350         added/removed while pushing. Fixes #374639 
1352         * tests/check/Makefile.am:
1353         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1354         (tee_suite):
1355         Added unit test for pad resync.
1357 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1359         * po/nl.po:
1360         * po/sv.po:
1361           Updated translations.
1363 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1365         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1367         * po/LINGUAS:
1368         * po/fi.po:
1369           Added new Finnish translation.
1371 2007-06-28  Wim Taymans  <wim@fluendo.com>
1373         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1374         (single_queue_overrun_cb):
1375         When figuring out when a queue is filled, use our internal time estimate
1376         based on segments, just like check_full does.
1378 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1380         * gst/gstminiobject.c: (gst_mini_object_get_type):
1381           Remove 3 do-nothing methods.
1383 2007-06-27  Wim Taymans  <wim@fluendo.com>
1385         Patch by: Tim Angus <tim at ngus dot net>
1387         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1388         (gst_capsfilter_set_property):
1389         Take a reference instead of a copy when setting "caps".
1390         Fix documentation to clarify this behaviour. Fixes #449414.
1392 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1394         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1395         * gst/gstplugin.c: (gst_plugin_init):
1396         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1397         * gst/gstquery.c: (gst_query_get_type):
1398         * gst/gstregistry.c: (gst_registry_init):
1399         * gst/gsturi.c: (gst_uri_handler_base_init):
1400           Remove empty instance_init() functions to save relocs and lessen the
1401           noise. Remove some of the function prototypes that are doubled by
1402           G_DEFINE_TYPE.
1403           
1404 2007-06-27  Wim Taymans  <wim@fluendo.com>
1406         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1408         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1409         Add peer and direction in the XML serialisation of ghostpads.
1410         Fixes #449226.
1412 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1414         * configure.ac:
1415           Preserve useful information, thanks Tim.
1417 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
1419         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1420         (gst_single_queue_flush), (apply_segment), (apply_buffer),
1421         (gst_single_queue_push_one), (gst_multi_queue_loop),
1422         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1423         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1424         (compute_high_id), (gst_single_queue_new):
1425         * plugins/elements/gstmultiqueue.h:
1426         Take the multiqueue lock when updating the fill level so we don't get
1427         confused. 
1429         After applying a buffer or event on the src pad segment, make sure to
1430         call gst_data_queue_limits_changed() to get the data queue to unblock
1431         and check the filled state again.
1432         
1433         Rework the not-linked pad handling so the logic is that not-linked 
1434         pads can push as fast as they like, but only so they never get 
1435         ahead of any linked pads.
1437         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1438         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1439         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1441         Add a test to check that not-linked pads always stay behind
1442         linked pads.
1444         Fixes: #430682
1446 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
1448         * docs/random/release:
1449           Some updates to the release procedure.
1451 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1453         * gst/gstelementfactory.c: (__gst_element_details_clear):
1454           Microoptimization that saves stunning 80 bytes.
1456 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
1458         * docs/plugins/gstreamer-plugins.args:
1459         * docs/plugins/inspect/plugin-coreelements.xml:
1460         * docs/plugins/inspect/plugin-coreindexers.xml:
1461           Update docs with caps info.
1463 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1465         * po/it.po:
1466           Updated Italian translation.
1468 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1470         * ChangeLog:
1471         * po/vi.po:
1472           Update Vietnamese translations.
1474 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1476         * libs/gst/base/gstbasesink.c:
1477           Remove unused signal enum.
1479 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1481         * docs/gst/gstreamer-sections.txt:
1482         * gst/gstelement.c:
1483         * gst/gstutils.c: (gst_type_register_static_full):
1484         Beef up and include the docs for gst_type_register_static_full and
1485         gst_element_class_set_details_simple and add the API keyword
1486         in the ChangeLog.
1488 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1490         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1491         (update_time_level), (gst_single_queue_push_one),
1492         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1493         (single_queue_overrun_cb), (single_queue_underrun_cb),
1494         (single_queue_check_full):
1495         Fix setting max-* properties after adding queues.
1496         Use IS_FILLED for checking visible items.
1497         Signal overrun if multiple queues overrun.
1498         Add extra debug output.
1499         Patch by: Wim Taymans <wim@fluendo.com>
1501 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
1503         * gst/gstelement.c: (gst_element_class_set_details_simple):
1504         * gst/gstelement.h:
1505         * gst/gstutils.c: (gst_type_register_static_full):
1506         * gst/gstutils.h:
1507         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1508         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1509         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1510         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1511         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1512         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1513         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1514         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1515         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1516         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1517         (apply_buffer), (gst_queue_chain):
1518         * plugins/elements/gsttee.c: (gst_tee_base_init):
1519         * plugins/elements/gsttypefindelement.c:
1520         (gst_type_find_element_base_init),
1521         (gst_type_find_element_class_init):
1522           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1523           API: add gst_type_register_static_full
1524           API: add gst_element_class_set_details_simple
1526 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1528         * docs/pwg/advanced-types.xml:
1529           Fix typo in iana.org URI.
1531 2007-06-19  Andy Wingo  <wingo@pobox.com>
1533         * tests/check/pipelines/simple-launch-lines.c
1534         (test_state_change_returns): Enable pull-mode tests now that
1535         basesink has been fixed.
1537         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1538         Changed from gst_base_sink_is_prerolled, reversing the sense of
1539         the return value. Returns FALSE also if the sink is in pull mode,
1540         in which case it needs no preroll.
1541         (gst_base_sink_query, gst_base_sink_change_state): Update for
1542         needs_preroll change.
1543         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1544         chaining up, in which we return SUCCESS directly if we activated
1545         in pull mode instead of ASYNC. Involves countering an async_start
1546         message sent before chaining up; not sure if this is correct, in
1547         an ideal world we only send async-start when activating in push
1548         mode.
1550         * tests/check/pipelines/simple-launch-lines.c
1551         (test_state_change_returns): New test, partially disabled until
1552         basesink is fixed.
1554 2007-06-19  Wim Taymans  <wim@fluendo.com>
1556         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1557         (gst_multi_queue_sink_event):
1558         Fix event leak.
1560 2007-06-19  Wim Taymans  <wim@fluendo.com>
1562         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1563         (gst_bin_change_state_func), (bin_push_state_continue),
1564         (bin_handle_async_start), (bin_handle_async_done),
1565         (gst_bin_handle_message_func):
1566         Move the common code for posting state-change messages into
1567         one function.
1568         Broadcast the state signal after we posted the messages.
1569         Mark the bin as busy when it's doing a state-change.
1570         Make sure async-start/done messages don't interfere with the bin's
1571         state when it's busy.
1572         After the state change, let the bin check which elements completed the
1573         state change while it was busy so that it can update its state.
1575 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
1577         * docs/random/release:
1578         Add a note about updating the doap file to the release checklist
1580 2007-06-18  Wim Taymans  <wim@fluendo.com>
1582         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1583         (gst_single_queue_push_one), (gst_multi_queue_chain),
1584         (gst_multi_queue_sink_event):
1585         Make sure we don't reference the buffer/event after we have given away
1586         ownership in the queue.
1588 2007-06-18  Wim Taymans  <wim@fluendo.com>
1590         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1591         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
1592         Update queue state _after_ adding the item in the queue because else we
1593         could end up being full without the element added yet.
1595 2007-06-18  Wim Taymans  <wim@fluendo.com>
1597         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1598         (gst_bin_remove_func), (gst_bin_get_state_func),
1599         (gst_bin_element_set_state), (gst_bin_continue_func),
1600         (bin_push_state_continue), (bin_handle_async_start),
1601         (bin_handle_async_done), (gst_bin_handle_message_func):
1602         * gst/gstbin.h:
1603         Immediatly commit the toplevel bin state when receiving an async-done
1604         message. This enables us to avoid spawning a thread to commit the state
1605         in some common cases and it also avoids some races.
1606         Avoid spawning a state thread when adding/removing async elements to a
1607         toplevel bin. Instead we immediatly update the bin state.
1608         Get rid of iterating all the children when getting the state in the bin
1609         because it is now always up-to-date.
1610         Fix bug where locked elements would always return _SUCCESS even it they
1611         returned NO_PREROLL before being locked.
1612         Fix the order of the state_change, async-start/done messages that was
1613         sometimes incorrect.
1614         Mark the state_dirty field as deprecated, we don't need it anymore as we
1615         are always up-to-date.
1617         * gst/gstelement.c: (gst_element_get_state_func),
1618         (gst_element_continue_state):
1619         Small debug inprovements.
1620         Return the previous element state return when nothing is pending instead
1621         of blindly returning SUCCESS.
1623         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
1624         (gst_sinks_suite):
1625         Add a whole bunch of new testcases.
1627 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1629         * po/uk.po:
1630         * po/vi.po:
1631           Update translations.
1633 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
1635         * gst/gstpad.c:
1636         Fix typo in the docs.
1638 2007-06-15  Wim Taymans  <wim@fluendo.com>
1640         * docs/libs/gstreamer-libs-sections.txt:
1641         Add docs for new methods.
1643 2007-06-15  Wim Taymans  <wim@fluendo.com>
1645         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
1646         (gst_multi_queue_item_new):
1647         Don't use GSlice because we don't depend on >= 2.10 yet.
1649 2007-06-15  Wim Taymans  <wim@fluendo.com>
1651         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1652         (update_time_level), (apply_segment), (apply_buffer),
1653         (gst_single_queue_push_one), (gst_multi_queue_item_new),
1654         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
1655         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
1656         (single_queue_underrun_cb), (single_queue_check_full):
1657         Remove debug printf.
1659 2007-06-15  Wim Taymans  <wim@fluendo.com>
1661         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
1662         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
1663         (gst_data_queue_set_flushing), (gst_data_queue_push),
1664         (gst_data_queue_pop), (gst_data_queue_drop_head),
1665         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
1666         * libs/gst/base/gstdataqueue.h:
1667         Various cleanups.
1668         Added methods to get the current levels and to inform the queue that the
1669         'full' limits changed.
1671         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1672         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1673         (gst_single_queue_flush), (update_time_level), (apply_segment),
1674         (apply_buffer), (gst_single_queue_push_one),
1675         (gst_multi_queue_item_steal_object),
1676         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1677         (gst_multi_queue_loop), (gst_multi_queue_chain),
1678         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1679         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
1680         (gst_multi_queue_src_query), (single_queue_overrun_cb),
1681         (single_queue_underrun_cb), (single_queue_check_full),
1682         (gst_single_queue_new):
1683         Keep track of time in the queue by measuring the difference between
1684         running_time on input and output. This gives more accurate results and
1685         can compensate for segments correctly.
1686         Make a queue by default only 5 buffers deep. We will now increase the
1687         buffer size depending on the filledness of the other queues.
1688         Factor out commong flush code.
1689         Make sure we don't add additional refcounts to buffers when we can avoid
1690         it.
1691         Propagate GstFlowReturn differently.
1692         Use GSlice for intermediate GstMultiQueueItems.
1693         Keep track of EOS.
1694         Resize queues on over and underruns based on filled level of other
1695         queues.
1696         When checking if the queue is filled, prefer to measure in time if we
1697         can and fall back to bytes when no time is known.
1699         * plugins/elements/gstqueue.c:
1700         Fix return value.
1702 2007-06-15  Wim Taymans  <wim@fluendo.com>
1704         * libs/gst/base/gstbasetransform.c:
1705         (gst_base_transform_sink_event):
1706         Work around the brokenness of the event vmethod in basetransform. Prefer
1707         to return TRUE when the subclass returned FALSE (meaning don't forward
1708         the event). 
1710         * libs/gst/base/gstbasetransform.h:
1711         Clarify the docs.
1713 2007-06-15  Wim Taymans  <wim@fluendo.com>
1715         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
1716         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1717         (gst_base_src_default_query), (gst_base_src_get_range),
1718         (gst_base_src_start):
1719         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
1720         Improve debugging.
1722 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1724         * docs/pwg/advanced-types.xml:
1725           Added more formats to caps table.
1727 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1729         * tools/gst-launch.c: (main):
1730           Remove crufy code. GOption does not need this workaround.
1732 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1734         * libs/gst/controller/gstcontroller.c:
1735         (gst_controlled_property_set_interpolation_mode):
1736           Fix wrong getter for enums in controller.
1738 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1740         * libs/gst/check/gstcheck.c: (gst_check_init):
1741           Intercept criticals and warnings in the Gst-Phonon log domain, so
1742           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
1743           well.
1744         
1745 2007-06-14  Edward Hervey  <edward@fluendo.com>
1747         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
1748         Since this file doesn't include "gst.h" it will not go through the
1749         macros that disable GST_LOG if debugging was disabled.
1751 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1753         * libs/gst/check/Makefile.am:
1754         * libs/gst/check/gstcheck.h:
1755         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1756         * pkgconfig/gstreamer-check.pc.in:
1757           Ugly 'fix' for the controller unit test on the p5 bot: in
1758           fail_unless_equals_float() check whether the values are 'almost
1759           equal' by allowing a small absolute error, which should be good
1760           enough for our use cases (normal numbers and values close to 0).
1761           Proper fixage left to floating point arithmetic aficionados.
1763 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1765         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
1766         (gst_base_sink_render_object), (gst_base_sink_get_position):
1767           Add two breaks thats where missing.
1769 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1771         * docs/libs/gstreamer-libs-sections.txt:
1772         * libs/gst/check/gstcheck.h:
1773           API: add fail_unless_equals_float() and assert_equals_float().
1774           Add documentation for some of the macros.
1776         * tests/check/libs/controller.c: (GST_START_TEST):
1777           Use newly-added asserts.
1779 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1781         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
1782           Show the caps change in the log to help spotting the case of not
1783           exactly matching caps.
1785 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1787         * docs/pwg/building-boiler.xml:
1788           Fix typos, spotted by Thijs Vermeir (#447190).
1790 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
1792         * docs/plugins/tmpl/.cvsignore:
1793         Ignore file to keep the buildbots happy
1795 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
1797         * docs/plugins/Makefile.am:
1798         * docs/plugins/gstreamer-plugins-docs.sgml:
1799         * docs/plugins/gstreamer-plugins-sections.txt:
1800         Pull fdsink into the docs too.
1802 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
1804         * libs/gst/controller/gstinterpolation.c:
1805         Actually use the new functions with min/max checks for the trigger and
1806         none interpolation modes for get() and get_value_array() instead of
1807         just the latter.
1809 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
1811         * libs/gst/controller/gstcontroller.c:
1812         (gst_controlled_property_free):
1813         Unset the minimum and maximum GValues when freeing the corresponding
1814         GstControllerProperty struct.
1816 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
1818         * libs/gst/controller/gstcontroller.c:
1819         (gst_controlled_property_new):
1820         * libs/gst/controller/gstcontrollerprivate.h:
1821         * libs/gst/controller/gstinterpolation.c:
1822         (gst_controlled_property_find_control_point_node),
1823         (interpolate_none_get), (interpolate_none_get_enum_value_array),
1824         (interpolate_none_get_string_value_array),
1825         (interpolate_trigger_get),
1826         (interpolate_trigger_get_enum_value_array),
1827         (interpolate_trigger_get_string_value_array):
1828         Protect against values larger or smaller than the minimum or maximum
1829         allowed value for the property when using values that can be compared.
1831         Optimize trigger interpolator a bit by taking the last requested value
1832         into account instead of always looping through the complete list.
1834         Fix coding style a bit, everywhere else we use "return foo" instead
1835         of "return (foo)".
1836         
1837         * tests/check/libs/controller.c: (GST_START_TEST),
1838         (gst_controller_suite):
1839         Add unit test for the protection against too large or too small
1840         values.
1842 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
1844         * docs/random/slomo/controller.txt:
1845         Add some thoughts about the future of the controller.
1847 2007-06-08  Wim Taymans  <wim@fluendo.com>
1849         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1850         Don't overflow in retimestamping code.
1852 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
1854         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
1855         Use gst_util_guint64_to_gdouble for conversions.
1856         * win32/common/libgstreamer.def:
1857         Add new exported functions.
1859 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
1861         * gst/gstutils.c:
1862           Small docs addition.
1864 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1866         * README:
1867           Remove that test line again.
1869 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1871         * README:
1872           Test commit mail sending.
1874 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1876         * configure.ac:
1877           Fix typo and test commit mail sending.
1879 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1881         * tests/examples/controller/audio-example.c:
1882           Improve comment and test commit mail sending.
1884 2007-06-07  Wim Taymans  <wim@fluendo.com>
1886         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
1887         (gst_bin_remove_func), (gst_bin_element_set_state),
1888         (bin_handle_async_start), (bin_handle_async_done),
1889         (gst_bin_handle_message_func):
1890         Add helper function to find messages.
1891         Generate the async-done messages together with the state change
1892         messages.
1893         Small cleanups in handling toplevel bins.
1895 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1897         * libs/gst/base/gstdataqueue.c:
1898         * libs/gst/base/gstdataqueue.h:
1899         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
1900         (gst_multi_queue_item_new), (gst_multi_queue_chain),
1901         (gst_multi_queue_sink_event):
1902         * tests/check/elements/multiqueue.c: (multiqueue_suite):
1903           Fix multiqueue leaking buffers and events when downstream or the
1904           queue are flushing. Make refcounting assumptions explicit and
1905           document them (shouldn't break existing code that uses it other than
1906           maybe leak miniobjects, but that already happens anyway). Add unit
1907           test for the most common flushing case. Fixes #423700.
1908           
1909 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
1911         * libs/gst/controller/gstcontroller.c:
1912         Clarify docs: The get_all, get_value_array(s) functions
1913         don't modify the GObject properties.
1915 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
1917         * libs/gst/controller/gstcontroller.c:
1918         (gst_controlled_property_set_interpolation_mode),
1919         (gst_controlled_property_prepend_default),
1920         (gst_controlled_property_new), (gst_controller_set_unlocked),
1921         (gst_controller_set), (gst_controller_set_from_list),
1922         (gst_controller_unset), (gst_controller_unset_all):
1923         * libs/gst/controller/gstcontrollerprivate.h:
1924         * libs/gst/controller/gstinterpolation.c:
1925         Factor out the 'set' logic into gst_controller_set_unlocked for the
1926         gst_controller_set and gst_controller_set_from_list functions.
1928         To make life of the interpolators easier always add a control point
1929         at timestamp zero with the default value.
1931         In the linear interpolator make things more obvious by better variable
1932         naming (slope).
1934         Implement cubic interpolation mode (by using a natural cubic spline)
1935         and map the quadratic interpolation mode to this too (as quadratic
1936         doesn't make much sense, see discussion on the list).
1938         * tests/check/libs/controller.c: (GST_START_TEST),
1939         (gst_controller_suite):
1940         Add unit test for the cubic interpolation mode and check everywhere
1941         if the interpolation mode could be set as expected.
1943 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1945         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
1946           Don't use GLib-2.10 functions, we still depend on
1947           GLib-how-old-is-it-again-2.8.
1949 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1951         * docs/gst/gstreamer-sections.txt:
1952         * gst/Makefile.am:
1953         * gst/gst.c:
1954         * gst/gst.h:
1955         * gst/gstparamspecs.c: (_gst_param_fraction_init),
1956         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
1957         (_gst_param_fraction_values_cmp),
1958         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
1959         * gst/gstparamspecs.h:
1960         * gst/gstvalue.c:
1961         * tests/check/Makefile.am:
1962         * tests/check/gst/.cvsignore:
1963         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
1964         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
1965         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
1966         (GST_START_TEST), (gst_param_spec_suite):
1967           API: add GstParamSpecFraction, so elements can have fraction
1968           properties without lots of painful string parsing (#444648).
1970 2007-06-05  Wim Taymans  <wim@fluendo.com>
1972         * gst/gstobject.c: (gst_object_class_init):
1973         Fix signal signature.
1975         * gst/gstsegment.c:
1976         Add small clarification in the api docs.
1978         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
1979         States are protected with object lock.
1981 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
1983         * AUTHORS:
1984         I should probably be listed as an author by now.
1986         * docs/random/release:
1987         Update the release doc
1989 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
1991         * gst/gstvalue.c:
1992           Make docs for gst_value_compare() mention return enums that
1993           actually exist.
1995 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
1997         * configure.ac:
1998           Back to CVS
2000 === release 0.10.13 ===
2002 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2004         * configure.ac:
2005           releasing 0.10.13, "With or without you"
2007 2007-05-25  Wim Taymans  <wim@fluendo.com>
2009         * gst/gstbin.c: (bin_handle_async_done):
2010         Make sure that the child bin stops after completing the async state
2011         change so that the parent can continue the state change to PLAYING.
2012         Fixes #441159.
2014 2007-05-25  Wim Taymans  <wim@fluendo.com>
2016         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2017         (unref_data), (gst_collect_pads_remove_pad),
2018         (gst_collect_pads_check_pads):
2019         Use additional refcounting to avoid crashes when dynamically adding and
2020         removing pads. Fixes #420206.
2022 2007-05-24  Wim Taymans  <wim@fluendo.com>
2024         * tools/gst-launch.c: (event_loop):
2025         When buffering goes from a two digit to a single digit number, make sure
2026         to remove the old second digit by writing a blank over it.
2028 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2030         * libs/gst/base/gstdataqueue.c:
2031           Eliminate tabs and trailing comma in enum list; fix some typos.
2033 2007-05-24  Wim Taymans  <wim@fluendo.com>
2035         * tests/check/gst/gstbin.c: (GST_START_TEST):
2036         Allow refcount of 3 and 4 because some state thread might still be busy
2037         with it.
2039 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2041         * plugins/elements/Makefile.am:
2042         * plugins/elements/gstmultiqueue.h:
2043         * plugins/elements/gstqueue.h:
2044           These are not installed headers, no need for padding.
2046 2007-05-24  Wim Taymans  <wim@fluendo.com>
2048         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2049         (gst_bin_continue_func):
2050         Enable latency for next release.
2051         Restore STATE_LOCK around recalc_state that was left out during the
2052         rewrite and could result in racy behaviour when _get_state and
2053         recalc_state are run concurrently. See #440463.
2055 2007-05-23  Wim Taymans  <wim@fluendo.com>
2057         * tests/check/gst/gstsystemclock.c: (store_callback),
2058         (GST_START_TEST):
2059         Improve test_async_order to also work when both timers are already
2060         expired when we get scheduled to check it.
2062 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2064         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2065         (gst_bin_set_property), (gst_bin_get_property),
2066         (gst_bin_remove_func), (gst_bin_handle_message_func):
2067         * gst/gstbin.h:
2068           'private' is a c++ keyword, let's not use that in header files,
2069           otherwise c++ compilers will throw a tantrum.
2071 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2073         * plugins/elements/gstelements.c:
2074         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2075         (gst_file_sink_get_current_offset):
2076         * plugins/indexers/gstindexers.c: (plugin_init):
2077           Use #ifdef for HAVE_XYZ for consistency.
2079         * tests/check/Makefile.am:
2080         * tests/check/elements/.cvsignore:
2081         * tests/check/elements/filesink.c: (setup_filesink),
2082         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2083           Add some unit tests for filesink.
2085 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2087         Patch by: Mark Nauwelaerts <manauw at skynet be>
2089         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2090         (gst_file_sink_query), (gst_file_sink_do_seek),
2091         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2092         * plugins/elements/gstfilesink.h:
2093           Fix position reporting; rename data_written member to current_pos to
2094           reflect its real meaning (fixes #412648).
2096 2007-05-22  Edward Hervey  <edward@fluendo.com>
2098         * docs/gst/gstreamer-sections.txt:
2099         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2100         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2101         (gst_bin_remove_func), (gst_bin_handle_message_func):
2102         * gst/gstbin.h:
2103         Add a property for bins that handle the state change of their childs.
2104         Fixes #435880
2106 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2108         * libs/gst/controller/gstinterpolation.c:
2109         Use an array of the correct type when using _get_value_array with
2110         linear interpolation.
2112 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2114         * gst/gstelement.c (gst_element_requires_clock,
2115           gst_element_provides_clock, gst_element_request_pad,
2116           gst_element_class_set_details, gst_element_class_set_details_simple,
2117           gst_element_default_send_event, gst_element_abort_state,
2118           gst_element_continue_state, gst_element_set_state,
2119           gst_element_set_state_func, iterator_activate_fold_with_resync):
2120         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2121           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2122           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2123           gst_pad_get_range, gst_pad_pull_range):
2124         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2125           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2126           GstPadActivateModeFunction, GstPadChainFunction,
2127           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2128           GstPadFixateCapsFunction, GstPadTemplate):
2129         * gst/gstpipeline.c (gst_pipeline_change_state,
2130           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2131           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2132           gst_pipeline_get_delay):
2133           Whitespace and docs fixes.
2135 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2137         * libs/gst/controller/gstinterpolation.c:
2138         (interpolate_trigger_get_enum_value_array),
2139         (interpolate_trigger_get_string_value_array):
2140         Add support for retrieving value arrays when using the trigger
2141         interpolation mode. 
2143 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2145         * libs/gst/controller/gstcontroller.c:
2146         (gst_controller_get_value_array):
2147         * libs/gst/controller/gstcontroller.h:
2148         Clarify the docs of gst_controller_get_value_array(): The array where
2149         the values should be written to must be allocated as there seems to be
2150         no way to get the size of a random GType. This doesn't change any
2151         behaviour. Also fix some typos all over the place and remove an unused,
2152         commented function that is not necessary as g_object_set() could be
2153         used instead.
2154         * tests/check/libs/controller.c: (GST_START_TEST),
2155         (gst_controller_suite):
2156         Add unit test for gst_controller_get_value_array().
2158 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2160         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2162         Disable part of the gst_buffer_try_new_and_alloc test, because
2163         it can happily succeed on 64-bit systems where there's more address
2164         space available.
2166 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2168         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2169         Add unit test for the improved caps checking from bug #421543.
2171 2007-05-21  Wim Taymans  <wim@fluendo.com>
2173         * docs/design/part-synchronisation.txt:
2174         Small addition.
2176         * gst/gstbin.c: (gst_bin_query):
2177         * plugins/elements/gstqueue.c: (apply_segment):
2178         Improve debugging.
2180         * gst/gstmessage.h:
2181         Improve docs.
2183 2007-05-21  Wim Taymans  <wim@fluendo.com>
2185         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2186         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2187         (gst_pad_configure_src):
2188         Added simple version of improved caps checking. It was previously
2189         assumed that a setcaps function would check the validity of the caps but
2190         people prefer us to check caps against the template automatically. 
2191         Fixes #421543.
2193 2007-05-21  Wim Taymans  <wim@fluendo.com>
2195         * libs/gst/base/gstbasetransform.h:
2196         Fix macro for locking/unlocking the transform lock.
2198 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2200         * docs/plugins/tmpl/.cvsignore:
2201           Ignore more.
2203 2007-05-18  Edward Hervey  <edward@fluendo.com>
2205         * plugins/elements/gstqueue.c: (gst_queue_loop):
2206         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2207         for the subtle art of warning a potentially blocking thread that it
2208         should check the source pad return value, and relay the information
2209         upstream.
2211 2007-05-18  Edward Hervey  <edward@fluendo.com>
2213         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2214         Release the queue lock !
2216 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2218         * docs/libs/gstreamer-libs-sections.txt:
2219         Add the two new controller functions to the appropiate places.
2221 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2223         reviewed by: Stefan Kost <ensonic@users.sf.net>
2225         * libs/gst/controller/gstcontroller.c:
2226         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2227         (_gst_controller_get_property), (_gst_controller_set_property),
2228         (_gst_controller_init), (_gst_controller_class_init):
2229         * libs/gst/controller/gstcontroller.h:
2230         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2231         (gst_object_get_control_rate), (gst_object_set_control_rate):
2232         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2233         Add API that provides sync suggestion timestamps for elements that
2234         call gst_object_sync_values() from which those elements can subdivide
2235         their processing loop to get the best results for the controlled
2236         properties. For now it just suggests last_sync + control_rate as
2237         new timestamp but this will be improved in the future.
2239         While doing that change the control-rate property to a GstClockTime
2240         from guint and change it's meaning from samples to nanoseconds as
2241         the GstController doesn't know anything about sampling rate. Strictly
2242         speaking this breaks ABI but as the control-rate property didn't do
2243         anything in the past and as such couldn't be used this should be no
2244         problem.        
2246 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2248         reviewed by: Stefan Kost <ensonic@users.sf.net>
2250         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2251         (gst_controller_unset_all):
2252         * libs/gst/controller/gstcontrollerprivate.h:
2253         * libs/gst/controller/gstinterpolation.c:
2254         (gst_controlled_property_find_control_point_node):
2255         Save last synced value from the list to continue searching from there
2256         in future syncs. This speeds everything up a bit.
2257         
2258 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2260         reviewed by: Stefan Kost <ensonic@users.sf.net>
2262         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2263         (gst_control_point_find), (gst_controlled_property_new),
2264         (gst_control_point_free), (gst_controlled_property_free),
2265         (gst_controller_set), (gst_controller_set_from_list),
2266         (gst_controller_unset), (gst_controller_unset_all),
2267         (gst_controller_sync_values):
2268         * libs/gst/controller/gstcontroller.h:
2269         * libs/gst/controller/gstcontrollerprivate.h:
2270         * libs/gst/controller/gstinterpolation.c:
2271         (gst_controlled_property_find_control_point_node),
2272         (interpolate_none_get), (interpolate_trigger_get):
2273         Add a new private GstControlPoint struct which "inherits" from
2274         GstTimedValue to allow different interpolators to store internal
2275         values next to each control point. From the outside everything is
2276         still a GstControlPoint so we don't loose binary compatibility.
2277         Also fixup all the GValue handling to not leak GValues or list nodes.
2278         * tests/check/libs/controller.c: (GST_START_TEST):
2279         Free the list nodes and GValues in the controller_misc test.
2281 2007-05-17  Edward Hervey  <edward@fluendo.com>
2283         * gst/gstsegment.c:
2284         Small doc fix.
2286 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2288         * gst/gstplugin.c: (gst_plugin_load_file):
2289           If we fail to load a plugin because of unresolved symbols or missing
2290           libraries and spew a warning to stderr, we may just as well mention
2291           which plugin it was that failed to load.
2293 2007-05-13  David Schleef  <ds@schleef.org>
2295         * docs/Makefile.am: the gtk-doc makefile snippet correctly
2296           handles the case when ENABLE_GTK_DOC is false, and installs
2297           the prebuilt documentation.  So gtk-doc subdirs are 
2298           unconditionally enabled.  Fixes: #349099.
2300 2007-05-13  David Schleef  <ds@schleef.org>
2302         * gst/gstutils.h: Reword some documentation.
2304 2007-05-12  David Schleef  <ds@schleef.org>
2306         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2307           do anything with the passed "module" parameter, so remove it.
2308           Allows removal of additional vestigal code.
2310 2007-05-12  David Schleef  <ds@schleef.org>
2312         * gst/gstplugin.c:
2313           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2314           Switch to using g_stat() because it's more portable.
2316 2007-05-12  David Schleef  <ds@schleef.org>
2318         * gst/gst.c:
2319           Add GST_DISABLE_OPTION_PARSING, in order to disable option
2320           parsing for embedded systems.
2321         * gst/gstelementfactory.c:
2322           Allow gst_element_register() to be called with plugin==NULL.
2323           Did nobody notice that static elements were broken?
2325 2007-05-12  Wim Taymans  <wim@fluendo.com>
2327         * tools/gst-launch.c: (event_loop):
2328         Give more interesting info when buffering starts and stops.
2329         Fix case where buffering starts but we fail to update the buffering flag
2330         because the target state is not PLAYING.
2332 2007-05-12  Wim Taymans  <wim@fluendo.com>
2334         * plugins/elements/gstqueue.c: (gst_queue_init),
2335         (gst_queue_finalize), (update_time_level), (apply_segment),
2336         (apply_buffer), (gst_queue_locked_flush),
2337         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2338         (gst_queue_handle_sink_event), (gst_queue_chain),
2339         (gst_queue_push_one), (gst_queue_loop):
2340         * plugins/elements/gstqueue.h:
2341         Refactor an cleanup queue a bit.
2342         Do better time level calculations that also work when the srcpad is not
2343         yet running.
2344         Remove some unneeded debug lines.
2346         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2347         Added testcase for time level measurement.
2348         Try to make some stuff more racefree.
2350 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2352         * gst/gsturi.c: (gst_element_make_from_uri):
2353           Don't leak plugin feature.
2355         * tests/check/Makefile.am:
2356         * tests/check/gst/.cvsignore:
2357         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2358           Add brain-dead unit test.
2360 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2362         Patch by: Jeroen Wouters <woutersj at gmail com>
2364         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2365           Treat protocol strings in a case-insensitive way (#437563).
2367 2007-05-11  Michael Smith <msmith@fluendo.com>
2369         * gst/gstplugin.c: (gst_plugin_load_file):
2370         * gst/gstregistry.c: (gst_registry_scan_path_level):
2371           Don't print a g_warning for any failure to load a shared object.
2372           Instead, push this down into gstplugin.c, and warn _only_ if we
2373           failed to open the module (i.e. failure to link).
2374           Avoids warnings on normal, working, non-plugin .so files.
2376 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
2378         * gst/gstplugin.c (gst_plugin_load_file):
2379         * gst/gstregistry.c (GST_CAT_DEFAULT,
2380           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2381           Print a g_warning if there was an error when loading a plugins during
2382           registry scan. The shuld help beginners starting with gst-plugin
2383           template.
2385 2007-05-10  Wim Taymans  <wim@fluendo.com>
2387         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2388         (update_time_level), (gst_queue_locked_flush),
2389         (gst_queue_handle_sink_event), (gst_queue_chain),
2390         (gst_queue_push_one), (gst_queue_loop):
2391         * plugins/elements/gstqueue.h:
2392         Be smarter when calculating the current amount of data in the queue by
2393         measuring the difference between start and end timestamps (in running
2394         time) inside the queue. Fixes #432876.
2395         API: GstQueue::pushing to notify elements that we are pushing data again
2396         since the running signal is rather broken for this purpose.
2398 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
2400         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2401           gst_queue_base_init, gst_queue_init):
2402           use GST_BOILERPLATE
2404 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
2406         * win32/common/libgstreamer.def:
2407         Add new exported functions.
2408         * win32/vs6/grammar.dsp:
2409         Use grammar pre-generated files.
2411 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2413         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
2415         * gst/Makefile.am:
2416         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2417         * gst/gstparse.h:
2418         * gst/gstutils.c: (gst_parse_bin_from_description):
2419         * gst/gstutils.h:
2420           Maintain API and ABI when --disable-parse is used. Now that
2421           we have an appropriate error code, we can just return NULL and the
2422           appropriate error when gst_parse_launch() is used despite it having
2423           been disabled (#342564).
2425         * tests/check/Makefile.am:
2426         * tests/check/pipelines/.cvsignore:
2427         * tests/check/pipelines/parse-disabled.c:
2428           Make sure these functions exist and return NULL plus a GError when
2429           --disable-parse is used.
2431 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2433         * tests/benchmarks/complexity.c: (main):
2434         * tests/benchmarks/mass-elements.c: (main):
2435           Set a good example and don't leak messages.
2437 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
2439         * docs/gst/Makefile.am:
2440         * docs/libs/Makefile.am:
2441           Correct fixxrefs options.
2443         * docs/plugins/Makefile.am:
2444         * docs/plugins/gstreamer-plugins-docs.sgml:
2445         * docs/plugins/gstreamer-plugins-sections.txt:
2446         * plugins/elements/Makefile.am:
2447         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2448         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2449           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2450           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2451           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2452           _GstCapsFilterClass, trans_class):
2453         * plugins/elements/gstelements.c (name, rank, type, _elements):
2454         * plugins/elements/gstidentity.c
2455           (gst_identity_check_imperfect_timestamp,
2456           gst_identity_check_imperfect_offset):
2457           Document capsfilter and add doc-blurb to identity.
2459 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2461         * libs/gst/controller/gstcontroller.c:
2462         (gst_controlled_property_set_interpolation_mode):
2463         * libs/gst/controller/gstinterpolation.c:
2464           Don't crash if someone tries to set an interpolation mode that
2465           is invalid or that isn't supported yet. Fixes #422295.
2467         * tests/check/libs/controller.c: (GST_START_TEST),
2468         (gst_controller_suite):
2469           Add a test case for the above.
2471 2007-05-03  Edward Hervey  <edward@fluendo.com>
2473         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2474         Properly set the last_stop position on GstSegment. This will only happen
2475         if there is a buffer to push out.
2477 2007-05-03  Wim Taymans  <wim@fluendo.com>
2479         * libs/gst/base/gstbasetransform.c:
2480         (gst_base_transform_buffer_alloc):
2481         always_in_place does not mean that the sink and source caps are the
2482         same! Make sure we don't blindly proxy the buffer_alloc in this case.
2484 2007-05-03  Wim Taymans  <wim@fluendo.com>
2486         * docs/libs/gstreamer-libs-sections.txt:
2487         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2488         (gst_base_src_default_query), (gst_base_src_get_range):
2489         * libs/gst/base/gstbasesrc.h:
2490         API: gst_base_src_query_latency(). Added method so that subclasses can
2491         easily get the latency values of the base source class.
2493 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
2495         * tools/gst-inspect.c (print_implementation_info):
2496         Remove 0.8 cruft.
2498 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2500         * tools/Makefile.am:
2501         * tools/gst-launch.1.in:
2502           Don't create a customised man page based on the host architecture,
2503           describe the default registry path generically. That way the man
2504           page is the same for all architectures and packagers have one
2505           multilib issue less to deal with. Fixes #434926.
2507 2007-05-02  Wim Taymans  <wim@fluendo.com>
2509         * gst/gstpad.c:
2510         Fix documentation as spotted by rg on IRC. 
2512 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2514         * gst/gstutils.c:
2515           Improve docs for gst_element_{link,unlink}.
2517 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2519         * docs/design/part-events.txt:
2520         * docs/design/part-overview.txt:
2521         * gst/gstevent.c:
2522         * gst/gsturi.c:
2523         * gst/gsturi.h:
2524         * libs/gst/base/gstbasesink.c:
2525           Typo fixes; minor docs addition.
2527 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2529         * docs/gst/gstreamer-sections.txt:
2530         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2531         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2532         * gst/gsturi.h:
2533         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2534         or src that supports a given URI protocol exists.
2536 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2538         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2539         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2540         Set the location to NULL if "file://" is set as URI. Otherwise
2541         some random previous URI would still be set if "file://" is
2542         set on an already used filesink/filesrc.
2544 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2546         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2547         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2548         Special case the "file://" URI as as this is used by some
2549         applications to test with gst_element_make_from_uri if there's
2550         an element that supports the URI protocol.
2551         Also move the g_path_is_absolute() check for the location part
2552         of the URI to also check this for "file://localhost/bla" URIs.
2554 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
2556         * docs/gst/gstreamer-sections.txt:
2557         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2558         * gst/gstbuffer.h:
2559         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2560         (gst_buffer_suite):
2561           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2563 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
2565         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2566         (gst_registry_binary_load_pad_template),
2567         (gst_registry_binary_load_plugin),
2568         (gst_registry_binary_read_cache):
2569         * gst/gstregistrybinary.h:
2570           Implement no-mmap alternative for registry reading. Do code cleanups.
2571           Add more comments about avoiding strdups for all text data. Comments
2572           welcome.
2574 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2576         * gst/gstregistrybinary.h (GstBinaryPluginElement,
2577           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
2578           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
2579           Comment structs and reformat to fix the build (that stuff should go
2580           into a priv. header).
2582 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2584         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2585         (gst_registry_binary_load_feature):
2586         * gst/gstregistrybinary.h:
2587           Refactor so that we can implement multiple features. Add support for
2588           TypeFindFactory features.
2590 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
2592         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
2594         * configure.ac:
2595           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
2597 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
2599         * gst/gstbin.c: (gst_bin_element_set_state),
2600         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
2601         (bin_handle_async_done), (gst_bin_handle_message_func):
2602           Fix build with --gst-disable-gst-debug
2604 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2606         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
2607           Make sure streaming has finished before calling the ::stop() vfunc,
2608           since that vfunc might clear state which is being used in the
2609           streaming thread. This fixes a race that caused crashes in
2610           audioresample when shutting down a pipeline (#420106).
2612 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2614         * docs/gst/gstreamer-sections.txt:
2615           That was one byte missing.
2617 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2619         * configure.ac:
2620         * docs/gst/gstreamer-sections.txt:
2621         * gst/Makefile.am:
2622         * gst/gstconfig.h.in:
2623         * gst/gstobject.c: (gst_object_class_init),
2624         (gst_signal_object_class_init):
2625         * gst/gstobject.h:
2626           2nd attempt to have a xml-less build as a joined effort of #413123
2627           and #421480.
2629 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2631         * docs/design/draft-tagreading.txt:
2632           Added open issues/thoughts to draft.
2634 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2636         * gst/parse/grammar.tab.pre.c:
2637         * gst/parse/grammar.tab.pre.h:
2638         * gst/parse/lex._gst_parse_yy.pre.c:
2639         Update the prebuild parser sources.
2641 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2643         * gst/parse/Makefile.am:
2644         And now fix the building of the flex sources. Now everything should
2645         work as expected.
2647 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2649         * gst/parse/Makefile.am:
2650         Now hopefully fix the build failures by setting proper rule
2651         dependencies and moving instead of copying.
2653 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2655         * tests/benchmarks/complexity.gnuplot:
2656         * tests/benchmarks/complexity.scm:
2657         * tests/benchmarks/mass-elements.gnuplot:
2658         * tests/benchmarks/mass-elements.scm:
2659           Total licensification.
2661 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2663         * gst/parse/Makefile.am:
2664           Fix the build by correcting the rule that gave wrong files to flex.
2666 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2668         * tests/benchmarks/complexity.c:
2669         * tests/benchmarks/mass-elements.c:
2670           Change licence to LGPL as granted by Benjamin and Andy.
2672 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2674         * gst/parse/Makefile.am:
2675         Add correct grammar.tab.h dependency if compiling without new enough
2676         flex. Fixes #431150.
2678 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2680         * gst/parse/Makefile.am:
2681         Fix typo and use outdated sources if the flex/bison sources are newer
2682         than the pregenerated ones but flex is too old. Print a warning in
2683         that case. This should fix the build on the build bot.
2685 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2687         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
2688         * gst/parse/Makefile.am:
2689         * gst/parse/grammar.y:
2690         * gst/parse/parse.l:
2691         Make the parser reentrant and recursively callable. This requires flex
2692         >= 2.5.31, for older versions pregenerated sources are used as we
2693         can't bump the build dependency. Finally fixes #349180.
2695         * gst/gstparse.c: (gst_parse_launch):
2696         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
2697         now anyway.
2699         * docs/gst/Makefile.am:
2700         * docs/gst/Makefile.am:
2701         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
2702         (__gst_parse_strfree), (__gst_parse_link_new),
2703         (__gst_parse_link_free), (__gst_parse_chain_new),
2704         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
2705         (gst_parse_element_set), (gst_parse_free_link),
2706         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
2707         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
2708         (_gst_parse_launch):
2709         * gst/parse/grammar.tab.pre.h:
2710         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
2711         (yy_get_previous_state), (yy_try_NUL_trans), (input),
2712         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
2713         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
2714         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
2715         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
2716         (_gst_parse_yypop_buffer_state),
2717         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
2718         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
2719         (yy_fatal_error), (_gst_parse_yyget_extra),
2720         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
2721         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
2722         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
2723         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
2724         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
2725         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
2726         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
2727         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
2728         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
2729         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
2730         (_gst_parse_yyfree):
2731         If the installed flex version is too old use pre-generated parser
2732         sources. These pre-generated parser sources are always updated when
2733         the actual flex/bison sources change but require everybody who wants
2734         to change something in the parser to have flex >= 2.5.31 installed.
2736 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
2738         * common/m4/gst-gettext.m4:
2739         * gst/gst-i18n-lib.h:
2740           Make --disable-nls to work
2742 2007-04-17  Wim Taymans  <wim@fluendo.com>
2744         * gst/gstconfig.h.in:
2745         Revert previous change that broke the build.
2747 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
2749         * configure.ac:
2750         * gst/Makefile.am:
2751         * gst/gstconfig.h.in:
2752           Drop libxml2 dependency when building with 
2753           --enable-binary-registry --disable-loadsave
2755 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
2757         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2758         (gst_registry_binary_read_cache):
2759         * gst/gstregistrybinary.h:
2760           Remove unnecessary <sys/mman.h> include which broke the win32 build
2761           with MingW; move includes from header file to .c file, even if the
2762           header file isn't installed; use g_strerror() where UTF-8 strings
2763           are expected, such as in GST_DEBUG messages.
2765 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2767         * docs/libs/gstreamer-libs-sections.txt:
2768         Remove bogus addition for API I didn't end up keeping.
2770         * libs/gst/base/gstbasesrc.h:
2771         Mention Since: 0.10.13 in the documentation.
2773         Add the API keyword to the previous ChangeLog entry.
2775 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2777         * docs/libs/gstreamer-libs-sections.txt:
2778         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2779         (gst_base_src_default_prepare_seek_segment),
2780         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
2781         * libs/gst/base/gstbasesrc.h:
2782         Allow basesrc derived classes to execute seeks in other formats
2783         by providing a prepare_seek_segment vmethod. Sub-classes can choose
2784         to prepare the GstSegment in any format that their perform_seek method
2785         will be able to understand. The default implementation provides the
2786         old behaviour of attempting to convert the seek offsets to the 
2787         configured native format.
2789         API: basesrc::prepare_seek_segment vmethod.
2791 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2793         * gst/gstelement.c: (gst_element_get_state_func):
2794         Don't output the same debug statement twice.
2796         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
2797         (gst_adapter_peek), (gst_adapter_take_buffer):
2798         Optimise the case where we have buffers at the head of the queue that
2799         can be joined quickly (because they're contiguous sub-buffers) by
2800         merging them together rather than copying data out into new memory.
2802         * gst/parse/grammar.y:
2803         * tests/check/pipelines/parse-launch.c:
2804         Fix a leak in an error path for parse_launch, and add a check 
2805         for it to the testsuite.
2807 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2809         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
2810           Don't deadlock when releasing a pad - gst_pad_set_active may try
2811           and take the multiqueue lock too.
2813 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2815         * gst/gsterror.c: (_gst_core_errors_init):
2816         * gst/gsterror.h:
2817           API: add GST_CORE_ERROR_DISABLED (#392804).
2819 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2821         * docs/faq/gst-uninstalled:
2822           don't get empty paths on the PATH variables
2823         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
2824           Don't format for the uncommon terminal width of 84 characters.
2826 2007-04-06  Wim Taymans  <wim@fluendo.com>
2828         * gst/gstpipeline.c: (reset_stream_time),
2829         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
2830         Only try to select a different pipeline clock when we went back to
2831         PAUSED and not when we merely got flushed.
2833 2007-04-05  Michael Smith  <msmith@fluendo.com>
2835         * tools/gst-launch.1.in:
2836           fractions are better supported in gstreamer than ractions, so
2837           suggest using those.
2839 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2841         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
2843         * po/LINGUAS:
2844         * po/da.po:
2845           Added Danish translation.
2847 2007-04-05  Wim Taymans  <wim@fluendo.com>
2849         * libs/gst/base/gstbasesink.c:
2850         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
2851         Fix leak caused when refusing newsegment after EOS.
2853         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2854         (gst_fake_sink_init), (gst_fake_sink_set_property),
2855         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
2856         (gst_fake_sink_render), (gst_fake_sink_change_state):
2857         * plugins/elements/gstfakesink.h:
2858         Add num-buffers property to make the element generate EOS after a
2859         configurable amount of buffers.
2860         API: fakesink::num-buffers property.
2862         * tests/check/elements/fakesink.c: (GST_START_TEST),
2863         (fakesink_suite):
2864         Fix GstBus leak in test.
2865         Test for fakesink num-buffers.
2867 2007-04-05  Wim Taymans  <wim@fluendo.com>
2869         * libs/gst/base/gstbasesink.c:
2870         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2871         (gst_base_sink_change_state):
2872         Don't accept anything after an EOS, return UNEXPECTED instead.
2874         * tests/check/elements/fakesink.c: (GST_START_TEST),
2875         (fakesink_suite):
2876         Unit test for new EOS behaviour.
2878 2007-04-05  Wim Taymans  <wim@fluendo.com>
2880         * gst/gstelement.c: (gst_element_get_request_pad):
2881         Make padtemplates also work when they don't contain %s or %d.
2883 2007-04-05  Wim Taymans  <wim@fluendo.com>
2885         * docs/gst/gstreamer-sections.txt:
2886         * gst/gstclock.c: (gst_clock_adjust_unlocked),
2887         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
2888         * gst/gstclock.h:
2889         Improve _adjust_unlocked() so that it overflows less.
2890         Add gst_clock_unadjust_unlocked to convert from external time to
2891         internal time based on calibration.
2892         Add some more debug.
2893         API: GstClock::gst_clock_unadjust_unlocked()
2895 2007-04-03  Wim Taymans  <wim@fluendo.com>
2897         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2899         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
2900         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
2901         when releasing sink pad. Fixes #425400.
2903 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
2905         * docs/random/ensonic/dynlink.txt:
2906           More work on proposal for new core api.
2908         * docs/libs/gstreamer-libs-sections.txt:
2909         * libs/gst/base/gstbasetransform.h:
2910           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
2911           
2912         * libs/gst/controller/gstcontroller.c:
2913         (on_object_controlled_property_changed),
2914         (gst_controller_sync_values),
2915         (gst_controller_set_interpolation_mode):
2916         * libs/gst/controller/gstcontroller.h:
2917           Less verbose logging add docs for unimplemented parts and correctly
2918           return when using unavailable parts.
2920 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
2922         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
2923         Move all the debug to the CLOCK category, and associate it with
2924         the clock object.
2926 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
2928         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
2929         Make take_buffer a bit quicker by removing redundant checks
2930         caused by calling gst_adapter_take.
2932 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
2934         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
2935           Don't leak GCond.
2937         * tests/check/Makefile.am:
2938         * tests/check/elements/.cvsignore:
2939         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2940         (GST_START_TEST), (multiqueue_suite):
2941           Add some dead simple unit tests for the 'multiqueue' element
2942           (some bits don't work yet and are disabled for now).
2944 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
2946         * gst/gstelement.c: (gst_element_get_request_pad),
2947         (gst_element_class_get_request_pad_template):
2948           Make gst_element_get_request_pad() create request pads only for
2949           request pad templates and not for, say, sometimes pad templates.
2951 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
2953         * docs/design/draft-klass.txt:
2954           Add example that needs more thinking.
2955         
2956         * docs/design/draft-missing-plugins.txt:
2957           More thoughts about wrapper plugins.
2958         
2959         * docs/random/ensonic/embedded.txt:
2960         * docs/random/ensonic/profiling.txt:
2961           More design work.
2963 2007-03-25  Wim Taymans  <wim@fluendo.com>
2965         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2966         (gst_base_src_loop):
2967         Only push the segment events in the PLAYING state for live sources.
2969 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
2971         * gst/gstpipeline.c: (gst_pipeline_change_state):
2972         Modify the clock distribution path in PAUSED->PLAYING so that we 
2973         never attempt to choose a new clock unless we're actually leaving
2974         the PAUSED state for the first time. This prevents choosing a
2975         different clock when the state_change gets called for a 2nd time due
2976         to some element doing an async state change.
2978 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2980         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
2981         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
2982         (gst_pad_chain_unchecked), (gst_pad_push):
2983         Revert last commit. This needs some more thoughts.
2985 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2987         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
2988         (gst_pad_chain_unchecked), (gst_pad_push):
2989         Check in set_caps if the caps are compatible with the pad and remove
2990         two functions that are redundant now. Fixes #421543.
2992 2007-03-22  Wim Taymans  <wim@fluendo.com>
2994         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2995         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
2996         Unref some more to make valgrind happy.
2998 2007-03-22  Wim Taymans  <wim@fluendo.com>
3000         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3001         (gst_system_clock_id_wait_jitter),
3002         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3003         Fix anoying regression that survived a few releases. When adding an
3004         async entry while blocking on a sync entry, the sync entry will unblock
3005         but still be busy, so it should continue to wait instead of returning
3006         _BUSY to the app.
3007         Add some comments here and there.
3009         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3010         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3011         Add testcase for this.
3013 2007-03-22  Wim Taymans  <wim@fluendo.com>
3015         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3016         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3017         WRONG_STATE and can silently pause the task. All other cases should
3018         error out.
3020 2007-03-22  Wim Taymans  <wim@fluendo.com>
3022         Patch by: Ville Syrjala <syrjala at sci dot fi>
3024         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3025         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3026         Improve debugging.
3028 2007-03-21  Michael Smith  <msmith@fluendo.com>
3030         * docs/pwg/advanced-types.xml:
3031           Fix some errors in the typefinding docs pointed out on irc.
3033 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3035         * libs/gst/base/gstbasesrc.c:
3036         Clarify FIXME comment in the face of having added unlock_stop()
3038 2007-03-21  Wim Taymans  <wim@fluendo.com>
3040         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3041         Prepare for release where we warn against possible app breakage in the
3042         case of live pipelines along with an env var to enable/disable live
3043         preroll mode (GST_COMPAT=[no-]live-preroll).
3045 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3047         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3048         So we should use correct constants for checking for None offset.
3050 2007-03-20  Wim Taymans  <wim@fluendo.com>
3052         * docs/design/part-block.txt:
3053         Mention the fact that the newly switched element should be set to at
3054         least PAUSED.
3056 2007-03-20  Wim Taymans  <wim@fluendo.com>
3058         * gst/gst.c:
3059         Fix compilation with registry disabled as spotted by Saur.
3061 2007-03-20  Wim Taymans  <wim@fluendo.com>
3063         Patch by: Olivier Crete <tester at tester dot ca>
3065         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3066         Look at the pending state too when syncing the element state to the
3067         parent. Fixes #420133.
3069 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3071         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3072         (gst_base_sink_change_state):
3073         * libs/gst/base/gstbasesink.h:
3074         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3075         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3076         (gst_base_src_deactivate):
3077         * libs/gst/base/gstbasesrc.h:
3078         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3079         for sub-classes to correctly clear any state they set trying to
3080         unlock, such as clearing out unlock commands from a command fd.
3081         API: basesrc::unlock_stop
3082         API: basesink::unlock_stop
3084         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3085         (gst_fd_sink_render), (gst_fd_sink_unlock),
3086         (gst_fd_sink_unlock_stop):
3087         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3088         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3089         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3091         Implement unlock_stop in fdsrc and fdsink.
3092         Implement seeking in fdsrc when a seekable fd is passed, as in
3093         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3095 2007-03-19  Wim Taymans  <wim@fluendo.com>
3097         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3099         * gst/gstelement.c: (gst_element_class_init):
3100         Fix pad-added and pad-removed signal signatures so that the pad type is
3101         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3103 2007-03-19  Wim Taymans  <wim@fluendo.com>
3105         * docs/gst/gstreamer-sections.txt:
3106         Add new element field and method.
3108         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3109         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3110         (gst_bin_recalc_state), (gst_bin_get_state_func),
3111         (gst_bin_element_set_state), (gst_bin_change_state_func),
3112         (gst_bin_continue_func), (bin_bus_handler),
3113         (bin_push_state_continue), (bin_handle_async_start),
3114         (bin_handle_async_done), (gst_bin_handle_message_func):
3115         Make async state changes a bit smarter by using new ASYNC_START and
3116         ASYNC_DONE messages. This reduces the number of times we run the state
3117         recalculation thread.
3118         Don't change state of element with a pending ASYNC_START message.
3119         Deprecate STATE_DIRTY messages.
3120         
3121         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3122         (gst_element_get_state_func), (gst_element_continue_state),
3123         (gst_element_lost_state), (gst_element_set_state_func),
3124         (gst_element_change_state):
3125         * gst/gstelement.h:
3126         Keep the state that was last set by the app in a new element field.
3127         Don't allow state changes when handling an element event.
3128         Post ASYNC_START and ASYNC_DONE messages.
3129         Change lost_state so that we go to PAUSED and wait for the parent to set
3130         us to PLAYING again (so latency calculation can be performed)
3131         Export gst_element_change_state() method so that subclasses can use it.
3132         API: gst_element_change_state()
3133         API: GST_STATE_TARGET
3135         * gst/gstpipeline.c: (gst_pipeline_class_init),
3136         (reset_stream_time), (gst_pipeline_change_state),
3137         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3138         Using the new ASYNC_START message we can reset the base_time when
3139         needed. This can then be used to implement base_time redistribution in
3140         flushing seeks so that we can remove the explicit seek handling.
3141         Perform latency query and configuration when going to PLAYING.
3143         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3144         (gst_base_sink_query), (gst_base_sink_change_state):
3145         Post new ASYNC_START/ASYNC_DONE messages.
3147         * tests/check/generic/sinks.c: (GST_START_TEST):
3148         Fix test because the bin will not set the async element to PLAYING right
3149         away.
3151         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3152         Make the message check a little stronger.
3153         Handle ASYNC messages.
3155         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3156         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3157         Expect ASYNC_DONE messages.
3159 2007-03-19  Wim Taymans  <wim@fluendo.com>
3161         * docs/gst/gstreamer-sections.txt:
3162         * gst/gstmessage.c: (gst_message_new_async_start),
3163         (gst_message_new_async_done), (gst_message_parse_info),
3164         (gst_message_parse_async_start):
3165         * gst/gstmessage.h:
3166         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3167         support.
3169 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3171         * tools/gst-inspect.c:
3172         (print_plugin_automatic_install_info_codecs):
3173           Now that we don't check for the 'Codec' keyword any longer in the
3174           klass, we shouldn't spew a warning if the klass isn't a decoder or
3175           encoder (since it might be a Source/Network, for example).
3177 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3179         * tools/gst-inspect.c:
3180         (print_plugin_automatic_install_info_codecs):
3181           Don't require decoder/demuxer/depayloader elements or
3182           encoder/muxer/paylader elements to have 'Codec' as part of their
3183           factory class string when introspecting a plugin's capabilities.
3184           draft-klass.txt mentions that it might be removed in future, and
3185           flump3dec doesn't have it as part of its class string, so chances
3186           are others might also not have it.
3188 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3190         * po/af.po:
3191         * po/az.po:
3192         * po/bg.po:
3193         * po/ca.po:
3194         * po/cs.po:
3195         * po/de.po:
3196         * po/en_GB.po:
3197         * po/fr.po:
3198         * po/it.po:
3199         * po/nb.po:
3200         * po/nl.po:
3201         * po/ru.po:
3202         * po/sq.po:
3203         * po/sr.po:
3204         * po/sv.po:
3205         * po/tr.po:
3206         * po/uk.po:
3207         * po/vi.po:
3208         * po/zh_CN.po:
3209         * po/zh_TW.po:
3210           Update translations from translation project
3212 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
3214         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3215         (gst_child_proxy_set_property):
3216           Invert precondition check to be alike the ones in the mimiced gobject
3217           api.
3219 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
3221         * docs/design/draft-tagreading.txt:
3222         * docs/random/ensonic/audiobaseclasses.txt:
3223           Do some Architect work.
3225         * gst/gstobject.c: (gst_object_set_name):
3226           Add a WARNING.
3228         * gst/gstpad.c:
3229           Add docs that point from gst_pad_get_range to gst_pad_pull_range
3231 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
3233         * gst/gstsystemclock.c: (gst_system_clock_init),
3234         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3235         Defer starting the async system clock thread until the first async
3236         wait is scheduled. Fixes #414986.
3238 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3240         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3241         (gst_single_queue_free):
3242           Fix small leak (free GstSingleQueue structure too, not only contents).
3244 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
3246         * gst/gstbin.c:(gst_bin_add):
3247         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3248         * win32/common/libgstbase.def:
3249         * win32/common/libgstreamer.def:
3250         Add new exported functions.
3252 2007-03-09  Wim Taymans  <wim@fluendo.com>
3254         * docs/plugins/gstreamer-plugins-sections.txt:
3255         Fix GstTee docs.
3257 2007-03-09  Wim Taymans  <wim@fluendo.com>
3259         * docs/gst/gstreamer-sections.txt:
3260         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3261         * gst/gstbuffer.h:
3262         Add metadata copy functions. Fixes #393099.
3263         API: gst_buffer_copy_metadata()
3265         * gst/gstutils.c: (gst_buffer_stamp):
3266         * libs/gst/base/gstbasetransform.c:
3267         (gst_base_transform_prepare_output_buffer):
3268         Use new metadata copy functions.
3270 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3272         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3273         (gst_identity_init), (gst_identity_check_perfect),
3274         (gst_identity_check_imperfect_timestamp),
3275         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3276         (gst_identity_set_property), (gst_identity_get_property):
3277         * plugins/elements/gstidentity.h:
3278         Separate out check-imperfect-timestamp and check-imperfect-offset.
3279         Put back check-perfect as it was to keep compatibility.
3281 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
3283         * gst/gstelement.c: (gst_element_dispose):
3284         There's no need to warn if VOID_PENDING is not NONE here, as
3285         long as the state is NULL it's ok, and that's checked immediately
3286         above.
3288 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3290         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3291         Fix check for perfect stream to ignore buffers with -1 
3292         offsets/offset ends when checking data contiguity.
3294 2007-03-08  Wim Taymans  <wim@fluendo.com>
3296         * tools/gst-launch.c: (event_loop):
3297         Print INFO messages.
3299 2007-03-08  Wim Taymans  <wim@fluendo.com>
3301         * libs/gst/base/gstbasetransform.c:
3302         (gst_base_transform_sink_eventfunc),
3303         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3304         (gst_base_transform_activate):
3305         * libs/gst/base/gstbasetransform.h:
3306         Add support for dropping buffers with custom GstFlowReturn.
3307         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3308         buffers or dropped buffers.
3310         * docs/libs/gstreamer-libs-sections.txt:
3311         docs for new custom return code.
3313         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3314         Use drop support in base class to implement drop-probability.
3316 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3318         * gst/gst.c: (load_plugin_func):
3319         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3320         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3321         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3322           Remove newlines at end of debug log strings.
3324 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3326         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3327         Only post bus message at max, once per buffer received.
3329 2007-03-07  Wim Taymans  <wim@fluendo.com>
3331         * docs/design/Makefile.am:
3332         * docs/design/part-synchronisation.txt:
3333         Add doc about synchronisation
3335         * docs/design/draft-latency.txt:
3336         * docs/design/part-TODO.txt:
3337         * docs/design/part-clocks.txt:
3338         * docs/design/part-events.txt:
3339         * docs/design/part-gstbus.txt:
3340         * docs/design/part-gstpipeline.txt:
3341         * docs/design/part-live-source.txt:
3342         * docs/design/part-messages.txt:
3343         * docs/design/part-overview.txt:
3344         * docs/design/part-streams.txt:
3345         * docs/design/part-trickmodes.txt:
3346         Documentation updates.
3348 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3350         * gstreamer.doap:
3351         Update the doap file.
3353 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3355         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3356         Rename non-perfect to imperfect for Mike and for the sanctity of the
3357         language.
3358         Also make sure bus message gets emitted for data-incontiguities.
3360 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3362         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3363         (gst_identity_start):
3364         * plugins/elements/gstidentity.h:
3365         Emit bus message if check-perfect is true and we encounter a
3366         non-perfect stream between 2 consecutive buffers.
3367         Fixes #415394.
3369 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3371         * configure.ac:
3372         Back to CVS
3374 === release 0.10.12 ===
3376 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
3378         * configure.ac:
3379           releasing 0.10.12, "Inevitable Demise"
3381 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
3383         * configure.ac:
3384          Version 0.10.11.2 (0.10.12 pre-release)
3385          Bump libtool versioning.
3387 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
3389         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3390           Log flow-names and not numbers.
3392 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3394         * configure.ac:
3395           Convert to new AG_GST style.
3397 2007-02-28  Wim Taymans  <wim@fluendo.com>
3399         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3400         Don't unref query twice.
3402 2007-02-28  Wim Taymans  <wim@fluendo.com>
3404         * gst/gstvalue.c: (gst_value_transform_object_string),
3405         (_gst_value_initialize):
3406         Implement GstObject -> string transform so we print object names
3407         when serializing GValues containing GstObjects.
3409 2007-02-28  Wim Taymans  <wim@fluendo.com>
3411         * docs/gst/gstreamer-sections.txt:
3412         Add new stuff to docs.
3414 2007-02-28  Wim Taymans  <wim@fluendo.com>
3416         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3417         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3418         (gst_base_sink_change_state):
3419         Improve latency query code.
3420         Don't leak latency events.
3422         * tests/check/gst/gstbin.c: (GST_START_TEST):
3423         Improve debugging.
3425 2007-02-28  Wim Taymans  <wim@fluendo.com>
3427         * gst/gstelement.c: (gst_element_message_full),
3428         (gst_element_get_state_func):
3429         * gst/gstelement.h:
3430         Improve docs a little. Added Since: for new macro.
3432         * gst/gstobject.c: (gst_object_sink):
3433         * gst/gstpipeline.c: (gst_pipeline_change_state),
3434         (gst_pipeline_set_new_stream_time):
3435         * gst/gstpipeline.h:
3436         Improve debugging and docs.
3438         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3439         Improve debugging.
3441 2007-02-28  Wim Taymans  <wim@fluendo.com>
3443         * gst/gstelement.c: (gst_element_message_full),
3444         (gst_element_set_locked_state), (gst_element_get_state_func),
3445         (gst_element_change_state):
3446         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3447         Documentation updates.
3448         Small code cleanups.
3450         * gst/gstmessage.c: (gst_message_new_info),
3451         (gst_message_parse_info):
3452         * gst/gstmessage.h:
3453         API: gst_message_new_info()
3454         API: gst_message_parse_info()
3455         Add INFO message create and parse code.
3457 2007-02-28  Wim Taymans  <wim@fluendo.com>
3459         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3460         (bin_query_latency_done):
3461         Also report the live parameter of a latency query.
3463 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3465         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3466           Copy the current generic/states example from -base and adapt so
3467           we can use the exact same code everywhere.
3468           Check a STATES_IGNORE_ELEMENTS env var which can be used
3469           to ignore certain element factories for this test, which is
3470           what is being done in -base
3471         * tests/check/Makefile.am:
3472           Mention this environment variable.
3474 2007-02-27  Wim Taymans  <wim@fluendo.com>
3476         * docs/gst/gstreamer-sections.txt:
3477         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3478         (gst_bus_timed_pop), (gst_bus_pop):
3479         * gst/gstbus.h:
3480         API: gst_bus_timed_pop()
3481         Implement gst_bus_timed_pop() to do a blocking timed wait for a
3482         message to arrive on the bus.
3484         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3485         (gst_bus_suite):
3486         Two unit tests for new _timed_pop() function.
3488 2007-02-23  Wim Taymans  <wim@fluendo.com>
3490         * gst/gstpipeline.c: (gst_pipeline_change_state),
3491         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3492         Don't ref a NULL clock in _provide_clock_func().
3493         Don't allow an INVALID delay.
3494         Don't try to calculate base_time with an invalid start_time.
3495         Also distribute and notify a NULL clock when it was selected.
3497         * tools/gst-launch.c: (event_loop):
3498         Don't crash when a NULL clock was selected in the pipeline.
3500 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3502         * docs/design/Makefile.am:
3503         * docs/design/draft-missing-plugins.txt:
3504         * docs/random/draft-missing-plugins.txt:
3505           Some small updates: update plugin system identifier prefix
3506           ('gstreamer.net' to 'gstreamer'), mention our new install
3507           API in libgstbaseutils rather than libgimme-codec, add
3508           reference to the online docs.
3510 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3512         * win32/common/config.h:
3513           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
3514           use moap cl ci to only check in what is mentioned in the ChangeLog.
3516 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3518         * docs/gst/gstreamer-sections.txt:
3519         * gst/gstelement.h:
3520           Fix up documentation to link to the correct GstGError section.
3521           Add GST_ELEMENT_INFO macro since someone else added a Info message.
3523 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3525         * tools/gst-launch.c: (event_loop):
3526           Make sure that we actually show the important message part of a
3527           warning message.
3528           No need to check if the gerror is not NULL to free; first of all
3529           g_free accepts NULL; and second the default error handler would
3530           segfault if gerror was NULL.
3532 2007-02-21  Wim Taymans  <wim@fluendo.com>
3534         * docs/gst/gstreamer-sections.txt:
3535         Removed docs as well.
3537 2007-02-21  Wim Taymans  <wim@fluendo.com>
3539         * gst/gstmessage.c: (gst_message_parse_duration):
3540         * gst/gstmessage.h:
3541         Remove new messages for release.
3543 2007-02-20  Wim Taymans  <wim@fluendo.com>
3545         * docs/design/part-gstghostpad.txt:
3546         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3547         (gst_ghost_pad_new_full):
3548         Make the ghostpad a parent of the internal pad again for better backward
3549         compatibility. Don't write code that relies on this however.
3551         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3552         (gst_pad_link_check_hierarchy):
3553         Require that parents should be GstElements in the hierarchy check.
3555 2007-02-20  Wim Taymans  <wim@fluendo.com>
3557         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3558         (gst_bin_change_state_func), (bin_query_min_max_init),
3559         (bin_query_latency_fold), (bin_query_latency_done),
3560         (gst_bin_query):
3561         Improve debug info.
3562         Implement latency query.
3564 2007-02-20  Wim Taymans  <wim@fluendo.com>
3566         * docs/design/part-gstghostpad.txt:
3567         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3568         (gst_ghost_pad_internal_do_activate_push),
3569         (gst_ghost_pad_internal_do_activate_pull),
3570         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3571         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
3572         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
3573         Do not set the internal pad as a parent anymore so we can avoid
3574         hierarchy linking errors when the ghostpad has no parent yet. This also
3575         fixes failed activation because of unlinked internal pads, which in
3576         turn fixes the impossible case where you have to activate a pad before
3577         you can add it to a running element.
3578         Also fix the docs.
3580         * gst/gstpad.c: (pre_activate), (post_activate),
3581         (gst_pad_set_active), (gst_pad_activate_pull),
3582         (gst_pad_activate_push), (gst_pad_check_pull_range):
3583         Add some more debug info.
3584         Mark activation mode in pre_activate so that we don't try to activate in
3585         endless loops. Fixes #385084.
3587 2007-02-19  Wim Taymans  <wim@fluendo.com>
3589         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3590         (gst_base_transform_check_get_range):
3591         Implement a checkgetrange function instead of relying on the default
3592         core behaviour that assumes we can operate in pull mode if we have a
3593         getrange function. First step at fixing #385084.
3595 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
3597         * gst/gstchildproxy.h:
3598         * libs/gst/base/gstbasesink.h:
3599         * libs/gst/base/gstbasesrc.h:
3600         * libs/gst/base/gstbasetransform.h:
3601         More docs coverage and some ChangeLog surgery (add missing names)
3603 2007-02-15  Wim Taymans  <wim@fluendo.com>
3605         * docs/design/part-TODO.txt:
3606         * docs/design/part-activation.txt:
3607         * docs/design/part-block.txt:
3608         * docs/design/part-buffering.txt:
3609         * docs/design/part-clocks.txt:
3610         * docs/design/part-element-source.txt:
3611         * docs/design/part-events.txt:
3612         * docs/design/part-gstbin.txt:
3613         * docs/design/part-gstbus.txt:
3614         * docs/design/part-gstpipeline.txt:
3615         * docs/design/part-live-source.txt:
3616         * docs/design/part-messages.txt:
3617         * docs/design/part-overview.txt:
3618         * docs/design/part-qos.txt:
3619         * docs/design/part-query.txt:
3620         * docs/design/part-states.txt:
3621         * docs/design/part-trickmodes.txt:
3622         Some doc updates. Start renaming from stream_time to running_time where
3623         it was used wrongly.
3625 2007-02-15  Wim Taymans  <wim@fluendo.com>
3627         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3628         Answer LATENCY query.
3630 2007-02-15  Wim Taymans  <wim@fluendo.com>
3632         * tests/check/gst/gstevent.c: (event_probe), (test_event),
3633         (GST_START_TEST):
3634         Improve debugging.
3636 2007-02-15  Wim Taymans  <wim@fluendo.com>
3638         * gst/gstpad.c: (gst_pad_get_internal_links_default),
3639         (gst_pad_dispatcher):
3640         Improve debugging of default pad dispatcher and query functions.
3642 2007-02-15  Wim Taymans  <wim@fluendo.com>
3644         * docs/gst/gstreamer-sections.txt:
3645         Remove old unused method.
3647 2007-02-13  Wim Taymans  <wim@fluendo.com>
3649         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3650         Fix check
3652 2007-02-13  Wim Taymans  <wim@fluendo.com>
3654         * docs/design/part-seeking.txt:
3655         Some small update.
3657         * gst/gstsegment.c: (gst_segment_set_seek):
3658         Revert old bogus change that should make seeking work again.
3660 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3662         * docs/random/ensonic/dynlink.txt:
3663         * docs/random/ensonic/interfaces.txt:
3664         * docs/random/ensonic/receipies.txt:
3665           Possible dynamic reconnection api, plus some type fixes the other two
3666           docs.
3668 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
3670         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3671         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3672         Also check for an absolute path following file:// in the filesrc
3673         element. Remove redundant check and call g_path_is_absolute() on the
3674         unescaped location.
3676 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3678         * docs/design/draft-klass.txt:
3679           Add existing category analysis.
3680           
3681         * gst/gstcaps.c:
3682           Fix doc example, framerate is a fraction.
3684 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3686         * configure.ac:
3687         * docs/gst/Makefile.am:
3688         * docs/gst/gstreamer-sections.txt:
3689         * docs/libs/Makefile.am:
3690           Erm, forgot a bunch of --extra-dir.
3692 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3694         * configure.ac:
3695         * docs/gst/Makefile.am:
3696         * docs/libs/Makefile.am:
3697         * docs/plugins/Makefile.am:
3698           Add crossreferences to glib/gobject docs.
3700 2007-02-12  Wim Taymans  <wim@fluendo.com>
3702         * docs/design/draft-latency.txt:
3703         Small update.
3705         * docs/libs/gstreamer-libs-sections.txt:
3706         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3707         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
3708         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
3709         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
3710         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
3711         (gst_base_sink_get_position), (gst_base_sink_query),
3712         (gst_base_sink_change_state):
3713         * libs/gst/base/gstbasesink.h:
3714         API: gst_base_sink_query_latency() to let subclasses query the upstream
3715         latency.
3716         API: gst_base_sink_get_latency() to let subclasses query the configured
3717         latency in the sink.
3718         Implement query and set latency.
3719         Update some docs.
3720         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
3721         don't continue preroll when we are flushing. Fixes #405284.
3723         * tests/check/pipelines/stress.c: (change_state_timeout),
3724         (quit_timeout), (GST_START_TEST), (stress_suite):
3725         Test for #405284.
3727 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3729         Patch by: René Stadler <mail at renestadler de>
3731         * docs/gst/gstreamer-sections.txt:
3732         * gst/gsttaglist.c: (_gst_tag_initialize):
3733         * gst/gsttaglist.h:
3734           API: add GST_TAG_REFERENCE_LEVEL (#403597).
3736 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
3738         * docs/libs/Makefile.am:
3739           Fix path to core docs.
3741         * gst/gstbin.c: (gst_bin_get_by_interface),
3742         (gst_bin_iterate_all_by_interface):
3743           Refix docs by also renaming 'interface' to 'iface' in implementation.
3745         * docs/gst/gstreamer-sections.txt:
3746         * gst/gstcaps.c:
3747         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
3748         * gst/gstchildproxy.h:
3749         * gst/gstelementfactory.c:
3750         * gst/gstpadtemplate.h:
3751         * libs/gst/controller/gstcontroller.c:
3752         (gst_controlled_property_new):
3753           Document more.
3755 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
3757         * gst/gstbin.h:(gst_bin_get_by_interface),
3758         (gst_bin_iterate_all_by_interface):
3759         Replace interface parameter name by iface as interface is 
3760         a reserved keyword in Visual Studio for C++ projects so it removes
3761         a build error for application developpers using VS.
3762         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
3763         Fix a bug on Windows in uri format check. Now the prefix checked
3764         is file:// and next we check if the path after file:// is absolute.
3765         * win32/common/libgstbase.def:
3766         * win32/common/libgstdataprotocol.def:
3767         * win32/common/libgstgstreamer.def:
3768         Add new exported functions.
3770 2007-02-09  Andy Wingo  <wingo@pobox.com>
3772         * tests/check/pipelines/simple-launch-lines.c
3773         (simple_launch_lines_suite, test_tee): Disable tee test until I
3774         have time to fix it :-(
3776         * tests/check/Makefile.am (noinst_HEADERS): 
3777         * tests/check/libs/libsabi.c: 
3778         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
3779         * tests/check/gst/gstabi.c: 
3780         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
3782         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
3783         tests for push and pull tee behavior.
3785         * plugins/elements/gsttee.h: 
3786         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
3787         mark as deprecated as well as unimplemented. It was a crack idea.
3788         Add support for tee operating in pull mode, off by default.
3790         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
3791         normal-case logs down to LOG, raise errors to WARNING.
3792         (gst_registry_xml_read_cache): Don't log before calling a function
3793         that logs.
3795         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
3796         exit (registry finalize).
3797         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
3798         DEBUG log when we emit signals that people don't even have the
3799         chance to connect to.
3800         (gst_registry_scan_path_level): Less logging in the normal case.
3802 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3804         Patch by: Michal Benes <michal dot benes at itonis dot tv>
3806         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3807         Correctly generate EOS for non-seekable files. We don't have a total
3808         length for them and would get an unexpected end of file if we only
3809         special-cased for regular files. (Fixes: #404569)
3811 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3813         * tests/check/elements/filesrc.c: (GST_START_TEST),
3814         (filesrc_suite):
3815         Add unit test for the GstURIHandler interface in filesrc. This also
3816         tests the newly added file://localhost/foo/bar support.
3818 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3820         * gst/gstelementfactory.h:
3821           The klass string is not a hierarchy. Add reference to the design doc
3822           for more information and common types.
3824 2007-02-02  Wim Taymans  <wim@fluendo.com>
3826         * gst/gstquery.c: (gst_query_new_latency):
3827         Remove old structure field.
3829 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
3831         * tools/gst-launch.1.in:
3832           Give example for network streaming (#351998)
3834 2007-02-02  Wim Taymans  <wim@fluendo.com>
3836         * docs/gst/gstreamer-sections.txt:
3837         Add docs for new methods.
3839         * gst/gstevent.c: (gst_event_new_latency),
3840         (gst_event_parse_latency):
3841         * gst/gstevent.h:
3842         Add new LATENCY event to configure latency in a pipeline.
3843         API: gst_event_new_latency
3844         API: gst_event_parse_latency
3846         * gst/gstmessage.c: (gst_message_new_buffering),
3847         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
3848         (gst_message_new_latency), (gst_message_parse_buffering),
3849         (gst_message_parse_lost_preroll):
3850         * gst/gstmessage.h:
3851         Added messages used in draft-latency.
3852         API: gst_message_new_lost_preroll
3853         API: gst_message_parse_lost_preroll
3854         API: gst_message_new_prerolled
3855         API: gst_message_new_latency
3857         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3858         (gst_query_parse_latency):
3859         * gst/gstquery.h:
3860         Implemented new latency query as in design doc.
3861         API: gst_query_new_latency
3862         API: gst_query_set_latency
3863         API: gst_query_parse_latency
3865 2007-02-02  Wim Taymans  <wim@fluendo.com>
3867         * docs/design/draft-latency.txt:
3868         Slight redesign to allow for dynamic latency adjustments.
3870         * docs/design/part-negotiation.txt:
3871         Fix some typos.
3873 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
3875         reviewed by: Wim Taymans <wim@fluendo.com>
3877         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3878         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3879         Allow file://localhost/foo/bar URLs and correctly fail for every other
3880         hostname that one sets. This was gnomevfssrc is linked for those if
3881         installed as it can handle it (#403172)
3883 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
3885         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3887         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3888         (unref_data), (gst_collect_pads_add_pad_full):
3889         * libs/gst/base/gstcollectpads.h:
3890         Don't put the previously added destroy notify in the GstCollectData
3891         struct as all it's padding is already used and we don't want to break
3892         ABI. Instead put in the pad's GObject data for now. This should be
3893         cleaned up for 0.11 (#402393).
3895 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
3897         reviewed by: Wim Taymans <wim@fluendo.com>
3899         * docs/libs/gstreamer-libs-sections.txt:
3900         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3901         (unref_data), (gst_collect_pads_add_pad),
3902         (gst_collect_pads_add_pad_full):
3903         * libs/gst/base/gstcollectpads.h:
3904         API: Add function to specify a destroy notification for custom
3905         GstCollectData when adding new pads in GstCollectPads (#402393).
3907 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
3909         * po/sv.po:
3910           Update Swedish translation (#378255).
3912 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
3914         * docs/design/draft-klass.txt:
3915           Fix the previous change, this is a list of categories and not a hierarchy.
3917 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
3919         * docs/design/draft-klass.txt:
3920           Add info about how to get a list of used classes.
3922 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
3924         * plugins/elements/gsttypefindelement.c:
3925         (gst_type_find_element_chain_do_typefinding),
3926         (gst_type_find_element_change_state):
3927           Don't leak found caps in chain function (no idea why that never
3928           showed up as a leak anywhere).
3930 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
3932         * gst/gstplugin.h:
3933           Fix and expand GstPluginDesc API docs.
3935 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
3937         * gst/gstcaps.c:
3938         * gst/gstelementfactory.c:
3939         * gst/gstpadtemplate.h:
3940           api doc fixes
3942         * libs/gst/controller/gstcontroller.c:
3943         (gst_controlled_property_new):
3944         * tests/examples/controller/audio-example.c:
3945           comment fixes
3947 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
3949         * configure.ac:
3950           comment about refining the xml deps
3952         * docs/manuals.mak:
3953           comments about moving away from jade for docs
3954         
3955         * gst/gst.c:
3956           recommit the ifdefs to use the binary registry
3957         
3958         * gst/gstbin.c: (gst_bin_change_state_func):
3959           this break is obsolete
3961         * gst/gstelementfactory.h:
3962           better GST_ELEMENT_DETAILS docs, add comment about translation
3964         * gst/gstinfo.h:
3965           remove eol slash
3967         * gst/gstobject.c: (gst_signal_object_get_type):
3968           add G_UNLIKELY as usual
3970         * gst/gstpad.c: (gst_pad_event_default):
3971           add fall trhu comment
3973         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3974         (gst_registry_binary_initialize_magic),
3975         (gst_registry_binary_save_string),
3976         (gst_registry_binary_save_pad_template),
3977         (gst_registry_binary_save_feature),
3978         (gst_registry_binary_save_plugin),
3979         (gst_registry_binary_write_cache),
3980         (gst_registry_binary_check_magic),
3981         (gst_registry_binary_load_pad_template),
3982         (gst_registry_binary_load_feature),
3983         (gst_registry_binary_load_plugin),
3984         (gst_registry_binary_read_cache):
3985           comment typo and formatting
3987         * gst/gstutils.c: (gst_element_state_get_name),
3988         (gst_element_state_change_return_get_name):
3989           remove obsolete breaks
3991         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3992           add FIXME 0.11 and remove cpp comment
3994 2007-01-29  Edward Hervey  <edward@fluendo.com>
3996         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3997         Fix print statement in an even more portable way.
3999 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
4001         * docs/gst/gstreamer-sections.txt:
4002         * gst/gstutils.h:
4003           API: add GST_ROUND_DOWN_* macros (#401781).
4005 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
4007         * docs/gst/gstreamer.types.in:
4008         * gst/gstregistry.c: (gst_registry_class_init):
4009           Document registry signals and make gtk-doc pick them up (#401381).
4011 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4013         * docs/pwg/building-testapp.xml:
4014           Add some audioconverts and audioresample to the pipeline, and some
4015           more comments and error handling.
4017 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4019         * docs/manual/manual.xml:
4020         * docs/pwg/pwg.xml:
4021           Fix typo (#400987).
4023 2007-01-26  Wim Taymans  <wim@fluendo.com>
4025         * gst/gstcaps.c: (gst_static_caps_get):
4026         Init caps flags too.
4028 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
4030         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4032         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4033         If not using mmap'ed files try to seek to the end instead of the
4034         start to determine whether we can seek at all. This fixes the case
4035         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4036         seeks for everything afterwards fail. Fixes #400656
4038 2007-01-25  Wim Taymans  <wim@fluendo.com>
4040         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4041         Add some refcount debugging.
4042         Make gst_static_caps_get threadsafe, which is needed when autoplugging
4043         in multiple streaming threads.
4045 2007-01-25  Wim Taymans  <wim@fluendo.com>
4047         Patch by: David Schleef <ds at schleef dot org>
4049         * docs/libs/gstreamer-libs-sections.txt:
4050         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4051         * libs/gst/base/gstadapter.h:
4052         API: gst_adapter_copy() that can reduce the amount of memcpy when
4053         getting data from the adapter. Fixes #388201.
4055 2007-01-25  Edward Hervey  <edward@fluendo.com>
4057         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4058         In print statements, "%x" is for guint. Fixes build on macosx.
4060 2007-01-24  Edward Hervey  <edward@fluendo.com>
4062         * plugins/elements/gstmultiqueue.c:
4063         (gst_multi_queue_loop):
4064         Small fix.
4065         (single_queue_overrun_cb), (single_queue_underrun_cb),
4066         (single_queue_check_full), (gst_single_queue_new):
4067         Implement single queue growth system.
4068         This uses the extra-size properties, and will grow single queues by
4069         that much if one goes full whereas there are others empty. This is
4070         called extra-mode in the code.
4071         When a single queue's levels go back below the initial max-size
4072         limits, it is no longer in extra-mode. This is to ensure we don't
4073         consume too much memory.
4074         Fixes #399875
4076 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
4078         * gst/gst.c: (gst_init_get_option_group):
4079           Make warning about late g_thread_init() calls a bit more explicit,
4080           so that it's more obvious to application developers what they need
4081           to do if a user files a bug against their application.
4083 2007-01-22  Edward Hervey  <edward@fluendo.com>
4085         * plugins/elements/gstmultiqueue.c:
4086         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4087         Remove previous hack of unsetting the flushing flag for the source pad
4088         instead of activating it. Instead, fix the source pad activate function
4089         so that it no longer depends on having a parent set or not.
4091 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
4093         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4095         * docs/manual/basics-bus.xml:
4096           Fix example code, gst_element_unref() doesn't exist any longer.
4098 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
4100         Patch by: Mark Nauwelaerts <manauw at skynet be>
4102         * gst/gstpad.c:
4103           Fix two docs typoes (#399094).
4105 2007-01-19  Edward Hervey  <edward@fluendo.com>
4107         * docs/faq/gst-uninstalled:
4108         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4109         depending on libgstbaseutils can work in uninstalled environment.
4111 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
4113         * gst/gsttaglist.h:
4114         * gst/gsttagsetter.c:
4115         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4116         statement for new tag.
4118 2007-01-17  Edward Hervey  <edward@fluendo.com>
4120         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4121         When dynamically creating single queues, activate sinkpad before adding
4122         it.
4123         We should be doing the same thing for the source pad, but we can't
4124         since it would call a method which needs the parent to be set in order
4125         to work propertly. Instead of activating the source pad, we just unset
4126         the flushing flag, which is the minimal requirement for adding a pad
4127         to an element in a state greater than READY.
4129 2007-01-17  Edward Hervey  <edward@fluendo.com>
4131         * docs/faq/gst-uninstalled:
4132         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4133         Mac OS X.
4135 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4137         * tests/check/gst/gstabi.c:
4138         * tests/check/gst/struct_hppa.h:
4139         * tests/check/libs/libsabi.c:
4140         * tests/check/libs/struct_hppa.h:
4141           Add ABI structs for HPPA (see #393796).
4143 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
4145         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4146           Actually write ABI structs to the file specified in the GST_ABI
4147           environment variable, as the message we print claims we would.
4149 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4151         * tests/check/gst/gsttask.c:
4152           Fix header comment.
4154 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4156         * gst/gsttaglist.c: (_gst_tag_initialize):
4157           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4158           previous two entries.
4160 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4162         * docs/gst/gstreamer-sections.txt:
4163         * gst/gsttaglist.c: (_gst_tag_initialize):
4164         * gst/gsttaglist.h:
4165           Add tag support for beat-per-minute.
4167 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4169         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4170         (gst_registry_binary_initialize_magic),
4171         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4172         (gst_registry_binary_save_pad_template),
4173         (gst_registry_binary_save_feature),
4174         (gst_registry_binary_save_plugin),
4175         (gst_registry_binary_write_cache),
4176         (gst_registry_binary_check_magic),
4177         (gst_registry_binary_load_pad_template),
4178         (gst_registry_binary_load_feature),
4179         (gst_registry_binary_load_plugin),
4180         (gst_registry_binary_read_cache):
4181         * gst/gstregistrybinary.h:
4182           Use glib types, cleanup comments, impement interfaces and uri-types.
4184 2007-01-13  Andy Wingo  <wingo@pobox.com>
4186         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4187         getrange() to return buffers with other caps, while we fix
4188         demuxers and typefind, or otherwise change part-negotiation.txt.
4190 2007-01-12  Andy Wingo  <wingo@pobox.com>
4192         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4193         Factor start/stop into this private function instead of partially
4194         in activate functions and partially in the change_state function.
4195         Fixes setup before the element has changed from READY->PAUSED, as
4196         is the case in pull-mode pipelines.
4197         (gst_base_transform_sink_activate_push)
4198         (gst_base_transform_src_activate_pull): Refactor to use
4199         gst_base_transform_activate().
4200         (gst_base_transform_change_state): Removed, not needed any more.
4202         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4203         Truncate before fixating.
4204         
4205         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4206         Don't set_caps() if the result of fixating is ANY, as it's not
4207         supported, and not necessary in the case of a link with no
4208         template caps on either side. Fixes tests/check/libs/basesrc in
4209         some pull-mode tests.
4211         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4212         (gst_base_transform_init, gst_base_transform_sink_activate_push)
4213         (gst_base_transform_src_activate_pull): 
4214         Track the activation mode.
4215         (gst_base_transform_setcaps): In pull mode, when activating the
4216         src pad, after activating the sink pad, activate the sink pad's
4217         peer, as discussed in part-negotiation.txt.
4219         * libs/gst/base/gstbasesrc.h: 
4220         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4221         vmethod, as in basesink.
4223         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4225         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4226         mode, first proxy the setcaps to the peer pad.
4227         (gst_base_sink_pad_fixate): Add a fixate function that calls the
4228         new fixate vmethod.
4229         (gst_base_sink_default_activate_pull): Rename from
4230         gst_base_sink_activate_pull.
4231         (gst_base_sink_negotiate_pull): New function, performs negotiation
4232         in pull mode before calling ::activate_pull().
4233         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4234         vmethod instead of the default implementation. I have no idea how
4235         this worked before. Negotiate before calling activate_pull.
4237         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4238         sink pads in pull mode. In addition to being correct, fixes
4239         filesrc ! decodebin ! identity ! fakesink.
4240         (gst_pad_get_range, gst_pad_pull_range): Don't call
4241         gst_pad_set_caps() if the caps changes; instead error out with
4242         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4244 2007-01-12  Andy Wingo  <wingo@pobox.com>
4246         * docs/design/part-negotiation.txt: Update with more policy.
4248 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4250         * libs/gst/check/gstbufferstraw.h:
4251         * libs/gst/check/gstcheck.h:
4252           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4253           belongs.
4255 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4257         * tests/check/Makefile.am:
4258         * tests/check/gst/.cvsignore:
4259         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4260         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4261         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4262         (GST_START_TEST), (gst_tag_setter_suite):
4263           Add minimal unit test for beforementioned GstTagSetter bug.
4265 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4267         Patch by: René Stadler <mail at renestadler dot de>
4269         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4270           gst_tag_list_merge() returns a new list, so it's not the best idea
4271           to ingore its return value. Effectively meant that tags could only
4272           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4273           Also add function guard to require a non-NULL taglist as input (has
4274           always been so due to gst_tag_list_copy(), just making it explicit).
4276 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4278         * docs/random/draft-missing-plugins.txt:
4279           Some additions: mention new API that is supposed to be used at the
4280           various stages; short blob about new gst-inspect introspection
4281           option; mention potential future problem with plugins that have
4282           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
4284 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4286         * tools/gst-inspect.c:
4287         (print_plugin_automatic_install_info_codecs),
4288         (print_plugin_automatic_install_info_protocols),
4289         (print_plugin_automatic_install_info), (main):
4290         Add --print-plugin-auto-install-info option to gst-inspect, so we can
4291         introspect plugin files and get machine-parsable output that corresponds
4292         to the last bit of the missing-plugin installer string (small gotcha:
4293         doesn't take into account ranks).
4295 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
4297         * configure.ac:
4298         * docs/gst/gstreamer-sections.txt:
4299         * gst/Makefile.am:
4300         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
4301         (gst_registry_lookup_locked):
4302         * gst/gstregistry.h:
4303         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4304         (gst_registry_binary_initialize_magic),
4305         (gst_registry_binary_save_string),
4306         (gst_registry_binary_save_pad_template),
4307         (gst_registry_binary_save_feature),
4308         (gst_registry_binary_save_plugin),
4309         (gst_registry_binary_write_cache),
4310         (gst_registry_binary_check_magic),
4311         (gst_registry_binary_load_pad_template),
4312         (gst_registry_binary_load_feature),
4313         (gst_registry_binary_load_plugin),
4314         (gst_registry_binary_read_cache):
4315         * gst/gstregistrybinary.h:
4316         * gst/gstregistryxml.c: (load_feature),
4317         (gst_registry_xml_read_cache):
4318           commit binary registry (disabled by default, see #359653)
4320 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4322         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
4323           Fix 'make check' too.
4325 2007-01-10  Andy Wingo  <wingo@pobox.com>
4327         * docs/design/part-negotiation.txt: Fix a typo, add a couple
4328         notes.
4329         
4330         * docs/design/part-negotiation.txt: Update with, um, one way that
4331         pull-mode negotiation might work?
4333         * gst/gstpad.h: 
4334         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
4335         that the pad must be a src pad; makes sense to call it the other
4336         way in pull mode, and the logic is symmetric anyway.
4338 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4340         * plugins/elements/gstfilesink.c:
4341           Include <stdio.h> for fseeko().
4343 2007-01-10  Wim Taymans  <wim@fluendo.com>
4345         * gst/gstevent.c:
4346         * gst/gstevent.h:
4347         Reserve LATENCY event.
4349 2007-01-09  Wim Taymans  <wim@fluendo.com>
4351         * docs/design/draft-latency.txt:
4352         Updates.
4354 2007-01-09  Wim Taymans  <wim@fluendo.com>
4356         * docs/design/draft-latency.txt:
4357         Updates.
4359         * gst/gstelement.h:
4360         * gst/gststructure.c:
4361         * gst/gsttrace.c:
4362         Small typo fixes.
4364 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4366         * tests/check/.cvsignore:
4367           Ignore test-registry.xml as well.
4369 2007-01-09  Wim Taymans  <wim@fluendo.com>
4371         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
4372         unref data at the end when we are done with the pad.
4374 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4376         * docs/gst/gstreamer-sections.txt:
4377         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
4378         (init_post), (gst_deinit), (gst_update_registry):
4379         * gst/gst.h:
4380           API: add gst_update_registry() (#391296).
4382         * tests/check/Makefile.am:
4383         * tests/check/gst/gstregistry.c:
4384         * tests/check/gst/.cvsignore:
4385           Simple unit test for the above.
4387 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4389         * gst/gstregistry.c: (gst_registry_scan_path_level):
4390           Plugin extension on HP-UX is .sl, add that to the list of approved
4391           plugin extensions (see #393796).
4393         * tests/check/gst/gstpad.c: (GST_START_TEST):
4394           ulong => gulong. Fixes compilation with HP-UX compiler.
4396         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4397           Fix compilation if valgrind headers are not available.
4399 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
4401         * win32/common/libgstreamer.def: 
4402           Add new exported function.
4403         * win32/vs6/libgstbase.dsp: 
4404           Add gstdataqueue.c to the build.
4405         * win32/vs6/libgstcoreelements.dsp:
4406           Add gstmultiqueue.c to the build.
4407         
4408 2007-01-06  Andy Wingo  <wingo@pobox.com>
4410         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
4411         activate_pull(), providing for a way to specialize the process of
4412         spawning a thread to pull on the sink pad. There is a default
4413         implementation.
4415         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
4416         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
4417         (gst_base_sink_init): Renamed pad activation functions (inserting
4418         "_pad" in their names). Refactor to use the new activate_pull
4419         vmethod, as appropriate.
4420         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
4421         default activate_pull function to start a task pulling from the
4422         sink pad, as before.
4424         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
4425         on the pads if necessary, as in push()/chain(). Update docs.
4426         Shouldn't affect existing pull() usage as it is currently only
4427         being used on buffers without caps.
4429 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4431         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4432         (init_pre):
4433           Call g_thread_init() first thing in gst_init() / gst_check_init().
4434           When initialisation is done via gst_init_get_option_group() and
4435           GOption parsing, issue a warning if the GLib thread system has not
4436           been initialised yet by the time gst_init_get_option_group() is
4437           called, as it's quite likely other GLib functions such as
4438           g_option_context_new() have been called already then, and
4439           g_thread_init() must be called before any other GLib function. The
4440           application in question must be fixed in that case, since memory
4441           corruption might happen otherwise.
4442           We issue the warning because even if the GLib folks decide to work
4443           around the problem on their end in future, this is still an issue
4444           with all GLib versions >= 2.10.0, so we should warn until we depend
4445           on a GLib version we know to be safe.
4446           Update documentation as well.
4447           Closes bug #391278.
4449 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4451         * tools/gst-inspect.c: (main):
4452         * tools/gst-launch.c: (main):
4453         * tools/gst-typefind.c: (main):
4454         * tools/gst-xmlinspect.c: (main):
4455           Call g_thread_init() really really early, before any other GLib
4456           function (see #342564 and recent discussion on gtk-devel-list).
4458 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4460         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
4462         * gst/gst_private.h:
4463         * gst/gstconfig.h.in:
4464         * gst/gstinfo.h:
4465           On win32, all the __declspec stuff for symbol exporting is
4466           apparently only needed with MSVC, but doesn't work with MingW.
4467           Fixes compilation with MingW and #391909.
4469 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4471         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
4472           Change some GST_ERROR_OBJECT that aren't really errors to
4473           GST_WARNING_OBJECT in order to reduce terminal spam.
4475 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4477         * tests/check/Makefile.am:
4478           disable test again, as there seem to be still race problems
4480 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4482         * tests/check/Makefile.am:
4483         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4484         (GST_START_TEST), (queue_suite):
4485           enable queue test again, add tests for the leaky behaviour
4487 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
4489         * configure.ac:
4490         * tests/examples/Makefile.am:
4491           Compile adapter test/example only if the required headers are
4492           available (fixes #391915).
4494 2007-01-01  David Schleef  <ds@schleef.org>
4496         * gst/gstplugin.c:
4497           Restore the previous signal handler for SIGSEGV instead of
4498           setting to default, since we may have stolen it away from
4499           someone.  (i.e., Mono)
4501 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4503         * docs/random/draft-missing-plugins.txt:
4504           Some small additions and clarifications.
4506 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4508         * gst/gstregistryxml.c: (gst_registry_save_escaped):
4509           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4510           since that can lead to random memory corruptions and crashes
4511           (may or may not be related to #383244, #386711, and #386711).
4513 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4515         * tests/check/.cvsignore:
4516         * tests/check/Makefile.am:
4517           sync .cvsignome and CLEANFILES
4519 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4521         * tests/check/Makefile.am:
4522           fix distcheck
4524 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4526         * docs/design/part-states.txt:
4527           two tiny additional comments
4528         
4529         * gst/gststructure.c:
4530           doc fixing
4532         * tests/check/Makefile.am:
4533         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4534         (GST_START_TEST):
4535           disable test for now, unless it gets fixed
4537 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4539         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4540         (GST_START_TEST):
4541           fix race in underrun test
4543 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4545         * tests/check/elements/.cvsignore:
4546           ignore more
4548         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4549         (GST_START_TEST):
4550           try to narrow test failure
4552 2006-12-21  David Schleef  <ds@schleef.org>
4554         * plugins/elements/gstfakesrc.c:
4555           Use g_random_int_range(), since it produces better random
4556           numbers in a range than almost-correct floating point code.
4558 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4560         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4561         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4562         (gst_check_teardown_sink_pad):
4563           do not automatically (de)activate pads
4565         * tests/check/Makefile.am:
4566         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4567         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4568           add new, yet simple tests for queue
4570         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
4571         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
4572         * tests/check/elements/filesrc.c: (cleanup_filesrc),
4573         (GST_START_TEST):
4574         * tests/check/elements/identity.c: (cleanup_identity):
4575           consistent pad (de)activation
4577 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4579         Patch by: Sebastian Dröge  <slomo ubuntu com>
4581         * libs/gst/base/gstcollectpads.c:
4582           Fix two doc typos (#387866).
4584 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4586         * docs/manual/advanced-dparams.xml:
4587           Fix typo (g_object_control_properties() doesn't exist).
4589 2006-12-19  Edward Hervey  <edward@fluendo.com>
4591         * gst/gstsegment.c: (gst_segment_set_seek):
4592         Fine tune the cases where the segment start/stop values are really
4593         updated.
4594         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4595         Add tests for the return values of gst_segment_set_seek().
4597 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4599         * gst/gst.c:
4600           Docs typo fix.
4602         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4603         (gst_queue_init):
4604           Fix incorrect documentation and flesh it out a bit more.
4605           Set default values for the max properties on the GParamSpec as well,
4606           so it shows up correctly in gst-inspect.
4608 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
4610         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
4611           Correct docs of queue, add more detail and crosslink it more.
4613 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4615         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4616           Print additional debug info when the stream isn't perfectly
4617           timestamped; don't try to use invalid durations.
4619 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4621         * docs/design/Makefile.am:
4622           Dist new design docs.
4624 2006-12-16  Wim Taymans  <wim@fluendo.com>
4626         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4628         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
4629         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4630         (gst_collect_pads_stop), (gst_collect_pads_event),
4631         (gst_collect_pads_chain):
4632         * libs/gst/base/gstcollectpads.h:
4633         Add refcounting to the collectpads data so we can track when it's safe
4634         to free the data. Fixes #383382.
4636 2006-12-15  Wim Taymans  <wim@fluendo.com>
4638         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4639         (gst_collect_pads_remove_pad):
4640         Automatically activate/deactivate pads when they are added to a
4641         started/stoped collectpads.
4643 2006-12-15  Wim Taymans  <wim@fluendo.com>
4645         * gst/gstelement.c: (gst_element_add_pad):
4646         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4647         * gst/gstpad.c: (gst_pad_init):
4648         Set pads to FLUSHING when they are created. Check, warn and fix when a
4649         demuxer adds an inactive pad to itself when running. Fixes #339326.
4651 2006-12-15  Wim Taymans  <wim@fluendo.com>
4653         * gst/gstelement.c: (gst_element_class_init),
4654         (gst_element_default_send_event), (gst_element_send_event),
4655         (gst_element_default_query), (gst_element_query):
4656         Expose default element send_event and query handling as vmethods that
4657         subclasses can chain up to.
4659 2006-12-15  Wim Taymans  <wim@fluendo.com>
4661         * gst/gstelement.c: (gst_element_set_state_func):
4662         Small documentation fixes.
4664 2006-12-15  Wim Taymans  <wim@fluendo.com>
4666         * docs/design/draft-latency.txt:
4667         Checked in draft for handling latency in pipelines.
4669 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4671         * Makefile.am:
4672         * gstreamer.doap:
4673         * gstreamer.spec.in:
4674           adding .doap file
4676 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
4678         * gst/gst.c: (init_pre), (init_post):
4679           init_pre() and init_post() might be called via our GOptionGroup or
4680           from gst_init(), and we should skip both of them if we've already
4681           been initialised, otherwise we will init some things twice or add
4682           two default log functions.
4684 2006-12-13  Edward Hervey  <edward@fluendo.com>
4686         * docs/manual/basics-bus.xml:
4687         No, gst_main_loop does not exist. Its g_main_loop.
4688         Discovered by somebody who abused the copy-paste technique of coding :)
4690 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4692         * gst/gstghostpad.c:
4693           Log ghostpad debug stuff to the GST_PADS category as well rather
4694           than just to the default category.
4696 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4698         * configure.ac:
4699         * gst/gst.c: (init_pre):
4700           Add some basic system details such as OS and architecture
4701           to the debug output if possible, courtesy of uname().
4703 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4705         * docs/gst/running.xml:
4706           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
4707           environment variables.
4709 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4711         * tests/check/gst/gstbin.c: (GST_START_TEST):
4712         It is acceptable to have a refcount of 2 or 3 at this point in the
4713         test, because the pipeline might be just posting its state_change
4714         message. The next line then waits for that message to appear using
4715         bus_poll, so that should be fine too.
4717 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4719         * gst/gst.c: (ensure_current_registry_forking):
4720         Ignore EINTR when reading from the child registry pipe.
4721         Explicitly ignore the return value from close, since it makes no
4722         difference.
4724         * gst/gstminiobject.c: (gst_mini_object_ref),
4725         (gst_mini_object_unref):
4726         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
4728         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
4729         When removing cached plugins, remove their features too, so they're
4730         not visible after they've disappeared.
4732         * gst/gstutils.c: (prepare_link_maybe_ghosting):
4733         In the unlikely case that we are linking pads with no parents, don't
4734         crash trying to get the non-existent parent bin.
4736         * gst/parse/grammar.y:
4737         Output debug in the PIPELINE category
4739 2005-03-08  Wim Taymans  <wim@fluendo.com>
4741         Patch by: René Stadler <mail at renestadler dot de>
4743         * gst/gstclock.c: (gst_clock_new_periodic_id):
4744         Reject invalid clock times for interval of periodic ids.
4745         Fixes ##383506.
4747 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
4749         * gst/gstelementfactory.c: (gst_element_factory_create):
4750         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4751         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4752         * tools/gst-inspect.c: (print_element_info):
4753         Fix refcounting of gst_plugin_feature_load to match the docs. 
4754         Fixes: #380129
4756 2006-12-07  Wim Taymans  <wim@fluendo.com>
4758         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4759         (gst_base_sink_get_position):
4760         Improve debugging of events.
4762 2006-12-07  Wim Taymans  <wim@fluendo.com>
4764         Patch by: René Stadler <mail at renestadler dot de>
4766         * gst/gstclock.c: (gst_clock_id_wait):
4767         Make period ids add the interval to the origial requested time instead
4768         of the possibly updated time which can be wrong when there are multiple
4769         waiters for the same id. Fixes #382592.
4771         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
4772         (gst_system_clock_id_wait_jitter_unlocked),
4773         (gst_system_clock_id_wait_jitter):
4774         Fix restart in the async notify thread when an async entry is added to
4775         the front of the list. Fixes #381492. 
4777         * tests/check/gst/gstsystemclock.c: (store_callback),
4778         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
4779         Added test for multiple async waits.
4780         Added test for async wait order.
4782 2006-12-07  Wim Taymans  <wim@fluendo.com>
4784         * gst/gstbin.c: (gst_bin_query):
4785         Add some more docs about the POSITION query.
4787 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
4789         * configure.ac:
4790         Bump version nano - back to CVS.
4792 === release 0.10.11 ===
4794 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
4796         * configure.ac:
4797           releasing 0.10.11, "Love never runs on time"
4799 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
4801         * win32/common/libgstbase.def:
4802         * win32/common/libgstreamer.def:
4803         * win32/vs8/libgstbase.vcproj:
4804         * win32/vs8/libgstcoreelements.vcproj:
4805         * win32/vs8/libgstreamer.vcproj:
4806         Fix compilation on win32 under VS8
4807         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4808         Partially fixes #381175
4810 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4812         * gst/gstvalue.c: (gst_value_compare_fraction):
4813         If someone is foolish enough to compare 2 fractions with denominator =
4814         0, return UNORDERED rather than aborting.
4816 2006-11-28  Edward Hervey  <edward@fluendo.com>
4818         * libs/gst/base/Makefile.am:
4819         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
4820         (gst_data_queue_base_init), (gst_data_queue_class_init),
4821         (gst_data_queue_init), (gst_data_queue_new),
4822         (gst_data_queue_cleanup), (gst_data_queue_finalize),
4823         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
4824         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
4825         (gst_data_queue_is_empty), (gst_data_queue_is_full),
4826         (gst_data_queue_set_flushing), (gst_data_queue_push),
4827         (gst_data_queue_pop), (gst_data_queue_drop_head),
4828         (gst_data_queue_set_property), (gst_data_queue_get_property):
4829         * libs/gst/base/gstdataqueue.h:
4830         New GstDataQueue object for threadsafe queueing. Most useful for
4831         elements that need some queueing functionnality.
4832         * docs/libs/gstreamer-libs-docs.sgml:
4833         * docs/libs/gstreamer-libs-sections.txt:
4834         Insert documentation for GstDataQueue
4835         * plugins/elements/Makefile.am:
4836         * plugins/elements/gstelements.c:
4837         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4838         (gst_multi_queue_class_init), (gst_multi_queue_init),
4839         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4840         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
4841         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
4842         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4843         (gst_multi_queue_loop), (gst_multi_queue_chain),
4844         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4845         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
4846         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
4847         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
4848         (wake_up_next_non_linked), (compute_next_non_linked),
4849         (single_queue_overrun_cb), (single_queue_underrun_cb),
4850         (single_queue_check_full), (gst_single_queue_new):
4851         * plugins/elements/gstmultiqueue.h:
4852         New multiqueue element, using GstDataQueue. Used for queuing multiple
4853         streams.
4854         Closes #344639 and #347785
4856 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
4858         * docs/pwg/advanced-types.xml:
4859           add more missing type details
4861         * tools/gst-run.c: (main):
4862           remove unused variable
4864 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
4866         * docs/libs/Makefile.am:
4867         * docs/libs/gstreamer-libs.types:
4868           add types of base classes to enable gobject specific stuff in the docs
4870         * docs/random/ensonic/embedded.txt:
4871           more ideas about isolating platform specific things
4873 2006-11-20  Wim Taymans  <wim@fluendo.com>
4875         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
4877         * libs/gst/check/gstcheck.h:
4878         Fix compilation and running against 0.9.4. Fixes #377332.
4880 2006-11-20  Wim Taymans  <wim@fluendo.com>
4882         * gst/gstsegment.c: (gst_segment_set_seek),
4883         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4884         (gst_segment_to_running_time):
4885         Fix boundary checking in to_running_time() and to_stream_time().
4886         Fixes #377183.
4888         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4889         stream and running time can now be calculated for the complete
4890         clipped segment.
4892 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
4894         * gst/gstpad.c: (gst_pad_push_event):
4895           Can't access event structure after giving away ownership of
4896           the event.
4898 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
4900         * docs/random/ensonic/embedded.txt:
4901         * docs/random/ensonic/profiling.txt:
4902         * docs/random/ensonic/receipies.txt:
4903           more thinking
4905 2006-11-13  Wim Taymans  <wim@fluendo.com>
4907         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
4909         * gst/gstpad.c:
4910         Fix documentation for gst_pad_dispatcher. Fixes #374475.
4912 2006-11-13  Wim Taymans  <wim@fluendo.com>
4914         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
4916         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4917         Store new length in segment duration so we don't keep on calling the
4918         potentially expensize get_size() call. Fixes #370865.
4920 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
4922         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
4924         * win32/common/libgstreamer.def:
4925           Add two missing symbols (#366492).
4927 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
4929         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
4930         (gst_adapter_take_buffer):
4931         Fix format string to use all its arguments.
4932         Remove useless >= check on a guint
4934 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
4936         * tests/examples/adapter/.cvsignore:
4937         Ignore build file as commanded by the build-bot
4939 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
4941         * tests/examples/adapter/Makefile.am:
4942         * tests/examples/adapter/adapter_test.c: (run_test_take),
4943         (run_test_take_buffer), (run_tests), (main):
4945         Add new files from the previous commit
4947 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
4949         * Makefile.am:
4950         * configure.ac:
4951         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
4952         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
4953         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
4954         * libs/gst/base/gstadapter.h:
4955         * tests/check/libs/adapter.c: (create_and_fill_adapter),
4956         (GST_START_TEST), (gst_adapter_suite):
4957         * tests/examples/Makefile.am:
4958         Do some optimisation work in GstAdapter to avoid copies in more cases.
4959         It could still do slightly better by merging buffers when
4960         gst_buffer_is_span_fast is true, but is already faster. 
4962         Also, avoid traversing a single-linked list to append each incoming 
4963         buffer inside the adapter.
4965         Add simple test app that times the adapter behaviour in different
4966         situations, and extend the unit test to check that bytes enter and
4967         exit the adapter in their original order.
4969 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4971         * docs/random/draft-missing-plugins.txt:
4972           Update: use element message instead of adding a new message
4973           type to the core; don't provide GStreamer API to initiate the
4974           plugin download, just provide API to compose the strings needed
4975           and let an external libgimmestuff handle the rest.
4977 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
4979         * tools/gst-inspect.c: (print_element_properties_info):
4980         Print a string instead of 'unknown type' for GValueArray properties
4982 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
4984         * docs/random/draft-missing-plugins.txt:
4985         More small fixes.
4987 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4989         * tests/examples/typefind/typefind.c: (type_found), (main):
4990           Make typefind element example work again (#371894); add a
4991           license header.
4993 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4995         * docs/random/draft-missing-plugins.txt:
4996           Commit initial draft about how to deal with missing plugins,
4997           needs work (API too).
4999 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
5001         * docs/pwg/advanced-types.xml:
5002           documents the new caps elements (see #363118)
5004 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5006         * gst/gstplugin.c: (gst_plugin_load_file):
5007         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5008         (gst_file_src_map_region), (gst_file_src_start):
5009         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5010         (gst_file_index_commit):
5011           Use g_strerror() instead of strerror() - we want UTF-8.
5013 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5015         Patch by: Peter Kjellerstedt <pkj at axis com>
5017         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5018           Another printf fix (#371493).
5020 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5022         * tests/check/gst/gsttag.c:
5023           relicence (okay with author=company)
5025 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5027         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5028         (gst_pad_push_event):
5029           Enhance debug and improve docs
5030         
5031         * gst/gsturi.c:
5032           Fix docs
5034 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5036         * docs/random/ensonic/distributed.txt:
5037         * docs/random/ensonic/profiling.txt:
5038           more ideas
5040 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5042         * docs/gst/gstreamer-sections.txt:
5043           add new API and fix the build
5044           
5045         * gst/gstbin.c: (gst_bin_recalc_state):
5046         * gst/gstelement.c: (gst_element_message_full),
5047         (gst_element_get_state_func), (gst_element_set_state_func):
5048           use new API and improve logging
5049         
5050         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5051         * gst/gstutils.h:
5052           API: add function to get StateChangereturn names to improve logs 
5054 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5056         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5057           I'm considering shooting the next person to put strerror stuff
5058           in the translateable part of the message.
5060 2006-11-03  Wim Taymans  <wim@fluendo.com>
5062         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5063         Get the type and printf conversion specifiers right.
5065 2006-11-03  Wim Taymans  <wim@fluendo.com>
5067         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5069         * gst/gstpad.c: (gst_pad_init), (pre_activate),
5070         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5071         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5072         Some small cleanups. Improve debugging.
5073         * gst/gstpad.h:
5074         Signal all waiting threads with a broadcast instead of just one.
5075         Fixes #369942.
5077 2006-11-03  Wim Taymans  <wim@fluendo.com>
5079         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5080         (gst_fd_src_create):
5081         Add some debugging. 
5082         Only update fd when it's different from the old.
5084 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5086         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5087           Printf fixes for PPC/OSX, take two (#369366).
5089 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5091         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
5093         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5094         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5095         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5096           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5097           don't cast to long long for portability reasons, but use
5098           GLib's types instead.
5100 2006-10-30  Michael Smith  <msmith@fluendo.com>
5102         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5103           Get the arguments to lseek() the right way around.
5104           Fixes 367677.
5106 2006-10-30  Wim Taymans  <wim@fluendo.com>
5108         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5110         * gst/gstinfo.h:
5111         _declspec should be __declspec (two underscores, not one). Fixes 366572.
5113 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5115         Patch by: Kjartan Maraas  <kmaraas at gnome org>
5117         * docs/design/part-MT-refcounting.txt:
5118         * docs/random/wtay/capsnego2-docs:
5119         * gst/gstclock.c:
5120         * gst/gstxml.c:
5121           Typo fixes (#366212).
5123 2006-10-28  Wim Taymans  <wim@fluendo.com>
5125         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5127         * gst/gst.c:
5128         * win32/common/libgstbase.def:
5129         * win32/common/libgstreamer.def:
5130         * win32/vs8/libgstbase.vcproj:
5131         * win32/vs8/libgstcontroller.vcproj:
5132         Add needed entries in .def files.
5133         Use HAVE_UNISTD_H.
5134         Rearrange def files in vs8 solutions. Fixes #366286.
5136 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5138         * win32/common/gstconfig.h:
5139           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5140           hand-made win32 gstconfig.h. Fixes #366321.
5142 2006-10-27  Wim Taymans  <wim@fluendo.com>
5144         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5145         (gst_ghost_pad_new_full):
5146         Make acceptcaps return TRUE when we don't have a target, just like
5147         setcaps does.
5149 2006-10-27  Wim Taymans  <wim@fluendo.com>
5151         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5152         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5154 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5156         * gst/gststructure.c: (gst_structure_id_set_value):
5157           If someone tries to set a non-UTF8 string field on a structure,
5158           don't just print a warning, but also ignore the request and do
5159           not change/add that field to the structure.
5161         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5162           Test for the above.
5164 2006-10-25  David Schleef  <ds@schleef.org>
5166         * gst/gstinfo.c:
5167           g_hash_table_insert() needs a cast to a non-const pointer duh.
5169 2006-10-25  David Schleef  <ds@schleef.org>
5171         * gst/gstinfo.c:
5172         * gst/gstinfo.h:
5173           Change name parameter of _gst_debug_register_funcptr to const
5174           to reflect the constness of its use in the function as well
5175           as to quiet a gcc warning.
5177 2006-10-25  Edward Hervey  <edward@fluendo.com>
5179         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5180         Don't push the buffer if it's empty.
5181         Closes #363095
5183 2006-10-24  Wim Taymans  <wim@fluendo.com>
5185         * gst/gstevent.h:
5186         Add small comment.
5188         * libs/gst/base/gstbasetransform.c:
5189         (gst_base_transform_sink_eventfunc):
5190         Debug segment values *after* updating them as this is more
5191         interesting.
5193 2006-10-23  Wim Taymans  <wim@fluendo.com>
5195         * docs/design/part-events.txt:
5196         Update some docs.
5198         * docs/design/part-block.txt:
5199         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5200         (gst_pad_push_event):
5201         Revert BLOCKING patch, it tries to be smart without really having a
5202         clear idea what or how. So, now we discard all FLUSHING events again on
5203         a blocking pad. Should fix gnonlin again.
5205 2006-10-23  Wim Taymans  <wim@fluendo.com>
5207         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5209         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5210         (gst_base_src_start), (gst_base_src_activate_push):
5211         Make sure size is always initialized. Fixes #364388.
5213 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
5215         * docs/random/ensonic/distributed.txt:
5216           add some ideas about doing distributed processing
5218         * docs/random/ensonic/profiling.txt:
5219           get_rusage look promising
5221 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5223         * docs/manual/basics-helloworld.xml:
5224           Add a cast in example to fix compile warning
5226 2006-10-18  Wim Taymans  <wim@fluendo.com>
5228         * gst/gstsegment.c: (gst_segment_set_last_stop),
5229         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5230         Relax arg checking again, -1 is allowed.
5232 2006-10-18  Wim Taymans  <wim@fluendo.com>
5234         * gst/gstsegment.c: (gst_segment_set_last_stop),
5235         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5236         _set_last_stop() must be with a value != -1
5237         A _TYPE_SET to -1 means seek to 0.
5238         Calc last_stop correctly for negative rates.
5239         Make sure we work with positive durations when updating a segment.
5241 2006-10-18  Wim Taymans  <wim@fluendo.com>
5243         * docs/design/part-live-source.txt:
5244         * gst/gstclock.h:
5245         Small docs fixes.
5247 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
5249         * gst/gstbuffer.h:
5250           Add an explicit cast to GstBuffer** to keep old code that added an
5251           explicit cast to GstMiniObject** for gst_mini_object_replace()
5252           compiling without warning.
5254 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5256         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5257           check for validity of dates
5259 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5261         * docs/gst/gstreamer-sections.txt:
5262           Forgot this one, makes gtk-doc shut up.
5264 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5266         Patch by: Peter Kjellerstedt <pkj at axis com>
5268         * gst/gstobject.h:
5269           Don't define xmlNodePtr to gpointer if the core was built with
5270           --disable-loadsave and --disable-registry, this will break
5271           applications that want to use libxml2 but are buildling against a
5272           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5273           instead so we don't have to mess with the libxml2 namespace
5274           (#361675).
5276 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5278         * gst/gstbuffer.h:
5279           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5280           type-punned pointer warnings.
5282 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5284         * gst/gstelement.h:
5285           Add casts to the correct return type to state <=> state transition
5286           macros.
5288 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
5290         * docs/design/part-live-source.txt:
5291           describe howto handle latency
5292         
5293         * docs/random/ensonic/profiling.txt:
5294           more ideas
5296         * tools/gst-plot-timeline.py:
5297           fix log parsing for solaris, remove unused function
5299 2006-10-16  Wim Taymans  <wim@fluendo.com>
5301         * docs/design/part-trickmodes.txt:
5302         * gst/gstevent.c:
5303         Update some docs regarding reverse playback.
5305 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5307         Patch by: Marcus Granado  <mrc dot gran at gmail com>
5309         * win32/vs8/grammar.vcproj:
5310           Error out with a warning if glib-genmarshal.exe is not in path,
5311           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
5313 2006-10-13  Wim Taymans  <wim@fluendo.com>
5315         * gst/gstsegment.c: (gst_segment_set_seek):
5316         When seeking to stop -1, set last_stop (current position) to the
5317         duration of the segment.
5319 2006-10-13  Wim Taymans  <wim@fluendo.com>
5321         * gst/gstelement.h:
5322         Clarify _NO_PREROLL a bit more.
5324         * gst/gstevent.c:
5325         Fix docs.
5327         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
5328         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
5329         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
5330         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
5331         due to wrong locking order. Fixes #361769.
5332         Remove some redundant/misplaced checks in pad_block.
5334         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5335         For negative rates, count backwards from the duration.
5337 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5339         * gst/gsterror.c: (_gst_library_errors_init):
5340           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
5341           up with something better).
5343 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5345         * win32/vs6/libgstreamer.dsp:
5346         * win32/vs7/libgstreamer.vcproj:
5347         * win32/vs8/libgstreamer.vcproj:
5348           Don't reference glib-compat.c which is currently not used and not
5349           disted; add gstquark.c which was recently added. Fixes #361730.
5351 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5353         * win32/common/libgstbase.def:
5354         * win32/common/libgstcontroller.def:
5355         * win32/common/libgstreamer.def:
5356           Add gst_caps_merge() and a bunch of other recently-added functions.
5357           Fixes #361732.
5359 2006-10-11  Wim Taymans  <wim@fluendo.com>
5361         * docs/plugins/gstreamer-plugins.args:
5362         * docs/plugins/inspect/plugin-coreelements.xml:
5363         * docs/plugins/inspect/plugin-coreindexers.xml:
5364         Update element args.
5366         * gst/gstsystemclock.c:
5367         Small comment update.
5369         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5370         (gst_tee_request_new_pad), (gst_tee_release_pad),
5371         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
5372         (gst_tee_sink_activate_pull):
5373         * plugins/elements/gsttee.h:
5374         Some tee loving:
5375         Add default property defines.
5376         Implement release pad function.
5377         Give properties better blubs etc.
5378         Activate pads before adding them to a running tee.
5379         Do simple buffer_alloc on the first requested pad.
5380         Post error when activation fails.
5382 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5384         * gst/gst.c: (ensure_current_registry_forking):
5385           Check return value of write() to make compiler happy.
5387 2006-10-11  Wim Taymans  <wim@fluendo.com>
5389         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5391         * plugins/elements/gstqueue.c: (gst_queue_chain):
5392         Recheck queue filledness after signalling the overrun when we're about
5393         to leak downstream because we released the lock when emitting the signal
5394         and the queue could be empty again. Fixes #352345.
5396 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5398         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5399           Fix refcounting here too, just like we did for _new_valist() a few
5400           days ago (#357180) (thanks to René Stadler). Also remove all those
5401           'Since: 0.9' from the gtk-doc blobs.
5403         * tests/check/libs/controller.c: (controller_refcount_new_list),
5404         (gst_controller_suite):
5405           Unit test for the above.
5407 2006-10-10  Wim Taymans  <wim@fluendo.com>
5409         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
5411         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5412         (gst_pad_save_thyself):
5413         Update some docs.
5414         Write pad direction in XML output. Fixes #345496.
5416 2006-10-10  Wim Taymans  <wim@fluendo.com>
5418         Patch by: René Stadler <mail at renestadler dot de>
5420         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5421         (gst_controller_new_list), (_gst_controller_dispose),
5422         (_gst_controller_finalize), (_gst_controller_class_init):
5423         Take ref to controlled object so that it cannot disappear. 
5424         Fixes #357432.
5426 2006-10-10  Wim Taymans  <wim@fluendo.com>
5428         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5429         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5430         (gst_check_teardown_sink_pad):
5431         Activate/deactivate pads in setup/teardown respectively.
5433 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5435         Patch by: Josep Torre Valles <josep@fluendo.com>
5437         * gst/Makefile.am:
5438         Cast values when making gstenumtypes.h.  This pacifies Forte
5439         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
5440         in the enumeration.
5442 2006-10-09  Wim Taymans  <wim@fluendo.com>
5444         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
5445         Rename some more @cur to @start to fix docs. 
5447         * gst/gstsegment.c: (gst_segment_set_seek):
5448         Fix typo.
5449         time and start must always stay in sync as defined in design doc.
5451         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5452         Rename param to fix docs.
5454         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5455         Check that start and time are in sync.
5457         * tests/check/pipelines/parse-launch.c:
5458         (gst_parse_test_element_change_state):
5459         Activate pad before adding to the element.
5461 2006-10-09  Wim Taymans  <wim@fluendo.com>
5463         * docs/design/part-qos.txt:
5464         Fix typo.
5466         * gst/gstevent.c:
5467         * gst/gstevent.h:
5468         Update seek event docs regarding negative rates.
5469         Rename @cur to @start. 
5471         * gst/gstsegment.c: (gst_segment_set_seek):
5472         * gst/gstsegment.h:
5473         Update set_seek docs regarding negative rates.
5474         Correctly update last_stop to @stop when dealing with negative
5475         rates.
5476         Rename @cur to @start. 
5478         * tests/check/gst/gstpad.c: (GST_START_TEST):
5479         Activate pads before trying to use them.
5481         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5482         (gst_segment_suite):
5483         Add simple check for segments and negative rates.
5485 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5487         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5488         * gst/gsttaglist.h:
5489         * docs/gst/gstreamer-sections.txt:
5490           API: add gst_tag_list_is_empty() (#360467).
5492         * tests/check/gst/gsttag.c: (GST_START_TEST):
5493           And a test case.
5495 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5497         * gst/gstmessage.h:
5498         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
5499         a value that doesn't fit on enumeration.
5501 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5503         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5504         Remove local debugging system and use Gstreamer's instead.
5506 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5508         Patch by: Josep Torre Valles <josep@fluendo.com>
5510         * common/m4/gst-error.m4:
5511         Disable warning of statement not reached on Forte.
5512         * gst/gstmessage.h:
5513         Fix warning on Forte (value doesn't fit on enumeration).
5514         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5515         Fix warning on Forte (value doesn't fit on enumeration).
5516         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5517         DEBUG macro says it takes minimum of 2 args and so Forte
5518         complains about the use with just 1 arg.
5519         * plugins/elements/gstfdsink.c:
5520         * plugins/elements/gstfdsrc.c:
5521         * plugins/elements/gstfilesink.c:
5522         * plugins/elements/gstfilesrc.c:
5523         Use correct return type for the uri handler implementations.
5525         All these fix warnings in Forte.  Fixes bug #360860.
5527 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5529         * gst/gstelement.h:
5530           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5531           format string, so don't use G_GNUC_PRINTF for those versions.
5533 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5535         * gst/gsttaglist.c: (gst_is_tag_list):
5536         * gst/gsttaglist.h:
5537           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5539         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5540           Small test for the above.
5542 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5544         * gst/gsttaglist.h:
5545           Less tabs, more spaces.
5547 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
5549         * gst/gstinfo.h:
5550           Those two function declarations do actually belong there, revert
5551           commit from yesterday that turned them intro macros.
5553 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5555         Patch by: Josep Torre Valles <josep@fluendo.com>
5557         * gst/gst.c: (gst_init_get_option_group):
5558         Fix empty declaration and type mismatch.
5559         * gst/gstbin.c: (gst_bin_change_state_func):
5560         Fix type mismatch.
5561         * gst/gstelement.c: (gst_element_continue_state),
5562         (gst_element_set_state_func), (gst_element_change_state),
5563         (gst_element_change_state_func):
5564         Fix type mismatches.
5565         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5566         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5567         Cast as appropriate.
5568         * gst/gstobject.c: (gst_class_signal_connect):
5569         Cast as appropriate.  The function pointer parameter really
5570         has the wrong type but would break API if we change it.
5571         * gst/gstquery.c:
5572         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
5573         order of including string.h.
5574         * gst/gstutils.c: (gst_element_state_get_name):
5575         Remove unreachable line.
5576         * gst/gstxml.c: (gst_xml_parse_doc):
5577         Fix type mismatch.
5578         All these caught by Forte.
5580 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5582         Patch by: Josep Torre Valles <josep@fluendo.com>
5584         * common/m4/gst-error.m4:
5585         Fixed bug #360151.
5586         We need to disable warnings on Forte for empty declarations
5587         due to gst-indent adding ;s to lines that just use macros
5588         where the macro actually doesn't need a ; at end to end
5589         statement.
5591 2006-10-06  Wim Taymans  <wim@fluendo.com>
5593         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5594         (gst_file_sink_close_file), (gst_file_sink_event),
5595         (gst_file_sink_render):
5596         Add some FIXME for the NEWSEGMENT handling.
5598 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5600         * gst/parse/grammar.y:
5601         Remove static function gst_parse_element_lock as all it does
5602         is return.  Looks like cruft from 0.8.
5604 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5606         Patch by: Josep Torre Valles <josep@fluendo.com>
5608         * common/m4/gst-error.m4:
5609         * configure.ac:
5610         * libs/gst/net/Makefile.am:
5611         Fix a compilation issue with Forte on Solaris.  inet_aton is in
5612         libresolv.
5614 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5616         * gst/gstpad.c: (pre_activate):
5617         * gst/gstregistry.c: (gst_registry_scan_path_level):
5618         * gst/gstregistryxml.c: (load_plugin):
5619         * libs/gst/controller/gstcontroller.c:
5620         (gst_controlled_property_set_interpolation_mode):
5621         * libs/gst/dataprotocol/dataprotocol.c:
5622         (gst_dp_packet_from_event_1_0):
5623         * libs/gst/net/gstnetclientclock.c:
5624         (gst_net_client_clock_observe_times):
5625         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5626           Printf fixes.
5628 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5630         * configure.ac:
5631         * docs/gst/gstreamer-sections.txt:
5632         * gst/gstconfig.h.in:
5633         * gst/gstelement.h:
5634         * gst/gstinfo.h:
5635           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
5636           whether we can use G_GNUC_PRINTF in other header files and at
5637           least check the printf format/arguments of debug messages and
5638           GST_ELEMENT_ERROR messages when the printf extension is not
5639           being used.
5640           Replace more tabs with spaces in gstinfo.h and remove two spurious
5641           function declarations in GST_DISABLE_DEBUG part with macros.
5643 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5645         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
5646           More docs for the sync-message signal (mention that it is not
5647           emitted by default); log message structures of messages posted on
5648           the bus as well.
5650 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
5652         * gst/gst.c: (ensure_current_registry_forking):
5653         Use a pipe pair to receive status results from the forked child, and
5654         ignore the result from waitpid. Fixes #355499
5656 2006-10-02  Wim Taymans  <wim@fluendo.com>
5658         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5659         (gst_ghost_pad_suite):
5660         Fix leak in check.
5662 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5664         * gst/gstpad.c:
5665           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
5667 2006-10-02  Edward Hervey  <edward@fluendo.com>
5669         * docs/design/part-block.txt:
5670         Further explain the use of flushing on blocked pads.
5671         * docs/gst/gstreamer-sections.txt:
5672         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5673         (gst_pad_push_event):
5674         * gst/gstpad.h:
5675         Added new GstPadFlag : GST_PAD_BLOCKING.
5676         Adds the notion of pads really blocking, which enables to properly
5677         handle FLUSH_START/FLUSH_STOP events on blocked pads.
5678         Fixes #358999
5679         API: gst_pad_is_blocking()
5680         API: GST_PAD_IS_BLOCKING() macro
5681         API: GST_PAD_BLOCKING GstPadFlag
5682         
5683 2006-10-02  Wim Taymans  <wim@fluendo.com>
5685         Patch by: mrcgran <mrc.gran at gmail dot com>
5687         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
5688         Filter the proxied caps against the padtemplate if we have one.
5690         * gst/gstquery.c: (gst_query_new_segment):
5691         Add include for gstinfo.h so that compilation with
5692         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
5694 2006-10-02  Wim Taymans  <wim@fluendo.com>
5696         Patch by: Alessandro Decina  <alessandro at nnva org>
5698         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
5699         (gst_file_sink_set_location), (gst_file_sink_open_file),
5700         (gst_file_sink_close_file), (gst_file_sink_event),
5701         (gst_file_sink_render):
5702         Set file to NULL when closing filesink so that we can set a new filename
5703         in READY. Fixes #358613.
5705 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5707         Patch by: Alessandro Decina  <alessandro at nnva org>
5709         * gst/gstevent.c: (_gst_event_copy):
5710           Fix gst_mini_object_make_writable() and gst_event_copy() for events
5711           with event structures by setting the parent refcount address of the
5712           copied structure to the address of the refcount member of the newly
5713           copied event rather than the address of the refcount member of the
5714           original event. Fixes #358737.
5716         * tests/check/gst/gstevent.c: (GST_START_TEST):
5717           Unit test for the above.
5719 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
5721         * docs/design/Makefile.am:
5722           Dist some more files.
5724 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5726         * tests/check/libs/controller.c: (GST_START_TEST),
5727         (gst_controller_suite):
5728           Add test for the previous fix; add some more tests
5729           for correct refcounting behaviour; fix a few leaks
5730           in test cases; call gst_controller_init() at start
5731           of all tests.
5733 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5735         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5736         (gst_controller_set_from_list):
5737           Don't g_return_val_if_fail() on timed values with invalid timestamps
5738           inside a critical section without unlocking the mutex. Spotted by
5739           René Stadler. (#357617)
5740           Also, fix up refcounting properly: when returning an existing
5741           controller, we should increase the reference only once and not
5742           once per property and when trying to control a property again
5743           we should also increase the refcount.
5745 2006-09-29  Wim Taymans  <wim@fluendo.com>
5747         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5748         * libs/gst/net/gstnettimeprovider.c:
5749         (gst_net_time_provider_thread):
5750         Stop reading commands when EOF as well.
5752         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5753         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5754         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5755         Unify description of the dump property.
5757 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5759         * tests/examples/manual/.cvsignore:
5760         OK, so it's actually cvsignore that needs changing. Stop laughing.
5762 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5764         * tests/examples/manual/Makefile.am:
5765         Gah, declare vars *before* using them
5767 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5769         * gst/gst.c: (init_pre), (scan_and_update_registry),
5770         (ensure_current_registry_nonforking),
5771         (ensure_current_registry_forking), (ensure_current_registry),
5772         (init_post), (gst_debug_help), (gst_deinit):
5773         * gst/gst_private.h:
5774         * gst/gstregistry.c: (gst_registry_finalize),
5775         (gst_registry_remove_features_for_plugin_unlocked),
5776         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5777         (gst_registry_scan_path),
5778         (_priv_gst_registry_remove_cache_plugins),
5779         (_priv_gst_registry_cleanup):
5780         * gst/gstregistry.h:
5781         Re-commit the registry changes, along with an extra fix:
5782           When a cached plugin is encountered at a different file path,
5783           update the stored path in the registry cache so that the parent
5784           process knows where it actually is now when it re-reads the registry
5785           cache. Fixes the thing that broke distcheck with the previous commit.
5787         * tests/check/Makefile.am:
5788         Clean up files named 'core' too when running make clean.
5790         * tests/examples/manual/Makefile.am:
5791         Set up a registry path for running these tests, and clean it properly
5792         for distcheck.
5794 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5796         * configure.ac:
5797         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
5798         want gmodule-no-export-2.0.pc instead so that we don't drag in
5799         --export-dynamic on every project that links to GStreamer.
5801         Also, make our export regex only match the start of symbols, rather 
5802         than any symbol that contains '_gst' somewhere.
5804         * libs/gst/check/Makefile.am:
5805         The libgstcheck we build does however need export-dynamic, as it
5806         produces some symbols that don't match our _gst... style regex.
5807         Fixes: #318031
5809 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
5811         * gst/gst.c: (init_pre), (scan_and_update_registry),
5812         (ensure_current_registry_nonforking),
5813         (ensure_current_registry_forking), (ensure_current_registry),
5814         (init_post), (gst_debug_help), (gst_deinit):
5815         * gst/gst_private.h:
5816         * gst/gstregistry.c: (gst_registry_finalize),
5817         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5818         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
5819         (_gst_registry_cleanup):
5820         * gst/gstregistry.h:
5821           Revert previous change until I figure out why it breaks distcheck.
5823 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
5825         * gst/gst.c: (init_pre), (scan_and_update_registry),
5826         (ensure_current_registry_nonforking),
5827         (ensure_current_registry_forking), (ensure_current_registry),
5828         (init_post), (gst_debug_help), (gst_deinit):
5830           Make init_pre and init_post take the full complement of GOptionFunc
5831           args so they can return useful GErrors. Make the registry updating
5832           functions do so.
5834           Call _priv_gst_registry_remove_cache_plugins after scanning files to
5835           ensure that the registry we're about to write out doesn't contain
5836           stale information about old-deleted plugin files.
5838           Make _priv_gst_registry_remove_cache_plugins return a boolean so
5839           that deletion of plugin files is considered a registry change.
5841         * gst/gst_private.h:
5842         * gst/gstregistry.c: (gst_registry_finalize),
5843         (gst_registry_remove_features_for_plugin_unlocked),
5844         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5845         (gst_registry_scan_path),
5846         (_priv_gst_registry_remove_cache_plugins),
5847         (_priv_gst_registry_cleanup):
5848         * gst/gstregistry.h:
5849         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
5850         by adding _priv prefix, so that they won't appear in the global
5851         symbol table. They still do atm though because of #318031. Move the
5852         prototypes to gst_private.h
5854         When removing a plugin, remove all features for that plugin too. 
5855         Fixes #340878.
5857 2006-09-27  Wim Taymans  <wim@fluendo.com>
5859         * docs/random/moving-plugins:
5860         Make it clear that the "compiled-in descriptions" really mean
5861         the element details.
5863         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5864         (gst_base_sink_wait_preroll):
5865         Update docs.
5867         * docs/libs/gstreamer-libs-sections.txt:
5868         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5869         (gst_base_src_get_range), (gst_base_src_activate_push):
5870         * libs/gst/base/gstbasesrc.h:
5871         Added function to block while waiting for PLAYING, this function
5872         is used by live sources that block on the clock.
5873         API: gst_base_src_wait_playing()
5875 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5877         Patch by: Peter Kjellerstedt <pkj at axis com>
5879         * Makefile.am:
5880           gst-element-check.m4 is generated and should therefore be
5881           copied from the build dir rather than the source dir (#357593).
5882           'make distcheck' hasn't noticed this because we were disting
5883           the file as well, so stop doing that.
5885 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5887         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5888           Add some tests for gst_caps_intersect().
5890         * tools/gst-launch.c: (event_loop):
5891           Print all buffering percentages we get, even the 100% one.
5893 2006-09-26  Wim Taymans  <wim@fluendo.com>
5895         * tools/gst-inspect.c: (print_element_properties_info),
5896         (print_signal_info):
5897         Fix printing of flags to match the look of enums.
5899 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5901         * gst/gstelementfactory.c:
5902           Fix typo in docs blurb.
5904 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5906         * gst/gsturi.c: (search_by_entry):
5907           Don't assert/crash here if a uri handler doesn't return any
5908           supported protocols. The list of protocols could be generated
5909           dynamically at runtime or at plugin registration, and an error
5910           in the underlying library shouldn't be fatal (#353301).
5912 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5914         * gst/gstinfo.c:
5915           Fix warning if HAVE_PRINTF_EXTENSION is undefined
5916           (spotted by Peter Kjellerstedt).
5918 2006-09-23  Wim Taymans  <wim@fluendo.com>
5920         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
5922         * libs/gst/base/gstbasesrc.c:
5923         (gst_base_src_default_check_get_range), (gst_base_src_start),
5924         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5925         (gst_base_src_change_state):
5926         Match _start/_stop calls in the activate functions. Remove redundant
5927         _stop call from the state change function. Fixes #356910.
5928         Turn failure DEBUG into ERROR. 
5930 2006-09-22  Wim Taymans  <wim@fluendo.com>
5932         * docs/design/part-buffering.txt:
5933         * gst/gstmessage.c: (gst_message_new_buffering),
5934         (gst_message_parse_buffering):
5935         Update docs about buffering.
5937         * docs/design/part-trickmodes.txt:
5938         Fix typo.
5940 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
5942         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5943         (gst_controller_new_list):
5944           Ref instances when returning them again (fixes #357180)
5946 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5948         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
5949           Don't forget to release proxy lock when there's an error.
5951 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
5953         * gst/gstcaps.h:
5954           Add extra initialisers for Caps things, to fix some plugin warnings
5955           when using -Wextra
5957 2006-09-18  Wim Taymans  <wim@fluendo.com>
5959         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5960           Also set template on the internal pad so that a getcaps from the 
5961           target pad returns the template caps.
5963 2006-09-18  Wim Taymans  <wim@fluendo.com>
5965         * gst/gstelement.c: (gst_element_post_message),
5966         (gst_element_dispose):
5967         Use _DEBUG_OBJECT some more.
5969         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5970         Avoid typechecks.
5972         * tools/gst-launch.c: (main):
5973         If the toplevel element is not a GstPipeline, it must be put in a
5974         pipeline so that a bus and clock is selected.
5976 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
5978         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
5979           JITTER, RATE, and LATENCY query should be handled by the
5980           default case and not by the CONVERT query code.
5982 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
5984         * gst/gstformat.c: (gst_format_register):
5985           Fix locking order (must take lock before using n_values).
5987         * gst/gstvalue.c: (gst_value_serialize_enum),
5988         (gst_value_deserialize_enum_iter_cmp),
5989         (gst_value_deserialize_enum):
5990           Fix serialisation/deserialisation of custom registered GstFormats.
5992         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5993           Unit test for custom format serialisation/deserialisation.
5995 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
5997         * docs/pwg/building-boiler.xml:
5998         * plugins/elements/gstcapsfilter.c:
5999         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6000         section.
6002 2006-09-16  Edward Hervey  <edward@fluendo.com>
6004         * libs/gst/base/gstbasetransform.c:
6005         (gst_base_transform_buffer_alloc):
6006         Check if requested caps are the same as the sinks caps IF
6007         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6008         is FALSE.
6009         This fixes the renegotiation issues stated in #352827.
6011 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6013         * configure.ac:
6014         * docs/manual/advanced-autoplugging.xml:
6015         * tests/examples/Makefile.am:
6016         * tests/examples/manual/.cvsignore:
6017         * tests/examples/manual/Makefile.am:
6018         * tests/examples/manual/extract.pl:
6019           Extract the manual examples again like we used to do.
6020           Fix one of them.
6022 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6024         * win32/common/config.h:
6025           update for version
6027 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
6029         * gst/gsterror.c:
6030           Documents how to receive errors.
6032 2006-09-15  Wim Taymans  <wim@fluendo.com>
6034         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6035         (event_loop), (main):
6036         Added some comments here and there.
6037         Post an application message when an interrupt is caught instead of doing
6038         an uncontrolled state change.
6039         Clean up the event loop.
6040         Handle buffering messages, pause/resume the pipeline.
6041         Make shutdown because of an interrupt more reliable.
6043 2006-09-15  Wim Taymans  <wim@fluendo.com>
6045         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6046         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6047         (gst_base_sink_preroll_object):
6048         Make sure that our internal state is correct when we commit our state
6049         asynchronously. This solves a race where a state change to PLAYING
6050         could cause the sink to remain blocked in preroll in some situations.
6052 2006-09-15  Wim Taymans  <wim@fluendo.com>
6054         * tools/gst-inspect.c: (print_element_properties_info),
6055         (print_signal_info):
6056         List flags as hex so it's easier to deal with.
6058 2006-09-15  Wim Taymans  <wim@fluendo.com>
6060         * docs/libs/gstreamer-libs-sections.txt:
6061         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6062         (gst_base_sink_do_sync):
6063         * libs/gst/base/gstbasesink.h:
6064         Expose logic to wait for preroll so that subclasses such as audiosink
6065         can also use this method.
6066         API: gst_base_sink_wait_preroll()
6068 2006-09-15  Wim Taymans  <wim@fluendo.com>
6070         * gst/gstobject.c: (gst_object_set_parent):
6071         * gst/gstpipeline.c: (do_pipeline_seek):
6072         Small cleanups in docs and code.
6074         * gst/gstsegment.c: (gst_segment_clip):
6075         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6076         if stop == start and start is in the segment, no clipping should be
6077         done. Also add a test for this.
6079 2006-09-15  Wim Taymans  <wim@fluendo.com>
6081         * docs/design/part-buffering.txt:
6082         * docs/gst/gstreamer-sections.txt:
6083         * gst/gstmessage.c: (gst_message_new_buffering),
6084         (gst_message_parse_buffering):
6085         * gst/gstmessage.h:
6086         Added methods to create and parse BUFFERING messages.
6087         Added preliminary docs about buffering.
6088         API: gst_message_new_buffering
6089         API: gst_message_parse_buffering
6091 2006-09-06  Wim Taymans  <wim@fluendo.com>
6093         * gst/gstbin.c:
6094         Update documentation.
6096         * gst/gstelement.c: (gst_element_class_init),
6097         (gst_element_release_request_pad), (gst_element_set_clock),
6098         (gst_element_get_index), (gst_element_add_pad),
6099         (gst_element_remove_pad), (gst_element_get_random_pad),
6100         (gst_element_send_event), (gst_element_get_query_types),
6101         (gst_element_query), (gst_element_post_message),
6102         (gst_element_message_full), (gst_element_continue_state),
6103         (gst_element_lost_state), (gst_element_save_thyself),
6104         (gst_element_restore_thyself):
6105         Documentation updates.
6106         Rename last bit of the new-pad -> pad-added signal rename.
6107         Fix the case where an element query would only work if the source
6108         pad was linked.
6109         Avoid some useless type checking in message handling.
6111         * gst/gstevent.c:
6112         * gst/gstevent.h:
6113         * gst/gstutils.c:
6114         Documentation updates.
6116 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6118         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6119           add an INFO line for when we actually update the fd
6121 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6123         * configure.ac:
6124           back to TRUNK
6126 === release 0.10.10 ===
6128 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
6130         * configure.ac:
6131           releasing 0.10.10, "Pais"
6133 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
6135         * docs/manual/advanced-position.xml:
6136           Fix typo in sample code.
6138 2006-09-05  Wim Taymans  <wim@fluendo.com>
6140         * libs/gst/net/gstnetclientclock.c: (inet_aton),
6141         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6142         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6143         * libs/gst/net/gstnetclientclock.h:
6144         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6145         * libs/gst/net/gstnettimepacket.h:
6146         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6147         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6148         (gst_net_time_provider_thread), (gst_net_time_provider_new):
6149         * libs/gst/net/gstnettimeprovider.h:
6150         Make stuff compile on windows. Fixes #345295.
6152 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6154         * gst/gst.c: (ensure_current_registry_forking):
6155           Print better details when child was terminated by signal.
6157 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6159         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6160           Print a warning rather than g_assert() if a plugin feature
6161           is a URI handler but returns no protocols (#353976).
6163 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
6165         * docs/random/moving-plugins:
6166         Fix two typos.         
6168 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6170         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6171           Fix locking order, handle NULL function values properly.
6173         * gst/gstinfo.h:
6174           Fix docs.
6176         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6177           Initialise variable before using it and fix debug statement to
6178           print the address of the function rather than the address of the
6179           variable on the stack holding the address of the function.
6181 2006-09-01  Wim Taymans  <wim@fluendo.com>
6183         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6184         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6185         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6186         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6187         (gst_ghost_pad_parent_unset),
6188         (gst_ghost_pad_internal_do_activate_push),
6189         (gst_ghost_pad_internal_do_activate_pull),
6190         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6191         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6192         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6193         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6194         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6195         (gst_ghost_pad_new_no_target_from_template),
6196         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6197         More cleanups.
6198         Avoid needless typechecking in macros.
6199         Since the internal pad is always present and never changes, there is
6200         no need to locking or ref when retrieving it.
6201         Improve debugging a bit.
6202         Handle link errors when setting the target. Fixes #341029.
6204 2006-09-01  Wim Taymans  <wim@fluendo.com>
6206         * docs/libs/gstreamer-libs-sections.txt:
6207         * docs/plugins/gstreamer-plugins-sections.txt:
6208         Fix docs some more.
6210         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6211         (gst_collect_pads_event):
6212         * libs/gst/base/gstcollectpads.h:
6213         Documentation updates.
6214         Free queued buffer when removing a pad.
6216 2006-08-31  Michael Smith  <msmith@fluendo.com>
6218         * gst/gstutils.c: (gst_element_link_pads),
6219         (gst_element_link_pads_filtered):
6220           Ensure that we set a capsfilter to NULL if we failed to link it
6221           when doing filtered linking, to avoid criticals.
6223           No need to check for unreffing srcpad, which is explicly NULLed
6224           above (a trivial code cleanup).
6226 2006-08-31  Wim Taymans  <wim@fluendo.com>
6228         * docs/design/part-gstghostpad.txt:
6229         Update ascii art in documentation.
6231         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6232         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6233         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6234         (gst_ghost_pad_internal_do_activate_push),
6235         (gst_ghost_pad_internal_do_activate_pull),
6236         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6237         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6238         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6239         (gst_ghost_pad_set_target):
6240         Small cleanups and leak fixes.
6241         Remove some checks now that the internal pad is never NULL.
6242         Fix the case where linking pads without a target would create nasty
6243         criticals. Fixes #341029.
6244         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6245         value of _set_target().
6247         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6248         (gst_ghost_pad_suite):
6249         Some more tests for creating and linking untargeted ghostpads.
6251 2006-08-31  Edward Hervey  <edward@fluendo.com>
6253         * docs/gst/gstreamer-sections.txt:
6254         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6255         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6256         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6257         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6258         (gst_ghost_pad_new_from_template),
6259         (gst_ghost_pad_new_no_target_from_template):
6260         * gst/gstghostpad.h:
6261         Refactored *_new() functions.
6262         Templates are now used as a g_object_new() parameter.
6263         Use template in _do_getcaps() if we don't have a target.
6264         Small documentation cleanups.
6265         Added two new constructors:
6266         gst_ghost_pad_new_from_template()
6267         gst_ghost_pad_new_no_target_from_template()
6268         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6269         (gst_ghost_pad_suite):
6270         Added tests for new ghostpad instanciation functions.
6272         API additions: gst_ghost_pad_new_from_template,
6273         gst_ghost_pad_new_no_target_from_template
6275 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
6277         * docs/random/ensonic/profiling.txt:
6278           Ideas about qos profiling.
6280 2006-08-29  Wim Taymans  <wim@fluendo.com>
6282         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
6283         Code cleanups.
6284         Fix memleak.
6286 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
6288         * gst/gstxml.c:
6289           Improve and detypofy docs.
6291         * tests/check/Makefile.am:
6292         * tests/check/gst/.cvsignore:
6293         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
6294           Add a basic test suite for GstXML.
6296 2006-08-29  Wim Taymans  <wim@fluendo.com>
6298         * gst/gstelement.c: (activate_pads), (clear_caps),
6299         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6300         Clear the pad caps when the element shut down all of the pads and
6301         is not streaming data that could modify the caps. 
6302         Fixes #352958.
6304 2006-08-28  Michael Smith  <msmith@fluendo.com>
6306         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6307           Revert previous change; I misunderstood single-segment mode.
6309 2006-08-28  Michael Smith  <msmith@fluendo.com>
6311         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6312           Unset DISCONT on buffers when using single-segment mode.
6314 2006-08-28  Wim Taymans  <wim@fluendo.com>
6316         * gst/gstcaps.c: (gst_caps_merge_structure):
6317         * gst/gstcaps.h:
6318         Fix docs and indentation again.
6320         * tests/check/gst/gstquery.c: (GST_START_TEST):
6321         Fix leak in tests and add some more tests.
6323 2006-08-28  Edward Hervey  <edward@fluendo.com>
6325         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6326         Inform GstSegment of the last stop position in order for the current
6327         segment to have a proper duration if it doesn't have a specific stop
6328         position from which a duration could be calculated.
6329         This bug was noticeable when a non-flushing, non-update new segment was
6330         followed by another segment (all buffers from the new segment were being
6331         dropped).
6333 2006-08-28  Wim Taymans  <wim@fluendo.com>
6335         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6336         Small comment update.
6338         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6339         (gst_identity_transform_ip):
6340         Drop-probability is broken, mention this in the code with a 
6341         FIXME and also in the property description.
6342         Make silent also be silent about the drop messages.
6344 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
6346         * docs/manual/appendix-win32.xml:
6347           Remove mention of popt, we don't depend on that any
6348           longer (#353136). Add some comments pointing out that
6349           this section is slightly outdated.
6351 2006-08-28  Wim Taymans  <wim@fluendo.com>
6353         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6355         * gst/gstquery.c: (gst_query_new_segment):
6356         * tests/check/gst/gstquery.c: (GST_START_TEST):
6357         Initialize variables when creating a new segment query.
6358         Fixes #353121.
6360 2006-08-28  Wim Taymans  <wim@fluendo.com>
6362         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6364         * gst/gstelement.c: (gst_element_get_bus):
6365         * tests/check/gst/gstelement.c: (GST_START_TEST):
6366         Check for NULL before _reffing the bus. Fixes #353122.
6368 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
6370         * docs/manual/basics-bus.xml:
6371           Docs update: fix wrong callback return value explanation; add
6372           some lines about the implicit relationship between main loop
6373           and main context; remove duplicate main loop variable declaration.
6375 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
6377         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6378           Don't leak caps in unit test; add a few more simple
6379           checks. 
6381 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
6383         * docs/gst/gstreamer-sections.txt:
6384         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
6385         (gst_caps_structure_is_subset), (gst_caps_merge),
6386         (gst_caps_merge_structure):
6387         * gst/gstcaps.h:
6388         * libs/gst/base/gstbasetransform.c:
6389         (gst_base_transform_transform_caps):
6390         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6391           implement caps merging (fixes #352580)
6393 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
6395         * tools/Makefile.am:
6396         * tools/gst-plot-timeline.py:
6397           add debug-log plotting developer tool (#340674)
6399 2006-08-23  Wim Taymans  <wim@fluendo.com>
6401         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
6402         (gst_pad_stop_task):
6403         Improve debugging for task functions.
6405         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
6406         (gst_task_start), (gst_task_pause), (gst_task_join):
6407         Make sure that the task function started and finished after a 
6408         join(). 
6409         Don't try to push the task function on the threadpool multiple
6410         times.
6411         Improve the g_warning message with some useful suggestions
6412         about how to fix the problem. 
6414 2006-08-23  Wim Taymans  <wim@fluendo.com>
6416         * gst/gstutils.c: (gst_pad_proxy_getcaps):
6417         Handle RESYNC correctly in _proxy_getcaps.
6419 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
6421         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
6422         (gst_xml_parse_memory), (gst_xml_get_element):
6423           Chain up to parent class in dispose function and also
6424           unref the elements in the toplevel_elements GList.
6425           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
6426           Always return a reference in gst_xml_get_element() rather
6427           than only sometimes.
6429         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6430           Don't leak GstXml object.
6432 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
6434         * docs/gst/gstreamer-sections.txt:
6435         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
6436         (gst_caps_merge):
6437         * gst/gstcaps.h:
6438         * libs/gst/base/gstbasetransform.c:
6439         (gst_base_transform_transform_caps):
6440           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
6441           in a better way
6443 2006-08-21  Edward Hervey  <edward@fluendo.com>
6445         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
6446         Implement GObject::dispose virtual method in GstXML so we can free the
6447         top_elements GList.
6449 2006-08-21  Wim Taymans  <wim@fluendo.com>
6451         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
6452         (gst_buffer_create_sub):
6453         Copy duration/offset_end/caps when creating a subbuffer of the
6454         complete parent.
6455         Make the subbuffer read-only when we make the metadata writable for
6456         now. Fixes #351768.
6458         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6459         Added check for metadata copy when creating subbuffers.
6461 2006-08-21  Edward Hervey  <edward@fluendo.com>
6463         * libs/gst/base/gstbasetransform.c:
6464         (gst_base_transform_buffer_alloc):
6465         Only call downstream buffer_alloc if transform element is passthrough
6466         or always_in_place. Closes #350449.
6468 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6470         * ChangeLog:
6471           ChangeLog surgery to add comments to previous changes
6473 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6475         * gst/gst.c:
6476           Add comments
6478         * gst/gstpad.c: (gst_pad_set_active):
6479           Be more verbose in the log
6481         * libs/gst/base/gstbasetransform.c:
6482         (gst_base_transform_transform_caps):
6483           Simplify caps to get rid of duplicates, fixes #345444
6485 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6487         * gst/gstvalue.c:
6488         * gst/gstvalue.h:
6489           Use these optimizations only internally.
6491 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6493         * gst/gstvalue.c: (gst_value_compare_list),
6494         (gst_value_compare_fraction_range),
6495         (gst_value_intersect_fraction_fraction_range),
6496         (gst_value_intersect_fraction_range_fraction_range),
6497         (gst_value_subtract_fraction_fraction_range),
6498         (gst_value_subtract_fraction_range_fraction_range),
6499         (gst_value_get_compare_func), (gst_value_compare),
6500         (gst_value_compare_with_func):
6501         * gst/gstvalue.h:
6502           Saves the expensive lookup of the compare function in many cases
6503          (#345444)
6505 2006-08-18  Edward Hervey  <edward@fluendo.com>
6507         * tests/check/gst/gstinfo.c: (gst_info_suite):
6508         Disable test that require gstdebug if it wasn't built in core.
6510 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6512         * docs/random/ensonic/logging.txt:
6513           update ideas
6514           
6515         * gst/gstinfo.c: (gst_debug_log_default):
6516           reorder fields, save some columns, add optional color codes for log
6517           levels
6519 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6521         * docs/random/ensonic/logging.txt:
6522           add ideas about making the logs a bit more useful
6524 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6526         * docs/pwg/advanced-events.xml:
6527         * docs/pwg/titlepage.xml:
6528           Update for 0.10 API (#340627). Add myself
6529           to authors list.
6531 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6533         * docs/libs/gstreamer-libs-docs.sgml:
6534         * docs/libs/gstreamer-libs-sections.txt:
6535         * libs/gst/check/gstbufferstraw.c:
6536           Make gstcheck stuff show up in docs (still needs to
6537           be documented properly though).
6539 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
6541         * docs/gst/gstreamer-sections.txt:
6542         * gst/Makefile.am:
6543         * gst/gst.c: (init_post):
6544         * gst/gst_private.h:
6545         * gst/gstquark.c: (_priv_gst_quarks_initialize):
6546         * gst/gstquark.h:
6547         * gst/gstquery.c: (gst_query_new_position),
6548         (gst_query_set_position), (gst_query_parse_position),
6549         (gst_query_new_duration), (gst_query_set_duration),
6550         (gst_query_parse_duration), (gst_query_new_convert),
6551         (gst_query_set_convert), (gst_query_parse_convert),
6552         (gst_query_new_segment), (gst_query_set_segment),
6553         (gst_query_parse_segment), (gst_query_new_seeking),
6554         (gst_query_set_seeking), (gst_query_parse_seeking):
6555         Add internal helpers for pre-registering quarks from static strings
6556         and using the quark values directly instead of looking them up when
6557         creating and parsing queries. Can be used for event construction too.
6558         Closes #350432.
6560 2006-08-16  Wim Taymans  <wim@fluendo.com>
6562         * gst/gstbin.c:
6563         Fix bogus docs.
6565 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6567         * gst/gstutils.c: (gst_util_set_value_from_string):
6568           Fix memleak (#351502).
6570         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6571           Add unit test for most of gst_util_set_value_from_string()
6572           (not that one would want to encourage use of this function).
6574 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6576         * libs/gst/check/gstcheck.h:
6577           Use const gchar * variables in fail_unless_equals_string
6578           macro to avoid compiler warnings (and don't use tabs for
6579           indenting).
6581 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6583         * tools/gst-launch.c: (print_tag):
6584           More space on the left for the tag names, to cater
6585           for the 'extended comment' tag (not touching the
6586           string for the first line since it's translated).
6588 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6590         * libs/gst/check/gstcheck.h:
6591           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
6592           print something when they fail.
6594 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6596         * docs/gst/gstreamer-sections.txt:
6597         * gst/gsttaglist.c: (_gst_tag_initialize):
6598         * gst/gsttaglist.h:
6599           API: add GST_TAG_EXTENDED_COMMENT (#350935).
6600           Also change merge function for GST_TAG_COMMENT to
6601           use_first.
6603 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6605         * gst/gstinfo.c: (gst_debug_print_object):
6606           Make GST_PTR_FORMAT print messages as well.
6608         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
6609         (GST_START_TEST), (gst_info_suite):
6610           More tests.
6612 2006-08-14  Edward Hervey  <edward@fluendo.com>
6614         * gst/gstelementfactory.c: (gst_element_register):
6615         If the GstElementClass doesn't have a GstElementDetails with all fields
6616         filled up correctly (longname, description AND author), then error out
6617         nicely instead of crashing.
6619 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6621         * gst/gststructure.c:
6622           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
6624         * gst/gstvalue.h:
6625           Expand on the difference between arrays and lists as we use them.
6626           
6627 2006-08-14  Wim Taymans  <wim@fluendo.com>
6629         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6630         If the parent state change function failed, don't assume we can safely
6631         stop the source, this will be done when the pads are deactivated.
6633 2006-08-14  Wim Taymans  <wim@fluendo.com>
6635         * gst/gstbuffer.c:
6636         * gst/gsttask.c: (gst_task_join):
6637         Small doc updates.
6639         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6640         (gst_pad_stop_task):
6641         When pad (de)activation failed for some reason, restore the old
6642         activation mode and set the pad to flushing instead of assuming the
6643         pad is deactivated.
6644         If the _task_join() failed, reinstall the task on the pad so that it can
6645         be stopped later and return an error.
6647 2006-08-11  Andy Wingo  <wingo@pobox.com>
6649         * configure.ac:
6650         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6651         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
6652         is only for users of API that don't want to see deprecated
6653         functions in the headers; people that want to compile out
6654         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
6655         CFLAGS. Fixes the build of multifdsink, or will soon..
6657 2006-08-11  Wim Taymans  <wim@fluendo.com>
6659         * docs/gst/gstreamer-sections.txt:
6660         Add GstClockClass vmethod docs.
6662         * gst/gstcaps.h:
6663         Mark #endif with comment for associated #if
6665         * gst/gstclock.c: (gst_clock_id_wait):
6666         * gst/gstclock.h:
6667         Add vmethod wait_jitter to avoid an unneeded _get_time() for
6668         most clock implementations.
6669         Document vmethods.
6670         Flesh out docs about resolution methods.
6671         API: GstClockClass::wait_jitter
6673         * gst/gstsystemclock.c: (gst_system_clock_class_init),
6674         (gst_system_clock_async_thread),
6675         (gst_system_clock_id_wait_jitter_unlocked),
6676         (gst_system_clock_id_wait_jitter):
6677         Use base class wait_jitter variant for improved performance
6678         due to less clock polling.
6680 2006-08-11  Edward Hervey  <edward@fluendo.com>
6682         * gst/gst.c: (gst_init_check), (init_post):
6683         Set gst as being initialized before scanning/updating the registry,
6684         since there might be my python plugin loader that calls gst_init() and
6685         we don't want to loop back in.
6686         Closes #350879
6688 2006-08-11  Wim Taymans  <wim@fluendo.com>
6690         * docs/design/part-qos.txt:
6691         Bring docs in line with the code. Mostly the sign of the jitter was
6692         wrong in the docs. Fixes #349943.
6694         * gst/gstclock.c:
6695         Fix the docs for the jitter.
6697         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
6698         (gst_event_parse_tag), (gst_event_new_buffer_size),
6699         (gst_event_parse_buffer_size), (gst_event_parse_qos),
6700         (gst_event_new_seek), (gst_event_parse_seek),
6701         (gst_event_new_navigation):
6702         Make sure the GstStructure has no parent when creating custom
6703         events.
6704         Add some more argument checking so that we avoid 0.0 rates.
6705         Flesh out the docs for the QoS event some more.
6707 2006-08-11  Wim Taymans  <wim@fluendo.com>
6709         * docs/gst/gstreamer-sections.txt:
6710         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6711         (ensure_current_registry_forking), (ensure_current_registry),
6712         (parse_one_option), (parse_goption_arg), (gst_deinit),
6713         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
6714         * gst/gst.h:
6715         Doc updates.
6716         Added API and command line option to disable registry forking in
6717         addition to the environment variable.
6718         Constify some static arrays.
6719         Added some more debug.
6720         Don't deinit twice.
6721         API: gst_registry_fork_is_enabled()
6722         API: gst_registry_fork_set_enabled()
6723         API: --gst-disable-registry-fork command line option
6724         Fixes #348918.
6726 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
6728         * gst/gst.c: (gst_init):
6729           Fix typo in error message.
6731 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
6733         * libs/gst/controller/gstcontroller.h:
6734           fix ABI size-correction
6736         * tests/check/libs/gdp.c: (gst_dp_suite):
6737           make tests that use deprecated API conditional
6739 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
6741         * docs/libs/gstreamer-libs-sections.txt:
6742         * libs/gst/controller/gstcontroller.c:
6743         (_gst_controller_get_property), (_gst_controller_set_property),
6744         (_gst_controller_init), (_gst_controller_class_init):
6745         * libs/gst/controller/gstcontroller.h:
6746         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
6747         (gst_object_set_control_rate):
6748           API: add gst_object_{s,g}et_control_rate(), add private data section,
6749           fix docs
6751         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6752         * libs/gst/dataprotocol/dataprotocol.h:
6753           add deprecation guards to make gtk-doc happy and allow disabling cruft
6755 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6757         * tests/check/Makefile.am:
6758         * tests/check/gst/.cvsignore:
6759           Let's enable the new unit test as well.
6761 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6763         * configure.ac:
6764         * docs/gst/gstreamer-sections.txt:
6765         * gst/gstconfig.h.in:
6766         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
6767         (_gst_info_printf_extension_ptr),
6768         (_gst_info_printf_extension_segment):
6769           API: add GST_SEGMENT_FORMAT, which is a printf extension we
6770           register that lets us easily dump GstSegments into debug
6771           logs (#350419).
6773         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
6774         (info_segment_format_printf_extension), (gst_info_suite):
6775           Add simple unit test that logs a bunch of different segments (not
6776           valgrinded at the moment because of leaks in
6777           gst_debug_add_log_function).
6779 2006-08-09  Edward Hervey  <edward@fluendo.com>
6781         * libs/gst/base/gstbasetransform.c:
6782         (gst_base_transform_buffer_alloc):
6783         Even if we can't figure out the proper format to request downstream,
6784         call buffer_alloc() downstream with the input parameters without setting
6785         the caps on the srcpad. This will force negotiation in the chain
6786         function.
6787         Closes #350449
6789 2006-08-08  Edward Hervey  <edward@fluendo.com>
6791         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6792         Unlinking from a pad without a target is now a perfectly valid case
6793         which should NOT raise an assertion.
6794         This case would happen if a linked ghostpad its target set to NULL after
6795         it was previously linked.
6797 2006-08-08  Edward Hervey  <edward@fluendo.com>
6799         * tests/check/libs/gdp.c:
6800         Also comment out the test (see below).
6802 2006-08-08  Edward Hervey  <edward@fluendo.com>
6804         * tests/check/libs/gdp.c: (gst_dp_suite):
6805         Use the architecture information from config.h and not gcc macros
6806         in order to properly disable a test that fails on PPC64.
6808 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
6810         * gst/gstelement.c: (gst_element_remove_pad):
6811           Don't crash printing the warning if the pad has no parent.
6813 2006-08-02  Wim Taymans  <wim@fluendo.com>
6815         * libs/gst/dataprotocol/dataprotocol.c:
6816         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
6817         (gst_dp_crc), (gst_dp_header_payload_length),
6818         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
6819         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
6820         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
6821         (gst_dp_event_from_packet), (gst_dp_validate_header),
6822         (gst_dp_validate_payload):
6823         Make debug category static
6824         Constify the crc table.
6825         Do some more arg checking in public functions.
6826         Fix some docs and do some small cleanups.
6828         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
6829         Add some more checks to see if GDP deals with bogus input.
6831 2006-07-31  Wim Taymans  <wim@fluendo.com>
6833         * gst/gstvalue.c: (gst_value_compare_list):
6834         Fix GstValueList comparison code. Fixes #347293.
6836         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6837         Check to test GstValueList comparison.
6839 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6841         * gst/gstelementfactory.c: (gst_element_factory_create):
6842         Remove unnecessary ref/unref pair
6844         * gst/parse/grammar.y:
6845         Make sure to free the parse buffer on all code paths.
6846         Move a g_free up to the error handler where it's easier to see.
6848         * tests/check/gst/gstevent.c: (test_event):
6849         Extending timeout for downstream travelling events to 10 seconds to
6850         hopefully avoid intermittent failure on the buildbots.
6852         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
6853         Don't manually set the state of the src element - it will happen as a
6854         natural consequence of the pipeline changing state, and that way it
6855         will do it in the right order too.
6857 2006-07-31  Wim Taymans  <wim@fluendo.com>
6859         * libs/gst/base/gstbasetransform.c:
6860         (gst_base_transform_buffer_alloc):
6861         Use OBJECT_LOCK and refcounting to get the pad caps in the
6862         buffer_alloc function because the caps could change while we are
6863         busy with them. Fixes #349105
6865 2006-07-31  Wim Taymans  <wim@fluendo.com>
6867         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
6868         Protect _PAD_CAPS with OBJECT_LOCK.
6870 2006-07-31  Wim Taymans  <wim@fluendo.com>
6872         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6873         (gst_pad_get_property), (gst_pad_activate_pull),
6874         (gst_pad_activate_push), (gst_pad_set_blocked_async),
6875         (gst_pad_set_activate_function),
6876         (gst_pad_set_activatepull_function),
6877         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
6878         (gst_pad_set_getrange_function),
6879         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
6880         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
6881         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
6882         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
6883         (gst_pad_set_acceptcaps_function),
6884         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
6885         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
6886         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
6887         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
6888         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
6889         (gst_pad_configure_sink), (gst_pad_configure_src),
6890         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
6891         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
6892         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
6893         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
6894         (gst_pad_send_event):
6895         Use _DEBUG_OBJECT when it makes sense.
6896         Protect GST_PAD_CAPS with the OBJECT_LOCK.
6897         Small cleanups and code reflows.
6898         Avoid caps refcounting in _accept_caps.
6899         Refactor alloc_buffer so that the code performed on the peer is in a
6900         separate function. Also if the pad does not implement a buffer alloc
6901         function, we should still check if the pad is flushing before falling
6902         back to the default allocator.
6904 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6906         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6907         Make all uses of identity and fakesink have silent=true to avoid
6908         serialising every passing data structure, which is breaking tests
6909         on FC4 for some unknown reason.
6911 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
6913         * gst/parse/Makefile.am:
6914         * gst/parse/grammar.y:
6915         * gst/parse/parse.l:
6916           Reverted previous patch as it required to bump the flex dependency to
6917           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
6919 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
6921         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
6923         * gst/parse/Makefile.am:
6924         * gst/parse/grammar.y:
6925         * gst/parse/parse.l:
6926           push & pop the state of the lexer for reentrant use case
6927           Fixes #349180
6929 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
6931         * libs/gst/base/gstbasesrc.h:
6932           Note in the docs that the ::newsegment vfunc is not actually used by
6933           GstBaseSrc.
6935 2006-07-28  Wim Taymans  <wim@fluendo.com>
6937         * libs/gst/base/gstcollectpads.c:
6938         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
6939         (gst_collect_pads_clear), (gst_collect_pads_flush),
6940         (gst_collect_pads_event), (gst_collect_pads_chain):
6941         When flushing a pad, also clear the queued buffer so that we don't
6942         accidentally use it when we shouldn't.
6943         Fix leaks by inreffing incomming buffer.
6944         Flush out queued buffers in case of errors.
6945         Fixes #347452.
6947 2006-07-28  Wim Taymans  <wim@fluendo.com>
6949         * docs/random/phonon-gst:
6950         Random notes about a Phonon backend.
6952 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
6954         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6955         Extra debug output
6956         * tests/check/libs/gdp.c: (gst_dp_suite):
6957         Take a whack at fixing the ppc compile using a different define to
6958         disable the broken test.
6960         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6961         Remove excess g_print()
6963 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
6965         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6966         Oops, meant to uncomment this line too to dampen the noise a bit.
6968 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
6970         * gst/parse/grammar.y:
6971         * gst/parse/parse.l:
6972         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
6973         (GST_START_TEST), (parse_suite):
6974         Fix some of the leaks exposed by extending the parse-launch testsuite,
6975         and move the 3 I can't figure out into a separate test that won't run
6976         the pipelines unless the appropriate line is uncommented.
6978 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
6980         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6981           Requesting 0 bytes before the end of the file should result in
6982           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
6983           unit test.
6985 2006-07-27  Wim Taymans  <wim@fluendo.com>
6987         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
6988         Fix useless assert, a uint is always positive.
6990         * gst/gststructure.c: (gst_structure_nth_field_name),
6991         (gst_structure_foreach), (gst_structure_map_in_place):
6992         Check input arguments for public functions to avoid obvious crashes.
6994         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
6995         * plugins/elements/gstfakesink.h:
6996         Do less useless typechecking.
6998 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7000         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7001           Do not use mmap() by default since there are a number of error
7002           conditions that we would like to handle in a non-fatal way that
7003           will result in a SIGBUS if we use mmap(). Examples: external
7004           devices (USB harddrive, portable music player) being unplugged
7005           while in use; file on mounted CD/DVD that can't be read because
7006           the medium is partly damaged. Fixes #348455 and #348475.
7008 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7010         * gst/gstquery.h:
7011         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7012         rates are a gdouble
7014 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
7016         * gst/gstregistry.c:
7017           Move big documentation comment into class section header, so that it
7018           appears in the API docs.
7020 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7022         * docs/gst/gstreamer-sections.txt:
7023         Oops. Commit the docs additions too for new API.
7024         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7026 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7028         * gst/gststructure.c: (gst_structure_id_set),
7029         (gst_structure_id_set_valist):
7030         * gst/gststructure.h:
7031         Add API for setting values into structures without performing
7032         a quark lookup, if the appropriate quark is already known.
7034         API: gst_structure_id_set
7035         API: gst_structure_id_set_valist
7037         * gst/parse/grammar.y:
7038         * gst/parse/parse.l:
7039         Remove some dead code shown by the coverage information.
7040         Don't throw a critical g_warning when encountering a syntax error,
7041         just warn and let the normal error path handle it.
7043         * plugins/elements/gstelements.c:
7044         Bump the rank of filesink up to PRIMARY so that it is preferred over
7045         gnomevfssink for file:// sink uri's
7047         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7048         (GST_START_TEST), (run_delayed_test),
7049         (gst_parse_test_element_base_init),
7050         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7051         (gst_parse_test_element_change_state),
7052         (gst_register_parse_element), (parse_suite):
7053         Beef up the tests for parse syntax to check that more error cases
7054         fail as they are supposed to. Increases the test coverage a bit.
7056 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7058         * docs/manual/basics-elements.xml:
7059           Fix gst_element_link() example.
7061         * gst/gstutils.c:
7062           Mention in API docs that one should usually gst_bin_add()
7063           elements to a bin or pipeline before doing the linking.
7064           
7065 2006-07-26  Wim Taymans  <wim@fluendo.com>
7067         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7068         (gst_subbuffer_get_type), (gst_buffer_create_sub):
7069         Avoid function call for known types by keeping the buffer and
7070         subbuffer GType global.
7072         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7073         Random silly optimisations in read() path.
7075 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7077         * tools/gst-launch.c: (main):
7078           If the top-level of the parse is a normal bin, it doesn't do the
7079           right logic to run as a top-level element, so place it inside a
7080           pipeline.
7082 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7084         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7085           Remove superfluous g_object_notify() calls, GObject does
7086           that for us automatically.
7088 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
7090         * gst/gstinfo.h:
7091           on Win32, use dllspec to export the debug category symbols
7093 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
7095         * gst/gsttaglist.c: (_gst_tag_initialize):
7096           Allow more than one GST_TAG_IMAGE per taglist.
7098 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7100         * gst/gstminiobject.c:
7101           update docs
7102         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7103         (gst_fd_src_create):
7104           log recurring events at LOG level
7105           add more debug for when the fd gets set
7107 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7109         * gst/gstparse.c: (gst_parse_launch):
7110           Also remove reentrance checks if flex is MT safe (#348179)
7111          Fix my empty ChangeLog entry below
7113 2006-07-21  Andy Wingo  <wingo@pobox.com>
7115         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7117         * libs/gst/check/Makefile.am
7118         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7119         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
7120         * libs/gst/check/gstbufferstraw.h:
7121         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7122         functions, thus proving I am still a GStreamer haxor. OK I wrote
7123         them a long time ago, but anyways.
7125 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7127         * configure.ac:
7128         * gst/gstparse.c: (gst_parse_launch):
7129           Check for flex version and omit mutex if we have a MT save flex
7130           (fixes #348179)
7132 2006-07-21  Wim Taymans  <wim@fluendo.com>
7134         * gst/gstparse.c: (gst_parse_launch):
7135         Protect recursive calls to _parse with a recursive mutex
7136         and busy flag.
7138 2006-07-21  Wim Taymans  <wim@fluendo.com>
7140         * tests/check/gst/gstpad.c: (GST_START_TEST):
7141         Fix leak in test.
7143 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
7145         * gst/gstparse.c: (gst_parse_launch):
7146           Do not hang on recursive usage of gst_parse_launch()
7148 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7150         * gst/gsttaglist.c:
7151           Add some more docs, comments and FIXME 0.11s here and there
7152           and also fix some typos.
7154 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7156         * gst/gstsegment.h:
7157           Convert tabs to spaces for better readability. 
7159 2006-07-20  Edward Hervey  <edward@fluendo.com>
7161         * tests/check/libs/gdp.c: (gst_dp_suite):
7162         the test_buffer test fails at line 140 on ppc64 at the following
7163         check:
7164         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7165                 GST_BUFFER_FLAG_IN_CAPS),
7166                 "GST_BUFFER_IN_CAPS flag should have been copied !");
7167         See bug #348114 for more details.
7169 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
7171         * docs/pwg/advanced-scheduling.xml:
7172         * gst/gstpad.c:
7173           Fix typos (#348000).
7175 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
7177         * docs/pwg/intro-basics.xml:
7178           Fix wrong links (#347927).
7180 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
7182         * gst/gstregistry.h:
7183         * gst/gstregistryxml.c: (load_feature),
7184         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7185         * win32/common/config.h:
7186           make --disable-index work (#342564)
7188 2006-07-18  Wim Taymans  <wim@fluendo.com>
7190         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7192         * gst/Makefile.am:
7193         * gst/gsttrace.h:
7194         The attached patch adds two missing defines to gsttrace.h when tracing
7195         is disabled.  It also corrects one existing define.
7196         Fixes #347756.
7198 2006-07-17  Wim Taymans  <wim@fluendo.com>
7200         * docs/gst/gstreamer-sections.txt:
7201         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7202         * gst/gst.h:
7203         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7204         Add two functions to check and change the SIGSEGV behaviour
7205         when loading plugins.
7206         Don't mess with the SIGSEGV handler when we were told not to.
7207         Fixes #347794.
7208         API: gst_segtrap_is_enabled
7209         API: gst_segtrap_set_enabled
7211 2006-07-14  Wim Taymans  <wim@fluendo.com>
7213         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7214         * tests/check/elements/filesrc.c: (GST_START_TEST):
7215         Revert fix for regression in #347408 after release.
7217 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
7219         Patch by: Antoine Tremblay <hexa00 at gmail com>
7221         * gst/gstutils.c: (gst_element_unlink):
7222           Free iterator when done (#347311).
7224         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7225           And add a test case for this.
7227 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
7229         * configure.ac:
7230         Bump nano back to CVS
7232 === release 0.10.9 ===
7234 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
7236         * configure.ac:
7237           releasing 0.10.9, "On the road again"
7239 2006-07-13  Wim Taymans  <wim@fluendo.com>
7241         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7242         * tests/check/elements/filesrc.c: (GST_START_TEST):
7243         Revert pull-0 fix for release. Disable check. Fixes #347408.
7245 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7247         * libs/gst/dataprotocol/dataprotocol.c:
7248         (gst_dp_event_from_packet_1_0):
7249           Fixes #347337: failure to deserialize event packets with
7250           empty payload (only event type)
7252 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7254         * gst/Makefile.am:
7255           do not install a .c file in the header directory
7257 2006-07-13  Edward Hervey  <edward@fluendo.com>
7259         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7260         GhostPad no longer implicitely use the padtemplates of the targets.
7261         Fixes #347384
7263 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
7265         * gst/gstvalue.c: (gst_value_compare_list),
7266         (gst_value_compare_array), (_gst_value_initialize):
7267         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7268         Make GstValueArray comparison be order dependent as designed.
7269         Add checks for value lists and value array comparisons.
7270         Fixes #347221
7272 2006-07-11  Edward Hervey  <edward@fluendo.com>
7274         * gst/gstbin.c: (activate_pads),
7275         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7276         (gst_bin_change_state_func):
7277         (de)activate src pads before calling state_change on the childs.
7278         This is to avoid the case where a src ghostpad is blocked (holding the
7279         stream lock), which would block the deactivation of the ghostpad's
7280         target pad.
7281         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
7282         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
7283         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
7284         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7285         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7286         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7287         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7288         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
7289         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
7290         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7291         (gst_ghost_pad_class_init),
7292         (gst_ghost_pad_internal_do_activate_push),
7293         (gst_ghost_pad_internal_do_activate_pull),
7294         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7295         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7296         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
7297         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
7298         GhostPads now create their internal GstProxyPad at creation (and not
7299         when they're linked, as it was being done previously).
7300         The internal and target pads are linked straight away.
7301         The data will also travel through the other pad in order to make
7302         pad blocking and probes non-hackish (the probe/block now really happens
7303         on the GhostPad and not on the target).
7304         * gst/gstpad.c: (gst_pad_set_blocked_async),
7305         (gst_pad_link_prepare), (gst_pad_push_event):
7306         Remove previous ghostpad cruft.
7307         * gst/gstutils.c: (gst_pad_add_data_probe),
7308         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7309         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7310         (gst_pad_remove_buffer_probe):
7311         Remove previous ghost pad cruft.
7312         Added more detailed debug statements.
7313         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7314         Fix the testsuite for refcounting changes.
7315         The comments about who has references were correct, but the refcount
7316         being checked wasn't the same (!?!).
7318         Fixes #341029
7320 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7322         * docs/gst/gstreamer-sections.txt:
7323         * gst/gstconfig.h.in:
7324         More docs for configuration options, add docs to gtk-doc.
7326 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7328         * gst/Makefile.am:
7329         * gst/gstconfig.h.in:
7330         * win32/common/config.h:
7331         Fix build when disabling tracing (fixes #344016). Also start to document
7332         the defines that disable the sub-systems.
7334 2006-07-10  Edward Hervey  <edward@fluendo.com>
7336         * gst/gst.c: (ensure_current_registry_forking):
7337         let's make valgrind happy...
7339 2006-07-09  Wim Taymans  <wim@fluendo.com>
7341         * gst/gstelement.c: (activate_pads),
7342         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7343         Better pad activation code: Reset the collect value too on resync.
7344         Add some comments.
7346 2006-07-09  Wim Taymans  <wim@fluendo.com>
7348         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
7349         (gst_pad_activate_push):
7350         Use some more macros where it makes sense.
7351         Allow pad mode switching instead of asserting. When a pad
7352         is activated in one mode and we activate it in another, 
7353         deactivate it first before activating it in a different mode.
7354         Fixes #329198.
7356 2006-07-08  Andy Wingo  <wingo@pobox.com>
7358         * tools/gst-launch.c (main): Handle err == NULL.
7360         * gst/gst.c (init_post, ensure_current_registry)
7361         (ensure_current_registry_forking)
7362         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
7363         factoring out the registry scanning into separate functions. Don't
7364         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
7365         Better environment var name/interface suggestions accepted.
7367 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7369         * gst/gstobject.c: (gst_object_set_name_default),
7370         (gst_object_set_name):
7371           Random micro-optimisation: don't use a hash table
7372           with strings as keys and the usual strdup/strcmp
7373           involved, but rather just use the GQuark of the
7374           type name as key, since it needs to be looked up
7375           anyway to get the type name string.
7377         * tests/check/gst/gstobject.c: (GST_START_TEST):
7378           Fix various leaks.
7380 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7382         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
7383         (gst_bin_iterate_all_by_interface):
7384           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
7385           GTypes are gulongs and thus the top 4 bytes might be cut
7386           off on some platforms when doing GPOINTER_TO_INT, leading
7387           to invalid GTypes and bad things happening (see RH bug #179654).
7388           Also add a check to make sure the type passed in is really
7389           an interface type.
7391 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7393         * .cvsignore:
7394           Ignore more.
7396 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7398         * Makefile.am:
7399         * configure.ac:
7400         * gst-element-check.m4:
7401         * gst-element-check.m4.in:
7402           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
7403           instead of the unversioned gst-inspect (#324176, #168659).
7405 2006-07-06  Wim Taymans  <wim@fluendo.com>
7407         * gst/gstmessage.h:
7408         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
7409         warnings.
7411 2006-07-06  Wim Taymans  <wim@fluendo.com>
7413         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7414         (gst_base_src_wait), (gst_base_src_update_length),
7415         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
7416         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
7417         (gst_base_src_loop), (gst_base_src_start),
7418         (gst_base_src_activate_pull):
7419         Update docs.
7420         blocksize == 0 now means the default blocksize when working in push
7421         based mode.
7422         Remove some pointless asserts in _wait function.
7423         Fix offset/length calculations and EOS handling. We can now pull 0
7424         bytes as well, which is allowed.
7425         use _check_get_range() to decide if we can operate in _pull based
7426         mode.
7427         Fix refcounting leak when check_get_range function was not 
7428         implemented.
7429         API GstBaseSrc::blocksize range can be 0 too now (default)
7431         * tests/check/elements/filesrc.c: (GST_START_TEST),
7432         (filesrc_suite):
7433         Added check to test _get_range() behaviour.
7435 2006-07-06  Wim Taymans  <wim@fluendo.com>
7437         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7438         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
7439         (gst_pad_pull_range):
7440         * gst/gstpad.h:
7441         Lots of comments and docs added to the pad functions.
7442         Flesh out the expected behaviour of the get_range() functions.
7444 2006-07-06  Wim Taymans  <wim@fluendo.com>
7446         * gst/gstbus.h:
7447         * gst/gstclock.h:
7448         * gst/gstevent.h:
7449         * gst/gstiterator.h:
7450         * gst/gstpad.h:
7451         * gst/gstplugin.h:
7452         * gst/gsttask.h:
7453         Remove comma at end of enumerator list. 
7455 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
7457         * win32/common/libgstbase.def:
7458         * win32/common/libgstdataprotocol.def:
7459         * win32/common/libsgtreamer.def:
7460         Add new exported functions.
7462 2006-07-05  Wim Taymans  <wim@fluendo.com>
7464         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
7465         Add some more docs here and there.
7467 2006-07-05  Wim Taymans  <wim@fluendo.com>
7469         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
7470         (gst_base_sink_loop), (gst_base_sink_get_position):
7471         When operating in pull mode update the offset so that we
7472         read sequentially.
7474 2006-07-05  Wim Taymans  <wim@fluendo.com>
7476         * gst/gstregistryxml.c: (read_string):
7477         Avoid strdup. (will happen in libxml, but hey!)
7479         * gst/gsturi.c:
7480         Add some more docs.
7482 2006-07-05  Wim Taymans  <wim@fluendo.com>
7484         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
7485         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7486         (gst_buffer_suite):
7487         No point in checking if the size of the subbuffer > 0, the
7488         code handles it correclty as demonstrated by unit test.
7489         Also add a unit test for the zero sized _new_and_alloc and
7490         _copy. Fixes #346663.
7492 2006-07-05  Wim Taymans  <wim@fluendo.com>
7494         * libs/gst/base/gstbasetransform.c:
7495         (gst_base_transform_prepare_output_buffer),
7496         (gst_base_transform_buffer_alloc),
7497         (gst_base_transform_handle_buffer):
7498         Make sure the buffer we pass to transform_ip has a refcount of
7499         1 and thus is writable. Fixes #343196
7501 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
7503         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7504         (gst_file_src_init), (gst_file_src_set_property),
7505         (gst_file_src_get_property), (gst_file_src_map_region):
7506         * plugins/elements/gstfilesrc.h:
7507         Add "sequential" property, off by default, to use madvise and hint
7508         to the kernel that sequential access is desired.
7509         Touch all retrieved pages by default to ensure they are pulled
7510         into memory. (Closes #345720)
7512 2006-07-03  Wim Taymans  <wim@fluendo.com>
7514         * docs/design/part-block.txt:
7515         * docs/design/part-dynamic.txt:
7516         Small docs updates.
7518 2006-07-03  Wim Taymans  <wim@fluendo.com>
7520         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7521         (gst_caps_unref), (gst_static_caps_get),
7522         (gst_caps_append_structure):
7523         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7524         Use GSlice when the glib we build against is >= 2.10
7526 2006-07-03  Wim Taymans  <wim@fluendo.com>
7528         * gst/gstelement.c: (gst_element_pads_activate):
7529         Small cleanup in pad activation code.
7531 2006-07-03  Wim Taymans  <wim@fluendo.com>
7533         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7535         * gst/gst-i18n-app.h:
7536         * gst/gst-i18n-lib.h:
7537         * tools/gst-inspect.c: (print_signal_info):
7538         The attached patch will make the inclusion of gettext.h unconditional in
7539         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7540         libintl.h in tools/gst-inspect.c.
7541         This allows use of --disable-nls again and fixes #344642.
7543 2006-07-03  Edward Hervey  <edward@fluendo.com>
7545         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7546         Implement pad blocking on events according to part-block.txt.
7547         More comments on behaviour.
7548         * tests/check/gst/gstevent.c: (test_event):
7549         Send event to peer pad of blocked pad (else it will block).
7551 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7553         * libs/gst/check/gstcheck.c: (gst_check_message_error),
7554         (gst_check_run_suite):
7555           if we get the wrong message, give us the types as string
7556         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7557           Fix a translatable
7558         * tests/check/elements/filesrc.c: (GST_START_TEST):
7559           add a test for trying to open a non-existing file
7561 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7563         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7564           add a test for adding self
7566 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7568         * libs/gst/check/gstcheck.h:
7569           add some assert_ as alias for fail_unless_*
7570         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
7571           increase test coverage
7573 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7575         * Makefile.am:
7576           include lcov.mak for lcov coverage generation
7577         * tools/Makefile.am:
7578           add to CLEANFILES
7580 2006-07-02  Edward Hervey  <edward@fluendo.com>
7582         * tests/check/elements/.cvsignore:
7583         moaping
7585 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7587         * configure.ac:
7588           don't set CFLAGS and friends for gcov, done from GST_GCOV now
7589         * tests/check/Makefile.am:
7590           clean up gcov files
7592 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7594         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
7595           remove gst_caps_simplify; it was not declared and not used
7596           and deprecated in 0.8
7598 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7600         * docs/faq/gst-uninstalled:
7601           don't put empty paths on PYTHONPATH
7602         * docs/gst/gstreamer-sections.txt:
7603           remove some symbols that are not there
7605 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7607         * gst/gstcaps.c: (gst_caps_compare_structures):
7608           whitespace fixes
7609         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7610         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7611           add more tests
7613 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7615         * libs/gst/dataprotocol/Makefile.am:
7616           build dataprotocol test by linking to the lib, instead of
7617           compiling the source, so we get coverage
7618         * tests/check/Makefile.am:
7619         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
7620         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
7621           add a test for filesrc
7623 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7625         * tests/check/gst/gststructure.c: (GST_START_TEST),
7626         (gst_structure_suite):
7627           Push coverage from 59.04% to 70.00%
7629 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7631         * tests/check/Makefile.am:
7632           gst-inspect every element; this makes sure that we also get
7633           coverage on element's get/set functions
7635 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7637         * configure.ac:
7638           set CFLAGS and friends to -O0 if gcov is being used
7639           add GCOV LIBS
7640         * gst/Makefile.am:
7641         * libs/gst/base/Makefile.am:
7642         * libs/gst/check/Makefile.am:
7643         * libs/gst/controller/Makefile.am:
7644         * libs/gst/dataprotocol/Makefile.am:
7645         * libs/gst/net/Makefile.am:
7646         * plugins/elements/Makefile.am:
7647         * plugins/indexers/Makefile.am:
7648           add makefile rules to generate gcov data and clean up
7649         * tests/check/Makefile.am:
7650           add a coverage target that generates an html overview
7651           of coverage data
7653 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7655         * tests/check/elements/fakesink.c:
7656         * tests/check/elements/fakesrc.c:
7657         * tests/check/elements/fdsrc.c:
7658         * tests/check/elements/identity.c:
7659         * tests/check/generic/sinks.c: (gst_sinks_suite):
7660         * tests/check/generic/states.c:
7661         * tests/check/gst/gst.c:
7662         * tests/check/gst/gstabi.c:
7663         * tests/check/gst/gstbin.c:
7664         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
7665         * tests/check/gst/gstbus.c: (gst_bus_suite):
7666         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7667         * tests/check/gst/gstelement.c:
7668         * tests/check/gst/gstevent.c: (gst_event_suite):
7669         * tests/check/gst/gstghostpad.c:
7670         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
7671         * tests/check/gst/gstmessage.c: (gst_message_suite):
7672         * tests/check/gst/gstminiobject.c:
7673         * tests/check/gst/gstobject.c:
7674         * tests/check/gst/gstpad.c:
7675         * tests/check/gst/gstpipeline.c:
7676         * tests/check/gst/gstplugin.c:
7677         * tests/check/gst/gstquery.c: (gst_query_suite):
7678         * tests/check/gst/gstsegment.c: (gst_segment_suite):
7679         * tests/check/gst/gststructure.c:
7680         * tests/check/gst/gstsystemclock.c:
7681         * tests/check/gst/gsttag.c:
7682         * tests/check/gst/gsttask.c: (gst_task_suite):
7683         * tests/check/gst/gstutils.c:
7684         * tests/check/gst/gstvalue.c:
7685         * tests/check/libs/adapter.c:
7686         * tests/check/libs/basesrc.c:
7687         * tests/check/libs/collectpads.c:
7688         * tests/check/libs/controller.c:
7689         * tests/check/libs/gdp.c: (gst_dp_suite):
7690         * tests/check/libs/gstnetclientclock.c:
7691         * tests/check/libs/gstnettimeprovider.c:
7692         * tests/check/libs/libsabi.c: (libsabi_suite):
7693         * tests/check/libs/typefindhelper.c:
7694         * tests/check/pipelines/cleanup.c:
7695         * tests/check/pipelines/parse-launch.c:
7696         * tests/check/pipelines/simple-launch-lines.c:
7697         * tests/check/pipelines/stress.c: (stress_suite):
7698           use the new macro
7700 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7702         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
7703         * libs/gst/check/gstcheck.h:
7704           create a macro and function so that the simple unit test
7705           case can be just one macro to create main()
7707 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
7709         * gst/gstbin.c: (gst_bin_restore_thyself):
7710         * gst/gstxml.c: (gst_xml_make_element):
7711           Fix deserialisation from XML. Set parent manually
7712           instead of using gst_bin_add(), since gst_bin_add()
7713           will unlink all pads of the element being added.
7714           Fixes #341667.
7716 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
7718         Patch by: Peter Kjellerstedt <pkj at axis com>
7720         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
7721           Fix missing g_strdup() and double free when using the
7722           --gst-plugin-load command line option (#346097).
7724 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7726         * gst/gstinfo.c:
7727           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
7729         * libs/gst/net/gstnetclientclock.c:
7730         * libs/gst/net/gstnettimeprovider.c:
7731           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
7733 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7735         * docs/manual/advanced-dataaccess.xml:
7736           Fix buffer probe example compilation in
7737           ADM (#345708).
7738         
7739 2006-06-22  Edward Hervey  <edward@fluendo.com>
7741         * gst/gstelement.c: (gst_element_pads_activate):
7742         We need to deactivate src pads first and then sink pads.
7743         The reason is the src pads might be blocking while holding the streaming
7744         lock, so we need to deactivate them first so that deactivating the sink
7745         pads doesn't block (since it will require the streaming lock).
7747 2006-06-22  Wim Taymans  <wim@fluendo.com>
7749         * libs/gst/base/gstbasetransform.c:
7750         (gst_base_transform_buffer_alloc):
7751         Forgot to remove two unneeded unrefs.
7752         Simplify a check _is_equal allready checks the obvious case.
7754 2006-06-22  Wim Taymans  <wim@fluendo.com>
7756         * docs/design/part-block.txt:
7757         Some docs about what pad_block should do.
7759 2006-06-22  Wim Taymans  <wim@fluendo.com>
7761         * gst/gstcaps.c: (gst_caps_replace):
7762         Fix crasher when passed NULL. Doc clarification.
7763         Optimize for the trivial case.
7765         * gst/gstpipeline.c: (gst_pipeline_change_state):
7766         Small cleanups.
7768         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7769         Small documentation cleanup.
7771         * libs/gst/base/gstbasetransform.c:
7772         (gst_base_transform_buffer_alloc):
7773         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
7774         is what we need and it avoids a whole lot of redundant 
7775         refcount operations.
7777 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
7779         Patch by: Philip Jägenstedt  <philip at lysator liu se>
7781         * docs/manual/advanced-dataaccess.xml:
7782           Fix 'Embedding static elements' section to use
7783           GST_PLUGIN_DEFINE_STATIC (#345607).
7785 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7787         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
7788           Attempt to 'fix' spuriously failing test case: it seems like the
7789           timeout of half a second is simply too small when the system is under
7790           load otherwise, and the timeout doesn't really seem to serve any
7791           particular purpose here. Give the pipeline a few seconds to preroll
7792           first, and then give it another half a second to go from PAUSED to
7793           PLAYING and marshal the message into the main thread.
7795 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7797         * tools/gst-feedback-m.m:
7798           Don't only use unversioned tools, try versioned tools as well
7799           (#345086).
7801 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7803         * gst/gstbus.c: (gst_bus_class_init):
7804           Fix some typos, make docs more explicit.
7806 2006-06-20  Wim Taymans  <wim@fluendo.com>
7808         * tests/check/gst/gstghostpad.c: (block_callback),
7809         (GST_START_TEST), (gst_ghost_pad_suite):
7810         Added some more ghostpad tests, mainly blocking
7811         and probes.
7813 2006-06-16  Wim Taymans  <wim@fluendo.com>
7815         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7816         (gst_file_sink_close_file), (gst_file_sink_do_seek),
7817         (gst_file_sink_event), (gst_file_sink_render):
7818         * plugins/elements/gstfilesink.h:
7819         Check if we can seek in the file instead of assuming
7820         we always can. Post an error when we are asked to seek in a
7821         non-seekable file (like a fifo). Fixes #343312.
7822         Some cleanups.
7824 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
7826         * tools/gst-launch.1.in:
7827           Un-garble (fourcc) bit in filtered caps section.
7829 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
7831         * docs/manual/advanced-autoplugging.xml:
7832         * docs/manual/basics-helloworld.xml:
7833         * docs/manual/highlevel-components.xml:
7834           Don't leak bus reference in sample code.
7836 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
7838         * autogen.sh:
7839           Add default for new --enable-plugin-docs switch.
7841         * configure.ac:
7842           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
7843           Fixes #344039.
7845         * docs/Makefile.am:
7846           Use new ENABLE_PLUGIN_DOCS conditional.
7848 2006-06-14  Wim Taymans  <wim@fluendo.com>
7850         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
7851         Make it clear with a FIXME and a real define what the #if 0
7852         previously disabled.
7854 2006-06-14  Wim Taymans  <wim@fluendo.com>
7856         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7857         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
7858         * libs/gst/base/gstbasetransform.c:
7859         (gst_base_transform_sink_eventfunc):
7860         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
7861         Don't randomly and silently reset a segment when the format 
7862         changes as this is a bug somewhere upstream. Fixes #330379.
7864 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7866         Patch by: Wouter Paesen  <wouter at kangaroot net>
7868         * libs/gst/controller/gstcontroller.c:
7869         (gst_controlled_property_new):
7870           Fix controlling of float properties (#344849).
7872         * tests/check/libs/controller.c:
7873         (gst_test_mono_source_get_property),
7874         (gst_test_mono_source_set_property),
7875         (gst_test_mono_source_class_init), (GST_START_TEST):
7876           While we're at it, add some float stuff to unit test.
7878 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7880         * docs/README:
7881         * docs/images/gdp-header.svg:
7882           add a gdp image
7883         * docs/libs/Makefile.am:
7884         * docs/libs/gdp-header.png:
7885         * libs/gst/dataprotocol/dataprotocol.c:
7886           add it to the API docs
7887         * docs/manual/intro-motivation.xml:
7888           fix typo
7890 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
7892         * gst/gst.c: (scan_and_update_registry), (init_post):
7893           If the fork()'ed child process can't write the updated registry cache
7894           file to disk for some reason, make it exit with a failure exit code,
7895           so that the parent can then re-scan the plugins itself and update the
7896           registry structures in memory and work with that (rather than failing
7897           when creating elements because seemingly no plugins are available).
7898           Refactor registry scanning code into separate function for this and
7899           also separate fork() and non-fork() code paths. Fixes #344748.
7901 2006-06-13  Wim Taymans  <wim@fluendo.com>
7903         * docs/manual/advanced-dataaccess.xml:
7904         Fix wrong PluginDesc. Fixes #344755.
7906 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
7908         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
7909           Fix silly bug that prevented us from creating
7910           ~/.gstreamer-0.10 and writing the registry in one
7911           go (the first call to g_mkstemp() would overwrite the
7912           placeholder in the template string, so the second call
7913           to g_mkstemp() after creating the missing directory
7914           would then error out with 'invalid argument').
7916 2006-06-13  Edward Hervey  <edward@fluendo.com>
7918         * gst/gst.c: (init_post):
7919         Free string.
7921 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7923         * gst/glib-compat-private.h:
7924         * gst/glib-compat.c:
7925         * gst/glib-compat.h:
7926         * gst/gstvalue.c: (gst_value_serialize_flags):
7927           remove GLib 2.6 compatibility code
7929 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
7931         * gst/parse/Makefile.am:
7932           Fix build with 'make -j N' even more (#340016).
7934 2006-06-12  Wim Taymans  <wim@fluendo.com>
7936         * docs/gst/gstreamer-sections.txt:
7937         Fix docs.
7939 2006-06-12  Wim Taymans  <wim@fluendo.com>
7941         * gst/gstsegment.c: (gst_segment_set_duration),
7942         (gst_segment_set_last_stop), (gst_segment_set_seek),
7943         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7944         (gst_segment_to_running_time), (gst_segment_clip):
7945         Use G_UNLIKELY to help the compiler a bit.
7947 2006-06-12  Wim Taymans  <wim@fluendo.com>
7949         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
7951         * gst/gstevent.c: (gst_event_get_type):
7952         * gst/gstmessage.c:
7953         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7954         (gst_pad_push):
7955         constify quark registration strings. Fixes #344115
7956         Avoid unneeded type checking is _pad_push() by internally
7957         calling gst_pad_chain_unchecked().
7959 2006-06-12  Wim Taymans  <wim@fluendo.com>
7961         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
7962         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
7963         (gst_subbuffer_finalize), (gst_buffer_create_sub),
7964         (gst_buffer_is_span_fast), (gst_buffer_span):
7965         Init _type for consistency.
7966         Use _FLAGS macro to avoid type check.
7967         Avoid unneeded type checks in subbufer code.
7969 2006-06-12  Wim Taymans  <wim@fluendo.com>
7971         * gst/gst.c: (gst_debug_help):
7972         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
7973         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7974         (gst_plugin_feature_list_free):
7975         * gst/gstregistry.c: (gst_registry_add_plugin),
7976         (gst_registry_add_feature), (gst_registry_plugin_filter),
7977         (gst_registry_feature_filter), (gst_registry_find_plugin),
7978         (gst_registry_find_feature), (gst_registry_get_plugin_list),
7979         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
7980         * gst/gstregistryxml.c: (load_feature),
7981         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
7982         * gst/gstminiobject.c: (gst_mini_object_unref),
7983         (gst_mini_object_replace), (gst_value_mini_object_free),
7984         (gst_value_mini_object_copy):
7985         Use _CAST macros to avoid unneeded type checking.
7986         Added some more G_UNLIKELY.
7988 2006-06-12  Wim Taymans  <wim@fluendo.com>
7990         * gst/gstbuffer.h:
7991         Avoid unneeded type checking.
7992         API: GST_BUFFER_IS_DISCONT
7994         * gst/gstminiobject.h:
7995         Avoid type check in flag accessor.
7997         * gst/gstelementfactory.h:
7998         * gst/gstplugin.h:
7999         * gst/gstpluginfeature.h:
8000         Add _CAST macros.
8001         API: GST_ELEMENT_FACTORY_CAST
8002         API: GST_PLUGIN_CAST
8003         API: GST_PLUGIN_FEATURE_CAST
8005 2006-06-12  Wim Taymans  <wim@fluendo.com>
8007         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8008         (gst_object_unref):
8009         Add G_UNLIKELY in type registration.
8010         Avoid type check in _ref/_unref since that is also
8011         done in glib.
8013 2006-06-12  Wim Taymans  <wim@fluendo.com>
8015         * gst/gsterror.c: (gst_g_error_get_type):
8016         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8017         (gst_static_pad_template_get_type):
8018         * gst/gsttaglist.c: (gst_tag_list_get_type):
8019         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8020         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8021         * gst/gsturi.c: (gst_uri_handler_get_type):
8022         * gst/gstvalue.c: (gst_date_get_type):
8023         * gst/gstxml.c: (gst_xml_get_type):
8024         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8025         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8026         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8027         Add G_UNLIKELY in type registration.
8029 2006-06-12  Wim Taymans  <wim@fluendo.com>
8031         * tools/gst-inspect.c: (print_signal_info):
8032         Properly print enum values.
8034 2006-06-12  Wim Taymans  <wim@fluendo.com>
8036         * gst/gstinfo.c: (gst_debug_set_active),
8037         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8038         * gst/gstinfo.h:
8039         Add some G_[UN]LIKELY.
8040         Maintain __gst_debug_min to avoid formatting the arguments of
8041         debug messages that will be dropped anyway to avoid a lot of 
8042         overhead from the debugging system.
8044 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8046         * po/POTFILES.in:
8047         * po/POTFILES.skip:
8048           add missing files containing translatable strings, tell intltool about
8049           one exception
8051 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8053         * tests/check/libs/.cvsignore:
8054         add test-binary to ignore list
8056 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8058         * docs/libs/gstreamer-libs-docs.sgml:
8059         reorder (put dp into a chapter) and indent
8061 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8063         * configure.ac:
8064           back to HEAD
8066 === release 0.10.8 ===
8068 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
8070         * configure.ac:
8071           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8073 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8075         * gst/gst.c: (init_post):
8076           move pid declaration to declaration block
8078 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8080         * gst/gst.c: (init_post):
8081           use _exit() instead of exit() in our forked child; this ensures
8082           that none of the registered exit handlers from whatever is using
8083           GStreamer get executed.  This fixes gnome-mixer-applet failing
8084           to load, because ORBit would shut down.
8085           Spotted by: Edward Hervey  <edward@fluendo.com>
8086           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
8087           Fixes #344474
8089 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8091         * configure.ac:
8092           back to TRUNK
8094 === release 0.10.7 ===
8096 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
8098         * configure.ac:
8099           releasing 0.10.7, "Soepeke, ik zie ou"
8101 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8103         * configure.ac:
8104         * po/af.po:
8105         * po/az.po:
8106         * po/bg.po:
8107         * po/ca.po:
8108         * po/cs.po:
8109         * po/de.po:
8110         * po/en_GB.po:
8111         * po/fr.po:
8112         * po/it.po:
8113         * po/nb.po:
8114         * po/nl.po:
8115         * po/ru.po:
8116         * po/sq.po:
8117         * po/sr.po:
8118         * po/sv.po:
8119         * po/tr.po:
8120         * po/uk.po:
8121         * po/vi.po:
8122         * po/zh_CN.po:
8123         * po/zh_TW.po:
8124         * win32/common/config.h:
8125           0.10.6.2 prerelease
8127 2006-06-07  Wim Taymans  <wim@fluendo.com>
8129         * gst/gstindex.c: (gst_index_gtype_resolver):
8130         * tools/gst-xmlinspect.c: (print_plugin_info):
8131         Fix leak spotted by coverity checker. Fixes #343827
8132         Fix another other leak found by paolo borelli.
8134 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8136         * libs/gst/dataprotocol/dataprotocol.c:
8137         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8138         (gst_dp_version_get_type), (gst_dp_init),
8139         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8140         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8141         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8142         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8143         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8144         (gst_dp_packetizer_free):
8145         * libs/gst/dataprotocol/dataprotocol.h:
8146           API: add a GstDPPacketizer object, and create/free functions
8147           API: add GstDPVersion enum
8148           Add 1.0 event function that uses the string serialization
8149           Serialize more useful buffer flags
8150           Fixes #343988
8152 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8154         * tests/check/Makefile.am:
8155         * tests/check/gst/gstabi.c:
8156         * tests/check/gst/struct_ppc64.h:
8157         * tests/check/libs/libsabi.c:
8158         * tests/check/libs/struct_ppc64.h:
8159           add ppc64 structure sizes
8161 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8163         * tests/check/Makefile.am:
8164         * tests/check/gst/gstabi.c:
8165         * tests/check/gst/struct_x86_64.h:
8166         * tests/check/libs/libsabi.c:
8167         * tests/check/libs/struct_x86_64.h:
8168           generate and add structure size lists for x86_64
8170 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8172         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8173         * libs/gst/check/gstcheck.h:
8174           factor out the method from tests that checks size of structures,
8175           and add code to generate the header containing these sizes
8176         * tests/check/gst/gstabi.c: (GST_START_TEST):
8177         * tests/check/gst/struct_i386.h:
8178         * tests/check/libs/libsabi.c: (GST_START_TEST):
8179         * tests/check/libs/struct_i386.h:
8180           use it
8182 2006-06-06  Michael Smith  <msmith@fluendo.com>
8184         * gst/gstsegment.h:
8185           Don't use c++-style comments, fixes #343929
8187 2006-06-05  Edward Hervey  <edward@fluendo.com>
8189         * gst/gst.c:
8190         plugin_paths is not used if we build without registry support.
8192         * gst/gstsegment.c: (gst_segment_copy): 
8193         _copy() was always returning NULL...
8195 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8197         * libs/gst/dataprotocol/dataprotocol.c:
8198         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8199         (gst_dp_packet_from_event):
8200           factor out CRC code
8202 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8204         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8205           make sure we unset caps
8207 2006-06-02  Michael Smith  <msmith@fluendo.com>
8209         * libs/gst/check/gstcheck.c: (gst_check_init),
8210         (gst_check_chain_func):
8211         * libs/gst/check/gstcheck.h:
8212           Add a cond/mutex to the check support lib, signal this whenever we
8213           add to the buffers list. This will allow tests to not busy-wait on
8214           the buffer-list.
8216 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8218         * libs/gst/dataprotocol/dataprotocol.c:
8219         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8220         (gst_dp_packet_from_event):
8221           factor out some common header init code
8223 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8225         * docs/libs/gstreamer-libs-sections.txt:
8226         * docs/libs/tmpl/gstdataprotocol.sgml:
8227         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8228         * libs/gst/dataprotocol/dataprotocol.h:
8229           API: make gst_dp_crc() public
8231 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8233         * plugins/indexers/gstindexers.c: (plugin_init):
8234         conditionally register fileindexer (fixes #343598)
8236 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8238         * gst/gsttagsetter.h:
8239         Can't cast ifaces to a class
8241         * libs/gst/net/gstnetclientclock.h:
8242         * libs/gst/net/gstnettimeprovider.h:
8243         * plugins/elements/gstfakesink.h:
8244         * plugins/elements/gstfakesrc.h:
8245         * plugins/elements/gstfdsink.h:
8246         * plugins/elements/gstfdsrc.h:
8247         * plugins/elements/gstfilesink.h:
8248         * plugins/elements/gstfilesrc.h:
8249         * plugins/elements/gstidentity.h:
8250         * plugins/elements/gstqueue.h:
8251         * plugins/elements/gsttee.h:
8252         * plugins/indexers/gstfileindex.c:
8253         * plugins/indexers/gstmemindex.c:
8254         * tests/old/examples/plugins/example.h:
8255         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8257 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8259         * libs/gst/dataprotocol/dataprotocol.c:
8260         (gst_dp_header_from_buffer):
8261           make sure we zero the whole ABI-compatible area
8263 2006-06-01  Wim Taymans  <wim@fluendo.com>
8265         Patch by: Alessandro Decina <alessandro at nnva dot org>
8267         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8268         Make sure the EOS flag is cleared from pads after a flush
8269         or stop. Fixes #343538.
8271         * tests/check/libs/collectpads.c: (GST_START_TEST),
8272         (gst_collect_pads_suite):
8273         Added test for collectpads reusage after EOS.
8275 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
8277         * gst/gst.c:
8278          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8279         * win32/common/libgstbase.def:
8280          export gst_collect_pads_set_flushing
8281         * win32/common/libgstreamer.def:
8282          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
8283          gst_value_fraction_multiply
8284         * win32/vs6/gst_inspect.dsp:
8285          add a link to intl.lib
8287 2006-05-30  Wim Taymans  <wim@fluendo.com>
8289         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8290         (gst_collect_pads_chain):
8291         Handle the case where a pad is removed from the collection
8292         that could cause the other pads to become collectable.
8294 2006-05-30  Wim Taymans  <wim@fluendo.com>
8296         * gst/gstelement.c:
8297         Clarify the use of _release_request_pad() and
8298         _get_request_pad() a bit better.
8300         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
8301         (gst_adapter_take_buffer):
8302         Fix some doc and comment typos.
8304 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8306         * docs/gst/gstreamer-sections.txt:
8307         * docs/libs/gstreamer-libs-sections.txt:
8308           add declared symbols
8310 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
8312         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8313         Add debug that can be enabled using a #define at the top of the file,
8314         for dumping stats about how late/early we were when waking up from
8315         waiting on the clock.
8317 2006-05-30  Wim Taymans  <wim@fluendo.com>
8319         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
8320         When rebuilding the pad list, don't leak the previous list.
8322 2006-05-30  Wim Taymans  <wim@fluendo.com>
8324         Patch by: Lutz Mueller <lutz at topfrose dot de>
8326         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8327         (gst_base_src_get_query_types), (gst_base_src_update_length):
8328         Publish supported query types.
8329         Update last_stop field in get_range mode so the position
8330         query works. Fixes #342321.
8332 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
8334         * docs/gst/gstreamer-sections.txt:
8335         * gst/gsttaglist.c: (_gst_tag_initialize):
8336         * gst/gsttaglist.h:
8337           API: add GST_TAG_PREVIEW_IMAGE (#343341).
8339 2006-05-30  Wim Taymans  <wim@fluendo.com>
8341         Patch by: Alessandro Decina <alessandro at nnva dot org>
8343         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8344         Unlock mutex when removing an unknown pad.
8345         Fixes #343334.
8347         * tests/check/Makefile.am:
8348         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
8349         (push_event), (setup), (teardown), (GST_START_TEST),
8350         (gst_collect_pads_suite), (main):
8351         Added collecpads check, disabled for now as check crashes for
8352         some reason.
8354 2006-05-29  Wim Taymans  <wim@fluendo.com>
8356         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
8357         Don't leak pads lists.
8359 2006-05-29  Wim Taymans  <wim@fluendo.com>
8361         * docs/libs/gstreamer-libs-sections.txt:
8362         * libs/gst/base/gstcollectpads.c:
8363         (gst_collect_pads_set_flushing_unlocked),
8364         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8365         (gst_collect_pads_stop):
8366         * libs/gst/base/gstcollectpads.h:
8367         API: gst_collect_pads_set_flushing()
8368         Added api to set the pads to flushing, useful for seeking
8369         code in elements using collectpads.
8370         Clear segment when receiving a flush.
8372 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
8374         * gst/gst.c: (add_path_func), (init_post):
8375           Don't scan registry paths passed via --gst-plugin-path immediately
8376           (will crash, because absolutely nothing is set up and no types are
8377           registered etc.); do this later in init_post(). Fixes #343057.
8379 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8381         * gst/gst.c: (init_post):
8382           if we have fork, fork while reading/rebuilding the registry
8383           so the parent doesn't take the hit of having all plugins loaded
8384           in memory.  Fixes #342777.
8385         * configure.ac:
8386           Check if we have fork()
8387         * win32/common/config.h.in:
8388           no fork() on win32
8390 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8392         * plugins/elements/gstelements.c:
8393         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8394         (gst_file_src_init), (gst_file_src_set_property),
8395         (gst_file_src_get_property), (gst_file_src_start):
8396         * plugins/elements/gstfilesrc.h:
8397           API: GstFileSrc::use-mmap
8399         Add a use-mmap property to enable easier testing of all code paths.
8400         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
8401         in the absence of gnomevfssrc. (Closes #340501)
8403 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8405         * tools/gst-inspect.c:
8406         Add missing include, removes warning of ngettext not being defined on
8407         some arches.
8409 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8411         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8412         Handle NULL input and output pointers silently as a failed conversion,
8413         rather than g_warnings.
8415 2006-05-25  Wim Taymans  <wim@fluendo.com>
8417         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
8418         Initialize variable before using. Fixes #342820.
8420 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8422         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
8423           Fix off-by-one bug that would only allow peeks of N-1 bytes
8424           from the start even if the buffer to typefind on contains
8425           in fact N bytes of data (makes vorbis typefinding from a
8426           vorbis identification header buffer work).
8428         * tests/check/Makefile.am:
8429         * tests/check/libs/.cvsignore:
8430         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
8431         (gst_typefindhelper_suite), (main), (foobar_typefind),
8432         (plugin_init):
8433           Add very basic unit test for gst_type_find_helper_for_buffer()
8434           that checks for the problem fixed above.
8436 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8438         * tools/gst-inspect.c: (print_interfaces),
8439         (print_element_properties_info), (print_element_list), (main):
8440           add more translatable strings
8442 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
8444         Patch by: Julien Moutte  <julien at moutte net>
8446         * docs/gst/gstreamer-sections.txt:
8447           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
8448           
8449         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8450         (gst_fake_sink_preroll):
8451         * plugins/elements/gstfakesink.h:
8452           API: Add new GstFakeSink::preroll-handoff signal (#337100).
8454 2006-05-23  Wim Taymans  <wim@fluendo.com>
8456         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
8457         * gst/gstpad.h:
8458         Added _CUSTOM error and success GstFlowReturn that can be
8459         used be elements internally. 
8460         Added macro to check for SUCCESS flowreturns.
8461         API: GST_FLOW_CUSTOM_SUCCESS
8462         API: GST_FLOW_CUSTOM_ERROR
8463         API: GST_FLOW_IS_SUCCESS
8465         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8466         Added check for GstFlowReturn sanity.
8468 2006-05-23  Wim Taymans  <wim@fluendo.com>
8470         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8472         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8473         (gst_collect_pads_event):
8474         clear/reset segment info in FLUSH_STOP.
8475         Fixes #336929.
8477 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
8479         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
8480         (gst_collect_pads_check_collected):
8481         Flush queued buffer on _stop(), fixes playing again (#342454)
8483 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8485         * tests/check/gst/gststructure.c: (GST_START_TEST),
8486         (gst_structure_suite):
8487           add a test for a complete structure
8489 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8491         * docs/faq/developing.xml:
8492         * docs/faq/faq.xml:
8493         * docs/faq/troubleshooting.xml:
8494         * docs/faq/using.xml:
8495           Some minor FAQ updates that won't change the fact that
8496           our FAQ is badly structured, full of information hardly
8497           anyone new to GStreamer needs to know and lacking lots
8498           of information people constantly ask for.
8499           
8500 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
8502         * gst/gstpad.c: (gst_pad_set_caps):
8503           Short-circuit gst_pad_set_caps if setting the existing
8504           caps pointer again, and avoid printing debug and 
8505           reffing/unreffing the caps.
8507         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8508           There's actually no need to set the caps before pushing -
8509           the acceptcaps method will handle it anyway.
8511 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8513         * docs/gst/gstreamer-sections.txt:
8514         * win32/common/libgstreamer.def:
8515         * gst/gstutils.c: (gst_element_seek_simple):
8516         * gst/gstutils.h:
8517           API: add gst_element_seek_simple() (#342238).
8519 2006-05-18  Edward Hervey  <edward@fluendo.com>
8521         * gst/gsttypefind.c: (gst_type_find_get_type):
8522         * gst/gsttypefind.h:
8523         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8524         registered for GstTypeFind pointers. This allows wrapping the structure
8525         in bindings (i.e. gst-python).
8527 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8529         * gst/gsttagsetter.c:
8530           Docs additions and fixes (see #339918).
8532 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8534         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8535         The caps intersection algorithm can produce multiple copies of the
8536         caps. Until that is fixed, we need to simplify the result to be
8537         sure whether the allowed caps are fixed or not.
8539         * plugins/elements/gstqueue.c: (gst_queue_init),
8540         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8541         (gst_queue_push_one):
8542         Proxied buffer alloc should not set the caps on the source pad.
8543         When pushing buffers, we always accept the caps change that triggers.
8544         This prevents negotiation errors caused by caps changing mid-stream 
8545         and then being refused on our source pad (because upstream is now
8546         refusing those caps).
8548 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8550         * tests/examples/helloworld/helloworld.c: (main):
8551           Must plug audioconvert and audioresample between decoder
8552           and audio sink.
8554 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
8556         * gst/gstregistryxml.c: (read_string), (load_pad_template),
8557         (load_feature), (load_plugin):
8558         Allow empty strings for some of the plugin fields so we don't 
8559         drop valid plugin entries that were written out correctly
8560         (Fixes #341479)
8562 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
8563         
8564         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8565           Use g_remove and g_rename instead of remove and rename that don't 
8566           handle utf8 characters. rename was failing for users who had specific
8567           characters in their name then the registry was built at each 
8568           gstreamer init.
8569         * win32/vs6/gst_inspect.dsp:
8570         * win32/vs6/gst_launch.dsp:
8571         * win32/vs6/libgstbase.dsp:
8572         * win32/vs6/libgstcoreelements.dsp:
8573         * win32/vs6/libgstreamer.dsp:
8574           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
8575           build of libgstreamer and clean unused libraries in projects link 
8576           settings.
8578 2006-05-17  Edward Hervey  <edward@fluendo.com>
8580         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8581         The queue is not responsible for pushing an EOS when receiving a fatal
8582         flow error. It's up to the real element driving the pipeline to do that.
8584 2006-05-16  Edward Hervey  <edward@fluendo.com>
8586         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8587         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
8588         buffer returned a fatal error. It should just send an EOS and stop
8589         its task.
8590         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
8591         when pushing buffers on the queue and will be able to handle the event.
8593 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8595         * docs/manual/basics-bins.xml:
8596         * docs/manual/basics-init.xml:
8597           Fix typos and minor errors in sample code (#341856).
8599 2006-05-16  Wim Taymans  <wim@fluendo.com>
8601         * docs/design/part-qos.txt:
8602         Fix indexes in formulas to make more sense.
8604 2006-05-15  Wim Taymans  <wim@fluendo.com>
8606         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8607         Don't report POSITION based on clock time if sync is
8608         disabled in a sink.
8610 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
8612         * gst/gstobject.h:
8613           Add cast to make compiler happy - refcount variable was a gint
8614           in GstObject but is a guint in GObject and g_atomic_int_get()
8615           wants a gint *.
8617 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8619         * gst/parse/Makefile.am:
8620           chain commands using &&, which also makes parallel make work
8622 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
8624         * docs/gst/gstreamer-sections.txt:
8625         * gst/gstevent.c:
8626         * gst/gstevent.h:
8627         * gst/gstmessage.h:
8628           Minor docs fixes.
8630 === release 0.10.6 ===
8632 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
8634         * configure.ac:
8635           releasing 0.10.6, "Take the cannoli"
8637 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8639         * tools/gst-launch.c: (print_tag):
8640           Fix use of uninitialized variable in the hypothetical
8641           case that some broken plugin creates a GST_TAG_IMAGE
8642           tag containing a NULL buffer (#341667).
8644 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
8646         * tools/gst-launch.c: (print_tag):
8647           Print something more intelligible for image tags when
8648           using the -t switch (#341556).
8650 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8652         * Makefile.am:
8653           updates for win32
8654         * configure.ac:
8655           define GST_MAJORMINOR so we have it available in win32/common/config.h
8656           Possibly remove it from our Makefile.am files later
8657         * win32/common/config.h:
8658         * win32/common/config.h.in:
8659           added GST_MAJORMINOR
8660         * win32/common/gstenumtypes.c: (register_gst_resource_error):
8661         * win32/common/gstversion.h:
8662           updated
8664 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
8666         * win32/MANIFEST:
8667           Update win32 files listing.
8668         * win32/common/gstversion.h:
8669           Add GST_MAJORMINOR definition.
8670         * win32/common/libgstreamer.def:
8671           Add new exported functions.
8672           
8673 2006-05-12  Michael Smith  <msmith@fluendo.com>
8675         * gst/gstplugin.c: (gst_plugin_load_file):
8676           If an so file has no plugin entry point, unload the module.
8678 2006-05-11  Wim Taymans  <wim@fluendo.com>
8680         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
8681         (gst_queue_set_property):
8682         Don't forget to signal the _chain or _loop function 
8683         when the queue size or thresholds change since that might
8684         cause them to make progres again.
8686 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
8688         * gst/gstclock.c: (gst_clock_class_init):
8689         * gst/gstindex.c: (gst_index_class_init):
8690         * gst/gstobject.c: (gst_object_class_init):
8691         * gst/gstpad.c: (gst_pad_class_init):
8692         * gst/gstpipeline.c: (gst_pipeline_class_init):
8693         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8694         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
8695         * libs/gst/base/gstbasetransform.c:
8696         (gst_base_transform_class_init):
8697         * libs/gst/net/gstnetclientclock.c:
8698         (gst_net_client_clock_class_init):
8699         * libs/gst/net/gstnettimeprovider.c:
8700         (gst_net_time_provider_class_init):
8701         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
8702         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8703         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8704         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
8705         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8706         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8707         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
8708         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8709         * plugins/elements/gsttee.c: (gst_tee_class_init):
8710         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8711         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8712           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
8714 2006-05-11  Wim Taymans  <wim@fluendo.com>
8716         * gst/gstbuffer.c: (_gst_buffer_initialize):
8717         Register subbufer along with the buffer type so that
8718         it does not accidentally gets registered from N
8719         different streaming threads in a non threadsafe way.
8721 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
8723         * gst/gstbuffer.h:
8724         * gst/gstevent.h:
8725         * gst/gstmessage.h:
8726           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
8727           gst_event_ref() and gst_message_ref() functions again
8728           (ugly hack, please do fix if there's a better way besides
8729           overrides.txt, which doesn't seem to work).
8731 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8733         * libs/gst/check/gstcheck.h:
8734           add an assert for setting state to avoid lots of repetitive code
8735           in the future
8737 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8739         * gst/gstvalue.c: (gst_value_serialize_flags):
8740           fix a leak if no flags are set
8741         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8742           fix leak in tests
8744 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
8746         * docs/manual/basics-pads.xml:
8747           Expand a bit on caps and filtered links and update
8748           examples that were still using the no longer existing
8749           gst_pad_link_filtered() (#338206).
8751 2006-05-10  Wim Taymans  <wim@fluendo.com>
8753         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8754         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8755         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8756         (gst_collect_pads_stop):
8757         * libs/gst/base/gstcollectpads.h:
8758         No need to call _stop in _finalize.
8759         Iterate the main pad list in _finalize.
8760         Added some more debug.
8761         Free lists and data in the right order.
8762         Also free data whem doing _remove_pad when stopped for
8763         backward compatibility protect ::started with PAD_LOCK as
8764         well.
8766 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8768         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
8769         (gst_structure_parse_value):
8770           add some comments
8771           rename a method so that it actually says what it does better
8773 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8775         * gst/gstevent.c: (_gst_event_initialize):
8776         * gst/gstformat.c: (_gst_format_initialize):
8777           make sure some essential types used by events are registered
8778           as part of gst_init()
8779         * gst/gstvalue.c: (gst_value_serialize_flags):
8780           if no flags are set, serialize them to a value that represents NONE
8781           so that deserializing them works
8782         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8783           add tests for serialization and deserialization of flags
8785 2006-05-10  Wim Taymans  <wim@fluendo.com>
8787         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
8788         (gst_collect_pads_collect_range), (gst_collect_pads_available),
8789         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
8790         (gst_collect_pads_event), (gst_collect_pads_chain):
8791         Update docs.
8792         Better debug info.
8793         Catch and return errors from the collect function
8794         Refuse data on eos pads.
8796 2006-05-10  Edward Hervey  <edward@fluendo.com>
8798         * gst/gstinterface.h:
8799         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
8800         GInterface type checking.
8801         They were previously using non-defined macros.
8803 2006-05-09  Wim Taymans  <wim@fluendo.com>
8805         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
8806         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
8807         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
8808         (gst_collect_pads_start), (gst_collect_pads_stop),
8809         (gst_collect_pads_peek), (gst_collect_pads_pop),
8810         (gst_collect_pads_available), (gst_collect_pads_read),
8811         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
8812         (gst_collect_pads_is_collected), (gst_collect_pads_event),
8813         (gst_collect_pads_chain):
8814         * libs/gst/base/gstcollectpads.h:
8815         Clean up the mess that is collectpads, add comments and
8816         FIXMEs where needed.
8817         Maintain a separate pad list so we can add pads while
8818         collecting the other ones. For this we need a new separate 
8819         lock (see comics).
8820         Fix memory leak in finalize.
8821         Refactor some weird code to set/unset pad flushing flags, mark
8822         with comments.
8823         Don't crash in _available, _read, _flush when we're EOS.
8825         * tests/check/libs/.cvsignore:
8826         Ignore adapter check binary.
8828 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8830         * gst/gstindex.c: (gst_index_resolver_get_type):
8831         * plugins/elements/gstfakesink.c:
8832         (gst_fake_sink_state_error_get_type):
8833         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8834         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
8835         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
8836           Const-ify GEnumValue arrays.
8838 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8840         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8841           Add test case for flags + gst_buffer_make_metadata_writable().
8843 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8845         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
8846           gst_buffer_make_metadata_writable() should maintain the
8847           buffer flags (those that make sense at least) (see #340859).
8849 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8851         * tools/gst-inspect.c:
8852         * tools/gst-launch.c:
8853         * tools/gst-typefind.c:
8854         * tools/gst-xmlinspect.c:
8855         * tools/tools.h:
8856           Fix up includes: need to include stdlib.h in tools.h for exit().
8858 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8860         * gst/gsttaglist.c: (_gst_tag_initialize):
8861         * gst/gsttaglist.h:
8862           API: add GST_TAG_IMAGE tag (#340721).
8864 2006-05-08  Wim Taymans  <wim@fluendo.com>
8866         * gst/gstquery.c:
8867         Added some docs for the segment query.
8869 2006-05-08  Wim Taymans  <wim@fluendo.com>
8871         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8872         (gst_base_src_loop), (gst_base_src_change_state):
8873         Always push non-flushing serialized events in the streaming 
8874         thread.
8876 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8878         * gst/gsterror.c: (_gst_stream_errors_init):
8879           Add a missing error string.
8881 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
8883         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
8884         Add applied_rate to the debug
8886         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
8887         Copy applied_rate into the outgoing NEWSEGMENT event
8889 2006-05-08  Wim Taymans  <wim@fluendo.com>
8891         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
8893         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
8894         (gst_base_sink_change_state):
8895         call ::unlock before taking the PREROLL_LOCK so we can safely
8896         handle elements that lock in ::render.
8897         Fixes #340174.
8899 2006-05-08  Edward Hervey  <edward@fluendo.com>
8901         * autogen.sh: (CONFIGURE_DEF_OPT): 
8902         Darwin's libtoolize is in fact called glibtoolize.
8903         Adding glibtoolize to the list of accepted names for libtoolize.
8905 2006-05-08  Wim Taymans  <wim@fluendo.com>
8907         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8908         Unify error handling, don't post an error message
8909         when a push() returns EOS but perform our normal EOS
8910         handling code. Fixes #340772.
8912 2006-05-08  Wim Taymans  <wim@fluendo.com>
8914         * docs/design/part-overview.txt:
8915         Make upsteam/downstream concepts more clear.
8916         Give an example of serialized/non-serialized events.
8918         * docs/design/part-events.txt:
8919         * docs/design/part-streams.txt:
8920         Mention applied_rate.
8922         * docs/design/part-trickmodes.txt:
8923         Mention applied rate, flesh out some more use cases.
8925         * gst/gstevent.c: (gst_event_new_new_segment),
8926         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
8927         (gst_event_parse_new_segment_full), (gst_event_new_tag),
8928         (gst_event_parse_tag), (gst_event_new_buffer_size),
8929         (gst_event_parse_buffer_size), (gst_event_new_qos),
8930         (gst_event_parse_qos), (gst_event_parse_seek),
8931         (gst_event_new_navigation):
8932         * gst/gstevent.h:
8933         Add applied_rate field to NEWSEGMENT event.
8934         API: gst_event_new_new_segment_full()
8935         API: gst_event_parse_new_segment_full()
8937         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
8938         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
8939         (gst_segment_to_stream_time), (gst_segment_to_running_time):
8940         * gst/gstsegment.h:
8941         Add applied_rate to GstSegment structure.
8942         Make calculation of stream_time and running_time more correct
8943         wrt rate/applied_rate.
8944         Add some more docs.
8945         API: GstSegment::applied_rate field
8946         API: gst_segment_set_newsegment_full();
8948         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8949         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
8950         * libs/gst/base/gstbasetransform.c:
8951         (gst_base_transform_sink_eventfunc),
8952         (gst_base_transform_handle_buffer):
8953         Parse and use applied_rate in the GstSegment field.
8955         * tests/check/gst/gstevent.c: (GST_START_TEST):
8956         Add check for applied_rate field.
8958         * tests/check/gst/gstsegment.c: (GST_START_TEST),
8959         (gstsegments_suite):
8960         Add more checks for various GstSegment operations.
8962 2006-05-08  Wim Taymans  <wim@fluendo.com>
8964         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
8965         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
8966         (gst_base_sink_get_position), (gst_base_sink_change_state):
8967         Store the sync time of the buffer end position separatly in a
8968         new variable eos_rtime so we can properly sync the EOS event.
8969         Fixes #340697.
8970         Fix the docs for gst_base_sink_set_qos_enabled().
8971         Don't set segment start to invalid value when we receive a 
8972         non TIME newsegment.
8973         get closer to handling position reporting for negative rates 
8974         correctly.
8976 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
8978         * gst/gstcaps.c:
8979         Docs about how to print caps for debug purposes.
8981         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
8982         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
8984 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
8986         * gst/gstelement.c:
8987           use full enum names and preprend a '%' in docs strings to make recent 
8988           gtk-doc turn that into a link
8990 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
8992         * docs/manual/basics-bins.xml:
8993         * docs/manual/basics-bus.xml:
8994         * docs/manual/basics-pads.xml:
8995           Some typo fixes, some additions, some clarifications. 
8997 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
8999         * tools/gst-inspect.c: (main):
9000         * tools/gst-launch.c: (main):
9001         * tools/gst-run.c: (main):
9002         * tools/gst-typefind.c: (main):
9003         * tools/gst-xmlinspect.c: (main):
9004           Use the string passed to g_option_context_new() for
9005           what it's intended for - the program name is already
9006           printed elsewhere.
9008 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9010         * tools/Makefile.am:
9011         * tools/gst-inspect.c: (main):
9012         * tools/gst-launch.c: (main):
9013         * tools/gst-xmlinspect.c: (main):
9014         * tools/tools.h:
9015           Add back --version command line option (#340460).
9017         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9018           Add --version option and use GOption for argument parsing; refactor a
9019           bit; accept directories as arguments and recurse into them; lastly,
9020           print a decent error message when things go wrong.
9022 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9024         * docs/manual/basics-bins.xml:
9025         Don't mention GstThread (#340611)
9026         * docs/manual/basics-elements.xml:
9027         Update link to GObject tutorial (#340607)
9028         
9029 2006-05-05  Wim Taymans  <wim@fluendo.com>
9031         * gst/gstbuffer.h:
9032         * gst/gstminiobject.c:
9033         Add note about refcounting and miniobject/buffer writeability
9034         to docs. Fixes #340604
9036         * gst/gstelementfactory.h:
9037         Added some explanation about @klass.
9039 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9041         * docs/manual/intro-motivation.xml:
9042         * docs/manual/manual.xml:
9043         Avoid CORBA & Bonobo references (#340598)
9045 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9047         * docs/manual/basics-bus.xml:
9048         * docs/manual/basics-pads.xml:
9049         Fix up some inaccuracies and omissions (#340609)
9050         
9051 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9053         * gst/gstghostpad.c:
9054           Small typo in docs (#340625)
9056 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9058         * gst/parse/Makefile.am:
9059           Make 'make -j' proof (see #340698).
9061 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9063         * configure.ac:
9064           Require GLib-2.8 here as well.
9066 2006-05-05  Wim Taymans  <wim@fluendo.com>
9068         * gst/glib-compat.c:
9069         * gst/gst.c: (init_pre):
9070         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9071         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9072         (gst_object_dispatch_properties_changed):
9073         * gst/gstobject.h:
9074         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9075         * gst/gststructure.c: (gst_structure_set_valist):
9076         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9077         Remove pre glib2.8 compatibility, fixes #340508
9079 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9081         * gst/gsttaglist.h:
9082           Mention type of tags in doc blurbs.
9084 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
9086         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9087         (gst_pad_configure_src), (gst_pad_push):
9088         Restore acceptcaps checking behaviour now that good plugins have
9089         been released.
9091 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9093         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9095         * gst/gst.c:
9096         * gst/gstbus.c:
9097         * gst/gstclock.c:
9098         * gst/gstevent.c:
9099         * gst/gstformat.c:
9100         * gst/gstmessage.c:
9101         * gst/gstparse.c:
9102         * gst/gstquery.c:
9103         * gst/gstutils.c:
9104         * gst/parse/Makefile.am:
9105         * libs/gst/base/gstadapter.c:
9106         * libs/gst/base/gstbasesrc.c:
9107         * libs/gst/base/gstpushsrc.c:
9108         * libs/gst/base/gsttypefindhelper.c:
9109         * plugins/elements/gstfakesrc.c:
9110         * plugins/elements/gstidentity.c:
9111           Make sure gstprivate.h and/or config.h are
9112           always included first, otherwise some of our
9113           defines (like _FILE_OFFSET_BITS) might be
9114           redefined in the system headers. Fixes build
9115           on opensolaris (#340016).
9117 2006-05-04  Wim Taymans  <wim@fluendo.com>
9119         * docs/libs/gstreamer-libs-sections.txt:
9120         API: addition: gst_adapter_take_buffer()
9121         
9122         * libs/gst/base/gstadapter.c: (gst_adapter_push),
9123         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9124         (gst_adapter_available_fast):
9125         * libs/gst/base/gstadapter.h:
9126         Prepare for optimizing the hell out of this hugely inefficient
9127         piece of code. 
9128         Added gst_adapter_take_buffer() so we can at least start thinking
9129         about subbuffering and merging.
9130         Added some comments.
9132         * tests/check/Makefile.am:
9133         * tests/check/libs/adapter.c: (GST_START_TEST),
9134         (gst_adapter_suite), (main):
9135         Added GstAdapter check.
9137 2006-05-04  Wim Taymans  <wim@fluendo.com>
9139         * docs/design/part-overview.txt:
9140         Fix some typos, add blurb about buffer flags.
9142 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9144         * docs/libs/gstreamer-libs-sections.txt:
9145           make sure GstBaseTransformClass shows up in the docs
9146         * libs/gst/base/gstbasetransform.c:
9147         * libs/gst/base/gstbasetransform.h:
9148           move docs so gtk-doc picks it up now
9150 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9152         * docs/libs/gstreamer-libs-sections.txt:
9153           add missing symbols to docs
9155 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9157         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9158           back out the newsegment handling change, see #340060 for ongoing
9159           discussion
9161 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
9163         * tools/gst-run.c: (get_candidates), (main):
9164           Fix wrong g_file_test() usage (see glib docs for why it doesn't
9165           work); fix typo in error message. Fixes #340079.
9167 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9169         * common/Makefile.am:
9170         * docs/Makefile.am:
9171         * docs/faq/Makefile.am:
9172         * docs/gst/Makefile.am:
9173         * docs/libs/Makefile.am:
9174         * docs/manual/Makefile.am:
9175         * docs/plugins/Makefile.am:
9176         * docs/pwg/Makefile.am:
9177         * docs/slides/Makefile.am:
9178         * docs/upload.mak:
9179         * common/upload.mak:
9180           move upload.mak to common
9182 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9184         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9185           add more asserts on refcounts
9186           do more cleanup at end of tests
9187           fix test leaks showing in FC5
9189 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
9191         * plugins/elements/gsttypefindelement.c:
9192         (gst_type_find_element_handle_event):
9193         reverted wrong change and reflowed code to avoid others falling into
9194         this trap
9196 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9198         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9199           fix changelog entry about last collectpads change,
9200           add notes about proper fix
9202 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9204         * gst/gst.c:
9205         * gst/gstregistry.c: (gst_registry_scan_path_level),
9206         (gst_registry_scan_path):
9207         * gst/gstregistry.h:
9208           only write out registry if it has changed, fixes #338339
9210 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9212         * gst/gstbin.c:
9213         * gst/gstpipeline.c:
9214         * plugins/elements/gstcapsfilter.c:
9215         * plugins/elements/gstfakesink.c:
9216         * plugins/elements/gstfakesrc.c:
9217         * plugins/elements/gstfdsink.c:
9218         * plugins/elements/gstfdsrc.c:
9219         * plugins/elements/gstfilesink.c:
9220         * plugins/elements/gstfilesrc.c:
9221         * plugins/elements/gstidentity.c:
9222         * plugins/elements/gstqueue.c:
9223         * plugins/elements/gsttee.c:
9224         * plugins/elements/gsttypefindelement.c:
9225         (gst_type_find_element_handle_event):
9226           make GstElementDetails const
9228 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9230         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9231         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9232         (gst_collect_pads_is_collected), (gst_collect_pads_event):
9233           more detailed debug and formatting cleanup,
9234           forward newsegments to src-pad (so that e.g. adder not eats them)
9236 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9238         * gst/gstutils.c: (gst_element_link_pads):
9239           cleanup double code
9241 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9243         * libs/gst/controller/gstcontroller.c:
9244         (gst_controller_sync_values):
9245           some little tuning
9246         * tests/check/libs/controller.c: (GST_START_TEST),
9247         (gst_controller_suite):
9248           a new test for live value handling
9250 2006-04-28  Wim Taymans  <wim@fluendo.com>
9252         * gst/gstutils.c: (push_and_ref):
9253         Added some more docs.
9254         Fix refcount issue whith gst_element_found_tags() helper 
9255         function. Fixes #338335
9257         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9258         Added testsuite for gst_element_found_tags().
9260 2006-04-28  Michael Smith  <msmith@fluendo.com>
9262         * gst/gstvalue.c: (gst_value_serialize_flags):
9263           Avoid NULL dereference when trying to serialize flags containing
9264           invalid values.
9266 2006-04-28  Michael Smith  <msmith@fluendo.com>
9268         * plugins/elements/gsttypefindelement.c:
9269         (gst_type_find_element_handle_event):
9270           If we get EOS before any data is accumulated, don't use
9271           uninitialised local variables.
9273 2006-04-28  Michael Smith  <msmith@fluendo.com>
9275         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9276         (gst_dp_event_from_packet):
9277           Fixes in reading/writing events over GDP (not currently used?) - 
9278           dereferencing NULL events for unknown/invalid event types, memory
9279           leak, and change g_warning to GST_WARNING.
9281 2006-04-28  Wim Taymans  <wim@fluendo.com>
9283         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
9284         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9285         (gst_base_sink_get_position), (gst_base_sink_change_state):
9286         When frame dropping is enabled, we should not ignore frames
9287         without a duration.
9288         Update some documentation.
9290 2006-04-28  Wim Taymans  <wim@fluendo.com>
9292         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9293         (gst_base_src_send_event), (gst_base_src_change_state):
9294         Documentation updates.
9296 2006-04-28  Wim Taymans  <wim@fluendo.com>
9298         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
9299         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
9300         handle EAGAIN, EINTR and short writes correctly. Also clean
9301         up some error cases, avoid a deadlock on bad file descriptors and
9302         use GST_DEBUG_OBJECT.
9303         Fixes #339843
9305 2006-04-28  Wim Taymans  <wim@fluendo.com>
9307         * gst/gstvalue.c: (gst_value_serialize_buffer),
9308         (gst_value_deserialize_buffer):
9309         Don't try to serialize a GValue with a NULL buffer. 
9310         Fixes #339821.
9312         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9313         Added check for serialisation of NULL buffers.
9315 2006-04-28  Wim Taymans  <wim@fluendo.com>
9317         * gst/gstminiobject.c: (gst_value_take_mini_object):
9318         Taking a NULL miniobject is valid, fix the case where
9319         we try to unref the NULL miniobject.
9321 2006-04-28  Wim Taymans  <wim@fluendo.com>
9323         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9325         * gst/gstbin.c: (gst_bin_handle_message_func):
9326         Update docs.
9327         Don't leak bin refcount when a state recalc is
9328         in progress and we delay another one #339808.
9330 2006-04-28  Wim Taymans  <wim@fluendo.com>
9332         * docs/design/part-TODO.txt:
9333         Mention QoS as an ongoing work item.
9335         * docs/design/part-buffering.txt:
9336         New doc about buffering that needs to be fleshed out
9337         at some point.
9339         * docs/design/part-qos.txt:
9340         More QoS policy for decoders/demuxers/transforms
9342         * docs/design/part-trickmodes.txt:
9343         Small update.
9345 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9347         * configure.ac:
9348           back to HEAD
9350 === release 0.10.5 ===
9352 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
9354         * configure.ac:
9355           releasing 0.10.5, "Fogo"
9357 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9359         patch by: Wim Taymans
9361         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9362         (gst_pad_configure_src), (gst_pad_push):
9363         * gst/gstpipeline.c: (gst_pipeline_init):
9364           Fix internal data flow errors.  Fixes #338711.
9366 2006-04-12  Wim Taymans  <wim@fluendo.com>
9368         * tests/check/gst/gstelement.c: (GST_START_TEST):
9369         Don't leak the factory.
9371 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9373         * configure.ac:
9374         * win32/common/config.h:
9375           prerelease
9377 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9379         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9380         (gst_controller_unset_all):
9381           Free allocated GstTimedValues when freeing list nodes.
9382           Should fix leaks 'make check-valgrind' complains about.
9384         * win32/common/libgstcontroller.def:
9385           Add gst_controller_unset_all.
9387 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
9389         * docs/libs/gstreamer-libs-sections.txt:
9390         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9391         (gst_controller_unset_all):
9392         * libs/gst/controller/gstcontroller.h:
9393         API: Added new method gst_controller_unset_all()
9394         fixed gst_controller_unset()
9395         * tests/check/libs/controller.c: (GST_START_TEST),
9396         (gst_controller_suite):
9397         Added two testcases for new and fixed method
9399 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
9401         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9402           MSG_DONTWAIT is not defined on Cygwin, so work
9403           around that (fixes #317048).
9404           
9405 2006-04-11  Wim Taymans  <wim@fluendo.com>
9407         * gst/gstelementfactory.c: (gst_element_register),
9408         (gst_element_factory_create), (gst_element_factory_make):
9409         Some cleanups.
9410         Fixed a FIXME.
9411         Updated docs (Fixes #131079)
9413         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9414         Small cleanups.
9416         * tests/check/gst/gstelement.c: (GST_START_TEST),
9417         (gst_element_suite):
9418         Added testcase for elementfactory class field.
9420 2006-04-10  Wim Taymans  <wim@fluendo.com>
9422         * gst/gstsegment.c:
9423         Added some more docs.
9425         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
9426         (gst_base_sink_reset_qos):
9427         Calculate more accurate rate values.
9429 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
9431         * gst/gst_private.h:
9432           add a new #ifdef to use __declspec(dllimport) only for
9433           other modules and not for gstreamer core
9434         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
9435           use gst_guint64_to_gdouble for conversion
9436         * win32/common/libgstreamer.def:
9437           add new exported functions
9438         * win32/vs6/gst_inspect.dsp:
9439         * win32/vs6/gst_launch.dsp:
9440         * win32/vs6/libgstbase.dsp:
9441         * win32/vs6/libgstcontroller.dsp:
9442         * win32/vs6/libgstcoreelements.dsp:
9443         * win32/vs6/libgstdataprotocol.dsp:
9444         * win32/vs6/libgstnet.dsp:
9445           update project files
9447 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9449         * gst/gstbuffer.c: (gst_subbuffer_class_init):
9450         * gst/gstclock.c: (gst_clock_class_init):
9451         * gst/gstelement.c: (gst_element_class_init):
9452         * gst/gstindex.c: (gst_index_class_init):
9453         * gst/gstindexfactory.c: (gst_index_factory_class_init):
9454         * gst/gstobject.c: (gst_object_class_init),
9455         (gst_signal_object_class_init):
9456         * gst/gstpad.c: (gst_pad_class_init):
9457         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
9458         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
9459         * gst/gstregistry.c: (gst_registry_class_init):
9460         * gst/gstsystemclock.c: (gst_system_clock_class_init):
9461         * gst/gsttask.c: (gst_task_class_init):
9462         * gst/gstxml.c: (gst_xml_class_init):
9463         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9464         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9465         (gst_base_src_loop):
9466         * libs/gst/controller/gstcontroller.c:/
9467         (_gst_controller_class_init):
9468         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9469         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
9470         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
9471         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9472         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9473         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
9475 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
9477         * gst/gstpad.c: (gst_pad_link):
9478           Must set peer pads before calling the link function, otherwise
9479           a task started from a link function might get a flow-not-linked
9480           result when trying to push because the other thread where the
9481           linking happens hasn't had a chance to set the peers yet. This
9482           might happen for example when a queue gets linked to a downstream
9483           element, as queue starts a streaming task when its source pad
9484           gets linked. Happens in real life when playing back flac/musepack
9485           files in playbin (#332390).
9486           
9487 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9489         * gst/gstindex.h:
9490         * gst/gstxml.h:
9491         * libs/gst/base/gstadapter.h:
9492         * libs/gst/base/gstbasesink.h:
9493         * libs/gst/base/gstbasesrc.h:
9494         * libs/gst/base/gstbasetransform.h:
9495         * libs/gst/base/gstcollectpads.h:
9496         * libs/gst/base/gstpushsrc.h:
9497         Fix broken GObject macros
9499 2006-04-07  Wim Taymans  <wim@fluendo.com>
9501         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9502         Initialize start and stop times, thanks valgrind.
9504 2006-04-07  Wim Taymans  <wim@fluendo.com>
9506         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9507         Be a bit nicer to badly behaving upstream elements that expect
9508         us to deal with non TIME segments and timestamps (such as fakesrc
9509         in the testsuite).
9511 2006-04-07  Wim Taymans  <wim@fluendo.com>
9513         * gst/gstbus.c:
9514         Small documentation clarification about the signal watch.
9516         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9517         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9518         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9519         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9520         (gst_base_sink_get_position_last),
9521         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9522         Convert and store timestamps in stream time and running time, the
9523         raw timestamps are not useful, also document this better.
9524         Use different window sizes for good and bad QoS observations so
9525         we react to badness a little quicker.
9526         Keep track of the amount of rendered and dropped buffers.
9527         Send QoS timestamps in running time.
9529         * libs/gst/base/gstbasetransform.c:
9530         (gst_base_transform_sink_eventfunc),
9531         (gst_base_transform_handle_buffer):
9532         Compare QoS timestamps against running time.
9534 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9536         * gst/gstpad.c:
9537           Typo fixes in docs.
9539 2006-04-06  Michael Smith  <msmith@fluendo.com>
9541         * gst/gstpad.c: (gst_pad_set_property):
9542           Use g_value_get_object() instead of g_value_dup_gst_object(),
9543           to avoid double-reffing the pad template (which we then sink,
9544           so this worked previously if (and only if) the pad template
9545           was floating.
9547         * gst/gstpadtemplate.c: (gst_pad_template_init),
9548         (gst_pad_template_pad_created):
9549           Never return floating references to pad templates, create
9550           them as initially-sunken.
9552           Document an extra function (and make this stop sinking our
9553           pad template, since that is now guaranteed to do nothing,
9554           since we created it sunken).
9556         * gst/gstghostpad.c:
9557           Fix docs typo.
9559 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9561         * gst/gstinfo.c: (__gst_in_valgrind):
9562           Add some newlines.
9564         * plugins/elements/gsttypefindelement.c:
9565         (gst_type_find_element_chain):
9566           Don't leak buffer caps.
9568 2006-04-06  Michael Smith  <msmith@fluendo.com>
9570         * gst/parse/grammar.y:
9571           Fix a leak in parse-launch for any source-or-sink named element 
9572           references used.
9574         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9575           Unref the pipeline if it exists after we've failed parsing.
9577 2006-04-05  Michael Smith  <msmith@fluendo.com>
9579         * gst/gstpipeline.c: (gst_pipeline_init):
9580           When we create a pipeline bus, initially create it in flushing mode.
9581           Fixes leaks in at least one test, and makes a new pipeline work the
9582           same as one that has gone to READY and then back to NULL.
9584         * gst/gstelement.c:
9585           Typo fix in docs.
9587 2006-04-05  Michael Smith  <msmith@fluendo.com>
9589         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9590           Unref a pad we reffed.
9591         * tests/check/gst/gstutils.c: (GST_START_TEST):
9592           Unref bins
9594 2006-04-05  Michael Smith  <msmith@fluendo.com>
9596         * gst/gstquery.c: (gst_query_set_formats),
9597         (gst_query_set_formatsv):
9598           Fix leaking GValues in queries, as shown by valgrind/testsuite.
9600 2006-04-05  Michael Smith  <msmith@fluendo.com>
9602         * tests/check/generic/sinks.c: (GST_START_TEST):
9603           Fix a variety of memleaks in sinks check, which are only sometimes 
9604           shown by running the tests under valgrind (weird?).
9606 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
9608         * docs/version.entities.in:
9609           Fix the substituted entity name after thomas' changes on the
9610           weekend.
9612 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9614         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
9615         VALGRIND_PRINTF
9616         
9617 2006-04-05  Andy Wingo  <wingo@pobox.com>
9619         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
9621         * libs/gst/base/gstbasetransform.c
9622         (gst_base_transform_sink_eventfunc): When resetting our segment on
9623         FLUSH_STOP, also update the flag saying we haven't seen a
9624         newsegment.
9626 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9628         Patch by: Paolo Borelli  <pborelli at katamail dot com>
9630         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9631         (gst_plugin_check_license):
9632           minor clean-ups: G_DEFINE_TYPE already takes care of the
9633           parent_class stuff, no need to do it twice. Mark array of
9634           license strings as constant. (#337103)
9635           
9636 2006-04-04  Michael Smith  <msmith@fluendo.com>
9638         * tools/gst-inspect.c: (print_element_list):
9639           Free the right plugin list; fixes a memory leak.
9641 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9643         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
9645         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9646           Don't error out on empty buffers (#336945).
9647           
9648 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
9650         * docs/libs/gstreamer-libs-sections.txt:
9651         * gst/gsttaglist.c:
9652         * libs/gst/base/gstbasesink.c:
9653         * libs/gst/base/gstbasesink.h:
9654         * libs/gst/base/gstbasesrc.c:
9655         * libs/gst/base/gstbasesrc.h:
9656           Documentation updates. Make BaseSink and BaseSrc docs contain the
9657           class structure so that people can actually see the prototypes for
9658           virtual functions they're supposed to be overriding.
9660 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9662         * plugins/elements/gsttypefindelement.c:
9663         (gst_type_find_element_chain):
9664           More debug info; when skipping typefinding, send cached
9665           events in all cases.
9667 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9669         * configure.ac:
9670           use new AS_VERSION and AS_NANO macros
9671         * gst/gst-i18n-lib.h:
9672         * gst/gst.c:
9673         * gst/gsterror.c:
9674         * gst/gstversion.h.in:
9675         * win32/common/config.h:
9676         * win32/common/config.h.in:
9677           update accordingly
9679 2006-03-31  Michael Smith  <msmith@fluendo.com>
9681         * plugins/elements/gsttypefindelement.c:
9682         (gst_type_find_element_chain):
9683           Do not typefind content if the buffers already have caps.
9684           Neccesary for icydemux (#333657), and the right thing to do anyway.
9686 2006-03-30  Wim Taymans  <wim@fluendo.com>
9688         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9689         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
9690         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
9691         (gst_base_sink_record_qos_observation),
9692         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9693         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
9694         (gst_base_sink_change_state):
9695         More QoS measurements as described in the design doc.
9696         Get rid of ringbuffer with observations, running average is
9697         more simple and equally good.
9698         Calculates valid proportion now.
9699         Added beginning of flood measurement.
9701 2006-03-29  Wim Taymans  <wim@fluendo.com>
9703         * docs/design/part-qos.txt:
9704         * gst/gstclock.c:
9705         Small documentation updates and additions.
9707 2006-03-29  Wim Taymans  <wim@fluendo.com>
9709         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9710         (gst_base_src_send_event), (gst_base_src_loop),
9711         (gst_base_src_change_state):
9712         Perform the EOS logic when we reach the segment stop position.
9713         Fix compilation on gcc4.1
9715 2006-03-29  Wim Taymans  <wim@fluendo.com>
9717         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9719         * plugins/elements/gstqueue.c: (gst_queue_init),
9720         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9721         (gst_queue_set_property):
9722         * plugins/elements/gstqueue.h:
9723         In queue, when EOS is received, if minimum threshold > max_size -
9724         current_level, there is chance that queue blocks forever in conditional
9725         item del wait. This is because the queue is not emptied completely due
9726         to minimum threshold.  Here is another approach. Instead of setting
9727         cur_levels to max in EOS, just zero all minimum threshold levels. This
9728         should make sure that queue gives out all data. When going to READY
9729         (stop) state, just reset the original minimum threshold levels.
9730         Fixes #336336.
9732 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
9734         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
9735         (gst_type_find_element_handle_event),
9736         (gst_type_find_element_send_cached_events),
9737         (gst_type_find_element_change_state):
9738         * plugins/elements/gsttypefindelement.h:
9739           When typefinding is done in push mode, we should cache
9740           events we receive during typefinding instead of just
9741           dropping them (e.g. newsegment, custom events from
9742           dvdreadsrc etc.) and then send them out once we've
9743           determined the type of the stream (and decodebin
9744           has had a chance to plug in a decoder/demuxer).
9745           
9746 2006-03-27  Wim Taymans  <wim@fluendo.com>
9748         * docs/design/part-qos.txt:
9749         First QoS ideas.
9751 2006-03-27  Wim Taymans  <wim@fluendo.com>
9753         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
9755         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9756         (gst_base_src_send_event), (gst_base_src_change_state):
9757         Handle element seek correctly when we are streaming.
9758         Fixes #326998.
9760 2006-03-24  Michael Smith  <msmith@fluendo.com>
9762         * docs/faq/gst-uninstalled:
9763           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
9764           allow you to correctly run intalled applications built against old 
9765           core, using plugins that require updated core (e.g. running
9766           installed totem against a full uninstalled gstreamer stack)
9768 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9770         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9771         more debug details
9773 2006-03-24  Wim Taymans  <wim@fluendo.com>
9775         * docs/gst/gstreamer-sections.txt:
9776         Rearrange the order of the methods so that related methods
9777         are grouped together in sections.
9779 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9781         * gst/gstelement.c:
9782           Little clarification in the docs
9784 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9786         * docs/README:
9787         formatting fix
9788         * plugins/elements/gstidentity.c:
9789         * plugins/elements/gstqueue.c:
9790         * plugins/elements/gsttee.c:
9791         * plugins/elements/gsttypefindelement.c:
9792         GST_ELEMENT_DETAILS formatting
9794 2006-03-24  Wim Taymans  <wim@fluendo.com>
9796         * libs/gst/base/gstbasesink.h:
9797         Only add fields, not insert or we break ABI.
9799 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
9801         * win32/common/libgstbase.def:
9802         * win32/common/libgstreamer.def:
9803           Update, add recently added functions.
9805 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
9807         * docs/gst/gstreamer-sections.txt:
9808         * gst/gstutils.c: (gst_pad_query_peer_position),
9809         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
9810         * gst/gstutils.h:
9811           API: add some new utility functions:
9812            - gst_pad_query_peer_position()
9813            - gst_pad_query_peer_duration()
9814            - gst_pad_query_peer_convert()
9815           
9816 2006-03-23  Wim Taymans  <wim@fluendo.com>
9818         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9819         (gst_base_sink_init), (gst_base_sink_finalize),
9820         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
9821         (gst_base_sink_set_property), (gst_base_sink_get_property),
9822         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
9823         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9824         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
9825         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9826         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
9827         (gst_base_sink_preroll_object), (gst_base_sink_event),
9828         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
9829         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
9830         (gst_base_sink_query), (gst_base_sink_change_state):
9831         Decouple max-lateness and the fact that QoS messages are generated
9832         with a new property (qos).
9833         added API: GstBaseSink::async_play()
9834         Add vmethod so subclasses can be notified of ASYNC playing
9835         state changes.
9836         Collect timestamp start and stop to report better current
9837         position in EOS/PLAYING/PAUSED/READY/NULL.
9838         Refactor QoS/frame dropping and other measurements.
9839         API: GstBaseSrc::qos
9840         Fixes #326311
9842         * libs/gst/base/gstbasesink.h:
9843         Added Private struct.
9844         API: gst_base_sink_set_qos_enabled()
9845         API: gst_base_sink_is_qos_enabled()
9847 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
9849         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9850           If compiling against GLib-2.8 or newer, try to read the
9851           registry file using GMappedFile first before falling back
9852           to fopen() + fread() (#332151).
9854 2006-03-22  Wim Taymans  <wim@fluendo.com>
9856         * gst/gstinfo.c: (gst_debug_set_active),
9857         (gst_debug_category_set_threshold):
9858         Disable debugging unless explicitly activated.
9859         Fixes #335480.
9861 2006-03-22  Wim Taymans  <wim@fluendo.com>
9863         * gst/gstelement.c: (gst_element_set_locked_state),
9864         (gst_element_dispose):
9865         Cleanup the error case.
9867         * gst/gstobject.c: (gst_object_dispose):
9868         print a critical when some object was disposed with
9869         a parent, also revive the object since it might
9870         crash the parent.
9872 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
9874         * tools/gst-launch.1.in:
9875           Fix another typo.
9877 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9879         * configure.ac:
9880         * tests/check/Makefile.am:
9881           disable some tests when we don't have a registry
9882         * tests/check/gst/gstutils.c: (gst_utils_suite):
9883           don't build the part that needs parsing
9885 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9887         * gst/Makefile.am
9888         * tests/examples/Makefile.am:
9889           fix --disable-parse build
9891 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9893         * tools/gst-feedback.1.in:
9894           Fix typo: s/feeback/feedback/ (#133494).
9896 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9898         * tools/Makefile.am:
9899         * tools/gst-launch.1.in:
9900           Add FILES section and correct entry about GST_REGISTRY_PATH
9901           environment variable (#133495; #133494).
9903 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9905         * tools/Makefile.am:
9906         * tools/gst-md5sum.1.in:
9907         * tools/gst-md5sum.c:
9908           Remove gst-md5sum and man page (the md5sink element
9909           required was removed ages ago)
9911 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9913         * gst/gststructure.c: (gst_structure_id_set_value):
9914           Make sure that string fields in structures/taglists
9915           contain valid UTF-8 - we don't want to pass rubbish to
9916           applications because of a buggy plugin (cp. #334167).
9918 2006-03-21  Edward Hervey  <edward@fluendo.com>
9920         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9921         (gst_bin_handle_message_func):
9922         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
9923         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
9924         (gst_element_set_bus_func):
9925         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
9926         * gst/gstminiobject.c: (gst_value_set_mini_object),
9927         (gst_value_take_mini_object):
9928         * gst/gstpad.c: (gst_pad_set_pad_template):
9929         * gst/gstpipeline.c: (gst_pipeline_dispose),
9930         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9931         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
9932         (gst_collect_pads_chain):
9933         * libs/gst/net/gstnettimeprovider.c:
9934         (gst_net_time_provider_set_property):
9935         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
9936         It's in fact all issues with gst_*object_replace().
9938 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
9940         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
9941         
9942         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9943         * pkgconfig/gstreamer-check.pc.in:
9944           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
9946 2006-03-21  Edward Hervey  <edward@fluendo.com>
9948         * gst/gstbuffer.h:
9949         * gst/gstevent.h:
9950         * gst/gstmessage.h:
9951         gst_[buffer|event|message]_ref() macros are replaced by a static
9952         inline functions because gcc-4.1 will about if the return value
9953         isn't used.
9954         * tests/check/gst/gstevent.c: (event_probe):
9955         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
9957 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
9959         * gst/gstutils.h:
9960         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
9961         the type' case. (Closes: #335195 for now). In the future, when we
9962         depend on GLib 2.10, we could also intern the type name using
9963         g_intern_static_string()
9965 2006-03-20  Wim Taymans  <wim@fluendo.com>
9967         * gst/gstbin.c: (gst_bin_handle_message_func),
9968         (bin_query_max_init), (bin_query_position_fold),
9969         (bin_query_position_done), (gst_bin_query):
9970         Position query should also take max of all streams.
9972 2006-03-20  Wim Taymans  <wim@fluendo.com>
9974         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9975         (gst_fake_src_finalize):
9976         Fix leaks in fakesrc.
9978         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9979         Fix leaks in the testcase.
9981 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
9983         * gst/gst_private.h:
9984           add win32 specific import decoration(__declspec(dllimport)) 
9985           for all extern GstDebugCategory * variables
9986         * win32/common/libgstbase.def:
9987         * win32/common/libgstcontroller.def:
9988         * win32/common/libgstreamer.def:
9989           Add some exports, remove empty lines
9990         * win32/common/libgstdataprotocol.def:
9991         * win32/common/libgstdataprotocol.dsp:
9992         * win32/common/libgstnet.def:
9993         * win32/common/libgstnet.dsp:
9994           new project files and exportation files added
9995         
9996 2006-03-19  Wim Taymans  <wim@fluendo.com>
9998         * tests/check/libs/basesrc.c: (eos_event_counter):
9999         Use proper return value for probe.
10001 2006-03-17  Wim Taymans  <wim@fluendo.com>
10003         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10004         (gst_pad_push):
10005         Don't leak buffers, caps and pads on negotiation errors.
10007 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
10009         * docs/faq/cvs.xml:
10010         * docs/faq/dependencies.xml:
10011         * docs/faq/developing.xml:
10012         * docs/faq/faq.xml:
10013         * docs/faq/general.xml:
10014         * docs/faq/getting.xml:
10015         * docs/faq/legal.xml:
10016         * docs/faq/troubleshooting.xml:
10017         * docs/faq/using.xml:
10018         Faq review and update.
10020 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
10022         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10023         (gst_pad_push):
10024         Don't pound the cpu to pieces by checking get_caps when accept_caps
10025         is called with the same caps as the pad already has.
10026         Use GST_DEBUG_OBJECT when outputting caps change information.
10028 2006-03-15  Wim Taymans  <wim@fluendo.com>
10030         * gst/gstclock.c: (gst_clock_class_init):
10031         Fix docs.
10033 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
10035         * gst/gstbuffer.h:
10036         Documentation fix.
10038         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10039         (gst_pad_accept_caps), (gst_pad_configure_sink),
10040         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10041         Make the default acceptcaps behaviour be to check the requested 
10042         caps against the gst_pad_get_caps output. 
10044         Ensure that gst_pad_accept_caps is used to check caps when a pad
10045         doesn't have a setcaps function, so that pads automatically refuse 
10046         caps that they don't allow in their pad template. (Fixes #332986)
10048         When a buffer with attached caps is pushed, ensure that the source 
10049         pad receives those caps even if the element didn't call
10050         gst_pad_set_caps first.
10052 2006-03-15  Wim Taymans  <wim@fluendo.com>
10054         * libs/gst/base/gstadapter.c:
10055         Add some docs.
10057 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
10059         * win32/common/libgstbase.def:
10060         * win32/common/libgstcontroller.def:
10061         * win32/common/libgstreamer.def:
10062           Add a whole bunch of missing functions (#334434).
10064 2006-03-14  Wim Taymans  <wim@fluendo.com>
10066         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10067         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10068         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10069         Better debug info when we receive a segment event.
10070         Reorganize a bit so we can pass the get_times() results around.
10071         Use the segment format when calculating the running time.
10072         Don't do QoS is sync is disabled or we have no clock or the
10073         element does not want us to sync to the clock.
10074         Don't drop buffers if QoS is disabled for now.
10076 2006-03-14  Wim Taymans  <wim@fluendo.com>
10078         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10079         Marked the stats property as unimplemented so people don't get
10080         wild ideas.
10081         Add debug message when regression goes wrong.
10082         Added some more docs.
10084 2006-03-14  Wim Taymans  <wim@fluendo.com>
10086         * gst/gstsegment.c: (gst_segment_to_stream_time):
10087         Return correct return type in case of errors.
10089 2006-03-14  Wim Taymans  <wim@fluendo.com>
10091         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10092           Don't segfault on invalid formats.
10094 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10096         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10097           Can't use gst_segment_to_running_time() when the segment
10098           is not in GST_TIME_FORMAT (like with filesink, for example).
10099           Stops flac encoding pipelines from spewing critical warnings
10100           at EOS (#331248).
10101           
10102 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10104         * gst/gstpipeline.c: (gst_pipeline_class_init):
10105           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10107         * plugins/elements/gsttypefindelement.c:
10108         (gst_type_find_element_handle_event):
10109           Don't try to typefind empty streams.
10111 2006-03-14  Wim Taymans  <wim@fluendo.com>
10113         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10114         (gst_base_sink_do_qos):
10115         Separate QoS calculation.
10116         Only drop buffers when lateness is bigger than the 
10117         duration of the buffer.
10119 2006-03-13  Wim Taymans  <wim@fluendo.com>
10121         * gst/gstpipeline.c: (gst_pipeline_set_property),
10122         (gst_pipeline_get_property), (do_pipeline_seek),
10123         (gst_pipeline_change_state), (gst_pipeline_set_delay),
10124         (gst_pipeline_get_delay):
10125         Don't deadlock when reading properties.
10127 2006-03-13  Wim Taymans  <wim@fluendo.com>
10129         * libs/gst/base/gstbasetransform.c:
10130         (gst_base_transform_class_init), (gst_base_transform_init),
10131         (gst_base_transform_sink_event),
10132         (gst_base_transform_sink_eventfunc),
10133         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10134         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10135         (gst_base_transform_set_property),
10136         (gst_base_transform_get_property),
10137         (gst_base_transform_change_state), (gst_base_transform_update_qos),
10138         (gst_base_transform_set_qos_enabled),
10139         (gst_base_transform_is_qos_enabled):
10140         * libs/gst/base/gstbasetransform.h:
10141         Make basetransform virtual method for src events too.
10142         Handle QOS in basetransform.
10143         API: gst_base_transform_update_qos()
10144         API: gst_base_transform_set_qos_enabled()
10145         API: gst_base_transform_is_qos_enabled()
10147 2006-03-13  Wim Taymans  <wim@fluendo.com>
10149         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10150         (gst_base_sink_do_sync):
10151         Small cleanups.
10152         Use QOS debug category.
10154 2006-03-13  Wim Taymans  <wim@fluendo.com>
10156         * plugins/elements/gstqueue.c:
10157         Very small doc update.
10159 2006-03-13  Wim Taymans  <wim@fluendo.com>
10161         * gst/gst_private.h:
10162         * gst/gstinfo.c: (_gst_debug_init):
10163         Added QOS debug category
10165 2006-03-13  Wim Taymans  <wim@fluendo.com>
10167         * docs/gst/gstreamer-sections.txt:
10168         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10169         * gst/gstbin.h:
10170         * gst/gstbus.c: (gst_bus_class_init):
10171         * gst/gstbus.h:
10172         * gst/gstclock.c:
10173         * gst/gstelement.c: (gst_element_set_locked_state):
10174         * gst/gstsegment.c:
10175         Documentation updates.
10177         * gst/gstpipeline.c: (gst_pipeline_get_type),
10178         (gst_pipeline_class_init), (gst_pipeline_init),
10179         (gst_pipeline_dispose), (gst_pipeline_set_property),
10180         (gst_pipeline_get_property), (do_pipeline_seek),
10181         (gst_pipeline_send_event), (gst_pipeline_change_state),
10182         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10183         (gst_pipeline_get_delay):
10184         * gst/gstpipeline.h:
10185         Added methods for setting the delay.
10186         API: gst_pipeline_set_delay()
10187         API: gst_pipeline_get_delay()
10188         Add pipeline debug category
10189         Various cleanups.
10190         Updated docs.
10191         Don't reset stream time when seek failed.
10193 2006-03-13  Wim Taymans  <wim@fluendo.com>
10195         * docs/design/draft-klass.txt:
10196         * docs/design/part-clocks.txt:
10197         * docs/design/part-events.txt:
10198         * docs/design/part-gstbin.txt:
10199         * docs/design/part-gstpipeline.txt:
10200         * docs/design/part-messages.txt:
10201         * docs/design/part-negotiation.txt:
10202         * docs/design/part-overview.txt:
10203         * docs/design/part-preroll.txt:
10204         * docs/design/part-seeking.txt:
10205         * docs/design/part-states.txt:
10206         * docs/design/part-streams.txt:
10207         Documentation updates.
10209 2006-03-12  Julien MOUTTE  <julien@moutte.net>
10211         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10212         us to leak strings...
10214 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10216         * libs/gst/net/gstnettimeprovider.c:
10217           fix docs
10218         * win32/common/config.h:
10219           update
10221 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
10223         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10225         * configure.ac:
10226           Don't check for libgnomeui (leftover from old examples
10227           that aren't built or disted any longer) (#334303).
10228           
10229 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
10231         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10232         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10233           Emit RESOURCE_NO_SPACE_LEFT error here as well when
10234           there's no space left on the device.
10236 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
10238         * gst/gstclock.h:
10239           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10240           to cast the input to GstClockTime before comparing with
10241           another GstClockTime value.
10243 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10245         * configure.ac:
10246           back to trunk
10248 === release 0.10.4 ===
10250 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
10252         * configure.ac:
10253           releasing 0.10.4, "Light"
10255 2006-03-10  Michael Smith  <msmith@fluendo.com>
10257         * libs/gst/dataprotocol/dataprotocol.c:
10258           Fix docs for dataprocotol to not get the return types completely
10259           wrong for a few functions.
10261 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10263         * docs/gst/gstreamer-sections.txt:
10264         * gst/gstpipeline.c: (gst_pipeline_class_init),
10265         (gst_pipeline_init), (gst_pipeline_set_property),
10266         (gst_pipeline_get_property), (gst_pipeline_change_state),
10267         (gst_pipeline_set_auto_flush_bus),
10268         (gst_pipeline_get_auto_flush_bus):
10269         * gst/gstpipeline.h:
10270           Add new API: gst_pipeline_set_auto_flush_bus() and
10271           gst_pipeline_get_auto_flush_bus() to disable automatic
10272           flushing of the pipeline's GstBus when going from READY
10273           to NULL state (#332045).
10275 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10277         * docs/gst/gstreamer-sections.txt:
10278         * gst/gsturi.c: (gst_uri_has_protocol):
10279         * gst/gsturi.h:
10280            Add new API: gst_uri_has_protocol() (#333779).
10282 2006-03-09  Wim Taymans  <wim@fluendo.com>
10284         * gst/gstclock.c: (gst_clock_entry_new),
10285         (gst_clock_id_compare_func), (gst_clock_id_wait),
10286         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
10287         (gst_clock_init), (gst_clock_get_internal_time),
10288         (gst_clock_set_master), (do_linear_regression),
10289         (gst_clock_add_observation), (gst_clock_set_property):
10290         * gst/gstclock.h:
10291         Review docs.
10292         Small cleanups.
10293         Fix a possible segfault when the window-size is made smaller.
10294         Calculate jitter before performing the clock wait. Ideally
10295         the clock implementation should calculate jitter but we need
10296         API breakage for that.
10298         * gst/gstsystemclock.c: (gst_system_clock_init):
10299         Docs review.
10300         
10301         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10302         Remove leftover else
10304         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
10305         (gst_systemclock_suite):
10306         Added check to test GST_CLOCK_DIFF.
10308 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10310         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
10311         (gst_type_find_helper_get_range):
10312           If we are provided with the size, we should implement
10313           GstTypeFind::get_length, so that typefind functions who
10314           want to can actually peek at the middle of a file.
10316 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
10318         * docs/manual/advanced-dataaccess.xml:
10319           Add some very very basic error checking.
10321         * docs/pwg/appendix-checklist.xml:
10322           Some updates to the list of things to check when writing an element.
10324 2006-03-08  Wim Taymans  <wim@fluendo.com>
10326         * docs/design/part-element-transform.txt:
10327         Added some docs about the design of tranform elements.
10329         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10330         (gst_base_src_loop), (gst_base_src_change_state):
10331         Mark buffers with the DISCONT flag.
10333 2006-03-08  Michael Smith  <msmith@fluendo.com>
10335         * gst/gstregistry.h:
10336         * gst/gstregistryxml.c: (gst_registry_save),
10337         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
10338         (gst_registry_xml_save_pad_template),
10339         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
10340         (gst_registry_xml_write_cache):
10341           Rewrite registry-saving to avoid race conditions and check for
10342           failed writes.
10344 2006-03-08  Wim Taymans  <wim@fluendo.com>
10346         * libs/gst/base/gstbasetransform.c:
10347         (gst_base_transform_transform_caps),
10348         (gst_base_transform_transform_size),
10349         (gst_base_transform_prepare_output_buffer),
10350         (gst_base_transform_get_unit_size),
10351         (gst_base_transform_buffer_alloc),
10352         (gst_base_transform_handle_buffer),
10353         (gst_base_transform_change_state):
10354         Cleanups, separate normal flow from errors, add sensible
10355         DEBUG lines.
10356         Don't try to renegotiate when allocating an output buffer.
10357         Also copy DISCONT buffer flag when copying a buffer.
10358         Reset the transform after we finish streaming, not during.
10360 2006-03-08  Wim Taymans  <wim@fluendo.com>
10362         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10363         Use last buffer timestamp in qos message.
10365 2006-03-07  Wim Taymans  <wim@fluendo.com>
10367         Patch by: Christophe Fergeau
10369         * docs/pwg/advanced-tagging.xml:
10370         * docs/pwg/building-pads.xml:
10371           fixes #333416
10373 2006-03-07  Wim Taymans  <wim@fluendo.com>
10375         * docs/libs/gstreamer-libs-sections.txt:
10376         Added basesink new methods.
10378         * gst/gstevent.c:
10379         * gst/gstevent.h:
10380         Docs updates. Flesh out the QoS docs.
10382         * libs/gst/base/gstadapter.c:
10383         Small doc clarification about ownership and flushing.
10385         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
10386         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
10387         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
10388         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10389         * libs/gst/base/gstbasesink.h:
10390         API additions: 
10391         Added new methods to allow subclass to control max-lateness 
10392         and sync.
10393         Generate very basic QoS events based on last sync observation.
10394         Updated docs, fix typo, added some QoS blurb.
10396         * libs/gst/base/gstbasesrc.c:
10397         Remove obsolete _get_state() calls from docs.
10399 2006-03-07  Wim Taymans  <wim@fluendo.com>
10401         * docs/libs/gstreamer-libs-sections.txt:
10402         * libs/gst/base/gstbasetransform.h:
10403         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
10404         Fix docs for GstBaseSrc.
10406 2006-03-07  Wim Taymans  <wim@fluendo.com>
10408         * docs/gst/gstreamer-sections.txt:
10409         * gst/gstbuffer.h:
10410         * gst/gstvalue.c:
10411         * libs/gst/base/gstbasetransform.h:
10412         Small documentation fixes.
10414 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10416         * gst/gstvalue.c:
10417           Document thread-unsafety of gst_value_register_foo_func()
10418           when used at the same time as gst_value_foo() (#322628).
10420 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10422         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
10423         (gst_push_src_check_get_range):
10424           Push sources don't support pull mode by default.
10426 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10428         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10429         (gst_base_src_init), (gst_base_src_pad_check_get_range),
10430         (gst_base_src_default_check_get_range):
10431         * libs/gst/base/gstbasesrc.h:
10432           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
10433           provide default implementation, and rename
10434           gst_base_src_check_get_range() to
10435           gst_base_src_pad_check_get_range() for clarity.
10437 2006-03-06  Wim Taymans  <wim@fluendo.com>
10439         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10440         Make property overridable.
10442 2006-03-06  Wim Taymans  <wim@fluendo.com>
10444         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10445         (gst_base_sink_init), (gst_base_sink_set_property),
10446         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10447         * libs/gst/base/gstbasesink.h:
10448         API addition: Make max-lateness a property.
10450 2006-03-06  Wim Taymans  <wim@fluendo.com>
10452         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
10453         (gst_base_sink_do_sync), (gst_base_sink_render_object):
10454         Don't ever draw a frame that is >10ms late.
10456 2006-03-06  Michael Smith  <msmith@fluendo.com>
10458         * gst/gstmessage.c: (_gst_message_copy):
10459           When copying a message, set the parent_refcount of the enclosed
10460           structure to point at the copy, not the original message.
10462 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10464         Patch by: Christophe Fergeau
10466         * gst/gstutils.h:
10467           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
10468           usable in c++ code (#333417)
10470 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10472         * gst/gstclock.h:
10473           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
10475 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
10477         * libs/gst/base/gstbasetransform.c:
10478         (gst_base_transform_transform_caps):
10479           Make sure caps are writable before passing them to
10480           gst_caps_append().
10482 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10484         * gst/gsterror.h:
10485           Fix some minor docs errors.
10487 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10489           Patch by: Ross Burton <ross at burtonini dot com>
10491         * gst/gsterror.c: (_gst_resource_errors_init):
10492         * gst/gsterror.h:
10493           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
10495 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10497         * gst/gst.c:
10498         Add a check and output a g_warning when GStreamer is built
10499         against GLib 2.6 but running against 2.8 or higher, and vice 
10500         versa. (Closes: #323542)
10502 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10504         * gst/parse/parse.l:
10505           Commit patch for parse_launch syntax from #331255. Removes 
10506           support for quoted strings and mimetypes when writing filtered 
10507           caps. See the bug report for more details - I'm pretty sure this
10508           obscure feature is not in use by _anyone_ anywhere.
10510           With this simple change, the size of the gstreamer.so here 
10511           drops from 2193KB to 1565KB.
10513 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10515         * plugins/elements/gsttypefindelement.h:
10516         * plugins/elements/gsttypefindelement.c:
10517         (gst_type_find_element_src_event), (start_typefinding),
10518         (stop_typefinding), (gst_type_find_element_handle_event),
10519         (gst_type_find_element_chain),
10520         (gst_type_find_element_chain_do_typefinding):
10521           Use gst_type_find_helper_for_buffer() for chain-based
10522           typefinding.
10524 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10526         * plugins/elements/gsttypefindelement.c:
10527         (gst_type_find_element_class_init),
10528         (gst_type_find_element_set_property),
10529         (gst_type_find_element_get_property):
10530           Deprecate "maximum" property (not only was it only taken into
10531           account for typefinding in push-mode anyway, it also was never
10532           actually possible to set it in the first place because the
10533           property was registered with the numeric property ID for the
10534           "minimum" property). Register "maximum" property correctly,
10535           for the sake of future copy'n'pasters. Remove some cruft
10536           from property get/set functions.
10538 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10540         * plugins/elements/gsttypefindelement.c:
10541         (gst_type_find_element_activate):
10542           Use gst_type_find_helper_get_range() here, so we
10543           can honour the "minimum" property and also emit
10544           the signal with the correct probability of the found caps.
10546 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
10548         * docs/libs/gstreamer-libs-sections.txt:
10549         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10550         (helper_find_suggest), (gst_type_find_helper_get_range),
10551         (gst_type_find_helper):
10552         * libs/gst/base/gsttypefindhelper.h:
10553           New API: gst_type_find_helper_get_range() (#333042).
10555 2006-03-02  Michael Smith  <msmith@fluendo.com>
10557         * gst/gstregistryxml.c: (load_feature):
10558           Asserting on a failure to read part of the registry is Not Cool.
10559           Just log a warning and return NULL (which is already handled)
10561 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
10563         * win32/common/libgstbase.def:
10564           added export of gst_type_find_helper_for_buffer
10565         * win32/common/libgstbase.def:
10566           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10567           gst_ghost_pad_get_target
10569 2006-02-28  Wim Taymans  <wim@fluendo.com>
10571         * docs/design/draft-klass.txt:
10572         We use Filter now.
10573         Added Connector to mark elements that are only used to
10574         allow pipeline connections.
10575         Moved Debug to extra feature since most of them are 
10576         functionally something else.
10578 2006-02-28  Wim Taymans  <wim@fluendo.com>
10580         * docs/design/draft-klass.txt:
10581         Some updates and clarifications.
10583 2006-02-28  Wim Taymans  <wim@fluendo.com>
10585         * docs/design/draft-klass.txt:
10586         Proposal for klass field values.
10588         * docs/design/part-streams.txt:
10589         Start of a doc describing stream anatomy.
10591 2006-02-28  Wim Taymans  <wim@fluendo.com>
10593         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
10594         Help the compiler a bit with type registration.
10595         Use existing forward cod path instead of duplicating it when 
10596         handling a message.
10597         
10598         * gst/gstbus.c: (gst_bus_get_type):
10599         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
10600         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
10601         * gst/gstclock.c: (gst_clock_get_type):
10602         * gst/gstelement.c: (gst_element_get_type),
10603         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10604         * gst/gstindexfactory.c: (gst_index_factory_get_type):
10605         * gst/gstminiobject.c: (gst_mini_object_get_type):
10606         * gst/gstpad.c: (gst_pad_get_type):
10607         * gst/gstsegment.c: (gst_segment_get_type):
10608         * gst/gststructure.c: (gst_structure_get_type):
10609         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10610         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
10611         * gst/gstvalue.c:
10612         Help compiler with type registration.
10614         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
10615         Small doc update.
10617 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10619         * plugins/elements/gsttypefindelement.c:
10620         (gst_type_find_element_handle_event):
10621           When we get an EOS event and have not found a type yet
10622           (most likely because we had not yet accumulated
10623           TYPE_FIND_MIN_SIZE of data yet), try to determine the
10624           type given the data we have so far. Fixes typefinding
10625           for very short streams again, most notably quicktime
10626           redirections as used on Apple's trailer site (#331701).
10628 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10630         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
10631         (gst_type_find_helper):
10632           Try typefinding factories with the highest rank first.
10634 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10636         * docs/libs/gstreamer-libs-docs.sgml:
10637         * docs/libs/gstreamer-libs-sections.txt:
10638         * libs/gst/base/gsttypefindhelper.c:
10639           Add section for typefind helper and add documentation
10640           for the old and the new function.
10642 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10644         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
10645         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
10646         (gst_type_find_helper_for_buffer):
10647         * libs/gst/base/gsttypefindhelper.h:
10648           New API: gst_type_find_helper_for_buffer() (#332723).
10649           
10650 2006-02-27  Michael Smith  <msmith@fluendo.com>
10652         Patch by: Loïc Minier
10654         * configure.ac:
10655         * docs/Makefile.am:
10656         * docs/slides/Makefile.am:
10657           prevent CVS directories getting disted.
10659 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10661         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
10662           Use the REFCOUNTING category for caps refcounting.
10663           
10664 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10666         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10667           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
10669 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10671         * plugins/elements/gsttypefindelement.c:
10672         (gst_type_find_element_activate):
10673           Use gst_pad_check_pull_range() before _activate_pull()
10674           to avoid unnecessary open/close (see #331690).
10676 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10678         * gst/gstutils.c:
10679           Docs enhancement: make it crystal clear what the
10680           gst_pad_add_*_probe() callbacks should look like.
10682 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10684         * libs/gst/base/gstbasesrc.c:
10685           Document how applications can stop recording from
10686           live sources (see #330996).
10688 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10690         * tests/check/Makefile.am:
10691         * tests/check/libs/basesrc.c: (eos_event_counter),
10692         (basesrc_eos_events_pull), (basesrc_eos_events_push),
10693         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
10694         (gst_basesrc_suite), (main):
10695           ... and add some tests for the base source EOS stuff.
10697 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10699         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
10700           Test case originally showed the problem fixed below,
10701           but was then amended. Add checks back at the place
10702           where they used to be.
10704 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10706         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10707         (gst_base_src_init), (gst_base_src_loop),
10708         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10709         (gst_base_src_change_state):
10710         * libs/gst/base/gstbasesrc.h:
10711           Don't unconditionally send EOS when going from PAUSED to
10712           READY state, esp. make sure we don't send two EOS events
10713           in some cases (e.g. one when reaching EOS and one when
10714           going from PAUSED to READY). Also, we don't want to send
10715           EOS events when operating in pull mode. However, we do
10716           want to send an EOS event when shutting down a live
10717           source explicitly, for example (fixes #330996).
10718           
10719 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10721         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10722           Update src->read_position after a seek when not using mmap.
10723           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
10725 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
10727         * gst/Makefile.am:
10728         * gst/gstparse.h:
10729         * gst/gstutils.c:
10730         * gst/gstutils.h:
10731         Make things work with --disable-parse as they do with 
10732         --disable-load-save - the symbols involved disappear, but the
10733         header is still installed and GST_DISABLE_PARSE is included via
10734         gstconfig.h
10736 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10738         * libs/gst/base/gstbasetransform.c:
10739         (gst_base_transform_change_state): Fix a stupid bug. I was 
10740         sure I compiled that.
10742 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10744         * gst/gstpad.c: (gst_pad_set_blocked_async):
10745         * gst/gstutils.c: (gst_pad_add_data_probe),
10746         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10747         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10748         (gst_pad_remove_buffer_probe): Make those function act on the
10749         ghostpad target when it's a ghostpad. (Closes #331727)
10751 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10753         * libs/gst/base/gstbasetransform.c:
10754         (gst_base_transform_change_state): Make basetransform reusable.
10755         (Closes #331898)
10757 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
10759         * docs/random/release:
10760         Move the current documentation of how to do a release to the top
10761         of the file.
10763         * gst/gstbin.c: (gst_bin_class_init),
10764         (gst_bin_handle_message_func):
10765         Allow multiple state-recalculation threads. (Closes #328873)
10767 2006-02-19  Julien MOUTTE  <julien@moutte.net>
10769         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
10770         * gst/gstpad.c: (gst_pad_set_event_function),
10771         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10772         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
10773         2 strings. You can't use the STR_NULL macro on that.
10775 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
10777         * gst/gstpad.c: (gst_pad_set_event_function),
10778         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10779         (gst_pad_set_getcaps_function)
10780         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
10781           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
10782           So now, we can use --gst-debug-level=5 on Windows
10783         * win32/common/libgstcontroller.def:
10784           Added export of gst_controller_init
10785         * win32/vs6/libgstcontroller.dsp:
10786           Fixed Release post build configuration
10788 2006-02-17  Wim Taymans  <wim@fluendo.com>
10790         * tests/check/gst/gstquery.c: (GST_START_TEST):
10791         Added another check.
10793 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
10795         * plugins/elements/gsttypefindelement.c: (find_peek):
10796           We can do peeks at non-zero offsets, as long as they
10797           fall within the buffer we have.
10799 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
10801         * tests/check/Makefile.am:
10802         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
10803         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
10804         (parse_suite), (main):
10805           Add testsuite for parse launch syntax
10807 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
10809         * plugins/elements/gsttypefindelement.c:
10810         (gst_type_find_element_chain):
10811           When typefinding is unsuccessful in the chain function, don't
10812           error out immediately. Only error out with NO_CAPS_FOUND if
10813           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
10814           otherwise simply wait for more data so we can try typefinding
10815           again with more data later. Also, don't attempt to typefind
10816           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
10817           this should improve typefinding from network sources where the
10818           size of the first buffer can be somewhat random.
10820 2006-02-14  Wim Taymans  <wim@fluendo.com>
10822         * docs/gst/gstreamer-sections.txt:
10823         * gst/gstpadtemplate.c:
10824         * gst/gstpadtemplate.h:
10825         Fix padtemplate docs, fixes #328805.
10827 2006-02-14  Wim Taymans  <wim@fluendo.com>
10829         * tools/gst-launch.c: (main):
10830         NO_PREROLL is not an ERROR so don't send confusing messages
10831         to the user.
10833 2006-02-14  Wim Taymans  <wim@fluendo.com>
10835         Patch by: Torsten Schoenfeld
10837         * gst/gstregistry.c: (gst_registry_get_default),
10838         (_gst_registry_cleanup):
10839         Protect default registry with lock and ref/sink it.
10840         Fixes #324818
10842 2006-02-14  Wim Taymans  <wim@fluendo.com>
10844         * gst/gstbuffer.c:
10845         * gst/gstquery.c: (gst_query_list_add_format),
10846         (gst_query_set_formatsv), (gst_query_parse_formats_length),
10847         (gst_query_parse_formats_nth):
10848         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10849         Docs fixes.
10851 2006-02-14  Wim Taymans  <wim@fluendo.com>
10853         * docs/gst/gstreamer-sections.txt:
10854         Reworked query docs.
10856         * gst/gstquery.c: (gst_query_new_formats),
10857         (gst_query_list_add_format), (gst_query_set_formats),
10858         (gst_query_set_formatsv), (gst_query_parse_formats_length),
10859         (gst_query_parse_formats_nth):
10860         * gst/gstquery.h:
10861         Flesh out formats query, added some new methods.
10862         Fix part of #324398.
10864         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
10865         Added query creation tests.
10867 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
10869         * gst/gstpad.c: (fixate_value):
10870         Add a default fixation for fraction lists.
10872 2006-02-13  Wim Taymans  <wim@fluendo.com>
10874         * gst/gsttask.c: (gst_task_init), (gst_task_func),
10875         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
10876         (gst_task_join):
10877         * gst/gsttask.h:
10878         Detect and warn for obvious deadlocks. fixes #320340
10879         Fix error case where lock was not released.
10881         * tests/check/Makefile.am:
10882         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
10883         (task_func), (gst_element_suite), (main):
10884         Add task check.
10886 2006-02-13  Wim Taymans  <wim@fluendo.com>
10888         * docs/gst/gstreamer-sections.txt:
10889         * gst/gstbus.c:
10890         Add new functions to docs.
10892 2006-02-13  Wim Taymans  <wim@fluendo.com>
10894         * docs/design/part-TODO.txt:
10895         Updated TODO list, basesrc supports seeking to non-bytes
10896         formats.
10898         * docs/design/part-element-sink.txt:
10899         Update docs.
10901         * gst/gstbin.c: (bin_replace_message),
10902         (gst_bin_handle_message_func):
10903         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
10904         * gst/gstevent.c: (gst_event_finalize):
10905         * gst/gstpad.c: (gst_pad_event_default_dispatch),
10906         (gst_pad_send_event):
10907         Use shiny new _TYPE_NAME macros.
10909         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
10910         Move debug statement up.
10912         * gst/gstelement.c: (gst_element_set_locked_state):
10913         Add some debugging.
10915 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
10917         * docs/gst/gstreamer-sections.txt:
10918         * gst/gstmessage.h:
10919         * gst/gstquery.h:
10920           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
10921           macros (#330906). Also, document the already existing
10922           GST_QUERY_TYPE macro.
10924 2006-02-13  Wim Taymans  <wim@fluendo.com>
10926         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
10927         (event_probe), (GST_START_TEST):
10928         Only events up to the pipeline EOS are counted, there are
10929         some more when going to NULL currently which we don't care
10930         about for now.
10932 2006-02-13  Wim Taymans  <wim@fluendo.com>
10934         * gst/gstpad.c: (gst_pad_send_event):
10935         Correctly check flushing and emit probes. fixes #330125
10937 2006-02-10  Andy Wingo  <wingo@pobox.com>
10939         * gst/gstbus.c (gst_bus_class_init): Declare our private data
10940         structure.
10941         (gst_bus_init): Cache the location of the private data in the
10942         instance structure.
10943         (gst_bus_enable_sync_message_emission) 
10944         (gst_bus_disable_sync_message_emission): Implement new public
10945         functions.
10946         (gst_bus_post): Emit the sync-message signal if the user asked for
10947         it. Fixes #330684.
10949         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
10950         location of the bus-private structure.
10951         (gst_bus_enable_sync_message_emission)
10952         (gst_bus_disable_sync_message_emission): API addition
10954 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
10956         Patch by: Vincent Torri
10958         * docs/pwg/building-boiler.xml:
10959         PWG patch from #326800
10961 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10963         * configure.ac:
10964         * docs/Makefile.am:
10965         * docs/design/Makefile.am:
10966           Dist design docs.
10968 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
10970         * configure.ac:
10971           back to CVS
10973 === release 0.10.3 ===
10975 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
10977         * configure.ac:
10978           releasing 0.10.3, "Like a virgin"
10980 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
10982         * configure.ac:
10983           2nd prerelease of 0.10.3
10984           Bump libtool versioning.
10986 2006-02-07  Andy Wingo  <wingo@pobox.com>
10988         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
10989         update last_stop if we're in TIME format and the timestamp is
10990         valid.
10992         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
10993         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
10994         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
10995         If we get a new newsegment with a different format, adapt
10996         accordingly.
10998         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
10999         of 0. Not a problem, really.
11001         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11002         warn if sync=true.
11004 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
11006         * configure.ac:
11007           Prelease of 0.10.3
11009 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
11011         * win32/vs7:
11012           project files updated to the default vs7 configuration
11013         * win32/common/libgstbase.def:
11014         * win32/common/libgstreamer.def:
11015           added new symbols,
11016           removed empty lines,
11017           sorted all exported symbols alphabetically
11018         * win32/common/dirent.c:
11019         * win32/common/dirent.h:
11020         * win32/common/gchar.h:
11021           use windows line end.
11022           
11023 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11025         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11026           Send EOS event when stopping.
11028 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11030         * docs/README:
11031           Tell folks what to do if the plugin-foobar.xml file
11032           hasn't been generated for a newly-added plugin.
11034 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11036         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11037         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11038         (gst_collect_pads_start), (gst_collect_pads_stop),
11039         (gst_collect_pads_event): Collectpads now holds a reference
11040         to the GstPad that was added. Indeed we don't want to look
11041         at pads that might just go away with no warning...
11043 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11045         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11046         (gst_collect_pads_start), (gst_collect_pads_stop),
11047         (gst_collect_pads_event), (gst_collect_pads_chain):
11048         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11049         Mark Nauwelaerts's patch on bug #328491.
11051 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11053         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11054         (gst_utils_suite):
11055           Add some simple tests for gst_parse_bin_from_description() and
11056           gst_bin_find_unconnected_pad() (#329069).
11058 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11060         * tools/gst-launch.c: (event_loop), (main):
11061           Catch errors during preroll (#320084).
11063 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
11065         * plugins/elements/gsttypefindelement.c:
11066         (gst_type_find_element_activate):
11067           Post TYPE_NOT_FOUND error message when typefinding
11068           is unsuccessful in the activate function as well.
11070 2006-02-02  Wim Taymans  <wim@fluendo.com>
11072         * docs/design/part-element-sink.txt:
11073         Updated doc.
11075 2006-02-02  Wim Taymans  <wim@fluendo.com>
11077         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11078         (gst_base_sink_render_object),
11079         (gst_base_sink_queue_object_unlocked):
11080         Only keep track of prerollable items when we are 
11081         prerolling.
11082         Before rendering after preroll, always check if we
11083         have queued items.
11084         Added some more debugging.
11086 2006-02-02  Wim Taymans  <wim@fluendo.com>
11088         * gst/gstelement.c: (gst_element_continue_state),
11089         (gst_element_set_state_func), (gst_element_change_state):
11090         Fixed #326576, been running this for quite some time with
11091         no regressions at all.
11093 2006-02-02  Wim Taymans  <wim@fluendo.com>
11095         * common/gst.supp:
11096         Added more suppressions
11098 2006-02-02  Wim Taymans  <wim@fluendo.com>
11100         * docs/design/part-element-sink.txt:
11101         Updated document.
11103         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11104         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11105         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11106         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11107         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11108         (gst_base_sink_preroll_object),
11109         (gst_base_sink_queue_object_unlocked),
11110         (gst_base_sink_queue_object), (gst_base_sink_event),
11111         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11112         (gst_base_sink_loop), (gst_base_sink_activate_pull),
11113         (gst_base_sink_get_position), (gst_base_sink_change_state):
11114         * libs/gst/base/gstbasesink.h:
11115         Totally refactored matching the design doc.
11116         Use two segments, one to clip incomming buffers and another to
11117         perform sync.
11118         Handle queueing correctly, bypass the queue when playing.
11119         Make EOS cancelable.
11120         Handle errors correctly when operating in pull based mode.
11122         * tests/check/elements/fakesink.c: (GST_START_TEST),
11123         (fakesink_suite):
11124         Added new check for sinks.
11126 2006-02-02  Wim Taymans  <wim@fluendo.com>
11128         * gst/gstsegment.c: (gst_segment_clip):
11129         No reason to refuse to clip when start == -1
11131 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
11133         * docs/README:
11134         * docs/manual/intro-basics.xml:
11135         * docs/manual/intro-preface.xml:
11136         * docs/manual/manual.xml:
11137         * docs/pwg/advanced-dparams.xml:
11138         * docs/pwg/intro-basics.xml:
11139         * docs/pwg/intro-preface.xml:
11140         * docs/pwg/pwg.xml:
11141           describe dparams (controller) for plugins
11142           unify docs a little more
11144 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
11146         * docs/gst/gstreamer-sections.txt:
11147         * gst/gstutils.c: (element_find_unconnected_pad),
11148         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11149         * gst/gstutils.h:
11150           Add new API: gst_parse_bin_from_description() and
11151           gst_bin_find_unconnected_pad() (#329069).
11153 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
11155         * docs/manual/README:
11156           uncover a nasty detail of the docs build
11158 2006-01-31  Wim Taymans  <wim@fluendo.com>
11160         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11161         Don't cache duration messages if we're not going to use or
11162         free them.
11164 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
11166         * docs/manual/advanced-dparams.xml:
11167         * docs/pwg/advanced-dparams.xml:
11168           more dparam docs
11169         * gst/gstindex.c:
11170           fix docs
11171         * libs/gst/controller/lib.c: (gst_controller_init):
11172           init just once
11174 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11176         * gst/gstelement.c: (gst_element_message_full):
11177           also show file/line/func if no additional debug was given
11179 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
11180         
11181         * win32/vs7/grammar.vcproj:
11182           activate copy of autogenerated files for Release mode
11184 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11185         
11186         * win32/common/libgstreamer.def:
11187           export gst_value_compare
11189 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
11191         * plugins/elements/Makefile.am:
11192         * plugins/elements/gstelements.c:
11193         * plugins/elements/gstfdsink.c: (_do_init),
11194         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11195         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11196         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11197         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11198         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11199         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11200         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11201         * plugins/elements/gstfdsink.h:
11202         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11204 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
11206         * docs/manual/advanced-dparams.xml:
11207           describe controller
11208         * docs/manual/advanced-position.xml:
11209         * docs/manual/basics-init.xml:
11210         * docs/manual/manual.xml:
11211         * docs/manual/titlepage.xml:
11212         * docs/pwg/pwg.xml:
11213         * docs/pwg/titlepage.xml:
11214           cleanup xml (more to come)
11215         * libs/gst/controller/gstcontroller.c:
11216           fix typo
11218 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11219         
11220         * win32/vs6/grammar.dsp:
11221           add autogen of gstmarshal.c,h for Release mode
11222                 
11223 2006-01-30  Wim Taymans  <wim@fluendo.com>
11225         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11226         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11227         (gst_base_sink_handle_object), (gst_base_sink_event),
11228         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11229         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11230         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11231         (gst_base_sink_deactivate), (gst_base_sink_activate),
11232         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11233         (gst_base_sink_query), (gst_base_sink_change_state):
11234         Basesink cleanups, remove some old code.
11235         Handle the case where a subclass can preroll in the render
11236         method (mostly audiosinks).
11237         Handle more events.
11238         Remove some locks around variables that are now protected
11239         with the PREROLL_LOCK (clock_id, flushing, ..).
11240         Optimize position query some more, do correct locking.
11241         Remove old code to push queue in state change, this is not
11242         needed anymore since preroll blocks on all prerollable items 
11243         now.
11244         Almost implemented as described in design doc.
11246 2006-01-30  Wim Taymans  <wim@fluendo.com>
11248         * tests/check/gst/gstbin.c: (GST_START_TEST):
11249         Wait for refcount to settle down before checking.
11251 2006-01-30  Wim Taymans  <wim@fluendo.com>
11253         * docs/design/part-element-sink.txt:
11254         Pseudo code overview of desired sink behaviour regarding
11255         preroll.
11257 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11258         * win32/vs6/grammar.dsp:
11259           fix some bugs in Release mode for autogenerated files
11260                 
11261 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11262         * win32/common/libgstbase.def:
11263         * win32/common/libgstreamer.def:
11264           export some new symbols: gst_base_src_set_format,
11265           gst_iterator_next, gst_structure_set_valist
11267 2006-01-29  Julien MOUTTE  <julien@moutte.net>
11269         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11270         Set pad functions unconditionally. Fixes #329105.
11272 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11273         * win32/vs8:
11274           add vs8 project files created by Sergey Scobich
11276 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
11278         * gst/gstutils.c: (gst_element_unlink_pads):
11279         Don't leak pad references.
11281         * tests/check/elements/fakesink.c: (GST_START_TEST):
11282         * tests/check/generic/sinks.c: (GST_START_TEST):
11283         * tests/check/generic/states.c: (GST_START_TEST):
11284         * tests/check/gst/gstbin.c: (GST_START_TEST):
11285         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11286         * tests/check/gst/gstelement.c: (GST_START_TEST):
11287         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11288         * tests/check/gst/gstiterator.c: (GST_START_TEST):
11289         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11290         Fix a bunch of leaks. Make generic/sinks.c
11291         use a bit less cpu by slowing the buffer rate
11292         between fakesrc and fakesink.
11293         
11294 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
11295         * gst/gstcaps.c:
11296         * gst/gstelement.c: (gst_element_send_event):
11297         * gst/gstevent.c:
11298         * gst/gstinfo.c:
11299         * gst/gstiterator.c:
11300         * gst/gstiterator.h:
11301         * gst/gstpad.c: (gst_pad_send_event):
11302         * gst/gststructure.c:
11303         * gst/gsturi.c:
11304         * gst/gstutils.c:
11305         * gst/gstvalue.c:
11306         * libs/gst/base/gstadapter.c:
11307           doc fixes, to link to function, just write gst_cool_function(), don't
11308           prefix with '#'
11310 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11312         * plugins/elements/gsttee.c: (gst_tee_do_push),
11313         (gst_tee_handle_buffer):
11314         Always prefer an actual return value from a src
11315         pad in place of NOT_LINKED. This means we return
11316         WRONG_STATE when all src pads are WRONG_STATE
11317         instead of NOT_LINKED.
11319         Lock when replacing the last message to prevent
11320         racing with the get_property method.
11322         Add debug output
11324 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11326         * tests/check/Makefile.am:
11327         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
11328         (main):
11329         Add a very simple check that should have caught the memleak I fixed
11330         last night (if not for the slice allocator hiding it)
11332 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11334         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11335         (gst_bin_remove_func), (gst_bin_handle_message_func),
11336         (bin_query_duration_fold), (bin_query_generic_fold):
11337         Clean up references to the clock provider when disposed or when
11338         handling a clock-lost message from it.
11340         Unref sinks when performing a query via gst_iterator_fold, as the
11341         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
11343         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
11344         (gst_clock_set_master):
11345         Drop our reference to the master clock, if any, when we are disposed.
11347         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
11348         Chain up in dispose. 
11350 2006-01-26  Wim Taymans  <wim@fluendo.com>
11352         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11353         Add some debugging.
11355 2006-01-26  Julien MOUTTE  <julien@moutte.net>
11357         * plugins/elements/gsttee.c: (gst_tee_do_push),
11358         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
11359         handles pad being NOT_LINKED or in WRONG_STATE.
11361 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11363         * win32/MANIFEST:
11364           more updating
11366 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11368         * win32/MANIFEST:
11369           remove obsolete entry
11371 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11373         * docs/gst/gstreamer-sections.txt:
11374         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
11375         (gst_bin_iterate_sources), (gst_bin_send_event):
11376         * gst/gstbin.h:
11377         * gst/gstelement.c: (gst_element_send_event):
11378         * gst/gstevent.c:
11379         * gst/gstpad.c: (gst_pad_send_event):
11380           added code for downstream events, reviewed docs in gstevent.c
11382 2006-01-25  Julien MOUTTE  <julien@moutte.net>
11384         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11385         We only query position using the clock in the playing state.
11386         Query peer in the other cases.
11387         * win32/common/config.h: Updates.
11389 2006-01-24  Wim Taymans  <wim@fluendo.com>
11391         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11392         A clock entry that is scheduled for the exact time of the
11393         clock is still in time.
11395         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11396         (gst_base_sink_do_sync):
11397         Add some more debug info.
11399 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11401         * win32/vs7:
11402           Add new vs7 project files and solution.
11404 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11406         * win32/vs7:
11407           all files removed as they were out-dated.
11409 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11411         * docs/random/release:
11412           update notes
11413         * gst/gstbin.c: (gst_bin_init):
11414         * gst/gstbus.c: (gst_bus_new):
11415         * gst/gstbus.h:
11416         * gst/gstpipeline.c: (gst_pipeline_init):
11417           use gst_bus_new(), improve logging, fix docs
11418         * win32/common/config.h:
11419           update for cvs build
11421 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11423         * autogen.sh:
11424           up required version of automake to 1.7
11426 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
11428         * win32/common/libgstreamer.def:
11429           export gst_buffer_is_metadata_writable
11431 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
11433         * docs/gst/gstreamer-sections.txt:
11434         * gst/gstevent.h:
11435           Add gst_event_replace() (#327001)
11437 2006-01-20  Wim Taymans  <wim@fluendo.com>
11439         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11440         Make it actually compile too..
11442 2006-01-20  Wim Taymans  <wim@fluendo.com>
11444         * gst/gstcaps.c:
11445         Clarify behaviour of _is_equal() when passing NULL parameters.
11447         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11448         (gst_pad_set_caps):
11449         Cleanups. Don't unref NULL caps.
11450         When setting the same caps, protect caps of the pad with
11451         proper lock.
11452         Use full functionality of _is_equal() when comparing caps.
11454 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11456         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11457         Don't loop infinitely if there are no buffers to present. Partially
11458         fixes #327197, but collectpads is just broken for reusing elements
11459         to do multiple encodes atm.
11461 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11463         * tools/gst-inspect.c: (print_element_features):
11464         * tools/gst-xmlinspect.c: (main):
11465         URL_HANDLER is not a plugin feature we can search for in
11466         the registry.
11468 2006-01-19  Edward Hervey  <edward@fluendo.com>
11470         * gst/gstelement.c: (gst_element_pads_activate): 
11471         When activating, do src pads first, then sink pads.
11472         When de-activating, do sink pads first, then src pads.
11474 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11476         * docs/gst/gstreamer-sections.txt:
11477         Add gst_index_add_associationv to the docs
11479 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11481         * gst/gstevent.c:
11482           Fix docs typo
11484         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
11485         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
11486           Do some refactoring. Doesn't actually change functionality,
11487           but makes landing the DRAIN event easier later.
11489 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
11491         * docs/pwg/advanced-scheduling.xml:
11492           Update from 0.9.x to 0.10 API and make example a bit
11493           clearer.
11495 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11497         * docs/gst/gstreamer-sections.txt:
11498         Add gst_buffer_(is|make)_metadata_writable methods.
11500 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11502         * docs/design/part-sparsestreams.txt:
11503         Update sparse streams doc, hopefully for greater clarity
11505 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
11507         * docs/design/part-events.txt:
11508         Remove mention of FILLER events.
11509         Add DRAIN event.
11511         * docs/design/part-sparsestreams.txt:
11512         Write some things about using NEWSEGMENT to keep sparse streams
11513         flowing.
11515 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11517         * gst/gstbin.c: (gst_bin_dispose):
11518           Guard gst_object_unref call against a NULL object (dispose
11519           can theoretically be called multiple times).
11520           
11521 2006-01-18  Wim Taymans  <wim@fluendo.com>
11523         * gst/gstbin.c: (gst_bin_element_set_state):
11524         * gst/gstclock.c: (gst_clock_id_wait):
11525         Added some more debug info.
11527         * libs/gst/base/gstadapter.c:
11528         Added more docs.
11530         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11531         (gst_base_sink_do_sync), (gst_base_sink_chain):
11532         Added some comments.
11534 2006-01-18  Wim Taymans  <wim@fluendo.com>
11536         * tests/check/Makefile.am:
11537         * tests/check/elements/fakesink.c: (chain_async_buffer),
11538         (chain_async), (chain_async_return), (GST_START_TEST),
11539         (fakesink_suite), (main):
11540         Added fakesink test that checks prerolling and clipping
11541         behaviour.
11543         * tests/check/gst/gstutils.c: (GST_START_TEST):
11544         Make check run faster so that buildbots don't timeout.
11546 2006-01-18  Wim Taymans  <wim@fluendo.com>
11548         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11549         (gst_base_sink_do_sync):
11550         Some cleanups.
11551         When the sink finishes blocking on the preroll buffer, it can
11552         immediatly render it instead of rendering when the next buffer
11553         arrives.
11555 2006-01-18  Wim Taymans  <wim@fluendo.com>
11557         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11558         (gst_base_sink_get_property), (gst_base_sink_do_sync),
11559         (gst_base_sink_chain):
11560         Small cleanups.
11561         GST_ELEMENT_CLOCK and sync are protected with LOCK.
11562         Don't store _last_stop if the buffer is dropped.
11564 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11566         * plugins/elements/gsttypefindelement.c:
11567         (gst_type_find_element_class_init):
11568           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11569           object method handler that sets the caps on the pad and we want
11570           that to happen before we emit the signal (fixes e.g. feeding a
11571           plain text file to decodebin).
11573 2006-01-18  Christian Schaller  <Christian@fluendo.com>
11575         * gst/gstplugin.c: Add MPL and Proprietary as license options
11577 2006-01-18  Andy Wingo  <wingo@pobox.com>
11579         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
11580         symbol was exported before, it appears this was just an oversight.
11581         Fixes #168703.
11582         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
11584         * gst/gstindex.c (gst_index_add_associationv): Changed int in
11585         prototype to gint. OK since this prototype was not in the header.
11587 2006-01-17  Andy Wingo  <wingo@pobox.com>
11589         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
11590         registry while we remove plugins.
11592         * tools/gst-inspect.c (print_element_info): Don't unref the
11593         factory arg, that should be the responsibility of whatever code
11594         received the ref. Fixes a double-free when called from
11595         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
11596         (main): Unref the factory if we have one.
11597         (print_element_list): No change -- relies on the
11598         plugin_feature_list_free to free the list of features.
11600 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
11602         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11603         (gst_buffer_make_metadata_writable):
11604         * gst/gstbuffer.h:
11605         * libs/gst/base/gstbasetransform.c:
11606         (gst_base_transform_prepare_output_buf):
11607         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11608         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11609           Replace gst_buffer_(make|is)_metadata_writable patch now
11610           that the release is out.
11612 2006-01-17  Andy Wingo  <wingo@pobox.com>
11614         * gst/gstregistry.c: Reflow design comment. Update so as to speak
11615         in the present tense without reference to versions.
11617         * gst/gstregistry.c (gst_registry_add_plugin)
11618         (gst_registry_remove_plugin, gst_registry_remove_feature)
11619         (gst_registry_find_feature, gst_registry_get_feature_list)
11620         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
11621         (gst_registry_lookup, gst_registry_scan_path)
11622         (_gst_registry_remove_cache_plugins)
11623         (gst_registry_get_feature_list_by_plugin): Add argument
11624         validation.
11626 === release 0.10.2 ===
11628 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
11630         * configure.ac:
11631           releasing 0.10.2, "If man is five"
11633 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11635         * gst/gstbuffer.c:
11636         * gst/gstbuffer.h:
11637         * libs/gst/base/gstbasetransform.c:
11638         (gst_base_transform_prepare_output_buf):
11639         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11640         * tests/check/gst/gstbuffer.c: (gst_test_suite):
11641           Back out patch until after the release.
11643 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11645         * gst/gstminiobject.c:
11646           Spelling fix in docs.
11647         * ChangeLog - remove conflict indicator
11649 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11651         Reviewed By: Andy Wingo
11653         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11654         (gst_buffer_make_metadata_writable):
11655         * gst/gstbuffer.h:
11656           Add gst_buffer_(is|make)_metadata_writable as analogues of
11657           gst_buffer_(is|make)_writable.
11659         * libs/gst/base/gstbasetransform.c:
11660         (gst_base_transform_prepare_output_buf):
11661         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11662           Use name gst_buffer_(is|make)_metadata_writable functions.
11664         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11665           Test gst_buffer_(is|make)_metadata_writable
11666         
11667           (Closes: #324162)
11669 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11671         * docs/manual/Makefile.am:
11672           don't do parallel make
11673         * configure.ac:
11674           AC_SUBST HOST_CPU
11675         * win32/common/config.h.in:
11676           add generations for HOST_CPU and GST_MAJORMINOR
11677         * win32/common/config.h:
11678           commit generated result
11680 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
11682         * docs/manual/appendix-integration.xml:
11683           Update GNOME integration section to use gst_init_get_option_group()
11684           instead of the old popt stuff (#322911). Also, GNOME applications
11685           should  now use gconf*sink and gconf*src instead of the old gconf
11686           helper lib we had.
11688 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
11691         * docs/gst/gstreamer-docs.sgml:
11692         * docs/gst/gstreamer-sections.txt:
11693         * docs/libs/gstreamer-libs-sections.txt:
11694           add new API entries to the docs
11695         * libs/gst/controller/Makefile.am:
11696         * libs/gst/controller/gstcontroller.c:
11697         * libs/gst/controller/gstcontroller.h:
11698         * libs/gst/controller/gstcontrollerprivate.h:
11699         * libs/gst/controller/gsthelper.c:
11700         * libs/gst/controller/gstinterpolation.c:
11701           move private structs to private header
11702         * po/README:
11703           gstreamer-0.7 -> gstreamer-0.10
11704         * tests/check/libs/struct_i386.h:
11705           remove private structs
11707 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11709         * plugins/indexers/Makefile.am:
11710           Fixes as part of #317048
11712 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11714         * plugins/indexers/Makefile.am:
11715           fix #316086 - compilation when mmap is missing
11717 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
11719         * libs/gst/base/gstbasesink.c:
11720           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
11721           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
11722         * win32/common/config.h:
11723           added some defines GST_MAJORMINOR and HOST_CPU
11724         * win32/common/libgstbase.def:
11725         * win32/common/libgstreamer.def:
11726           added some exported functions.
11728 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
11730         * libs/gst/controller/gstcontroller.c:
11731         (gst_controlled_property_set_interpolation_mode),
11732         (gst_controlled_property_new):
11733         * libs/gst/controller/gstcontroller.h:
11734         * libs/gst/controller/gstinterpolation.c:
11735         (interpolate_none_get_string_value_array):
11736           make G_TYPE_STRING controlable
11738 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
11740         * tools/README:
11741         * tools/gst-feedback.1.in:
11742         * tools/gst-inspect.1.in:
11743         * tools/gst-launch.1.in:
11744         * tools/gst-md5sum.1.in:
11745         * tools/gst-typefind.1.in:
11746         * tools/gst-xmlinspect.1.in:
11747         * tools/gst-xmllaunch.1.in:
11748           cleanup man-pages, remove reference to gst-register, document env-vars
11750 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
11752         * gst/gstbuffer.c: (gst_buffer_span):
11753           gst_buffer_span should copy the timestamp of the first buffer
11754           if they were both originally overlapping subbuffers of the 
11755           same parent, using the same logic as the 'slow copy' case.
11757 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
11759         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
11760           Need to awaken ALL the pads when we pop a buffer, otherwise
11761           collectpads only works when there is 2 input streams.
11763 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
11765         * docs/random/ensonic/media-device-daemon.txt:
11766           more ideas (dbus)
11767         * gst/gstbuffer.c:
11768           fix doc example, add clarification
11769         * tools/gst-launch.1.in:
11770           add initial info about GST_PLUGIN_PATH, needs more work
11772 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11774         * docs/manual/basics-bins.xml:
11775         * docs/manual/basics-elements.xml:
11776         * docs/manual/intro-basics.xml:
11777           Some more minor docs additions and updates.
11779 2006-01-11  Wim Taymans  <wim@fluendo.com>
11781         * docs/manual/basics-bins.xml:
11782         * docs/manual/basics-elements.xml:
11783         Some small fixes as pointed out by Ser-ver on IRC.
11785 2006-01-10  Edward Hervey  <edward@fluendo.com>
11787         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11788         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
11789         the single-segment mode.
11791 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
11793         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11795         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
11796         (gst_base_src_perform_seek), (gst_base_src_send_event),
11797         (gst_base_src_set_property), (gst_base_src_get_property),
11798         (gst_base_src_loop), (gst_base_src_start),
11799         (gst_base_src_activate_push):
11800         * libs/gst/base/gstbasesrc.h:
11801           Name (private) union; makes Sun's Forte compiler happy (#324900).
11803 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
11805         * README:
11806           gst-register is gone.
11808 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11810         * gst/gstvalue.c: (_gst_value_initialize):
11811           make the G_TYPE_DATE instantiation work if debug is disabled
11813 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
11815         * gst/gstmessage.c: (gst_message_parse_tag),
11816         (gst_message_parse_error), (gst_message_parse_warning):
11817           Don't crash when return location for error/warning debug
11818           string is NULL; add fact that return locations can be
11819           NULL to docs where appropriate.
11821 2006-01-05  Wim Taymans  <wim@fluendo.com>
11823         * gst/gstplugin.c: (gst_plugin_load_file):
11824         Replace strdup by g_strdup.
11826 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11828         * docs/pwg/advanced-types.xml:
11829           fix doc borkage
11831 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11833         submitted by: Abel Cheung
11835         * po/LINGUAS:
11836         * po/zh_TW.po:
11837           Added Chinese (traditional) translation
11839 2006-01-04  Wim Taymans  <wim@fluendo.com>
11841         * docs/manual/basics-pads.xml:
11842         * docs/plugins/Makefile.am:
11843         * docs/plugins/gstreamer-plugins-docs.sgml:
11844         * docs/plugins/gstreamer-plugins-sections.txt:
11845         * docs/pwg/advanced-clock.xml:
11846         * docs/pwg/advanced-scheduling.xml:
11847         * docs/pwg/advanced-types.xml:
11848         * plugins/elements/gstfdsink.c:
11849         * plugins/elements/gstfdsrc.c:
11850         * plugins/elements/gstfdsrc.h:
11851         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11852         * plugins/elements/gstidentity.h:
11853         * plugins/elements/gstqueue.h:
11854         * plugins/elements/gsttee.c:
11855         * plugins/elements/gsttee.h:
11856         * plugins/elements/gsttypefindelement.c:
11857         (gst_type_find_element_class_init):
11858         * plugins/elements/gsttypefindelement.h:
11859         Small updates to various docs.
11860         Added core plugins to docs.
11862 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11864         * common/gst.supp:
11865           add a suppression for liboil's uninitialized variable
11867 2006-01-02  James Livingston  <jrl at ids dot org dot au>
11869         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11871         * gst/gstutils.h:
11872           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
11873           macro, so that gcc doesn't complain if the -Wmissing-prototypes
11874           compiler switch is being used (#325429).
11876 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
11878         * gst/gstbin.c: (gst_bin_query):
11879           Disable duration query caching in bins until it gets
11880           fixed (see #324807).
11882 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
11884         * tools/gst-inspect.c: (print_element_properties_info):
11885           Handle properties of POINTER and BOXED type.
11887 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
11889         * gst/gst.c: (init_post):
11890           Init tags stuff and some other things before loading
11891           any static plugins (there may be other static plugins
11892           than just the GStreamer ones, and they may want to
11893           register their own tags or formats or whatever, and
11894           preferably without segfaulting).
11896         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
11897           Print at least a warning in the debug logs if we drop a
11898           query just because we don't know how to adjust the value
11899           in the particular format.
11901 2005-12-24  David Schleef  <ds@schleef.org>
11903         * tools/gstreamer-completion:
11904           Replacement for gst-complete written in sh and sed.  Only
11905           completes names of features, but that's 90% of what I want
11906           it for.  Properties are not available in registry.xml.  (Maybe
11907           they should be...)
11909 === release 0.10.1 ===
11911 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
11913         * configure.ac:
11914           releasing 0.10.1, "Nollaig chridheil"
11916 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
11918         * docs/faq/cvs.xml:
11919           Add missing quote, should be make ERROR_CFLAGS="".
11921 2005-12-20  Wim Taymans  <wim@fluendo.com>
11923         * docs/design/part-trickmodes.txt:
11924         More documentation on trickmodes.
11926 2005-12-20  Edward Hervey  <edward@fluendo.com>
11928         * gst/gstcaps.c: (gst_static_caps_get_type):
11929         * gst/gstcaps.h:
11930           API addition: GST_TYPE_STATIC_CAPS
11931         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
11932         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
11933         * gst/gstpadtemplate.h:
11934           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
11935         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
11936         bindings.
11938 2005-12-18  Wim Taymans  <wim@fluendo.com>
11940         * libs/gst/base/gstadapter.c:
11941         * libs/gst/base/gstadapter.h:
11942         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11943         (gst_base_sink_get_position):
11944         * libs/gst/base/gstbasesink.h:
11945         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11946         (gst_base_src_default_query), (gst_base_src_default_do_seek),
11947         (gst_base_src_do_seek), (gst_base_src_perform_seek),
11948         (gst_base_src_send_event), (gst_base_src_update_length),
11949         (gst_base_src_get_range), (gst_base_src_loop),
11950         (gst_base_src_start):
11951         * libs/gst/base/gstbasesrc.h:
11952         * libs/gst/base/gstbasetransform.h:
11953         * libs/gst/base/gstcollectpads.h:
11954         * libs/gst/base/gstpushsrc.c:
11955         * libs/gst/base/gstpushsrc.h:
11956         * libs/gst/dataprotocol/dataprotocol.c:
11957         * libs/gst/dataprotocol/dataprotocol.h:
11958         * libs/gst/net/gstnetclientclock.h:
11959         * libs/gst/net/gstnettimeprovider.h:
11960         Documentation updates.
11962 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
11964         * docs/manual/basics-helloworld.xml:
11965           Remove superfluous closing bracket in helloworld example.
11967 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
11969         * tools/gst-launch.1.in:
11970           Update gst-launch man page; add a section with useful
11971           environment variables. Fixes #323882.
11973 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
11975         * gst/gst.c:
11976         * gst/gst_private.h:
11977           change some char* into char[]
11979 2005-12-16  Wim Taymans  <wim@fluendo.com>
11981         * gst/gstregistryxml.c: (load_feature):
11982         Cleanups.
11983         Don't use g_object_unref on GstObjects so that we avoid
11984         leaks on unsafe glibs.
11986 2005-12-16  Wim Taymans  <wim@fluendo.com>
11988         * gst/gstbin.c: (gst_bin_recalc_state):
11989         Small doc updates.
11991 2005-12-16  Wim Taymans  <wim@fluendo.com>
11993         * common/check.mak:
11994         Added make forever target for check.
11996 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11998         * gst/gst.c: (init_post):
11999           make the registry cache file HOST_CPU-dependent
12001 2005-12-16  Andy Wingo  <wingo@pobox.com>
12003         * plugins/elements/gstbufferstore.c
12004         (gst_buffer_store_cleared_func): Pay attention to g_list_append
12005         return value.
12007         * tests/check/gst/gstobject.c
12008         (test_fake_object_name_threaded_unique): Pay attention to
12009         g_list_sort return value.
12011 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12013         * tools/gst-feedback-m.m:
12014           Update for 0.9/0.10 (fixes #323870).
12016 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
12018         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12019           Fix lcopy for mini objects, the mini object needs to be ref'ed.
12020           
12021         * tests/check/gst/gstminiobject.c: (my_foo_init),
12022         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12023         (test_value_collection), (gst_mini_object_suite):
12024           Add test to ensure refcounts end up as expected when passing
12025           GstMiniObjects through g_object_get() and g_object_set().
12027 2005-12-14  Julien MOUTTE  <julien@moutte.net>
12029         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12030         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12031         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12032         of collectpads. This version removes a lot of races without
12033         touching API/ABI. Yay !
12035 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
12037         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12038           Don't allow activation of a srcpad in pull_range if it has no
12039           getrange function.
12040           Change some debug statements to be a little clearer
12042         * plugins/elements/gsttypefindelement.c:
12043         (gst_type_find_handle_src_query):
12044           Check that we have a peer before executing queries thereupon.
12046         * tests/examples/metadata/read-metadata.c: (message_loop):
12047           Use gst_bus_pop instead of gst_bus_poll when we just want it to
12048           immediately return us any available message with 0 timeout.
12050 2005-12-12  Michael Smith  <msmith@fluendo.com>
12052         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12053           Don't unref factories after calling them.
12054         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12055         * plugins/elements/gsttypefindelement.c:
12056         (gst_type_find_element_chain):
12057           Free lists of factories after using them. Fixing typefinding memory
12058           leaks.
12060 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12062         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12063         (gst_plugin_feature_load):
12064           more meaningful debug output
12065         * configure.ac:
12066         * tests/Makefile.am:
12067         * tests/old/examples/Makefile.am:
12068           make make distcheck happy again
12070 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12072         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12073           Catch the special case where we are operating chain-based,
12074           but the downstream peer pad has no chain function. Emit a
12075           custom error message in this case instead of letting the
12076           core generate one implying that this is some sort of core
12077           bug. It's not, it just means that whatever got plugged
12078           into the pipeline downstream when we announced the type
12079           can only operate pull-based, while our source can only
12080           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12081           Error string has not been marked for translation yet, as
12082           it probably needs some more work first.
12084         (gst_type_find_element_get_best_possibility):
12085           Add helper function to find the best of all available
12086           found possibilities that qualify given the min. threshold.
12088         (gst_type_find_element_handle_event):
12089           Fix the case where we get an EOS while still in TYPEFIND
12090           mode (we want to chose the best of all possible types,
12091           not just the first type that happens to be in our unsorted
12092           list of possible types).
12094         (gst_type_find_element_chain):
12095           Make sure we return GST_FLOW_ERROR when we errored out
12096           in stop_typefinding(); also, don't just find the best of
12097           all found type entries and then use the last examined
12098           type entry, but actually use the best entry.
12100 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12102         * tests/examples/typefind/typefind.c: (type_found):
12103         * tests/examples/xml/runxml.c: (xml_loaded):
12104           More gcc4 fixes and a mem leak fix.
12106 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12108         * tests/examples/xml/createxml.c: (object_saved):
12109           gcc 4 fixes
12111 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12113         * tests/Makefile.am:
12114           enable the examples even more
12116 2005-12-12  Andy Wingo  <wingo@pobox.com>
12118         * libs/gst/net/gstnettimeprovider.c
12119         (gst_net_time_provider_class_init, gst_net_time_provider_init)
12120         (gst_net_time_provider_set_property)
12121         (gst_net_time_provider_get_property):
12122         API addition: Export "active" as a GObject property.
12123         (gst_net_time_provider_thread): Only respond to time queries if
12124         the time provider is active.
12126         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12127         NetTimeProvider, preserving binary compat.
12129 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12131         * tests/examples/controller/audio-example.c: (main):
12132         * tests/examples/launch/Makefile.am:
12133           convert comments again
12135 2005-12-12  Wim Taymans  <wim@fluendo.com>
12137         * libs/gst/base/gstpushsrc.c:
12138         Fix typo.
12140 2005-12-12  Wim Taymans  <wim@fluendo.com>
12142         * docs/libs/gstreamer-libs-sections.txt:
12143         Added new symbol to docs.
12145         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12146         (gst_base_src_init), (gst_base_src_set_format),
12147         (gst_base_src_default_query), (gst_base_src_query),
12148         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12149         (gst_base_src_perform_seek), (gst_base_src_send_event),
12150         (gst_base_src_default_event), (gst_base_src_event_handler),
12151         (gst_base_src_set_property), (gst_base_src_get_property),
12152         (gst_base_src_wait), (gst_base_src_do_sync),
12153         (gst_base_src_update_length), (gst_base_src_get_range),
12154         (gst_base_src_check_get_range), (gst_base_src_loop),
12155         (gst_base_src_default_negotiate), (gst_base_src_start),
12156         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12157         (gst_base_src_change_state):
12158         * libs/gst/base/gstbasesrc.h:
12159         Implement seeking to other formats than _BYTES.
12160         Implement more seeking methods correctly.
12161         Doc updates.
12162         Added query vmethod.
12163         Added do_seek vmethod to make life easier for subclasses
12164         when seeking.
12165         API addition: gst_base_src_set_format()
12167 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12169         * tests/examples/Makefile.am:
12170           added that too
12172 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12174         * configure.ac:
12175         * docs/random/ensonic/media-device-daemon.txt:
12176         * tests/examples/controller/.cvsignore:
12177         * tests/examples/controller/Makefile.am:
12178         * tests/examples/controller/audio-example.c: (main):
12179         * tests/examples/helloworld/.cvsignore:
12180         * tests/examples/helloworld/Makefile.am:
12181         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12182         * tests/examples/launch/.cvsignore:
12183         * tests/examples/launch/Makefile.am:
12184         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12185         * tests/examples/metadata/.cvsignore:
12186         * tests/examples/metadata/Makefile.am:
12187         * tests/examples/metadata/read-metadata.c: (message_loop),
12188         (make_pipeline), (print_tag), (main):
12189         * tests/examples/queue/.cvsignore:
12190         * tests/examples/queue/Makefile.am:
12191         * tests/examples/queue/queue.c: (event_loop), (main):
12192         * tests/examples/typefind/.cvsignore:
12193         * tests/examples/typefind/Makefile.am:
12194         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12195         (main):
12196         * tests/examples/xml/.cvsignore:
12197         * tests/examples/xml/Makefile.am:
12198         * tests/examples/xml/createxml.c: (object_saved), (main):
12199         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12200         * tests/old/examples/Makefile.am:
12201         * tests/old/examples/TODO:
12202         * tests/old/examples/controller/.cvsignore:
12203         * tests/old/examples/controller/Makefile.am:
12204         * tests/old/examples/controller/audio-example.c:
12205         * tests/old/examples/helloworld/.cvsignore:
12206         * tests/old/examples/helloworld/Makefile.am:
12207         * tests/old/examples/helloworld/helloworld.c:
12208         * tests/old/examples/launch/.cvsignore:
12209         * tests/old/examples/launch/Makefile.am:
12210         * tests/old/examples/launch/mp3parselaunch.c:
12211         * tests/old/examples/launch/mp3play:
12212         * tests/old/examples/manual/Makefile.am:
12213         * tests/old/examples/metadata/Makefile.am:
12214         * tests/old/examples/metadata/read-metadata.c:
12215         * tests/old/examples/queue/.cvsignore:
12216         * tests/old/examples/queue/Makefile.am:
12217         * tests/old/examples/queue/queue.c:
12218         * tests/old/examples/typefind/.cvsignore:
12219         * tests/old/examples/typefind/Makefile.am:
12220         * tests/old/examples/typefind/typefind.c:
12221         * tests/old/examples/xml/.cvsignore:
12222         * tests/old/examples/xml/Makefile.am:
12223         * tests/old/examples/xml/createxml.c:
12224         * tests/old/examples/xml/runxml.c:
12225           applied some simple fixing to some examples
12226           re-enabled the working examples
12228 2005-12-12  Wim Taymans  <wim@fluendo.com>
12230         * gst/gstsegment.c: (gst_segment_init),
12231         (gst_segment_set_last_stop), (gst_segment_set_seek),
12232         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12233         (gst_segment_to_running_time):
12234         Added more documentation.
12235         Make sure the last_pos value is updated properly.
12236         Make sure to_stream_time and to_running_time don't
12237         operate on wrong values.
12239         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12240         Update check.
12242 2005-12-12  Michael Smith  <msmith@fluendo.com>
12244         * plugins/elements/gsttypefindelement.c: (free_entry),
12245         (gst_type_find_element_chain):
12246           Now that we're not leaking factories, make sure we keep references
12247           to them while we need them.
12249 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12251         * tests/check/gst/struct_i386.h:
12252           ifdef out the XML structs
12254 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12256         * gst/gstvalue.c: (gst_value_transform_double_fraction):
12257           floor is not needed, F is always positive; this obviates the
12258           need for adding -lm when building without libxml
12260 2005-12-12  Wim Taymans  <wim@fluendo.com>
12262         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12263         Take current playback rate into account when reporting
12264         the position.
12266 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12268         * docs/manual/mime-world.fig:
12269           Let's try this again, this time with a file that is
12270           actually in XFig format.
12272 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12274         * docs/manual/mime-world.fig:
12275           Add audioconvert element to diagram so that it
12276           matches the text and the code (fixes #319526).
12278 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12280         * docs/pwg/building-chainfn.xml:
12281         * docs/pwg/building-pads.xml:
12282         * docs/pwg/building-state.xml:
12283         * docs/pwg/other-source.xml:
12284           Update state change stuff for 0.10 (fixes #322969).
12286 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12288         * docs/manual/advanced-dataaccess.xml:
12289         * docs/manual/appendix-checklist.xml:
12290         * docs/manual/appendix-programs.xml:
12291         * docs/manual/basics-pads.xml:
12292         * docs/manual/highlevel-components.xml:
12293         * docs/manual/manual.xml:
12294           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
12295           add converters in front of pipelines; remove curly
12296           brackets for threads stuff, they no longer exist; use
12297           GST_TYPE_FRACTION for framerates; update some pieces of
12298           code to 0.10, but there's plenty more to do.
12300         * docs/manual/appendix-porting.xml:
12301           Expand on asynchroneous state changes; s/0.9/0.10/;
12302           mention disappearance of gst_init_get_popt_table()
12303           (fixes #322916).
12305 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12307         * docs/faq/using.xml:
12308           Spider no longer exists, and neither does gst-launch-ext.
12309           Update examples to use decodebin and playbin and put
12310           converters in front of sinks (fixes #323726).
12312 2005-12-09  Michael Smith  <msmith@fluendo.com>
12314         * plugins/elements/gsttypefindelement.c: (find_peek),
12315         (gst_type_find_element_chain):
12316           Fix leaking element factories in typefinding.
12317           Fix problem where we forgot about a probable type on non-seekable
12318           files, and thus later mis-typefound it.
12320 2005-12-09  Michael Smith  <msmith@fluendo.com>
12322         * common/m4/gst-makecontext.m4:
12323         * common/m4/gst-mcsc.m4:
12324         * configure.ac:
12325         * win32/common/config.h:
12326         * win32/common/config.h.in:
12327           Remove makecontext stuff; not used in 0.10 and causes problems on
12328           HPUX according to bug #322441
12330 2005-12-07  Wim Taymans  <wim@fluendo.com>
12332         * tests/check/Makefile.am:
12333         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
12334         (main):
12335         * tests/check/libs/struct_i386.h:
12336         Added ABI check for libs
12338 2005-12-07  Wim Taymans  <wim@fluendo.com>
12340         * tests/check/Makefile.am:
12341         And add the struct_i386.h to dist.
12343 2005-12-07  Wim Taymans  <wim@fluendo.com>
12345         * tests/check/Makefile.am:
12346         * tests/check/gst/.cvsignore:
12347         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
12348         (main):
12349         * tests/check/gst/struct_i386.h:
12350         Added check for ABI compatibility.
12352 2005-12-07  Wim Taymans  <wim@fluendo.com>
12354         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12355         (gst_fake_src_get_times), (gst_fake_src_create):
12356         Fix broken sync option, fixes #323259
12358 2005-12-07  Wim Taymans  <wim@fluendo.com>
12360         * gst/gstbuffer.c:
12361         Small docs update.
12363         * gst/gstcaps.c: (gst_caps_is_equal):
12364         Don't assert on NULL <--> X. Fixes #323260
12366         * gst/gstminiobject.c: (gst_mini_object_replace):
12367         If we're doing atomic operations, we might just as well use
12368         the proper way to get an atomic pointer.
12370         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12371         Clean up debugging.
12373 2005-12-07  Michael Smith  <msmith@fluendo.com>
12375         * gst/parse/grammar.y:
12376           Remove handling of { } for threads.
12378 2005-12-06  David Schleef  <ds@schleef.org>
12380         * libs/gst/base/gstbasetransform.c: speling fix.
12382 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12384         * docs/libs/tmpl/gstdataprotocol.sgml:
12385         * docs/random/omega/testing/gstobject.c:
12386         * gst/gst.c:
12387         * gst/gstclock.c:
12388         * gst/gstelement.c:
12389         * gst/gstelementfactory.c:
12390         * gst/gsterror.c:
12391         * gst/gstevent.c:
12392         * gst/gstghostpad.c:
12393         * gst/gstinfo.c:
12394         * gst/gstpadtemplate.c:
12395         * gst/gstregistryxml.c:
12396         * gst/gsttaglist.c:
12397         * gst/gsttagsetter.c:
12398         * gst/gsttypefind.c:
12399         * gst/gstvalue.c:
12400         * libs/gst/base/gstbasesrc.c:
12401         * libs/gst/net/gstnetclientclock.c:
12402         * libs/gst/net/gstnettimeprovider.c:
12403         * plugins/elements/gstfakesrc.c:
12404         * plugins/elements/gstfdsrc.c:
12405         * plugins/elements/gstfilesrc.c:
12406         * plugins/elements/gstidentity.c:
12407         * plugins/elements/gstqueue.c:
12408         * plugins/elements/gsttypefindelement.c:
12409         * plugins/indexers/gstfileindex.c:
12410         * plugins/indexers/gstmemindex.c:
12411         * tests/check/gst/gsttag.c:
12412         * tests/old/examples/cutter/cutter.c:
12413         * tests/old/examples/mixer/mixer.c:
12414         * tests/old/examples/xml/runxml.c: (main):
12415         * tests/old/testsuite/caps/normalisation.c:
12416         * tests/old/testsuite/debug/global.c:
12417         * tests/old/testsuite/parse/parse1.c:
12418         * tools/gst-xmlinspect.c:
12419         * win32/common/dirent.c:
12420           expand tabs
12422 === release 0.10.0 ===
12424 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12426         * configure.ac:
12427           releasing 0.10.0, "Maroilles"
12429 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12431         submitted by: Funda Wang <fundawang@linux.net.cn>
12433         * po/LINGUAS:
12434         * po/zh_CN.po:
12435           added Chinese (Traditional) translation
12437 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12439         * docs/gst/gstreamer-sections.txt:
12440         * docs/libs/tmpl/gstdataprotocol.sgml:
12441         * docs/random/thomasvs/TODO:
12442         * gst/gstutils.c:
12443         * gst/gstutils.h:
12444           fix docs
12446 2005-12-05  Andy Wingo  <wingo@pobox.com>
12448         patch by: Wim Taymans <wim@fluendo.com>
12450         * libs/gst/base/gstbasetransform.c
12451         (gst_base_transform_prepare_output_buf)
12452         (gst_base_transform_buffer_alloc):
12453         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
12454         alloc_buffer_and_set_caps.
12456         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
12457         set_caps on the source pad.
12458         (gst_pad_alloc_buffer_and_set_caps): New function, does what
12459         alloc_buffer used to do. Fixes #322874.
12461         * docs/gst/gstreamer-sections.txt: 
12462         * docs/design/part-negotiation.txt: 
12463         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
12464         changes.
12466 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12468         patch by: Sebastien Moutte
12470         * win32/MANIFEST:
12471         * win32/common/config.h.in:
12472         * win32/vs6/libgstcontroller.dsp:
12473           win32 build fixes
12475 2005-12-05  Wim Taymans  <wim@fluendo.com>
12477         * gst/gstcaps.c: (gst_caps_is_equal):
12478         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12479         (gst_fake_src_create):
12480         Back out previous code changes, leave doc updates, file bugs 
12481         instead. 
12483 2005-12-05  Wim Taymans  <wim@fluendo.com>
12485         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12486         (gst_fake_src_get_times), (gst_fake_src_create):
12487         * plugins/elements/gstfakesrc.h:
12488         Fix broken sync code.
12490 2005-12-05  Wim Taymans  <wim@fluendo.com>
12492         * gst/gstcaps.c: (gst_caps_is_equal):
12493         Comparing NULL against !NULL yields different caps, not a
12494         failure.
12496 2005-12-05  Wim Taymans  <wim@fluendo.com>
12498         * gst/gstpipeline.c:
12499         Fix small typo in docs.
12501 2005-12-05  Andy Wingo  <wingo@pobox.com>
12503         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
12505         * gst/gst.c (init_post): remove hard-coded 0.9 location for
12506         registries/plugins with a MAJORMINOR one.
12507         (plugin_desc): Rename library from gstcoreleements to
12508         staticelements. Fixes #323222.
12510 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
12512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12513           Change debug category to 'collectpads' from 'collect_pads'
12514           (fixes #323250).
12516 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12518         patch by: Sebastien Moutte
12520         * libs/gst/controller/gstinterpolation.c:
12521           use convert function for uint64/double
12522         * win32/vs6/libgstcontroller.dsp:
12523           link to GLib
12525 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12527         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12528         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12529         * gst/gstutils.h:
12530         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12531           add tests that seem to show that the guint64/gdouble conversions
12532           are correct.
12534 2005-12-02  Wim Taymans  <wim@fluendo.com>
12536         * gst/gstregistry.c: (gst_registry_add_path):
12537         * gst/gstregistry.h:
12538         * gst/gstregistryxml.c:
12539         Fix docs again.
12541 2005-12-02  Wim Taymans  <wim@fluendo.com>
12543         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12544         (gst_util_uint64_scale_int):
12545         Small cleanup.
12547         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12548         Add debug log line.
12550         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12551         Add FIXME.
12553 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12555         * win32/MANIFEST:
12556         * win32/common/config.h:
12557         * win32/vs6/gstreamer.dsw:
12558         * win32/vs6/libgstcoreelements.dsp:
12559         * win32/vs6/libgstelements.dsp:
12560           renamed core elements plugin
12562 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12564         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12565         (get_candidates):
12566           do piece-wise major/minor comparison so 0.9 < 0.10
12567           also allow .exe extensions for tools
12569 2005-12-02  Michael Smith  <msmith@fluendo.com>
12571         * gst/gst.c:
12572           Escape a % to make gtkdoc happier; bug 322958.
12574 === release 0.9.7 ===
12576 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12578         * configure.ac:
12579           releasing 0.9.7, "My Dog Has No Nose"
12581 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12583         * common/gst-xmlinspect.py:
12584         * configure.ac:
12585         * docs/libs/tmpl/gstdataprotocol.sgml:
12586         * docs/random/release:
12587         * po/af.po:
12588         * po/az.po:
12589         * po/bg.po:
12590         * po/ca.po:
12591         * po/cs.po:
12592         * po/de.po:
12593         * po/en_GB.po:
12594         * po/fr.po:
12595         * po/it.po:
12596         * po/nb.po:
12597         * po/nl.po:
12598         * po/ru.po:
12599         * po/sq.po:
12600         * po/sr.po:
12601         * po/sv.po:
12602         * po/tr.po:
12603         * po/uk.po:
12604         * po/vi.po:
12605         * win32/common/config.h:
12606         * win32/common/config.h.in:
12607         * win32/vs6/gst_inspect.dsp:
12608         * win32/vs6/gst_launch.dsp:
12609         * win32/vs6/libgstbase.dsp:
12610         * win32/vs6/libgstelements.dsp:
12611         * win32/vs6/libgstreamer.dsp:
12612         * win32/vs7/GStreamer.vcproj:
12613         * win32/vs7/gst-inspect.vcproj:
12614         * win32/vs7/gst-launch.vcproj:
12615         * win32/vs7/libgstbase.vcproj:
12616           bump GST_MAJORMINOR to 0.10
12617           reset libtool version
12619 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12621         * po/LINGUAS:
12622         * po/bg.po:
12623           Added Bulgarian translation by (Alexander Shopov)
12625 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12627         * tests/check/gst/gstplugin.c:
12628           fix test
12630 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12632         * common/gst-xmlinspect.py:
12633         * common/gtk-doc-plugins.mak:
12634         * configure.ac:
12635         * docs/Makefile.am:
12636         * docs/gst/Makefile.am:
12637         * docs/gst/gstreamer-docs.sgml:
12638         * docs/gst/gstreamer-sections.txt:
12639         * docs/gst/gstreamer.types:
12640         * docs/gst/gstreamer.types.in:
12641         * docs/plugins/Makefile.am:
12642         * docs/plugins/gstreamer-plugins-docs.sgml:
12643         * docs/plugins/gstreamer-plugins-sections.txt:
12644         * docs/plugins/gstreamer-plugins.types:
12645         * docs/plugins/inspect.stamp:
12646         * docs/plugins/inspect/plugin-coreelements.xml:
12647         * docs/plugins/inspect/plugin-coreindexers.xml:
12648         * docs/plugins/scanobj-build.stamp:
12649         * gstreamer.spec.in:
12650         * plugins/elements/Makefile.am:
12651         * plugins/elements/gstelements.c:
12652         * plugins/elements/gstfakesink.c:
12653         * plugins/elements/gstfakesrc.c:
12654         * plugins/elements/gstfilesink.c:
12655         * plugins/elements/gstfilesrc.c:
12656         * plugins/elements/gstqueue.c:
12657         * plugins/indexers/Makefile.am:
12658         * plugins/indexers/gstindexers.c:
12659           document core plugins in a separate document just like all the
12660           others
12661           rename these plugins to something starting with core
12663 2005-12-01  Andy Wingo  <wingo@pobox.com>
12665         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
12666         padding here before, but it missed the commit.
12668 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12670         * libs/gst/controller/gstinterpolation.c:
12671           whitespace prices have crashed, we should feel free to use some now
12672           use gst_guint64_to_gdouble
12674 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12676         * libs/gst/controller/gstcontroller.c:
12677         * libs/gst/controller/gsthelper.c:
12678         * libs/gst/controller/gstinterpolation.c:
12679         * libs/gst/controller/lib.c:
12680           wrap config.h include
12682 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12684         * docs/gst/gstreamer-sections.txt:
12685           update docs
12687 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12689         * plugins/elements/gstelements.c:
12690         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
12691         (gst_fd_sink__class_init), (gst_fd_sink__init),
12692         (gst_fd_sink__chain), (gst_fd_sink__set_property),
12693         (gst_fd_sink__get_property):
12694         * plugins/elements/gstfdsink.h:
12695         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
12696         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
12697         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
12698         (gst_fd_src_unlock), (gst_fd_src_set_property),
12699         (gst_fd_src_get_property), (gst_fd_src_create),
12700         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
12701         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
12702         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
12703         (gst_fd_src_uri_handler_init):
12704         * plugins/elements/gstfdsrc.h:
12705         * plugins/elements/gstqueue.c: (gst_queue_get_type):
12706           more anal cleanup
12708 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12710         * docs/gst/Makefile.am:
12711         * docs/gst/gstreamer.types.in:
12712         * gst/Makefile.am:
12713           fix the docs build
12715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12717         * configure.ac:
12718         * gst/Makefile.am:
12719         * gst/gst.c:
12720         * gst/gstplugin.h:
12721         * gst/gstregistry.h:
12722         * tests/benchmarks/complexity.c:
12723         * tests/benchmarks/mass-elements.c:
12724         * tests/check/Makefile.am:
12725         * tools/Makefile.am:
12726         * tools/gst-inspect.c:
12727         * tools/gst-xmlinspect.c:
12728           various fixes to make
12729           --disable-nls --disable-registry --disable-loadsave
12730           --disable-parse --disable-gst-debug
12731           work and get the core .so down to 360444 bytes after stripping
12733 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12735         * Makefile.am:
12736         * configure.ac:
12737           descend into tests
12738         * docs/random/thomasvs/TODO:
12739         * tests/Makefile.am:
12740         * tests/README:
12741           add a README
12743 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12745         * win32/GStreamer.vcproj:
12746         * win32/MANIFEST:
12747         * win32/Makefile:
12748         * win32/Makefile.inspect:
12749         * win32/Makefile.launch:
12750         * win32/Makefile.register:
12751         * win32/README.txt:
12752         * win32/gst-inspect.vcproj:
12753         * win32/gst-launch.vcproj:
12754         * win32/gst-register.vcproj:
12755         * win32/gstelements.vcproj:
12756         * win32/gstgetbits.def:
12757         * win32/gstgetbits.vcproj:
12758         * win32/gstreamer-dbg.def:
12759         * win32/gstreamer.def:
12760         * win32/libgstbase.def:
12761         * win32/libgstbase.vcproj:
12762         * win32/link_oldruntime.c:
12763         * win32/mman.c:
12764         * win32/mman.h:
12765         * win32/mman.inl:
12766         * win32/msvc71.sln:
12767           move even more stuff, win32/ is nice and clean now
12769 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12771         * libs/gst/control/.cvsignore:
12772         * win32/MANIFEST:
12773         * win32/config.h:
12774         * win32/dirent.c:
12775         * win32/dirent.h:
12776         * win32/gstbytestream.def:
12777         * win32/gstbytestream.vcproj:
12778         * win32/gstconfig.h:
12779         * win32/gstenumtypes.c:
12780         * win32/gstenumtypes.h:
12781         * win32/gstoptimalscheduler.vcproj:
12782         * win32/gstversion.h:
12783         * win32/gtchar.h:
12784         * win32/testsuite/bins.vcproj:
12785         * win32/testsuite/bytestream.vcproj:
12786         * win32/testsuite/caps.vcproj:
12787         * win32/testsuite/cleanup.vcproj:
12788         * win32/testsuite/clock.vcproj:
12789         * win32/testsuite/debug.vcproj:
12790         * win32/testsuite/dlopen.vcproj:
12791         * win32/testsuite/dynparams.vcproj:
12792         * win32/testsuite/elements.vcproj:
12793         * win32/testsuite/ghostpads.vcproj:
12794         * win32/testsuite/indexers.vcproj:
12795         * win32/testsuite/negotiation.vcproj:
12796         * win32/testsuite/parse.vcproj:
12797         * win32/testsuite/plugin.vcproj:
12798         * win32/testsuite/refcounting.vcproj:
12799         * win32/testsuite/schedulers.vcproj:
12800         * win32/testsuite/states.vcproj:
12801         * win32/testsuite/tags.vcproj:
12802         * win32/testsuite/threads.vcproj:
12803           remove old win32 stuff that isn't maintained and should be
12804           reorganized
12806 2005-11-30  Andy Wingo  <wingo@pobox.com>
12808         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
12809         loading the gst.interfaces python module bork.
12811         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
12812         available since GLib 2.2. Fixes #318031.
12814 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12816         * Makefile.am:
12817         * check/.cvsignore:
12818         * check/Makefile.am:
12819         * check/elements/.cvsignore:
12820         * check/elements/fakesrc.c:
12821         * check/elements/fdsrc.c:
12822         * check/elements/identity.c:
12823         * check/generic/.cvsignore:
12824         * check/generic/states.c:
12825         * check/gst-libs/.cvsignore:
12826         * check/gst-libs/controller.c:
12827         * check/gst-libs/gdp.c:
12828         * check/gst/.cvsignore:
12829         * check/gst/capslist.h:
12830         * check/gst/gst.c:
12831         * check/gst/gstbin.c:
12832         * check/gst/gstbuffer.c:
12833         * check/gst/gstbus.c:
12834         * check/gst/gstcaps.c:
12835         * check/gst/gstelement.c:
12836         * check/gst/gstevent.c:
12837         * check/gst/gstghostpad.c:
12838         * check/gst/gstiterator.c:
12839         * check/gst/gstmessage.c:
12840         * check/gst/gstminiobject.c:
12841         * check/gst/gstobject.c:
12842         * check/gst/gstpad.c:
12843         * check/gst/gstpipeline.c:
12844         * check/gst/gstplugin.c:
12845         * check/gst/gstsegment.c:
12846         * check/gst/gststructure.c:
12847         * check/gst/gstsystemclock.c:
12848         * check/gst/gsttag.c:
12849         * check/gst/gstutils.c:
12850         * check/gst/gstvalue.c:
12851         * check/net/.cvsignore:
12852         * check/net/gstnetclientclock.c:
12853         * check/net/gstnettimeprovider.c:
12854         * check/pipelines/.cvsignore:
12855         * check/pipelines/cleanup.c:
12856         * check/pipelines/simple_launch_lines.c:
12857         * check/pipelines/stress.c:
12858         * check/states/.cvsignore:
12859         * check/states/sinks.c:
12860         * configure.ac:
12861         * examples/Makefile.am:
12862         * examples/appreader/.cvsignore:
12863         * examples/appreader/Makefile.am:
12864         * examples/appreader/appreader.c:
12865         * examples/controller/.cvsignore:
12866         * examples/controller/Makefile.am:
12867         * examples/controller/audio-example.c:
12868         * examples/cutter/.cvsignore:
12869         * examples/cutter/Makefile.am:
12870         * examples/cutter/cutter.c:
12871         * examples/cutter/cutter.h:
12872         * examples/events/Makefile.am:
12873         * examples/events/seek.c:
12874         * examples/helloworld/.cvsignore:
12875         * examples/helloworld/Makefile.am:
12876         * examples/helloworld/helloworld.c:
12877         * examples/helloworld2/.cvsignore:
12878         * examples/helloworld2/Makefile.am:
12879         * examples/helloworld2/helloworld2.c:
12880         * examples/launch/.cvsignore:
12881         * examples/launch/Makefile.am:
12882         * examples/launch/mp3parselaunch.c:
12883         * examples/launch/mp3play:
12884         * examples/manual/.cvsignore:
12885         * examples/manual/Makefile.am:
12886         * examples/manual/extract.pl:
12887         * examples/metadata/Makefile.am:
12888         * examples/metadata/read-metadata.c:
12889         * examples/mixer/.cvsignore:
12890         * examples/mixer/Makefile.am:
12891         * examples/mixer/mixer.c:
12892         * examples/mixer/mixer.h:
12893         * examples/pingpong/.cvsignore:
12894         * examples/pingpong/Makefile.am:
12895         * examples/pingpong/pingpong.c:
12896         * examples/plugins/.cvsignore:
12897         * examples/plugins/Makefile.am:
12898         * examples/plugins/example.c:
12899         * examples/plugins/example.h:
12900         * examples/pwg/.cvsignore:
12901         * examples/pwg/Makefile.am:
12902         * examples/pwg/extract.pl:
12903         * examples/queue/.cvsignore:
12904         * examples/queue/Makefile.am:
12905         * examples/queue/queue.c:
12906         * examples/queue2/.cvsignore:
12907         * examples/queue2/Makefile.am:
12908         * examples/queue2/queue2.c:
12909         * examples/queue3/.cvsignore:
12910         * examples/queue3/Makefile.am:
12911         * examples/queue3/queue3.c:
12912         * examples/queue4/.cvsignore:
12913         * examples/queue4/Makefile.am:
12914         * examples/queue4/queue4.c:
12915         * examples/retag/.cvsignore:
12916         * examples/retag/Makefile.am:
12917         * examples/retag/retag.c:
12918         * examples/retag/transcode.c:
12919         * examples/thread/.cvsignore:
12920         * examples/thread/Makefile.am:
12921         * examples/thread/thread.c:
12922         * examples/typefind/.cvsignore:
12923         * examples/typefind/Makefile.am:
12924         * examples/typefind/typefind.c:
12925         * examples/xml/.cvsignore:
12926         * examples/xml/Makefile.am:
12927         * examples/xml/createxml.c:
12928         * examples/xml/runxml.c:
12929         * tests/Makefile.am:
12930         * tests/check/Makefile.am:
12931         * testsuite/.cvsignore:
12932         * testsuite/Makefile.am:
12933         * testsuite/Rules:
12934         * testsuite/caps/.cvsignore:
12935         * testsuite/caps/Makefile.am:
12936         * testsuite/caps/app_fixate.c:
12937         * testsuite/caps/audioscale.c:
12938         * testsuite/caps/caps.c:
12939         * testsuite/caps/caps.h:
12940         * testsuite/caps/caps_strings:
12941         * testsuite/caps/compatibility.c:
12942         * testsuite/caps/deserialize.c:
12943         * testsuite/caps/enumcaps.c:
12944         * testsuite/caps/eratosthenes.c:
12945         * testsuite/caps/filtercaps.c:
12946         * testsuite/caps/fixed.c:
12947         * testsuite/caps/fraction-convert.c:
12948         * testsuite/caps/fraction-multiply-and-zero.c:
12949         * testsuite/caps/intersect2.c:
12950         * testsuite/caps/intersection.c:
12951         * testsuite/caps/normalisation.c:
12952         * testsuite/caps/random.c:
12953         * testsuite/caps/renegotiate.c:
12954         * testsuite/caps/sets.c:
12955         * testsuite/caps/simplify.c:
12956         * testsuite/caps/string-conversions.c:
12957         * testsuite/caps/structure.c:
12958         * testsuite/caps/subtract.c:
12959         * testsuite/caps/union.c:
12960         * testsuite/debug/.cvsignore:
12961         * testsuite/debug/Makefile.am:
12962         * testsuite/debug/category.c:
12963         * testsuite/debug/commandline.c:
12964         * testsuite/debug/global.c:
12965         * testsuite/debug/output.c:
12966         * testsuite/debug/printf_extension.c:
12967         * testsuite/dlopen/.cvsignore:
12968         * testsuite/dlopen/Makefile.am:
12969         * testsuite/dlopen/dlopen_gst.c:
12970         * testsuite/dlopen/loadgst.c:
12971         * testsuite/elements/.cvsignore:
12972         * testsuite/elements/Makefile.am:
12973         * testsuite/elements/gst-inspect-check.in:
12974         * testsuite/elements/struct_i386.h:
12975         * testsuite/elements/struct_size.c:
12976         * testsuite/indexers/.cvsignore:
12977         * testsuite/indexers/Makefile.am:
12978         * testsuite/indexers/cache1.c:
12979         * testsuite/indexers/indexdump.c:
12980         * testsuite/parse/.cvsignore:
12981         * testsuite/parse/Makefile.am:
12982         * testsuite/parse/parse1.c:
12983         * testsuite/parse/parse2.c:
12984         * testsuite/plugin/.cvsignore:
12985         * testsuite/plugin/Makefile.am:
12986         * testsuite/plugin/README:
12987         * testsuite/plugin/dynamic.c:
12988         * testsuite/plugin/linked.c:
12989         * testsuite/plugin/loading.c:
12990         * testsuite/plugin/registry.c:
12991         * testsuite/plugin/static.c:
12992         * testsuite/plugin/static2.c:
12993         * testsuite/plugin/testplugin.c:
12994         * testsuite/plugin/testplugin2.c:
12995         * testsuite/plugin/testplugin2_s.c:
12996         * testsuite/plugin/testplugin_s.c:
12997         * testsuite/refcounting/.cvsignore:
12998         * testsuite/refcounting/Makefile.am:
12999         * testsuite/refcounting/bin.c:
13000         * testsuite/refcounting/element.c:
13001         * testsuite/refcounting/element_pad.c:
13002         * testsuite/refcounting/mainloop.c:
13003         * testsuite/refcounting/mem.c:
13004         * testsuite/refcounting/mem.h:
13005         * testsuite/refcounting/object.c:
13006         * testsuite/refcounting/pad.c:
13007         * testsuite/refcounting/sched.c:
13008         * testsuite/refcounting/thread.c:
13009         * testsuite/states/.cvsignore:
13010         * testsuite/states/Makefile.am:
13011         * testsuite/states/bin.c:
13012         * testsuite/states/locked.c:
13013         * testsuite/states/parent.c:
13014         * testsuite/threads/.cvsignore:
13015         * testsuite/threads/159566.c:
13016         * testsuite/threads/159852.c:
13017         * testsuite/threads/Makefile.am:
13018         * testsuite/threads/queue.c:
13019         * testsuite/threads/signals.c:
13020         * testsuite/threads/staticrec.c:
13021         * testsuite/threads/thread.c:
13022         * testsuite/threads/threadb.c:
13023         * testsuite/threads/threadc.c:
13024         * testsuite/threads/threadd.c:
13025         * testsuite/threads/threade.c:
13026         * testsuite/threads/threadf.c:
13027         * testsuite/threads/threadg.c:
13028         * testsuite/threads/threadh.c:
13029         * testsuite/threads/threadi.c:
13030           move all of these under tests
13032 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13034         * configure.ac:
13035         * tests/Makefile.am:
13036           fix distcheck
13038 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13040         * docs/gst/gstreamer-sections.txt:
13041         * tests/sched/.cvsignore:
13042         * tests/sched/Makefile.am:
13043         * tests/sched/cases/(fs-fs).xml:
13044         * tests/sched/cases/(fs-i-fs).xml:
13045         * tests/sched/cases/(fs-i-i-fs).xml:
13046         * tests/sched/cases/(fs-i-q[i-fs]).xml:
13047         * tests/sched/dynamic-pipeline.c:
13048         * tests/sched/interrupt1.c:
13049         * tests/sched/interrupt2.c:
13050         * tests/sched/interrupt3.c:
13051         * tests/sched/runtestcases:
13052         * tests/sched/runxml.c:
13053         * tests/sched/sched-stress.c:
13054         * tests/sched/sort.c:
13055         * tests/sched/testcases:
13056         * tests/sched/testcases1.tc:
13057         * tests/seeking/.cvsignore:
13058         * tests/seeking/Makefile.am:
13059         * tests/seeking/seeking1.c:
13060         * tests/threadstate/.cvsignore:
13061         * tests/threadstate/Makefile.am:
13062         * tests/threadstate/test1.c:
13063         * tests/threadstate/test2.c:
13064         * tests/threadstate/threadstate1.c:
13065         * tests/threadstate/threadstate2.c:
13066         * tests/threadstate/threadstate3.c:
13067         * tests/threadstate/threadstate4.c:
13068         * tests/threadstate/threadstate5.c:
13069           remove obsolete tests
13070         * configure.ac:
13071         * tests/bench-complexity.scm:
13072         * tests/bench-mass_elements.scm:
13073         * tests/complexity.c:
13074         * tests/complexity.gnuplot:
13075         * tests/instantiate/.cvsignore:
13076         * tests/instantiate/Makefile.am:
13077         * tests/instantiate/caps.c:
13078         * tests/mass_elements.c:
13079         * tests/network-clock-utils.scm:
13080         * tests/network-clock.scm:
13081         * tests/plot-data:
13082         First pass at cleaning up tests/ dir before moving the rest
13083         Combined with CVS surgery
13085 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13087         * po/POTFILES.in:
13088           queue has moved, update
13090 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13092         * docs/gst/gstreamer-sections.txt:
13093           remove double entries from the docs
13094         * gst/gst_private.h:
13095         * gst/gstinfo.c: (_gst_debug_init):
13096           remove the THREAD debug category
13097         * gst/Makefile.am:
13098         * gst/gstqueue.c:
13099         * gst/gstqueue.h:
13100         * docs/gst/gstreamer.types:
13101         * plugins/elements/gstqueue.c: (gst_queue_get_type),
13102         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13103           completely move queue and fix up debugging categories
13105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13107         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13108           make initialization portable, using LL is not
13110 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13112         * win32/common/gstconfig.h:
13113           add large padding
13115 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13117         * win32/common/libgstreamer.def:
13118           rename symbols; sort base section
13120 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13122         * gst/gstclock.c: (do_linear_regression):
13123           remove crack non-portable handrolled DEBUG macro
13125 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13127         * docs/random/release:
13128           update notes
13129         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13130         (gst_object_flags_get_type), (register_gst_bin_flags),
13131         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13132         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13133         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13134         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13135         (gst_caps_flags_get_type), (register_gst_clock_return),
13136         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13137         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13138         (gst_clock_flags_get_type), (register_gst_state),
13139         (gst_state_get_type), (register_gst_state_change_return),
13140         (gst_state_change_return_get_type), (register_gst_state_change),
13141         (gst_state_change_get_type), (register_gst_element_flags),
13142         (gst_element_flags_get_type), (register_gst_core_error),
13143         (gst_core_error_get_type), (register_gst_library_error),
13144         (gst_library_error_get_type), (register_gst_resource_error),
13145         (gst_resource_error_get_type), (register_gst_stream_error),
13146         (gst_stream_error_get_type), (register_gst_event_type_flags),
13147         (gst_event_type_flags_get_type), (register_gst_event_type),
13148         (gst_event_type_get_type), (register_gst_seek_type),
13149         (gst_seek_type_get_type), (register_gst_seek_flags),
13150         (gst_seek_flags_get_type), (register_gst_format),
13151         (gst_format_get_type), (register_gst_index_certainty),
13152         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13153         (gst_index_entry_type_get_type),
13154         (register_gst_index_lookup_method),
13155         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13156         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13157         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13158         (gst_index_flags_get_type), (register_gst_debug_level),
13159         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13160         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13161         (gst_iterator_result_get_type), (register_gst_iterator_item),
13162         (gst_iterator_item_get_type), (register_gst_message_type),
13163         (gst_message_type_get_type), (register_gst_mini_object_flags),
13164         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13165         (gst_pad_link_return_get_type), (register_gst_flow_return),
13166         (gst_flow_return_get_type), (register_gst_activate_mode),
13167         (gst_activate_mode_get_type), (register_gst_pad_direction),
13168         (gst_pad_direction_get_type), (register_gst_pad_flags),
13169         (gst_pad_flags_get_type), (register_gst_pad_presence),
13170         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13171         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13172         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13173         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13174         (gst_plugin_flags_get_type), (register_gst_rank),
13175         (gst_rank_get_type), (register_gst_query_type),
13176         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13177         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13178         (gst_tag_flag_get_type), (register_gst_task_state),
13179         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13180         (gst_alloc_trace_flags_get_type),
13181         (register_gst_type_find_probability),
13182         (gst_type_find_probability_get_type), (register_gst_uri_type),
13183         (gst_uri_type_get_type), (register_gst_parse_error),
13184         (gst_parse_error_get_type):
13185         * win32/common/gstenumtypes.h:
13186         * win32/common/gstversion.h:
13187           update visual studio generated files
13189 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13191         * win32/vs6/libgstbase.dsp:
13192         * win32/vs6/libgstelements.dsp:
13193           update project files for new locations
13195 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13197         * Makefile.am:
13198           remove some files
13199         * README:
13200           reinstate and update
13201         * DEVEL:
13202         * REQUIREMENTS:
13203           removed
13204         * LICENSE:
13205         * docs/random/LICENSE:
13206           moved to random
13208 2005-11-30  Edward Hervey  <edward@fluendo.com>
13210         * gst/gsttypefind.c: (gst_type_find_register):
13211         * gst/gsttypefind.h:
13212         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13213         (gst_type_find_factory_dispose):
13214         * gst/gsttypefindfactory.h:
13215         Fix memory leak in GstTypeFindFactory.
13217 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13219         * gst/gst.c:
13220         * plugins/elements/Makefile.am:
13221         * plugins/elements/gstelements.c:
13222         * plugins/elements/gstqueue.c:
13223           move queue from core to the elements plugin
13225 2005-11-29  Andy Wingo  <wingo@pobox.com>
13227         * libs/gst/base/gstbasetransform.h: 
13228         * libs/gst/base/gstbasesrc.h: 
13229         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13231         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13232         of pointers by which to pad very extensible base classes (like the
13233         ones in libs/gst/base).
13235 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13237         * docs/gst/gstreamer-docs.sgml:
13238         * docs/gst/gstreamer-sections.txt:
13239         * docs/libs/gstreamer-libs-docs.sgml:
13240         * docs/libs/gstreamer-libs-sections.txt:
13241           moving documentation from core to lib
13243 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13245         * check/Makefile.am:
13246         * configure.ac:
13247         * docs/gst/Makefile.am:
13248         * gst/Makefile.am:
13249         * gst/base/.cvsignore:
13250         * gst/base/Makefile.am:
13251         * gst/base/README:
13252         * gst/base/gstadapter.c:
13253         * gst/base/gstadapter.h:
13254         * gst/base/gstbasesink.c:
13255         * gst/base/gstbasesink.h:
13256         * gst/base/gstbasesrc.c:
13257         * gst/base/gstbasesrc.h:
13258         * gst/base/gstbasetransform.c:
13259         * gst/base/gstbasetransform.h:
13260         * gst/base/gstcollectpads.c:
13261         * gst/base/gstcollectpads.h:
13262         * gst/base/gstpushsrc.c:
13263         * gst/base/gstpushsrc.h:
13264         * gst/base/gsttypefindhelper.c:
13265         * gst/base/gsttypefindhelper.h:
13266         * gst/check/Makefile.am:
13267         * gst/check/gstcheck.c:
13268         * gst/check/gstcheck.h:
13269         * gst/net/Makefile.am:
13270         * gst/net/gstnet.h:
13271         * gst/net/gstnetclientclock.c:
13272         * gst/net/gstnetclientclock.h:
13273         * gst/net/gstnettimepacket.c:
13274         * gst/net/gstnettimepacket.h:
13275         * gst/net/gstnettimeprovider.c:
13276         * gst/net/gstnettimeprovider.h:
13277         * libs/gst/Makefile.am:
13278         * libs/gst/base/Makefile.am:
13279         * libs/gst/base/gstbasetransform.c:
13280         * libs/gst/check/Makefile.am:
13281         * plugins/elements/Makefile.am:
13282         * po/POTFILES.in:
13283           CVS surgery + support to move base, check, and net out of gst
13284           and into libs/gst
13286 2005-11-29  Andy Wingo  <wingo@pobox.com>
13288         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
13290         * gst/gststructure.h (struct _GstStructure): Only one pointer of
13291         padding.
13293         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
13295         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
13297         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
13299         * gst/gstobject.h: (struct _GstObject): Only one pointer of
13300         padding; reduces object size by about 30%. We don't expect
13301         anything else to go into gstobject.
13303         * gst/gstminiobject.h (struct _GstMiniObject)
13304         (struct _GstMiniObjectClass): Only one pointer of padding; the
13305         payload is only a pointer and two ints anyway. For the class there
13306         are only two methods as well.
13307         
13308         * gst/gstelement.h (struct _GstElementClass): Removed
13309         the state_changed signal callback, it is not used.
13311 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13313         * docs/gst/gstreamer.types:
13314           fix includes, though they are a little dinky
13316 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13318         * check/Makefile.am:
13319           look in the right place for elements, a lot more chance of
13320           success
13321         * gst/Makefile.am:
13322           remove indexers and elements subdirs
13323         * plugins/Makefile.am:
13324           make indexers conditional
13326 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13328         * Makefile.am:
13329         * configure.ac:
13330         * plugins/elements/Makefile.am:
13331         * plugins/elements/gstcapsfilter.c:
13332         * plugins/elements/gstfilesink.c:
13333         * plugins/elements/gstfilesrc.c:
13334         * plugins/elements/gstidentity.c:
13335         * plugins/indexers/Makefile.am:
13336           do CVS surgery and related build fixery to move elements
13337           and indexers in a new gstreamer/plugins directory, out of the
13338           gst/ directory
13340 2005-11-29  Andy Wingo  <wingo@pobox.com>
13342         * check/Makefile.am:
13343         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13344         * pkgconfig/gstreamer-net.pc.in:
13345         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
13346         #322257.
13348 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13350         * tools/Makefile.am:
13351         * tools/gst-complete.1.in:
13352         * tools/gst-complete.c:
13353         * tools/gst-compprep.1.in:
13354         * tools/gst-compprep.c:
13355           removing -compprep and -complete
13357 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13359         * gst/gstevent.c: (gst_event_new_new_segment),
13360         (gst_event_parse_new_segment):
13361         * gst/gstevent.h:
13362           fix #320529 - clean up new_segment API and structure.
13363           Let's hope everyone was using the methods, and not the structure.
13365 2005-11-29  Edward Hervey  <edward@fluendo.com>
13367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13368         (gst_base_sink_event), (gst_base_sink_do_sync),
13369         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13370         Properly handle non GST_FORMAT_TIME segment
13371         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13372         Properly handle non GST_FORMAT_TIME segment
13373         * gst/gstsegment.c:
13374         This function is valid if the accumulator is 0 and the format
13375         is different from the requested format.
13376         
13377 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13379         * docs/gst/gstreamer-sections.txt:
13380         Add gst_query_new_seeking and gst_query_parse_seeking to the
13381         docs.
13383 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13385         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13386           Treat a pad alloc with new caps the same as if we were not
13387           negotiated, in order to allow a changing upstream output
13388           to produce a new format of data.
13390 2005-11-29  Edward Hervey  <edward@fluendo.com>
13392         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13393         (gst_base_transform_event), (gst_base_transform_eventfunc):
13394         The event virtual method is now properly implemented, with a default
13395         handler
13396         Sub classes should call the parent_class event method. They should
13397         return FALSE if they had a problem handling the given event, or don't
13398         want GstBaseTransform to send that even downstream
13399         * gst/elements/gstidentity.c: (gst_identity_class_init),
13400         (gst_identity_init), (gst_identity_event),
13401         (gst_identity_transform_ip), (gst_identity_set_property),
13402         (gst_identity_get_property):
13403         * gst/elements/gstidentity.h:
13404         Added the single-segment boolean property.
13405         If set to TRUE, it will output a single segment of data, starting from
13406         0, will eat up all incoming newsegment, and modify the timestamp of the
13407         buffers accordingly
13409 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
13411         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
13412           Don't ref NULL target pad (#322751). Improve docs.
13414 2005-11-29  Michael Smith  <msmith@fluendo.com>
13416         * gst/gstregistryxml.c: (load_plugin):
13417           Don't crash if we failed to load a feature from a plugin. 
13419 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13421         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13422         (GST_START_TEST):
13423           use more check API and less GLib API
13425 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13427         * Makefile.am:
13428           don't run checks if we don't have check
13429         * common/check.mak:
13430           remove the registry when running make torture
13431         * docs/gst/gstreamer-sections.txt:
13432           remove second multiply
13433         * gst/gstqueue.c: (gst_queue_loop):
13434           fix a compile warning when disabling debug
13436 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13438         * gst/gstinfo.h:
13439         Hey! Let's print the pad name if the pointer != NULL instead
13440         of when it == NULL :-)
13442 2005-11-28  Wim Taymans  <wim@fluendo.com>
13444         * check/gst/gstutils.c: (GST_START_TEST):
13445         Updated check, add some scaling accuracy checking code.
13447         * gst/gstutils.c: (gst_util_div128_64),
13448         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
13449         (gst_util_uint64_scale_int):
13450         Fix 6 times faster division code. Optimize for common 
13451         1/1 and less common X/1 cases.
13453 2005-11-28  Wim Taymans  <wim@fluendo.com>
13455         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13456         More checks.
13458         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
13459         (do_linear_regression), (gst_clock_add_observation):
13460         Cleanups.
13461         Release lock when the clock cannot be slaved.
13462         Catch the case where the regression returned an invalid denominator.
13464         * gst/gstutils.c: (gst_util_div128_64_iterate),
13465         (gst_util_div128_64), (gst_util_uint64_scale_int64),
13466         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13467         Add protentially more performant non-iterative 128/64 divide function
13468         that unfortunatly does not work yet.
13469         Shortcut the trivial 0/X = 0 case.
13470         Remove the warnings on overflow.
13472 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13474         * gst/gstplugin.c: (gst_plugin_register_func):
13475           everything causing a plugin not to load should be at least a WARNING
13477 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
13479         * docs/random/ensonic/dparams.txt:
13480           some TODOs for the next dev cycle
13481         * libs/gst/controller/gstcontroller.c:
13482         (gst_controlled_property_set_interpolation_mode),
13483         (gst_controlled_property_new):
13484         * libs/gst/controller/gstcontroller.h:
13485           use base type to assign acccessor functions
13487 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13489         * check/Makefile.am:
13490         Oops, that should have been top_srcdir
13492 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13494         * check/Makefile.am:
13495         * check/elements/fdsrc.c: (GST_START_TEST):
13496         Use a cmdline define to specify the location of a file to use for
13497         testing, to avoid breaking distcheck.
13499 2005-11-28  Andy Wingo  <wingo@pobox.com>
13501         * gst/gstpad.c (fixate_value): Use array functions for arrays.
13503 2005-11-28  Edward Hervey  <edward@fluendo.com>
13505         * tools/gst-launch.c: (main):
13506         Clarify the output strings, makes it easier to translate.
13507         Fixes #322626
13509 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13511         * gst/Makefile.am:
13512           don't try and build net if we don't even have <sys/socket.h>
13514 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
13516         * check/Makefile.am:
13517         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13518         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13519           Add tests for fdsrc seekability
13521         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13522         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13523         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13524         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13525         * gst/elements/gstfdsrc.h:
13526           fdsrc should not be a 'live' source.
13527           Implement seeking on seekable fd's.
13529         * gst/gstquery.c: (gst_query_new_seeking),
13530         (gst_query_parse_seeking):
13531         * gst/gstquery.h:
13532           Implement SEEKING query functions: 
13533             *_new_seeking and *_parse_seeking
13535 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
13537         * gst/gstelement.c: (gst_element_dispose):
13538           don't loop forever
13540         * gst/gstiterator.c:
13541         * gst/gststructure.c:
13542           doc fixes
13544         * libs/gst/controller/gstcontroller.c:
13545         (gst_controlled_property_set_interpolation_mode):
13546         * libs/gst/controller/gstcontroller.h:
13547         * libs/gst/controller/gstinterpolation.c:
13548         (interpolate_none_get_enum_value_array):
13549           support controlling enums
13551 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13553         * gst/gstvalue.c:
13554           Improve documentation for gst_value_union().
13556         * gst/gstvalue.h:
13557           Change return value for union, intersect and subtract functions
13558           from gint to gboolean.
13560 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13562         * gst/gstvalue.c: (gst_value_serialize_any_list),
13563         (gst_value_transform_any_list_string),
13564         (gst_value_deserialize_list), (gst_value_deserialize_array),
13565         (gst_value_set_int_range), (gst_value_deserialize_int_range),
13566         (gst_value_set_double_range), (gst_value_deserialize_double_range),
13567         (gst_value_set_fraction_range_full),
13568         (gst_value_deserialize_fraction_range),
13569         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
13570         (gst_value_deserialize_boolean),
13571         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13572         (gst_value_serialize_float), (gst_value_deserialize_float),
13573         (gst_string_wrap), (gst_value_deserialize_string),
13574         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
13575         (gst_value_union_int_range_int_range),
13576         (gst_value_intersect_int_range_int_range),
13577         (gst_value_intersect_double_range_double_range),
13578         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
13579         (gst_value_subtract_int_range_int_range),
13580         (gst_value_subtract_double_double_range),
13581         (gst_value_subtract_double_range_double_range),
13582         (gst_value_deserialize_fraction):
13583         * gst/gstvalue.h:
13584           Use gint, gdouble and gchar in our API instead of int, double and
13585           char (and make usage in gstvalue.c more consistent).
13587 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13589         * check/Makefile.am:
13590         * libs/gst/controller/Makefile.am:
13591         * libs/gst/dataprotocol/Makefile.am:
13592           fix up Makefile.am and remove GST_ENABLE_NEW
13594 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13596         * configure.ac:
13597         * gst/Makefile.am:
13598         * gst/base/Makefile.am:
13599         * gst/check/Makefile.am:
13600         * gst/elements/Makefile.am:
13601         * gst/net/Makefile.am:
13602           update LDFLAGS use some more
13604 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13606         * common/m4/gst-doc.m4:
13607           Fixes #312589
13609 2005-11-26  Edward Hervey  <edward@fluendo.com>
13611         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13612         This shouldn't issue a g_warning since it returns NULL if it
13613         couldn't find the plugin, and all functions using this behave
13614         properly on a NULL return. Switching to a GST_WARNING.
13616 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
13618         * gst/gstbin.c: (gst_bin_handle_message_func):
13619         Don't leak clock messages.
13621 2005-11-25  Wim Taymans  <wim@fluendo.com>
13623         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13624         (gst_util_uint64_scale_int):
13625         Optimisations, remove unneeded vars.
13627 2005-11-25  Wim Taymans  <wim@fluendo.com>
13629         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13630         Added more checks for the high precision uint64 cases.
13632         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13633         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13634         Implement high precision (guint64 * guint64) / guint64.
13636 2005-11-24  Wim Taymans  <wim@fluendo.com>
13638         * gst/base/gstbasesrc.c: (gst_base_src_query):
13639         Fix wrong percentage query.
13641         * gst/gstutils.c: (gst_util_uint64_scale),
13642         (gst_util_uint64_scale_int):
13643         Add some more common cases that can be handled 
13644         efficiently to _scale.
13646 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13648         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
13649         (gst_mini_object_suite):
13650           don't use check calls from threads; check probably isn't
13651           threadsafe and using a lock to make it threadsafe would
13652           defeat the purpose of this check
13653         * gst/check/gstcheck.c:
13654         * gst/check/gstcheck.h:
13655           use GST_DEBUG some more
13657 2005-11-24  Wim Taymans  <wim@fluendo.com>
13659         * gst/gstutils.c: (gst_util_uint64_scale),
13660         (gst_util_uint64_scale_int):
13661         Chain trivial case to _scale_int.
13663 2005-11-24  Wim Taymans  <wim@fluendo.com>
13665         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13666         Added test for scaling.
13668         * gst/gstclock.h:
13669         Small doc fix.
13671         * gst/gstutils.c: (gst_util_uint64_scale_int):
13672         Implemented high precision scaling code.
13674 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
13676         * gst/gstinfo.h:
13677           do not crash on pad==NULL
13679 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13681         Patch by: Stefan Kost
13683         * common/gtk-doc.mak:
13684         * docs/gst/Makefile.am:
13685         * docs/libs/Makefile.am:
13686           Fix distcheck issues for the libraries docs build
13687           Closes #319599.
13689 2005-11-24  Michael Smith <msmith@fluendo.com>
13691         * docs/manual/basics-helloworld.xml:
13692           Fix bug #315027: memory leak in example code in docs.
13694 2005-11-24  Michael Smith <msmith@fluendo.com>
13696         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13697           Unlock the PREROLL_LOCK in a failure case.
13699 2005-11-24  Wim Taymans  <wim@fluendo.com>
13701         * docs/gst/gstreamer-sections.txt:
13702         * gst/base/gstadapter.h:
13703         * gst/base/gstbasesink.h:
13704         * gst/base/gstbasesrc.h:
13705         * gst/base/gstbasetransform.h:
13706         * gst/base/gstpushsrc.h:
13707         * gst/elements/gstfakesink.h:
13708         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
13709         * gst/elements/gstfakesrc.h:
13710         * gst/elements/gstfilesink.h:
13711         * gst/elements/gstfilesrc.h:
13712         * gst/gst.c:
13713         * gst/gstbin.c:
13714         * gst/gstbuffer.c: (_gst_buffer_copy):
13715         * gst/gstbus.h:
13716         * gst/gstcaps.c:
13717         * gst/gstchildproxy.c:
13718         * gst/gstclock.c:
13719         * gst/gstelement.c:
13720         * gst/gstelementfactory.c:
13721         * gst/gstelementfactory.h:
13722         * gst/gstevent.c:
13723         * gst/gstghostpad.h:
13724         * gst/gstindex.h:
13725         * gst/gstinterface.h:
13726         * gst/gstminiobject.c:
13727         * gst/gstminiobject.h:
13728         * gst/gstpad.c:
13729         * gst/gstpad.h:
13730         * gst/gstpadtemplate.h:
13731         * gst/gstpipeline.h:
13732         * gst/gstpluginfeature.h:
13733         * gst/gstquery.h:
13734         * gst/gstqueue.h:
13735         * gst/gsttaglist.c:
13736         * gst/gsttaglist.h:
13737         * gst/gsttagsetter.c:
13738         * gst/gsttagsetter.h:
13739         * gst/gsttrace.c:
13740         * gst/gsttrace.h:
13741         * gst/gsttypefind.h:
13742         * gst/gsturi.h:
13743         * gst/gstvalue.c:
13744         * gst/net/gstnetclientclock.c:
13745         * gst/net/gstnetclientclock.h:
13746         * gst/net/gstnettimepacket.c:
13747         * gst/net/gstnettimeprovider.c:
13748         * gst/net/gstnettimeprovider.h:
13749         Doc fixes.
13751 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13753         * configure.ac: back to HEAD
13755 === release 0.9.6 ===
13757 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
13759         * configure.ac:
13760           releasing 0.9.6, "Always On Time"
13762 2005-11-23  Wim Taymans  <wim@fluendo.com>
13764         * docs/gst/gstreamer-sections.txt:
13765         * gst/glib-compat.c:
13766         * gst/gsttagsetter.c:
13767         * gst/gstvalue.c:
13768         * gst/net/gstnetclientclock.c:
13769         * gst/net/gstnettimepacket.h:
13770         Doc updates.
13772 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13774         * docs/faq/using.xml:
13775         * docs/libs/tmpl/gstcontrol.sgml:
13776         * docs/manual/advanced-dparams.xml:
13777         * docs/manual/appendix-checklist.xml:
13778         * docs/manual/basics-elements.xml:
13779         * docs/pwg/other-source.xml:
13780         * docs/random/moving-plugins:
13781         * gst/gstpad.c:
13782         * tools/gst-launch.1.in:
13783           remove mentions of sinesrc
13785 2005-11-23  Michael Smith <msmith@fluendo.com>
13787         * docs/gst/gstreamer-sections.txt:
13788           Update for new API and API changes.
13789         * gst/gstobject.h:
13790           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
13791         * gst/gstvalue.c:
13792           Documentation typo fix.
13793         * gst/net/gstnettimepacket.c:
13794           Documentation fixes for arguments.
13796 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
13798         * gst/gststructure.c: (gst_structure_get_fraction),
13799         (gst_structure_parse_value),
13800         (gst_structure_fixate_field_nearest_fraction):
13801         * gst/gststructure.h:
13802         * gst/gstutils.c: (gst_util_uint64_scale_int):
13803         * gst/gstutils.h:
13804         * scripts/update-funcnames:
13805         API Changes. 
13806         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
13807         Make gst_structure_fixate_field_nearest_fraction take a numerator
13808         and denominator argument instead of a GValue
13809         add gst_structure_get_fraction helper function.
13811 2005-11-23  Wim Taymans  <wim@fluendo.com>
13813         * docs/design/part-TODO.txt:
13814         Update TODO.
13816         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
13817         * gst/net/gstnetclientclock.h:
13818         Use parent fields for timeout and window_size.
13820 2005-11-23  Andy Wingo  <wingo@pobox.com>
13822         * check/net/gstnetclientclock.c (test_functioning): Adjust to
13823         rate_num/rate_denom change.
13825         * gst/net/gstnetclientclock.c
13826         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
13827         OBJECT_LOCK. Don't call add_observation with the lock.
13829         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
13830         fraction.
13831         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
13832         rate fraction.
13833         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
13834         deal with rate as a fraction whose numerator and denominator are
13835         GstClockTime values.
13836         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
13837         master; the other fields are protected by the SLAVE_LOCK.
13838         (do_linear_regression): Note that this must be called with the
13839         SLAVE_LOCK.
13840         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
13841         OBJECT_LOCK. Call set_calibration instead of touching the
13842         variables directly.
13843         (gst_clock_set_property, gst_clock_get_property): Protect
13844         master/slave parameters with the SLAVE_LOCK.
13846         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
13847         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
13848         note that all of the instance variables that add_observation and
13849         the set_master functions use are protected by that lock and not
13850         the OBJECT_LOCK.
13851         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
13853         * gst/gstclock.c (gst_clock_add_observation): No longer requires
13854         the caller to take the object lock.
13856 2005-11-23  Wim Taymans  <wim@fluendo.com>
13858         * gst/gsterror.c: (_gst_core_errors_init):
13859         * gst/gsterror.h:
13860         Add error for clock stuff.
13862         * gst/gstpipeline.c: (gst_pipeline_change_state),
13863         (gst_pipeline_set_clock):
13864         Post clock error when clock cannot be used in a pipeline.
13866 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
13868         * docs/gst/gstreamer-sections.txt:
13869           make two symbols from gstinfo private for the docs
13870         * gst/base/gstcollectpads.h:
13871         * gst/gstutils.c:
13872           fix doc typos, update docs
13874 2005-11-22  Wim Taymans  <wim@fluendo.com>
13876         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13877         (gst_base_sink_wait), (gst_base_sink_do_sync),
13878         (gst_base_sink_handle_event):
13879         * gst/base/gstbasesink.h:
13880         No need to store the clock, the parent element class already
13881         has it.
13883         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
13884         Updates for clock_set returning a gboolean
13886         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
13887         (gst_clock_id_wait_async), (gst_clock_class_init),
13888         (gst_clock_init), (gst_clock_finalize),
13889         (gst_clock_get_internal_time), (gst_clock_get_time),
13890         (gst_clock_slave_callback), (gst_clock_set_master),
13891         (gst_clock_get_master), (do_linear_regression),
13892         (gst_clock_add_observation), (gst_clock_set_property),
13893         (gst_clock_get_property):
13894         * gst/gstclock.h:
13895         Implement master/slave. When setting a clock as a slave, a
13896         periodic timeout is scheduled to sample master and slave times.
13897         Then the slave clock is recalibrated to match offset and rate
13898         of the master clock.
13899         Update logging a bit.
13900         Add flag so that a clock can state that is cannot be slaved to
13901         another clock.
13903         * gst/gstelement.c: (gst_element_set_clock):
13904         * gst/gstelement.h:
13905         The set clock returns a gboolean for when an element cannot
13906         deal with the selected clock in the pipeline. 
13908         * gst/gstpipeline.c: (gst_pipeline_change_state),
13909         (gst_pipeline_set_clock):
13910         * gst/gstpipeline.h:
13911         Handle the case where the selected clock cannot be set on
13912         the pipeline.
13914         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
13915         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
13916         (gst_net_client_clock_set_property),
13917         (gst_net_client_clock_get_property),
13918         (gst_net_client_clock_observe_times):
13919         * gst/net/gstnetclientclock.h:
13920         Use regression code in GstClock parent, remove duplicated
13921         functionality.
13923 2005-11-22  Michael Smith <msmith@fluendo.com>
13925         * gst/gstutils.c: (gst_util_clock_time_scale):
13926         * gst/gstutils.h:
13927         * docs/gst/gstreamer-sections.txt:
13928           Rename method to have extra underscore.
13930 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13932         * gst/elements/Makefile.am:
13933         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
13934         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13935         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13936         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
13937         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
13938         * gst/elements/gstfakesrc.h:
13939         * gst/gstqueue.c: (queue_leaky_get_type):
13940           correctly fix GEnumValues so that nick is the short lowercase
13941           dashed tag
13942         * tools/gst-inspect.c: (print_element_properties_info):
13943           also show the nick, since it's useful to use from parse_launch
13944           syntax
13945           Fixes #322139
13947 2005-11-22  Michael Smith <msmith@fluendo.com>
13949         * gst/gstutils.c: (gst_util_clocktime_scale):
13950         * gst/gstutils.h:
13951         * docs/gst/gstreamer-sections.txt:
13952           Add util method for scaling a clocktime by a fraction. Useful 
13953           implementation is left as an exercise for the reader.
13955 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13957         * gst/gstvalue.c: (gst_value_collect_fraction_range):
13958         If needed, allocate storage in the destination value during
13959         collection.
13961 2005-11-22  Edward Hervey  <edward@fluendo.com>
13963         * docs/gst/gstreamer-sections.txt:
13964         * gst/Makefile.am:
13965         * gst/gst.h:
13966         * gst/gsturitype.c:
13967         * gst/gsturitype.h:
13968         * gst/gstutils.c: (gst_util_set_object_arg):
13969         * tools/gst-compprep.c: (main):
13970         * tools/gst-inspect.c: (print_element_properties_info):
13971         Removed GstURI, closes bug #321061
13973 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13975         * check/gst/gststructure.c: (GST_START_TEST):
13976         * gst/gststructure.c: (gst_structure_parse_value):
13977           Oops, broke automatic string type parsing.
13978           Add a test to catch it in future.
13980 2005-11-22  Andy Wingo  <wingo@pobox.com>
13982         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
13983         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
13984         Actually rename the function implementations. Grr.
13986 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
13988         * check/gst/capslist.h:
13989           Comment test cases
13990         * check/gst/gststructure.c: (GST_START_TEST),
13991         (gst_structure_suite):
13992           Test automatic value type detection in gst_structure_from_string.
13993         * gst/gststructure.c: (gst_structure_parse_value):
13994           Add fraction as a type we try and guess automatically in
13995           caps/structure strings.
13997 2005-11-22  Andy Wingo  <wingo@pobox.com>
13999         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14001         * gst/gsttagsetter.h:
14002         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14003         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14004         (gst_tag_setter_add_tag_valist)
14005         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14006         _add_values, _add_valist, and _add_valist_values. Since this is an
14007         interface the function suffixes should be more explicit so
14008         language binding don't end up with element.add_valist ->
14009         gst_tag_setter_add_valist, for example. Fixes #322069.
14011 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14013         * check/gst/gstcaps.c: (GST_START_TEST):
14014           Extend caps string tests to check that a caps to string
14015           conversion is reversible and produces the same caps.
14017         * gst/gststructure.c: (gst_structure_value_get_generic_type):
14018           Output "fraction" as the generic type fraction range, so caps
14019           serialisation and deserialisation works.
14020         * check/gst/capslist.h:
14021         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14022           Support 'MIN' and 'MAX' for deserialising fractions.
14024 2005-11-22  Andy Wingo  <wingo@pobox.com>
14026         * gst/gstevent.h (gst_event_new_new_segment)
14027         (gst_event_parse_new_segment, gst_event_new_buffer_size)
14028         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14029         Renamed from *_newsegment, *_buffersize, *_notarget.
14031         * scripts/update-funcnames: New script, performs the changes
14032         listed above.
14034 2005-11-22  Wim Taymans  <wim@fluendo.com>
14036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14037         Make sure the GstFlowReturn is returned.
14039         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14040         (gst_bus_add_signal_watch):
14041         * gst/gstbus.h:
14042         add gst_bus_add_signal_watch_full.
14044         * gst/gstplugin.c: (gst_plugin_load_file):
14045         Small style cleanup.
14047 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14049         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14050           Block the fakesrc srcpad when we send an event, to avoid
14051           contention on the stream_lock causing random test failures.
14053 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14055         * check/gst/gstvalue.c: (GST_START_TEST):
14056         * gst/gstvalue.c: (gst_value_fraction_subtract):
14057           Fix subtraction.
14059 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
14061         * gst/gst.h:
14062           include "gstchildproxy.h"
14063         * gst/gstchildproxy.h:
14064         * libs/gst/controller/gstcontroller.h:
14065           use G_GNUC_NULL_TERMINATED
14067 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14069         * check/gst/capslist.h:
14070         * check/gst/gstcaps.c: (GST_START_TEST):
14071         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14072         * gst/gststructure.c: (gst_structure_parse_range),
14073         (gst_structure_fixate_field_nearest_fraction):
14074         * gst/gststructure.h:
14075         * gst/gstvalue.c: (gst_value_init_fraction_range),
14076         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14077         (gst_value_collect_fraction_range),
14078         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14079         (gst_value_set_fraction_range_full),
14080         (gst_value_get_fraction_range_min),
14081         (gst_value_get_fraction_range_max),
14082         (gst_value_serialize_fraction_range),
14083         (gst_value_transform_fraction_range_string),
14084         (gst_value_compare_fraction_range),
14085         (gst_value_deserialize_fraction_range),
14086         (gst_value_intersect_fraction_fraction_range),
14087         (gst_value_intersect_fraction_range_fraction_range),
14088         (gst_value_subtract_fraction_fraction_range),
14089         (gst_value_subtract_fraction_range_fraction),
14090         (gst_value_subtract_fraction_range_fraction_range),
14091         (gst_value_collect_fraction), (gst_value_fraction_multiply),
14092         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14093         (gst_value_transform_string_fraction), (_gst_value_initialize):
14094         * gst/gstvalue.h:
14095           Implement fraction ranges and extend GstFraction to support
14096           arithmetic subtraction, as well as deserialization from integer
14097           strings such as "100"
14098           Add a testsuite as for int and double range set operations
14100 2005-11-21  Andy Wingo  <wingo@pobox.com>
14102         * gst/gsttaglist.h: 
14103         * gst/gstcaps.h: 
14104         * gst/gststructure.h: Add glib-compat.h.
14106 2005-11-21  Wim Taymans  <wim@fluendo.com>
14108         * gst/gstbin.c: (gst_bin_change_state_func):
14109         Fix for #321595
14111 2005-11-21  Wim Taymans  <wim@fluendo.com>
14113         * gst/gstsegment.h:
14114         And add a nice define too.
14116 2005-11-21  Wim Taymans  <wim@fluendo.com>
14118         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14119         (gst_segment_new), (gst_segment_free), (gst_segment_init),
14120         (gst_segment_set_duration), (gst_segment_set_last_stop),
14121         (gst_segment_set_seek), (gst_segment_set_newsegment),
14122         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14123         (gst_segment_clip):
14124         * gst/gstsegment.h:
14125         Make binding friendly.
14127 2005-11-21  Andy Wingo  <wingo@pobox.com>
14129         * gst/gsttagsetter.h: 
14130         * gst/gsttaglist.h: 
14131         * gst/gststructure.h: 
14132         * gst/gstcaps.h: 
14133         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14134         #319940.
14136         * gst/gsterror.c (_gst_core_errors_init):
14137         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14138         category.
14140         * gst/Makefile.am (gst_headers): Add glib-compat.h.
14141         (noinst_HEADERS): noinst the -private.
14143 2005-11-21  Michael Smith <msmith@fluendo.com>
14145         * gst/gstplugin.h:
14146         * gst/gstregistry.h:
14147           Remove unimplemented declarations for which we can see no sensible
14148           use.
14150 2005-11-21  Andy Wingo  <wingo@pobox.com>
14152         * gst/gst.h: Include glib-compat.h.
14154         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14156         * gst/glib-compat.c: Include the public and the private header.
14158         * gst/glib-compat-private.h: Copied here from glib-compat.h.
14160         * gst/gstvalue.c: 
14161         * gst/gstpad.c: 
14162         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14164         * check/gst/gstevent.c (create_custom_events): Check that
14165         FLUSH_STOP is serialized.
14167         * check/elements/identity.c (event_func): 
14168         * check/elements/fakesrc.c (event_func): No stream lock, the core
14169         takes it.
14171         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14172         stream lock taking, yay.
14174         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14175         ensure that core takes the stream lock.
14177         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14178         lock name change.
14180         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14181         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14182         it already. For the flush start we do take it though so we get the
14183         right preroll state change messages.
14185         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14186         the stream lock here, the core does it for us.
14188         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14189         GST_STREAM_GET_LOCK.
14190         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
14191         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
14192         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14193         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14194         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
14195         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14197         * gst/gstpad.c: Update for stream lock name change.
14199         * gst/base/gstbasesink.c: Update for preroll lock name change.
14201 2005-11-21  Wim Taymans  <wim@fluendo.com>
14203         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14204         (gst_clock_get_master):
14205         * gst/gstclock.h:
14206         * gst/gstsystemclock.c: (gst_system_clock_init):
14207         Convert Clock flags to object flags.
14208         Added methods to manage master/slave clocks.
14210 2005-11-21  Wim Taymans  <wim@fluendo.com>
14212         * check/gst/gstsegment.c: (GST_START_TEST):
14213         * docs/design/part-TODO.txt:
14214         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14215         (gst_base_sink_event), (gst_base_sink_do_sync),
14216         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14217         (gst_base_sink_query), (gst_base_sink_change_state):
14218         * gst/base/gstbasesink.h:
14219         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14220         (gst_base_src_default_newsegment),
14221         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14222         (gst_base_src_get_range), (gst_base_src_loop),
14223         (gst_base_src_change_state):
14224         * gst/base/gstbasesrc.h:
14225         * gst/base/gstbasetransform.c:
14226         (gst_base_transform_prepare_output_buf),
14227         (gst_base_transform_event), (gst_base_transform_change_state):
14228         * gst/base/gstbasetransform.h:
14229         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14230         (gst_collect_pads_event):
14231         * gst/base/gstcollectpads.h:
14232         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14233         (gst_fake_src_create):
14234         * gst/elements/gstfakesrc.h:
14235         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14236         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14237         (gst_segment_set_last_stop), (gst_segment_set_seek),
14238         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14239         (gst_segment_to_running_time), (gst_segment_clip):
14240         * gst/gstsegment.h:
14241         More segment updates, replace code in plugins with segment
14242         helper functions.
14244 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14246         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14247         Don't ignore sscanf results
14249 2005-11-21  Andy Wingo  <wingo@pobox.com>
14251         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14253         * *.h:
14254         * *.c: Ran scripts/update-macros. Oh yes.
14256         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14257         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14258         GST_GET_LOCK, etc.
14260         * scripts/update-macros: New script. Run it on your files to
14261         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14262         well.
14264 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14266         * docs/gst/Makefile.am:
14267         * docs/gst/gstreamer-docs.sgml:
14268         * docs/gst/gstreamer-sections.txt:
14269         * docs/gst/gstreamer.types:
14270         * gst/gstinfo.h:
14271           more docs fixes, add new api to the docs
14273 2005-11-21  Andy Wingo  <wingo@pobox.com>
14275         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14276         state_broadcast call.
14278         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14280 2005-11-21  Julien MOUTTE  <julien@moutte.net>
14282         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
14283         function calls for arrays.
14285 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14287         * docs/random/ensonic/media-device-daemon.txt:
14288           wild idea, can this be done?
14289         * docs/gst/gstreamer-sections.txt:
14290         * gst/gsterror.h:
14291         * gst/gstfilter.c:
14292         * gst/gstfilter.h:
14293         * gst/gstplugin.h:
14294         * gst/gstpluginfeature.c:
14295         * gst/gsttrace.c:
14296         * gst/gstvalue.c:
14297         * gst/gstvalue.h:
14298           doc fixes and additions
14300 2005-11-21  Andy Wingo  <wingo@pobox.com>
14302         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
14303         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
14304         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
14305         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
14306         private to the basesrc implementation.
14308         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
14309         behalf of event function if necessary. It should no longer be
14310         necessary to take the stream lock in pad's event functions. Fixes
14311         #320299.
14313 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14314         * docs/gst/gstreamer-sections.txt:
14315         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
14316         (gst_structure_fixate_field_nearest_double),
14317         (gst_structure_fixate_field_boolean):
14318         * gst/gststructure.h:
14319         * win32/common/libgstreamer.def:
14320         * win32/gstreamer.def:
14322         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
14323         (#322027)
14325 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14327         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
14328         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
14329         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
14330         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
14331         (gst_fdsrc_uri_handler_init):
14332         * gst/elements/gstfdsrc.h:
14333           Port fd:// URI handler from 0.8 to fdsrc
14335 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14337         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
14338         (gst_value_serialize_fourcc):
14339         * gst/gstvalue.h:
14340           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
14341           consistent with our other format defines (#320324).
14343 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14345         * gst/gstvalue.c: (gst_value_is_fixed):
14346           Revert previous commit. Value lists are by definition
14347           not fixed, as they are a list of possible values.
14349 2005-11-21  Andy Wingo  <wingo@pobox.com>
14351         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
14352         during the stable series if we need it. Fixes #319178.
14354         * gst/gstevent.c (gst_event_new_filler): Removed.
14356         * check/gst/gstevent.c: Update comment about filler events.
14358 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14360         * gst/gstvalue.c: (gst_value_is_fixed):
14361           Should handle both value arrays and value lists.
14363 2005-11-21  Andy Wingo  <wingo@pobox.com>
14365         patch by: Alessandro Dessina <alessandro nnva org>
14367         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
14368         functions to access arrays. Fixes #321962.
14370 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14372         * docs/gst/gstreamer.types:
14373           gst_collectpads_get_type => gst_collect_pads_get_type.
14374           
14375         * gst/base/gstbasetransform.c:
14376           Remove unused SIGNAL_HANDOFF enum.
14378 2005-11-21  Andy Wingo  <wingo@pobox.com>
14380         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
14381         the event type (upstream, downstream, serialized). Renamed
14382         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
14383         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
14384         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
14386         * gst/gstevent.c: Update for new CUSTOM event names.
14388         * check/gst/gstevent.c: Update check for new CUSTOM event names.
14390         * gst/gstevent.h:
14391         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
14392         bug #319392.
14394 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14396         * docs/gst/gstreamer-sections.txt:
14397         * win32/common/libgstbase.def:
14398         * win32/libgstbase.def:
14399         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14400         (gst_collect_pads_class_init), (gst_collect_pads_init),
14401         (gst_collect_pads_finalize), (gst_collect_pads_new),
14402         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
14403         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
14404         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
14405         (gst_collect_pads_start), (gst_collect_pads_stop),
14406         (gst_collect_pads_peek), (gst_collect_pads_pop),
14407         (gst_collect_pads_available), (gst_collect_pads_read),
14408         (gst_collect_pads_flush), (gst_collect_pads_event),
14409         (gst_collect_pads_chain):
14410         * gst/base/gstcollectpads.h:
14411           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
14412           unimplemented functions as unimplemented. Add padding to
14413           GstCollectData. (#320766, #320423)
14415 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14417         * gst/gstmessage.c:
14418           Improve docs for DURATION message (usage of duration parameter)
14419           (#320113)
14421 2005-11-20  Wim Taymans  <wim@fluendo.com>
14423         * check/Makefile.am:
14424         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
14425         (main):
14426         * gst/Makefile.am:
14427         * gst/gst.h:
14428         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14429         (gst_segment_set_seek), (gst_segment_set_newsegment),
14430         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14431         (gst_segment_clip):
14432         * gst/gstsegment.h:
14433         Added segment helper structure and methods. Not fully implemented
14434         yet.
14435         Added segment check.
14437 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
14439         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14440           Add a deserialisation test for fractions
14441         * examples/metadata/read-metadata.c: (message_loop),
14442         (make_pipeline), (main):
14443           Fix up metadata reading sample.
14444         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14445           Debug format fix
14446         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14447           Don't try and fixate empty caps
14448         * gst/gst_private.h:
14449           Wrap in G_BEGIN_DECLS/G_END_DECLS
14450         * gst/gstvalue.c: (gst_value_collect_fraction),
14451         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
14452         (gst_value_transform_string_fraction),
14453         (gst_value_compare_fraction):
14454           Add some extra guards to ensure that we don't end up 
14455           with an invalid denominator of 0 in a gstfraction and
14456           that fractions always get reduced.
14458 2005-11-20  Wim Taymans  <wim@fluendo.com>
14460         * docs/gst/gstreamer-sections.txt:
14461         * gst/gstbuffer.h:
14462         * gst/gstelement.c:
14463         * gst/gstformat.c:
14464         * gst/gstformat.h:
14465         * gst/gstindex.h:
14466         * gst/gstquery.c:
14467         * gst/gstquery.h:
14468         * gst/gstvalue.c:
14469         Doc fixes.
14471 2005-11-20  Wim Taymans  <wim@fluendo.com>
14473         * docs/design/part-TODO.txt:
14474         * gst/gstcaps.h:
14475         Make a proper enum of the flag.
14477 2005-11-19  Wim Taymans  <wim@fluendo.com>
14479         * docs/design/part-TODO.txt:
14480         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
14481         (gst_format_to_quark), (gst_format_register):
14482         * gst/gstformat.h:
14483         * gst/gstquery.c: (_gst_query_initialize),
14484         (gst_query_type_get_name), (gst_query_type_to_quark),
14485         (gst_query_type_register):
14486         * gst/gstquery.h:
14487         Add type to quark and type to string conversions.
14489 2005-11-19  Andy Wingo  <wingo@pobox.com>
14491         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
14492         #320097.
14494 2005-11-19  Wim Taymans  <wim@fluendo.com>
14496         * docs/design/part-TODO.txt:
14497         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14498         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
14499         (gst_bin_handle_message_func):
14500         * gst/gstbin.h:
14501         Make message handling overridable.
14503 2005-11-19  Andy Wingo  <wingo@pobox.com>
14505         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14507         * gst/gstclock.h:
14508         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14509         be a GstClockTime.
14510         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14511         is a GstClockTime. Fixes #321710.
14513         * gst/gstclock.h (GstClock): Remove offset property. Add
14514         internal_calibration and external_calibration. Fix padding. Pad
14515         also by GstClockTime so we don't run into problems.
14517         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14518         (gst_clock_get_rate_offset): Remove.
14519         (gst_clock_set_time_adjust): Remove. Fixes #321712.
14521         * gst/gstutils.h:
14522         * gst/gstutils.c (g_static_rec_cond_wait)
14523         (g_static_rec_cond_timed_wait): Removed, no longer needed.
14525         * gst/gstbin.c: Remove terrible continue_state prototype.
14527         * gst/gstelement.h (gst_element_continue_state): Make public.
14529         * gst/gstelement.h:
14530         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14531         by continue_state. Fixes #319389.
14533         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14534         Really fixes #168438. However I don't see anywhere where the
14535         filter function is called... stupid GStreamer...
14536         
14537         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14538         don't have a dispose function, so it won't get called when the
14539         object is unreffed, but oh well!
14541         * gst/gstindex.c (gst_index_set_filter_full): New API function,
14542         allows a destroy function to be set so user_data can be freed.
14543         Fixes #168438.
14544         (gst_index_set_filter): Call gst_index_set_filter_full.
14546         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14548         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14549         string should produce an error, given the lack of a way to
14550         represent NULL strings. Fixes #165650.
14551         
14552         * gst/gstvalue.h: 
14553         * gst/gstvalue.c (gst_value_array_append_value) 
14554         (gst_value_array_prepend_value, gst_value_array_get_size) 
14555         (gst_value_array_get_value): New API, copied from
14556         gst_value_list_*, only operates on arrays.
14557         (gst_value_list_append_value, gst_value_list_prepend_value) 
14558         (gst_value_list_concat, gst_value_list_get_size) 
14559         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14561         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14562         init_list, because it works on both.
14563         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14564         (gst_value_copy_list_or_array): Renamed from copy_list.
14565         (gst_value_free_list_or_array): Renamed from free_list.
14566         (gst_value_collect_list_or_array): Renamed from collect_list.
14567         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14568         (gst_value_list_or_array_peek_pointer): Renamed from
14569         list_peek_pointer.
14570         (_gst_value_array_value_table, _gst_value_list_value_table):
14571         Update value table functions.
14572         (gst_value_compare_list_or_array): Renamed from compare_list.
14574         * gsttaglist.h: Whoops, foreach function returns void. Also fix
14575         some constness.
14577         * gst/gsttaglist.c:
14578         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
14579         GstTagList*. Fixes #143472.
14581         * gst/gststructure.h: Clarify what the foreach/map functions can
14582         or can't do to their arguments.
14584 2005-11-18  Wim Taymans  <wim@fluendo.com>
14586         * gst/gstclock.c: (gst_clock_set_calibration),
14587         (gst_clock_get_calibration):
14588         Doc and API fixes.
14589         Calibration can be set with internal time equal to current
14590         internal time too.
14592 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14594         * gst/gsterror.c:
14595         * gst/gsterror.h:
14596           document
14598 2005-11-18  Andy Wingo  <wingo@pobox.com>
14600         * configure.ac: 
14601         * pkgconfig/gstreamer-net.pc.in:
14602         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14603         * pkgconfig/Makefile.am: Add net pkgconfig files.
14605 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
14607         * gst/gstcaps.c:
14608         * gst/gstghostpad.c:
14609         * gst/gsttrace.c:
14610         * gst/gstvalue.c:
14611         * gst/gstvalue.h:
14612           docs fixes
14614 2005-11-18  Andy Wingo  <wingo@pobox.com>
14616         * gst/net/gstnetclientclock.c: Turn off debugging.
14618         * check/net/gstnetclientclock.c (test_functioning): Assert that the
14619         times connverge somewhat. Can't make a real test.
14621         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
14622         integer arithmetic. Return the minimum of the domain, which can be
14623         set as "internal" for gst_clock_set_calibration.
14624         (gst_net_client_clock_observe_times): Call _set_calibration.
14625         (gst_net_client_clock_new): Call _set_calibration instead of
14626         rate_offset.
14628         * check/net/gstnetclientclock.c (test_functioning): Use the right
14629         adjustment api.
14631         * gst/gstclock.h:
14632         * gst/gstclock.c (gst_clock_get_calibration) 
14633         (gst_clock_set_calibration): New functions, obsolete the ones I
14634         added yesterday. Doh. Precision issues mean we have to extrapolate
14635         from a point in the more recent past than 1970.
14636         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
14637         obsolete.
14638         (gst_clock_adjust_unlocked): Use the right calibration data.
14640 2005-11-18  Edward Hervey  <edward@fluendo.com>
14642         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
14643         Also reset the ->current_* values in READY->PAUSED
14645 2005-11-18  Andy Wingo  <wingo@pobox.com>
14647         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
14648         Whoops, check the right fd. Also add some debugging.
14649         (gst_net_client_clock_observe_times): Adjust for int64 offset.
14650         (do_linear_regression): Add a crapload of debugging. Subtract off
14651         the minimum values from the input series to discard unneeded bits.
14652         Use only int arithmetic. There is still double arithmetic when
14653         calculating the intercept that needs fixing. Return boolean to
14654         indicate success; FALSE would mean the domain or range is too
14655         great. Still needs fixes.
14657 2005-11-18  Wim Taymans  <wim@fluendo.com>
14659         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14660         For the current position in stream time, we need to subtract
14661         accumulated time.
14662         
14663         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14664         Release lock before calling the callback function of async
14665         entries.
14667 2005-11-18  Andy Wingo  <wingo@pobox.com>
14669         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
14670         Port goes all the way to MAXUINT16.
14672         * gst/net/gstnettimeprovider.c: Make the port range the same as
14673         for the kernel: 0 assigns, otherwise ports are less than
14674         MAXUINT16.
14676         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
14677         port change.
14679         * check/net/gstnetclientclock.c (test_functioning): Add the start
14680         of another test. 
14682 2005-11-18  Wim Taymans  <wim@fluendo.com>
14684         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14685         (gst_bin_remove_func), (bin_bus_handler):
14686         * gst/gstbin.h:
14687         Removing a clock provider from a bin, triggers a clock lost message
14688         so that a new clock will be selected.
14689         Adding a clock to a bin triggers a clock provider message.
14690         Make sure we reselect a clock when we received a clock lost message.
14691         Keep a reference to the element that provided the clock.
14693 2005-11-18  Andy Wingo  <wingo@pobox.com>
14695         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
14696         the clock initially so it produces values around the base time.
14697         (gst_net_client_clock_class_init): Typo fix.
14698         (gst_net_client_clock_thread): Add note on when the socket gets
14699         closed.
14701 2005-11-17  Wim Taymans  <wim@fluendo.com>
14703         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
14704         Free remote and local time arrays.
14706 2005-11-17  Wim Taymans  <wim@fluendo.com>
14708         * gst/net/gstnetclientclock.c: (do_linear_regression),
14709         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
14710         Fix compilation, uninitialized vars and a forgotten continue.
14712 2005-11-17  Andy Wingo  <wingo@pobox.com>
14714         * check/Makefile.am (check_PROGRAMS): 
14715         * check/net/gstnetclientclock.c: Add a most minimal test for the
14716         net client clock. More to come later.
14718         * gst/net/gstnet.h: 
14719         * gst/net/Makefile.am: Add netclientclock.
14721         * gst/net/gstnetclientclock.h:
14722         * gst/net/gstnetclientclock.c: New files, implement an untested
14723         GstClock that takes its time from a network time provider.
14724         Implements the algorithm in network-clock.scm.
14726         * tests/network-clock.scm (*window-size*): Rename from
14727         *queue-length*.
14728         * tests/network-clock.scm (network-time): 
14729         * tests/network-clock-utils.scm (q-push): Update callers.
14731 2005-11-17  Wim Taymans  <wim@fluendo.com>
14733         * gst/gstbin.c: (gst_bin_provide_clock_func),
14734         (gst_bin_sort_iterator_new):
14735         And unref the child too..
14737 2005-11-17  Wim Taymans  <wim@fluendo.com>
14739         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14740         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
14741         Refactor the sort iterator so it can be used while holding the
14742         LOCK too.
14743         Make clock selection select a clock closest to the source.
14745 2005-11-17  Michael Smith <msmith@fluendo.com>
14747         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
14748         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
14749         * gst/gstclock.h:
14750           Anonymous structs are a gcc (and some other compilers) extension, so
14751           don't use them. Since this is only for ABI-compatibility, and our
14752           API/ABI freeze is over in a few days, this whole thing will only
14753           last a few days, so don't bother trying to think up a meaningful
14754           name for the struct.
14756 2005-11-17  Andy Wingo  <wingo@pobox.com>
14758         * gst/gstclock.h (GstClock): Add rate and offset properties,
14759         preserving ABI stability. Add rate/offset accessors. Will file bug
14760         for the freeze break.
14762         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
14763         and offset, trying to keep precision and avoiding
14764         underflow/overflow.
14765         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
14766         functions. Make gst_clock_set_time_adjust obsolete.
14767         (gst_clock_set_time_adjust): Note that this function is obsolete.
14768         Will file bug soon.
14770         * gst/base/gstbasetransform.h: Make the ABI-stability hack
14771         greppable by using GST_PADDING-1+1.
14773 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
14775         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14777         * gst/gstmessage.c: (gst_message_parse_clock_lost):
14778           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
14780         * gst/gstpadtemplate.h:
14781         * gst/gstpluginfeature.h:
14782           Don't use c++ style comments in headers (#321638).
14784 2005-11-16  Andy Wingo  <wingo@pobox.com>
14786         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
14787         buffer.
14789         * check/net/gstnettimeprovider.c: Check to see that the time
14790         provider actually provides times. Works, yo!
14792 2005-11-16  Wim Taymans  <wim@fluendo.com>
14794         * check/Makefile.am:
14795         Enable more tests.
14797         * check/elements/fakesrc.c: (GST_START_TEST):
14798         Set element to NULL before disposing it.
14800 2005-11-16  Andy Wingo  <wingo@pobox.com>
14802         * gst/net/Makefile.am:
14803         * gst/net/gstnet.h:
14804         * gst/net/gstnettimeprovider.c: 
14805         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
14806         provider, include it from gstnet.h, and add it to the build.
14808         * gst/net/gstnettimepacket.h: 
14809         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
14810         sending and receiving.
14812 2005-11-16  Wim Taymans  <wim@fluendo.com>
14814         * check/Makefile.am:
14815         Enable valgrind check.
14817         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
14818         (gst_fake_src_alloc_buffer):
14819         Fix memleak.
14821 2005-11-16  Wim Taymans  <wim@fluendo.com>
14823         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
14824         Call parent finalize too.
14826 2005-11-16  Wim Taymans  <wim@fluendo.com>
14828         * check/Makefile.am:
14829         Enable valgrind check that should work fine now.
14831         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14832         * gst/gstqueue.c: (gst_queue_init):
14833         Fix memleaks in pad allocation.
14835 2005-11-16  Andy Wingo  <wingo@pobox.com>
14837         * gst/net/Makefile.am:
14838         * gst/net/gstnet.h: New part of core to hold network elements and
14839         objects. Put in core because it exposes API that applications want
14840         to use. The library is named libgstnet-tempname right now because
14841         of the existing libgstnet in gst-plugins-base. Solution is
14842         probably to rename the one in plugins-base; will file a bug for
14843         the freeze break.
14845         * gst/net/gstnettimeprovider.c: 
14846         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
14847         get_time call over the network.
14849         * configure.ac: 
14850         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
14852         * check/Makefile.am:
14853         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
14854         get additions shortly.
14856 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14858         * gst/gstpad.c: (gst_pad_new_from_static_template):
14859         * gst/gstpad.h:
14860           add gst_pad_new_from_static_template functions
14861         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
14862         (gst_check_setup_sink_pad):
14863         * gst/elements/gsttee.c: (gst_tee_init):
14864           and use them
14866 2005-11-16  Wim Taymans  <wim@fluendo.com>
14868         * gst/gstpad.c: (gst_pad_pause_task):
14869         Removed warning, it's not really an error either.
14871 2005-11-16  Wim Taymans  <wim@fluendo.com>
14873         * gst/base/gstbasetransform.c:
14874         (gst_base_transform_prepare_output_buf),
14875         (gst_base_transform_event):
14876         Check if the caps are NULL, this can happen if the element
14877         is shutting down and the pad caps are set to NULL.
14879 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14881         * gst/elements/gsttee.c: (gst_tee_init):
14882           fix pad template leak in tee
14884 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14886         * gst/glib-compat.c: (g_value_dup_gst_object):
14887         * gst/glib-compat.h:
14888         * gst/gstpad.c: (gst_pad_set_property):
14889           use gst_object_ref when setting the pad template; this will
14890           trigger the pad template leaks on GLib 2.6 and the slaves
14892 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14894         * gst/glib-compat.c: (gst_flags_get_first_value):
14895         * gst/glib-compat.h:
14896         * gst/gstregistryxml.c:
14897           remove functions copied from GLib 2.6
14899 2005-11-16  Michael Smith <msmith@fluendo.com>
14901         * gst/Makefile.am:
14902           Don't link against VALGRIND_LIBS. That was always the wrong thing to
14903           do, but only breaks with newer valgrind versions. We're not a
14904           valgrind tool, we have no link-time dependencies on libcoregrind.
14906 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14908         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14909           some debug changes
14910         * gst/gstmessage.h:
14911           typo fixes
14913 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14915         * gst/base/gstbasesrc.c: (gst_base_src_init):
14916         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14917         * gst/gstqueue.c: (gst_queue_init):
14918         * gst/gstregistryxml.c: (load_feature):
14919           Revert all these unrefs, they don't even pass make check !
14921 2005-11-15  Johan Dahlin  <johan@gnome.org>
14923         * gst/base/gstbasesrc.c: (gst_base_src_init):
14924         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
14925         * gst/gstqueue.c: (gst_queue_init): 
14926         Free pad templates, fixes a couple of leaks.
14928 2005-11-15  Daniel Fischer  <dan at f3c dot com>
14930         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14932         * gst/gstpad.c: (gst_pad_get_property):
14933           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
14934           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
14935           (#321452)
14937 2005-11-15  Wim Taymans  <wim@fluendo.com>
14939         * gst/gstevent.c:
14940         Small doc update.
14942 2005-11-15  Andy Wingo  <wingo@pobox.com>
14944         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
14946         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
14947         using GST_CLOCK_TIME_NONE to disable base time management.
14948         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
14949         time if it was NONE before.
14950         (gst_pipeline_change_state): Only munge the base time if
14951         stream_time != GST_CLOCK_TIME_NONE.
14953         * check/gst/gstpipeline.c (test_base_time): Punt around the
14954         problem of the probe not being called, because that's not the
14955         issue I'm looking at. Add a check that setting stream_time to NONE
14956         disables base time management.
14957         
14958 2005-11-15  Wim Taymans  <wim@fluendo.com>
14960         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14961         segment_stop == -1 at startup.
14963         * gst/base/gstbasetransform.c: (gst_base_transform_event),
14964         (gst_base_transform_change_state):
14965         Init segment values at start.
14967 2005-11-15  Wim Taymans  <wim@fluendo.com>
14969         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14970         0 segment values are 0 in any format.
14972         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14973         * gst/base/gstbasetransform.h:
14974         Parse newsegment correctly in basetransform
14976         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14977         Sync to clock using updated segment values.
14979 2005-11-15  Andy Wingo  <wingo@pobox.com>
14981         * check/gst/gstpipeline.c (test_base_time): Add check that the
14982         base time and stream time are reset correctly.
14984 2005-11-15  Wim Taymans  <wim@fluendo.com>
14986         * docs/design/part-TODO.txt:
14987         Some more TODO items.
14989 2005-11-15  Andy Wingo  <wingo@pobox.com>
14991         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
14992         error if the user selected "no clock" as the clocking method.
14994         * check/gst/gstpipeline.c (test_base_time): New test for buffer
14995         timestamps with live capture.
14997         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
14998         is 0 but we are a live source, timestamp the buffers using the
14999         element's clock.
15001 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
15003         * docs/gst/gstreamer-sections.txt:
15004         * gst/gsterror.c:
15005         * gst/gstghostpad.c:
15006         * gst/gstobject.h:
15007         * gst/gstxml.c:
15008           more section docs
15010 2005-11-14  Wim Taymans  <wim@fluendo.com>
15012         * common/gst.supp:
15013           add suppressions from Wim's Debian machine
15015 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15017         * common/gst.supp:
15018           add suppressions from Andy's AMD64 Ubuntu machine
15020 2005-11-14  Andy Wingo  <wingo@pobox.com>
15022         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15023         STATE_LOCK not necessary. Fixes #311489.
15025         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15026         #305291.
15028         * gst/gstindex.c (gst_index_add_object): Note in the docs that
15029         this function is not implemented.
15031 2005-11-14  Julien MOUTTE  <julien@moutte.net>
15033         * gst/base/gstbasetransform.c:
15034         (gst_base_transform_prepare_output_buf):
15035         Ref the source pad caps while we need them.
15036         Fixes (#321386)
15038 2005-11-11  Wim Taymans  <wim@fluendo.com>
15040         * docs/gst/gstreamer-sections.txt:
15041         Added some docs for GstCollectData.
15043         * gst/base/gstadapter.c:
15044         Some small code example fix.
15046         * gst/base/gstcollectpads.c:
15047         * gst/base/gstcollectpads.h:
15048         Document some more.
15050 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15052         * configure.ac: back to HEAD
15054 === release 0.9.5 ===
15056 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
15058         * configure.ac:
15059           releasing 0.9.5, "Bike Lunch Day"
15061 2005-11-11  Wim Taymans  <wim@fluendo.com>
15063         * gst/gstbuffer.c: (_gst_buffer_copy):
15064         Copy more flags.
15066         * gst/gstcaps.c: (gst_caps_is_equal):
15067         Fix some docs.
15068         Make _is_equal fast in the trivial cases.
15070         * gst/gstminiobject.c:
15071         * gst/gstminiobject.h:
15072         More docs. Spifify .h file.
15074         * gst/gstutils.c:
15075         Small doc update.
15077 2005-11-11  Wim Taymans  <wim@fluendo.com>
15079         * gst/base/gstbasetransform.c:
15080         (gst_base_transform_prepare_output_buf),
15081         (gst_base_transform_handle_buffer):
15082         Small cleanups.
15083         If we're processing a buffer and need to allocate an output
15084         buffer, we cannot accept a format change. If we did get a 
15085         format change, we have to alloc a buffer ourselves of the 
15086         right size.
15088 2005-11-11  Wim Taymans  <wim@fluendo.com>
15090         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15091         While checking the flag for reentrancy in the gstcaps function
15092         is nice to detect recursive invocations, it also makes it 
15093         impossible to call getcaps from multiple threads, which must be
15094         possible. So, checking for recursive calls has to go.
15096 2005-11-11  Michael Smith <msmith@fluendo.com>
15098         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15099           Don't sync on buffers that fall partially outside our current
15100           segment. Prevents an assertion failure/abort playing some files.
15102 2005-11-10  Andy Wingo  <wingo@pobox.com>
15104         * check/gst/gstbin.c (test_message_state_changed_children): Style
15105         fix..
15107         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15108         gst_bus_poll with the signal watch. Ensures that poll and a signal
15109         watch see the same messages.
15111         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15112         a poll and a watch at the same time get the same messages.
15114 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15116         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15117         * gst/gstcaps.c: (gst_caps_intersect):
15118           Don't call gst_caps_do_simplify - it doesn't respect order of caps
15119           and it's not needed.
15121 2005-11-10  Wim Taymans  <wim@fluendo.com>
15123         * docs/design/part-TODO.txt:
15124         Updated todo.
15126 2005-11-10  Wim Taymans  <wim@fluendo.com>
15128         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15129         * gst/base/gstbasesrc.c: (gst_base_src_wait),
15130         (gst_base_src_do_sync), (gst_base_src_get_range):
15131         Implement clock sync in base class.
15133 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15135         patch by: Tim-Philipp Müller <tim at centricular dot net>
15137         * gst/gststructure.c: (gst_structure_parse_field),
15138         (gst_structure_from_string):
15139           Forward-port a 0.8 patch to handle escaped spaces in structure string,
15140           so that gst_parse_launch() can deal with spaces in filtered link
15141           caps (fixes #164479)
15142         * check/gst/capslist.h:
15143         * check/gst/gststructure.c: (GST_START_TEST):
15144           add unit tests for this change
15146 2005-11-10  Wim Taymans  <wim@fluendo.com>
15148         * docs/gst/gstreamer-sections.txt:
15149         * gst/gstelement.c:
15150         * gst/gstelement.h:
15151         Fix docs, move some STATE macros to private.
15153 2005-11-10  Wim Taymans  <wim@fluendo.com>
15155         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15156         Added check for bug #317341
15158         * gst/gstbuffer.c:
15159         * gst/gstbuffer.h:
15160         Some more spiffifying.
15162         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15163         Call peer linkfunction if we are a source pad. Totally fixes
15164         #317341
15166         * gst/gstpad.c:
15167         Update docs, source pads should call the peer linkfunction
15168         so they can atomically perform the pad link.
15170 2005-11-09  Wim Taymans  <wim@fluendo.com>
15172         * gst/gstbuffer.c:
15173         * gst/gstbuffer.h:
15174         Uber-spiffy-spiffify some more.
15176 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
15178         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15179         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15180         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15181         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15182         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15183         * gst/gstpad.c: (gst_pad_init):
15184           Use GST_DEBUG_FUNCPTR() more extensively.
15186 2005-11-09  Wim Taymans  <wim@fluendo.com>
15188         * gst/gstobject.c: (gst_object_class_init):
15189         * gst/gstobject.h:
15190         Documentation fixes.
15192 2005-11-09  Edward Hervey  <edward@fluendo.com>
15194         * gst/gsttypefindfactory.c:
15195         Fix docs.
15196         
15197 2005-11-09  Edward Hervey  <edward@fluendo.com>
15199         * gst/base/gsttypefindhelper.c:
15200         * gst/gsttypefind.c:
15201         * gst/gsttypefind.h:
15202         Fix docs.
15204 2005-11-09  Wim Taymans  <wim@fluendo.com>
15206         * gst/gstiterator.c:
15207         Fix revision data.
15209         * gst/gsttask.c:
15210         * gst/gsttask.h:
15211         Fix docs.
15213 2005-11-09  Wim Taymans  <wim@fluendo.com>
15215         * gst/gstevent.h:
15216         * gst/gsturi.h:
15217         Fix docs.
15219 2005-11-09  Wim Taymans  <wim@fluendo.com>
15221         * docs/gst/gstreamer-sections.txt:
15222         Moved the message async delivery private lock and cond
15223         to the private section.
15225         * gst/gstmessage.c:
15226         * gst/gstmessage.h:
15227         Fixed docs.
15229 2005-11-09  Edward Hervey  <edward@fluendo.com>
15231         * docs/gst/gstreamer-sections.txt:
15232         * gst/gsturi.c:
15233         * gst/gsturi.h:
15234         Document GstURIHandler
15236 2005-11-09  Wim Taymans  <wim@fluendo.com>
15238         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15239         (gst_iterator_find_custom):
15240         * gst/gstiterator.h:
15241         Fix iterator docs.
15243 2005-11-09  Wim Taymans  <wim@fluendo.com>
15245         * gst/gstbin.h:
15246         Document another field.
15248         * gst/gststructure.c:
15249         * gst/gststructure.h:
15250         Document.
15252 2005-11-09  Wim Taymans  <wim@fluendo.com>
15254         * gst/gstbin.h:
15255         Documented structs.
15257 2005-11-09  Wim Taymans  <wim@fluendo.com>
15259         * docs/gst/gstreamer-sections.txt:
15260         Added some new macros.
15262         * gst/gstclock.c:
15263         * gst/gstclock.h:
15264         * gst/gstobject.h:
15265         Docs updates.
15267 2005-11-09  Wim Taymans  <wim@fluendo.com>
15269         * docs/design/part-TODO.txt:
15270         Some more items for the TODO
15272         * gst/gstcaps.c:
15273         * gst/gstcaps.h:
15274         Document GstCaps.
15276 2005-11-09  Andy Wingo  <wingo@pobox.com>
15278         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15279         to work on something else now tho...
15281         * gst/base/gstadapter.c: More adapter docs.
15283         * gst/elements/gstfilesink.c (gst_file_sink_start) 
15284         (gst_file_sink_stop): New functions, replace the state change
15285         handler.
15286         (gst_file_sink_class_init): Hook up the start and stop functions.
15287         (gst_file_sink_base_init): Don't set the state change handler any
15288         more. It was a bit ugly too, being set from here...
15289         (gst_file_sink_get_property, gst_file_sink_set_property):
15290         Cleanups...
15291         (gst_file_sink_set_location): More robust check that doesn't call
15292         GST_STATE. Ugggggg.
15294 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
15296         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15297           Hold STREAM_LOCK while pushing newsegment or tag events as well.
15299 2005-11-08  Wim Taymans  <wim@fluendo.com>
15301         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15302         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15303         (gst_base_sink_chain), (gst_base_sink_change_state):
15304         * gst/base/gstbasesink.h:
15305         * gst/base/gstbasesrc.h:
15306         * gst/gstelement.h:
15307         * gst/gstevent.h:
15308         Avoid excessive typechecking in macros.
15310         * gst/gstminiobject.c: (gst_mini_object_get_type),
15311         (gst_mini_object_init), (gst_mini_object_new),
15312         (gst_mini_object_free):
15313         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15314         (gst_object_finalize):
15315         Remove cruft code, optimize alloc_trace.
15317 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15319         * docs/faq/gst-uninstalled:
15320           fix up PS1 for systems that try to reset it
15322 2005-11-07  Wim Taymans  <wim@fluendo.com>
15324         * gst/base/gstbasesrc.c: (gst_base_src_init),
15325         (gst_base_src_get_range):
15326         Set the segment_end to -1 initially. Fixed typefind.
15328 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
15330         * gst/base/gstadapter.c:
15331           Debug category should be 'adapter', not 'GstAdapter'.
15332           
15333         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
15334         (gst_collectpads_class_init), (gst_collectpads_init),
15335         (gst_collectpads_peek), (gst_collectpads_pop),
15336         (gst_collectpads_event), (gst_collectpads_chain):
15337           Add debug category and some debugging output. Use boilerplate
15338           macros. Remove some extraneous words from docs.
15340 2005-11-05  Andy Wingo  <wingo@pobox.com>
15342         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
15343         macro.
15345 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15347         * docs/gst/gstreamer-sections.txt:
15348         * gst/gstcaps.h:
15349         * gst/gstinfo.c:
15350         * gst/gstminiobject.h:
15351         * gst/gstobject.h:
15352         * gst/gstutils.h:
15353           more docs added
15355 2005-11-04  Wim Taymans  <wim@fluendo.com>
15357         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15358         Small update to stop at the configured segment_end
15359         position.
15361 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15363         * gst/gstregistry.c:
15364         * gst/gstregistry.h:
15365           added missing docs
15367 2005-11-04  Edward Hervey  <edward@fluendo.com>
15369         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15370         Check if we are doing a segment seek and have arrived at the
15371         end of that segment.
15373 2005-11-04  Wim Taymans  <wim@fluendo.com>
15375         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
15376         Don't leak a mutex unlock in case of an error.
15378         * gst/gstbus.h:
15379         Doc fixes.
15381 2005-11-04  Wim Taymans  <wim@fluendo.com>
15383         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
15384         (gst_bus_post):
15385         Get the context to wake up only once.
15387 2005-11-03  Wim Taymans  <wim@fluendo.com>
15389         * check/states/sinks.c: (GST_START_TEST):
15390         Uncomment fixed check.
15392         * docs/design/part-TODO.txt:
15393         Updated TODO.
15395         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15396         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15397         (gst_base_sink_get_position):
15398         If we are going to PLAYING, post the right pending state
15399         when we post the intermediate paused message.
15401         * gst/gstelement.c: (gst_element_continue_state),
15402         (gst_element_set_state_func), (gst_element_change_state):
15403         Don't post state changes that were between the same state
15404         and were not ASYNC.
15406 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15408         * docs/gst/gstreamer-sections.txt:
15409         * gst/gstcaps.h:
15410         * gst/gstinfo.c:
15411         * gst/gstminiobject.h:
15412         * gst/gstobject.h:
15413         * gst/gstutils.h:
15414           more docs and doc style fixes
15416 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15418         * docs/gst/gstreamer-sections.txt:
15419         * gst/gstelement.c:
15420         * gst/gstminiobject.c:
15421         doc fixes
15423 2005-11-03  Andy Wingo  <wingo@pobox.com>
15425         * check/states/sinks.c (test_livesrc_sink): Add checks that the
15426         state-changed messages actually have the right order and the right
15427         values.
15429 2005-11-03  Wim Taymans  <wim@fluendo.com>
15431         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15432         Added some more checks. Specifically the case where NO_PREROLL
15433         elements are in the pipeline.
15435         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15436         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15437         (gst_base_sink_get_position):
15438         Post READY->PAUSED state change messages too.
15439         Fix bug where VOID was posted as pending state...
15441         * gst/gstbin.c: (gst_bin_recalc_state):
15442         use _element_continue_state() to continue the state change.
15444         * gst/gstelement.c: (gst_element_continue_state),
15445         (gst_element_commit_state), (gst_element_set_state_func),
15446         (gst_element_change_state), (gst_element_change_state_func):
15447         Lots of state change cleanups, assign the STATE_RETURN in
15448         a new continue_state() function that also propagates the
15449         last return value from a state change to the app.
15450         Update some debug statements with proper category.
15452 2005-11-03  Wim Taymans  <wim@fluendo.com>
15454         * docs/design/part-events.txt:
15455         * docs/design/part-gstpipeline.txt:
15456         * docs/design/part-messages.txt:
15457         * docs/design/part-overview.txt:
15458         * docs/design/part-seeking.txt:
15459         * docs/design/part-states.txt:
15460         * docs/design/part-trickmodes.txt:
15461         * docs/manual/advanced-position.xml:
15462         Small docs updates.
15464         * gst/gstobject.h:
15465         People think !! is ugly, this looks better.
15467         * gst/gstpad.c: (gst_pad_set_blocked_async):
15468         Remove !! since it's fixed elsewhere now.
15470 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15472         * gst/gstminiobject.h:
15473         * gst/gstobject.h:
15474           Add !! to _FLAG_IS_SET macros to make the result boolean.
15476 2005-11-03  Edward Hervey  <edward@fluendo.com>
15478         * gst/gstpad.c: (gst_pad_set_blocked_async):
15479         comparing a flag and a gboolean rarely returns coherent results...
15480         Added two characters (!!) to make that work correctly.
15481         
15482 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15484         * gst/gstbus.c: (gst_bus_class_init):
15485           Fix some typos.
15486           
15487         * gst/gstqueue.c: (gst_queue_loop):
15488           Don't assume a miniobject that isn't a buffer is an
15489           event (it could be that there is a refcounting
15490           problem somewhere and the pointer is stale and
15491           refers to an already destroyed miniobject).
15493 2005-11-03  Julien MOUTTE  <julien@moutte.net>
15495         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
15497 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15499         * docs/manual/advanced-position.xml:
15500           Update seek example and explanations to current 0.9 API.
15502         * gst/elements/gsttypefindelement.c:
15503         (gst_type_find_element_activate):
15504           Remove FIXME comment now that the found caps
15505           are unreffed.
15507 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15509         * gst/gstregistryxml.c: (load_feature):
15510           Add another GST_STR_NULL instance
15512 2005-11-02  Edward Hervey  <edward@fluendo.com>
15514         * gst/gstpad.c: (handle_pad_block):
15515         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15516         
15517 2005-11-02  Wim Taymans  <wim@fluendo.com>
15519         * gst/gstbin.c:
15520         Fix typo in docs.
15522         * gst/gstelement.c: (gst_element_commit_state):
15523         Remove unused value.
15525         * gst/gstiterator.c:
15526         Mention that the returned element is reffed in the docs.
15528 2005-11-02  Wim Taymans  <wim@fluendo.com>
15530         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15531         (gst_pad_push), (gst_pad_push_event):
15532         Unlock blocked pads when they are flushed.
15534 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15536         * docs/README:
15537         * docs/gst/gstreamer-sections.txt:
15538         * gst/gstbin.c:
15539           doc updates
15540         * gst/gstregistry.c: (gst_registry_scan_path_level):
15541           fix for a nasty little missed situation where an installed plug-in
15542           which was in the cache did not get overridden by an uninstalled one
15543           which was earlier in the plugin path because the newly created plugin
15544           for the uninstalled one (not in the registry) didn't get its
15545           ->registered set to TRUE
15547 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15549         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15550         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15551         (gst_collectpads_is_active), (gst_collectpads_collect),
15552         (gst_collectpads_collect_range), (gst_collectpads_start),
15553         (gst_collectpads_stop), (gst_collectpads_peek),
15554         (gst_collectpads_pop), (gst_collectpads_available),
15555         (gst_collectpads_read), (gst_collectpads_flush):
15556           Guard public API with assertions.
15557         
15558         * gst/gstpad.c:
15559           Fix docs for gst_pad_set_link_function().
15561 2005-11-02  Johan Dahlin  <johan@gnome.org>
15563         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
15564         Unref found_caps after we used it.
15566 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15568         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15569           Don't try to ref NULL.
15571 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15573         * win32/common/config.h.in:
15574           provide a GST_FUNCTION that just gives a string for now
15576 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15578         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15579         (gst_object_flags_get_type), (register_gst_bin_flags),
15580         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15581         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15582         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15583         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
15584         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15585         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15586         (gst_clock_flags_get_type), (register_gst_state),
15587         (gst_state_get_type), (register_gst_state_change_return),
15588         (gst_state_change_return_get_type), (register_gst_state_change),
15589         (gst_state_change_get_type), (register_gst_element_flags),
15590         (gst_element_flags_get_type), (register_gst_core_error),
15591         (gst_core_error_get_type), (register_gst_library_error),
15592         (gst_library_error_get_type), (register_gst_resource_error),
15593         (gst_resource_error_get_type), (register_gst_stream_error),
15594         (gst_stream_error_get_type), (register_gst_event_type),
15595         (gst_event_type_get_type), (register_gst_seek_type),
15596         (gst_seek_type_get_type), (register_gst_seek_flags),
15597         (gst_seek_flags_get_type), (register_gst_format),
15598         (gst_format_get_type), (register_gst_index_certainty),
15599         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15600         (gst_index_entry_type_get_type),
15601         (register_gst_index_lookup_method),
15602         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15603         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15604         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15605         (gst_index_flags_get_type), (register_gst_debug_level),
15606         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15607         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15608         (gst_iterator_result_get_type), (register_gst_iterator_item),
15609         (gst_iterator_item_get_type), (register_gst_message_type),
15610         (gst_message_type_get_type), (register_gst_mini_object_flags),
15611         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15612         (gst_pad_link_return_get_type), (register_gst_flow_return),
15613         (gst_flow_return_get_type), (register_gst_activate_mode),
15614         (gst_activate_mode_get_type), (register_gst_pad_direction),
15615         (gst_pad_direction_get_type), (register_gst_pad_flags),
15616         (gst_pad_flags_get_type), (register_gst_pad_presence),
15617         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15618         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15619         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15620         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15621         (gst_plugin_flags_get_type), (register_gst_rank),
15622         (gst_rank_get_type), (register_gst_query_type),
15623         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15624         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15625         (gst_tag_flag_get_type), (register_gst_task_state),
15626         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15627         (gst_alloc_trace_flags_get_type),
15628         (register_gst_type_find_probability),
15629         (gst_type_find_probability_get_type), (register_gst_uri_type),
15630         (gst_uri_type_get_type), (register_gst_parse_error),
15631         (gst_parse_error_get_type):
15632         * win32/common/gstversion.h:
15633           update win32 copies
15635 2005-11-01  Luca Ognibene  <luogni@tin.it>
15637         * gst/gst.c:
15638           fix docs. popt is dead, long live GOption.
15640 2005-10-31  Wim Taymans  <wim@fluendo.com>
15642         * gst/gstbuffer.h:
15643         Small doc fix.
15645 2005-10-31  Andy Wingo  <wingo@pobox.com>
15647         * Boo!
15649         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
15651         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
15652         need to serialize property notifications on GLib 2.8. GLib 2.6 has
15653         the possibility of deadlocks here if code calling notify() or
15654         set() has a lock that can be taken in another notify handler (ABBA
15655         with class lock and e.g. python GIL state lock).
15657 2005-10-28  Julien MOUTTE  <julien@moutte.net>
15659         * gst/gstbus.c: Doc updates.
15661 2005-10-28  Wim Taymans  <wim@fluendo.com>
15663         * docs/design/part-TODO.txt:
15664         * gst/gstiterator.c:
15665         * gst/gstsystemclock.c:
15666         * gst/gstsystemclock.h:
15667         Doc updates.
15669 2005-10-28  Edward Hervey  <edward@fluendo.com>
15671         * docs/gst/gstreamer-docs.sgml:
15672         * docs/gst/gstreamer-sections.txt:
15673         the GstURIType documentation page is private, it only defines GstURIType
15674         which should be defined in the GstURIHandler page
15675         
15676 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15678         * gst/gstbin.c: (gst_bin_class_init):
15679         * gst/gstbin.h:
15680         * gst/gstutils.c:
15681         Documentation updates.
15683 2005-10-28  Wim Taymans  <wim@fluendo.com>
15685         * docs/gst/gstreamer-sections.txt:
15686         * gst/gstclock.c:
15687         * gst/gstclock.h:
15688         Documented the clocks.
15690 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
15692         * docs/gst/gstreamer-sections.txt:
15693           move some macros to private sections
15694         * gst/gstminiobject.c:
15695         * gst/gstminiobject.h:
15696           add descriptions provided by ds and some more
15697         * gst/gstpad.h:
15698           mark macro as to be removed
15700 2005-10-28  Wim Taymans  <wim@fluendo.com>
15702         * docs/design/part-TODO.txt:
15703         Add an item to TODO.
15705         * gst/gstiterator.c: (gst_iterator_fold),
15706         (gst_iterator_find_custom):
15707         * gst/gstiterator.h:
15708         Add iterator docs.
15710 2005-10-28  Wim Taymans  <wim@fluendo.com>
15712         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15713         (gst_base_transform_init):
15714         Don't leak class.
15716         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
15717         An EOS event marks the queue as completely filled.
15719 2005-10-27  Wim Taymans  <wim@fluendo.com>
15721         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15722         (gst_base_sink_do_sync), (gst_base_sink_get_position):
15723         Some more debugging.
15725         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
15726         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
15727         (gst_base_transform_event), (gst_base_transform_getrange),
15728         (gst_base_transform_chain):
15729         * gst/base/gstbasetransform.h:
15730         Fix debugging,
15731         Protect transform and concurrent buffer alloc with a new lock.
15732         Try not to break ABI/API.
15734 2005-10-27  Wim Taymans  <wim@fluendo.com>
15736         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15737         (gst_base_src_init), (gst_base_src_query),
15738         (gst_base_src_default_newsegment),
15739         (gst_base_src_configure_segment), (gst_base_src_do_seek),
15740         (gst_base_src_send_event), (gst_base_src_event_handler),
15741         (gst_base_src_pad_get_range), (gst_base_src_loop),
15742         (gst_base_src_unlock), (gst_base_src_default_negotiate),
15743         (gst_base_src_start), (gst_base_src_deactivate),
15744         (gst_base_src_activate_push), (gst_base_src_change_state):
15745         Move some stuff around and cleanup things.
15747 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
15749         * gst/base/gstbasesrc.c: (gst_base_src_query):
15750           Add missing break statements.
15752 2005-10-27  Wim Taymans  <wim@fluendo.com>
15754         * check/gst/gstbin.c: (GST_START_TEST):
15755         An extra refcount is taken in basesrc.
15757         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
15758         (gst_base_src_get_range), (gst_base_src_pad_get_range),
15759         (gst_base_src_loop):
15760         Small cleanups, check for flushing after being unlocked from the 
15761         LIVE_LOCK. take refcounts correctly (not yet everywhere).
15762         Don't send out EOS when going to READY.
15764 2005-10-27  Wim Taymans  <wim@fluendo.com>
15766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15767         (gst_base_sink_get_position):
15768         Some more debug.
15770         * gst/gstbin.c: (message_check), (bin_replace_message),
15771         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15772         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15773         (bin_query_duration_init), (bin_query_duration_fold),
15774         (bin_query_duration_done), (bin_query_generic_fold),
15775         (gst_bin_query):
15776         * tools/gst-launch.c: (main):
15777         Remove old option.
15779 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
15781         * examples/controller/audio-example.c: (main):
15782         * examples/queue/queue.c: (event_loop):
15783         * gst/base/gstbasetransform.h:
15784         * gst/gstelement.c: (gst_element_send_event):
15785         * gst/gstevent.h:
15786         * gst/gstpad.c: (gst_pad_send_event):
15787           fixing examples
15788           fixing docs typos
15789           changing log priority in error situations
15791 2005-10-25  Wim Taymans  <wim@fluendo.com>
15793         * gst/gstbin.c: (message_check), (bin_replace_message),
15794         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15795         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15796         (bin_query_duration_init), (bin_query_duration_fold),
15797         (bin_query_duration_done), (bin_query_generic_fold),
15798         (gst_bin_query):
15799         Some doc and debug updates.
15800         Cache previously requested query DURATION for speed. invalidate
15801         cached duration if element posts a DURATION message.
15803 2005-10-25  Wim Taymans  <wim@fluendo.com>
15805         * docs/design/part-TODO.txt:
15806         Update TODO.
15808         * gst/gstbin.c: (message_check), (bin_replace_message),
15809         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15810         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15811         (bin_query_duration_init), (bin_query_duration_fold),
15812         (bin_query_duration_done), (bin_query_generic_fold),
15813         (gst_bin_query):
15814         Handle SEGMENT_START/DONE messages correctly.
15815         More evolved query algorithm that handles duration queries
15816         correctly.
15818         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
15819         (gst_element_get_state_func), (gst_element_abort_state),
15820         (gst_element_commit_state), (gst_element_lost_state):
15821         Some more debugging.
15823         * gst/gstmessage.h:
15824         Added doc.
15826 2005-10-25  Wim Taymans  <wim@fluendo.com>
15828         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15829         Don't use invalid stream_time.
15831         * gst/gstevent.c: (gst_event_new_newsegment):
15832         stream_time in newsegment cannot be undefined.
15834 2005-10-24  Wim Taymans  <wim@fluendo.com>
15836         * gst/gstbus.c:
15837         Doc fix.
15839         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15840         (gst_queue_loop):
15841         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
15843 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
15845         * docs/libs/tmpl/gstdparam.sgml:
15846         * docs/libs/tmpl/gstdplinint.sgml:
15847         * docs/libs/tmpl/gstdpman.sgml:
15848         * docs/libs/tmpl/gstdpsmooth.sgml:
15849         * docs/libs/tmpl/gstunitconvert.sgml:
15850           these are obsolete
15852 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15854         * configure.ac:
15855           back to HEAD
15857 === release 0.9.4 ===
15859 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15861         * configure.ac:
15862           releasing 0.9.4, "Tyrannosaurus Rex"
15864 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
15866         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
15867         (gst_file_sink_get_current_offset):
15868           Use fseeko() and ftello() if available. When falling back on
15869           lseek() to get the current offset, fflush() first to make sure
15870           everything is up-to-date and we get the right offset.
15872 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15875         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15876         * gst/gsterror.c: (_gst_stream_errors_init):
15877         * gst/gsterror.h:
15878         * gst/gstqueue.c: (gst_queue_loop):
15879         * po/POTFILES.in:
15880           remove prematurely added error category and clean up the instances
15882 2005-10-21  Wim Taymans  <wim@fluendo.com>
15884         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15885         (gst_base_sink_get_position), (gst_base_sink_query),
15886         (gst_base_sink_change_state):
15887         Simply set the right flag when going to playing, that's all
15888         we need to do instead of calling a function inside the object
15889         lock (that could take the lock as well and deadlock)
15891 2005-10-21  Wim Taymans  <wim@fluendo.com>
15893         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
15894         (gst_base_src_loop):
15895         Don't warn, the peer element knows what to do best when
15896         the seek failed, it might try something else.
15898 2005-10-21  Wim Taymans  <wim@fluendo.com>
15900         * gst/base/gstbasesrc.c: (gst_base_src_init),
15901         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15902         Fix seeking.
15904 2005-10-21  Wim Taymans  <wim@fluendo.com>
15906         * docs/design/part-segments.txt:
15907         More docs.
15909         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15910         Correctly set caps, even on the subbufer.
15912 2005-10-21  Wim Taymans  <wim@fluendo.com>
15914         * docs/gst/gstreamer-docs.sgml:
15915         * docs/gst/gstreamer-sections.txt:
15916         * gst/gstelement.h:
15917         * gst/gstevent.c:
15918         * gst/gstevent.h:
15919         * gst/gstmessage.h:
15920         * gst/gstpad.h:
15921         * gst/gstparse.h:
15922         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
15923         * gst/gsttask.h:
15924         * gst/gstutils.c:
15925         * gst/gstutils.h:
15926         And 2% more doc coverage.
15928 2005-10-21  Andy Wingo  <wingo@pobox.com>
15930         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
15931         position reporting.
15933 2005-10-20  Wim Taymans  <wim@fluendo.com>
15935         * gst/gsterror.c: (gst_error_get_message):
15936         * gst/gstparse.h:
15937         * gst/gstquery.h:
15938         * gst/gststructure.c:
15939         * gst/gsttrace.c:
15940         * gst/gstutils.c:
15941         More docs.
15943 2005-10-20  Wim Taymans  <wim@fluendo.com>
15945         * gst/gstbuffer.h:
15946         * gst/gstpad.c:
15947         * gst/gstparse.c:
15948         Another 1% more coverage.
15950 2005-10-20  Wim Taymans  <wim@fluendo.com>
15952         * docs/gst/gstreamer-sections.txt:
15953         * gst/gstelement.c: (gst_element_get_state_func),
15954         (gst_element_abort_state), (gst_element_commit_state),
15955         (gst_element_lost_state):
15956         * gst/gstevent.h:
15957         * gst/gstquery.c: (gst_query_set_position),
15958         (gst_query_parse_position), (gst_query_set_duration),
15959         (gst_query_parse_duration), (gst_query_new_convert):
15960         * gst/gstutils.c:
15961         Yay! 1% more docs coverage.
15963 2005-10-20  Wim Taymans  <wim@fluendo.com>
15965         * gst/gstpad.h:
15966         * gst/gstquery.c: (gst_query_set_position),
15967         (gst_query_parse_position), (gst_query_set_duration),
15968         (gst_query_parse_duration), (gst_query_new_convert):
15969         * gst/gstquery.h:
15970         * gst/gstutils.c: (gst_element_query_convert):
15971         * gst/gstutils.h:
15972         Docs and consistency fixes.
15974 2005-10-20  Wim Taymans  <wim@fluendo.com>
15976         * gst/gsttask.c:
15977         * gst/gsttask.h:
15978         More docs.
15980 2005-10-20  Wim Taymans  <wim@fluendo.com>
15982         * gst/gstbin.c: (message_check), (bin_replace_message),
15983         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15984         (update_degree), (gst_bin_sort_iterator_next),
15985         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
15986         Reworked the message handling a bit, cache the messages instead of
15987         only the senders. alows us to do more in the future.
15989 2005-10-20  Wim Taymans  <wim@fluendo.com>
15991         * docs/design/part-TODO.txt:
15992         Update TODO
15994         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
15995         (gst_base_sink_query):
15996         Don't use clock time to report position when in EOS.
15998 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
16000         * tools/gst-inspect.c: (print_interfaces),
16001         (print_element_properties_info), (print_element_info):
16002           Fix interface output with gst-inspect -a; don't print
16003           newlines after double/float properties.
16005 2005-10-20  Wim Taymans  <wim@fluendo.com>
16007         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16008         (gst_base_sink_query):
16009         Speed up current position calculation.
16011         * gst/base/gstbasesrc.c: (gst_base_src_query),
16012         (gst_base_src_default_newsegment):
16013         Correctly set stream position in newsegment.
16015         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16016         (update_degree), (gst_bin_sort_iterator_next),
16017         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16018         * gst/gstmessage.c: (gst_message_new_custom):
16019         Clean up debugging info
16021         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16022         (gst_queue_loop), (gst_queue_handle_src_query):
16023         Pause task faster.
16025 2005-10-19  Wim Taymans  <wim@fluendo.com>
16027         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16028         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16029         Fix query handling again.
16031 2005-10-19  Wim Taymans  <wim@fluendo.com>
16033         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16034         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16035         * gst/base/gstbasesrc.c: (gst_base_src_query):
16036         * gst/elements/gstfilesink.c: (gst_file_sink_query):
16037         * gst/elements/gsttypefindelement.c:
16038         (gst_type_find_handle_src_query), (find_element_get_length),
16039         (gst_type_find_element_activate):
16040         API change fix.
16042         * gst/gstquery.c: (gst_query_new_position),
16043         (gst_query_set_position), (gst_query_parse_position),
16044         (gst_query_new_duration), (gst_query_set_duration),
16045         (gst_query_parse_duration), (gst_query_set_segment),
16046         (gst_query_parse_segment):
16047         * gst/gstquery.h:
16048         Bundling query position/duration is not a good idea since duration
16049         does not change much and we don't want to recalculate it for every
16050         position query, so they are separated again..
16051         Base value in segment query is not needed.
16053         * gst/gstqueue.c: (gst_queue_handle_src_query):
16054         * gst/gstutils.c: (gst_element_query_position),
16055         (gst_element_query_duration), (gst_pad_query_position),
16056         (gst_pad_query_duration):
16057         * gst/gstutils.h:
16058         Updates for query API change.
16059         Added some docs here and there.
16061 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16063         * check/gst/gstbin.c: (GST_START_TEST):
16064         * check/gst/gstghostpad.c: (GST_START_TEST):
16065         * check/pipelines/cleanup.c: (GST_START_TEST):
16066           wait on thread to die so we can check refcount correctly
16068 2005-10-18  Wim Taymans  <wim@fluendo.com>
16070         * check/pipelines/stress.c: (GST_START_TEST):
16071         Make check a little more time consuming.
16073 2005-10-18  Wim Taymans  <wim@fluendo.com>
16075         * check/Makefile.am:
16076         * check/pipelines/stress.c: (GST_START_TEST),
16077         (simple_launch_lines_suite), (main):
16078         Small state change torture test.
16080         * docs/design/part-states.txt:
16081         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16082         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16083         (gst_base_sink_change_state):
16084         Never take state lock from streaming thread, clean up ugly
16085         hacks. Unfortunatly core does not yet support nice ways to
16086         async commit state.
16087         
16088         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16089         (bin_bus_handler):
16090         Start state recalc if a STATE_DIRTY message is posted, but only
16091         on the toplevel bin.
16093         * gst/gstelement.c: (gst_element_sync_state_with_parent),
16094         (gst_element_get_state_func), (gst_element_abort_state),
16095         (gst_element_commit_state), (gst_element_lost_state),
16096         (gst_element_set_state_func), (gst_element_change_state):
16097         * gst/gstelement.h:
16098         State variables are now protected with the LOCK, the state
16099         lock is only used to serialize _set_state().
16101 2005-10-18  Wim Taymans  <wim@fluendo.com>
16103         * check/gst/gstbin.c: (GST_START_TEST):
16104         * check/gst/gstmessage.c: (GST_START_TEST):
16105         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16106         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16107         (bin_bus_handler):
16108         * gst/gstelement.c: (gst_element_abort_state),
16109         (gst_element_commit_state), (gst_element_lost_state):
16110         * gst/gstmessage.c: (gst_message_new_state_changed),
16111         (gst_message_new_state_dirty), (gst_message_new_segment_start),
16112         (gst_message_new_segment_done), (gst_message_new_duration),
16113         (gst_message_parse_state_changed),
16114         (gst_message_parse_segment_start),
16115         (gst_message_parse_segment_done), (gst_message_parse_duration):
16116         * gst/gstmessage.h:
16117         * tools/gst-launch.c: (event_loop):
16118         Seriously, this is better than a previous commit as we only need
16119         to notify the fact that an element changed state in a streaming
16120         thread, marking the state of the parents dirty, hence the 
16121         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16122         message.
16124 2005-10-18  Wim Taymans  <wim@fluendo.com>
16126         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16127         (gst_bin_recalc_func):
16128         * gst/gstelement.c: (gst_element_set_clock),
16129         (gst_element_abort_state), (gst_element_lost_state):
16130         Cleanups, prepare for state change fixes.
16132 2005-10-18  Wim Taymans  <wim@fluendo.com>
16134         * gst/gstbin.h:
16135         * gst/gstelement.c: (gst_element_class_init),
16136         (gst_element_set_state), (gst_element_set_state_func):
16137         * gst/gstelement.h:
16138         Pending ABI changes.
16139         GThreadPool in GstBinClass to monitor async state changes.
16140         state_cookie in GstElement to detect concurrent gst/set state.
16141         set_state is now virtual too in case a very complicated element
16142         has to be constructed.
16144 2005-10-18  Wim Taymans  <wim@fluendo.com>
16146         * check/gst/gstbin.c: (GST_START_TEST):
16147         * check/gst/gstmessage.c: (GST_START_TEST):
16148         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16149         * gst/gstbin.c: (bin_bus_handler):
16150         * gst/gstelement.c: (gst_element_commit_state),
16151         (gst_element_lost_state):
16152         * gst/gstmessage.c: (gst_message_new_state_changed),
16153         (gst_message_new_segment_start), (gst_message_new_segment_done),
16154         (gst_message_new_duration), (gst_message_parse_state_changed),
16155         (gst_message_parse_segment_start),
16156         (gst_message_parse_segment_done), (gst_message_parse_duration):
16157         * gst/gstmessage.h:
16158         * tools/gst-launch.c: (event_loop):
16159         Make messages future proof.
16160         state-change gets a flag if it was a message comming from the
16161         streaming thread.
16162         segment-start/stop can also be specified in other formats.
16163         A message to notify an app that a pipeline changed playback 
16164         duration.
16165         Also fix a GstMessage leak in -launch
16167 2005-10-18  Andy Wingo  <wingo@pobox.com>
16169         * gst/gstelement.c (gst_element_dispose): More helpful message.
16171 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16173         reviewed by: <delete if not using a buddy>
16175         * common/gtk-doc.mak:
16177 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16179         * gst/gstregistry.c: (gst_registry_scan_path_level):
16180           unref a plug-in we get that was already initialized
16182 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
16184         * docs/gst/gstreamer-sections.txt:
16185         * docs/libs/gstreamer-libs-sections.txt:
16186         * gst/gstelement.h:
16187           add new api entries
16188           hide internal macro
16190 2005-10-17  Andy Wingo  <wingo@pobox.com>
16192         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16193         cleanup.
16195         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16197         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16199         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16200         (gst_element_get_state_func): Better debug message.
16201         (gst_element_commit_state): s/INFO/DEBUG/.
16202         (gst_element_lost_state, gst_element_change_state): 
16204         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16205         (gst_message_new_custom): s/INFO/LOG/.
16207 2005-10-17  Michael Smith <msmith@fluendo.com>
16209         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16210           Check if end time is valid using end time, not start time.
16212 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
16214         * check/gst-libs/controller.c: (GST_START_TEST),
16215         (gst_controller_suite):
16216         * libs/gst/controller/gstcontroller.c:
16217         (gst_controlled_property_set_interpolation_mode):
16218         * libs/gst/controller/gstcontroller.h:
16219         * libs/gst/controller/gstinterpolation.c:
16220         * testsuite/controller/.cvsignore:
16221         * testsuite/controller/Makefile.am:
16222         * testsuite/controller/interpolator.c:
16223           merge controller testsuites
16224           fix broken tests
16225           remove mem-chunk from docs
16227 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16229         * gst/gstmemchunk.c:
16230         * gst/gstmemchunk.h:
16231         * gst/gsttrashstack.c:
16232         * gst/gsttrashstack.h:
16233           out.  get out.  you're fired.  to the Attic !
16235 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16237         * gst/gstcaps.c: (gst_caps_intersect):
16238           fix signedness issues in a (hopefully) correct way
16239         * gst/gstelement.c: (gst_element_pads_activate):
16240           some debugging
16241         * gst/gstobject.c: (gst_object_set_parent):
16242           some debugging
16244 2005-10-17  Julien MOUTTE  <julien@moutte.net>
16246         * gst/gstvalue.h: Fix prototypes.
16248 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16250         * docs/gst/gstreamer-sections.txt:
16251         * gst/gst.c: (gst_version_string):
16252         * gst/gst.h:
16253         * gst/gstversion.h.in:
16254         * win32/common/libgstreamer.def:
16255           add gst_version_string ()
16257 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16259         * configure.ac:
16260           clean up further
16261         * gst/gst.c: (init_post):
16262         * win32/common/config.h.in:
16263           it's PLUGINDIR now
16264         * gst/gstcaps.c: (gst_caps_intersect):
16265           use gint64, the range could be bigger than a guint
16267 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16269         * gst/gstclock.h:
16270           document potential problem in 2038
16272 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16274         * gst/gstcaps.c: (gst_caps_intersect):
16275           Fix guint j diving under 0
16277 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16279         * configure.ac:
16280         * win32/common/config.h:
16281         * win32/common/config.h.in:
16282           check for process.h, declares getpid() on Windows
16283         * gst/gstinfo.c:
16284           include process.h if we have it
16285         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
16286         * gst/gstmemchunk.h:
16287           fix signedness issues
16288         * win32/common/libgstreamer.def:
16289           fix get_type's
16291 2005-10-16  Julien MOUTTE  <julien@moutte.net>
16293         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
16294         fix. Because of unsigned ints, caps intersection was going nuts and
16295         trying to access structures with G_MAXUINT index. That fixes
16296         videotestsrc ! ffmpegcolorspace ! fakesink
16297         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
16298         consistency.
16300 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16302         * configure.ac:
16303           use the gettext macro
16304         * gst/elements/gstelements.c:
16305         * gst/gst.c:
16306         * gst/indexers/gstindexers.c:
16307           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
16308         * win32/common/config.h:
16309           updated config.h
16310         * win32/common/config.h.in:
16311           add the template to generate config.h
16312         * win32/common/gstenumtypes.c:
16313         * win32/common/gstversion.h:
16314           updated copies
16316 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16318         * gst/gst.c: (gst_version):
16319         * gst/gstversion.h.in:
16320           add the nano
16322 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16324         * gst/gstevent.h:
16325           Oops, add missing closing bracket.
16327 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16329         * configure.ac:
16330           use common m4's for argument checking
16332 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16334         * docs/gst/gstreamer-sections.txt:
16335         * gst/gstevent.h:
16336           Add GST_EVENT_TYPE_NAME() macro.
16338 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16340         * gst/gstinfo.c:
16341         * gst/gstpluginfeature.c:
16342         * gst/gsttask.c:
16343           privatize more symbols
16345 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16347         * configure.ac:
16348           add srcdir, builddir includes to GST_ALL_CFLAGS, since
16349           everything that uses GStreamer API should have the includes
16351 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16353         * docs/gst/gstreamer-sections.txt:
16354         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
16355         * gst/gstvalue.h:
16356           give each value a _get_type, removes the DATA exports
16358 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16360         * gst/gst.c:
16361         * gst/gst.h:
16362           remove _gst_registry_auto_load, not used anymore
16363         * gst/gstbin.c: (gst_bin_get_type):
16364         * gst/gstbin.h:
16365         * gst/gstelement.c: (gst_element_get_type):
16366         * gst/gstelement.h:
16367         * gst/gstobject.c: (gst_object_get_type):
16368         * gst/gstobject.h:
16369         * gst/gstpad.c: (gst_pad_get_type):
16370         * gst/gstpad.h:
16371           make _get_type functions similar, fixes data export from library
16373 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16375         * configure.ac:
16376           correctly make conditionals
16377         * gst/elements/Makefile.am:
16378         * gst/elements/gstelements.c:
16379           fix typo causing fdsrc not to build
16381 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16383         * testsuite/Makefile.am:
16384         * testsuite/bytestream/.cvsignore:
16385         * testsuite/bytestream/Makefile.am:
16386         * testsuite/bytestream/filepadsink.c:
16387         * testsuite/bytestream/gstbstest.c:
16388         * testsuite/bytestream/test1.c:
16389         * testsuite/bytestream/testfile1:
16390         * testsuite/caps/normalisation.c:
16391         * testsuite/caps/random.c: (main):
16392         * testsuite/cleanup/.cvsignore:
16393         * testsuite/cleanup/Makefile.am:
16394         * testsuite/cleanup/cleanup1.c:
16395         * testsuite/cleanup/cleanup2.c:
16396         * testsuite/cleanup/cleanup3.c:
16397         * testsuite/cleanup/cleanup4.c:
16398         * testsuite/cleanup/cleanup5.c:
16399         * testsuite/controller/interpolator.c:
16400         * testsuite/debug/printf_extension.c: (main):
16401         * testsuite/elements/tee.c:
16402         * testsuite/negotiation/.cvsignore:
16403         * testsuite/negotiation/Makefile.am:
16404         * testsuite/negotiation/pad_link.c:
16405         * testsuite/pad/Makefile.am:
16406         * testsuite/pad/chainnopull.c:
16407         * testsuite/pad/getnopush.c:
16408         * testsuite/pad/link.c:
16409         * testsuite/refcounting/sched.c: (create_pipeline):
16410         * testsuite/registry/Makefile.am:
16411         * testsuite/registry/gst-print-formats.c:
16412         * testsuite/schedulers/.cvsignore:
16413         * testsuite/schedulers/142183-2.c:
16414         * testsuite/schedulers/142183.c:
16415         * testsuite/schedulers/143777-2.c:
16416         * testsuite/schedulers/143777.c:
16417         * testsuite/schedulers/147713.c:
16418         * testsuite/schedulers/147819.c:
16419         * testsuite/schedulers/147894-2.c:
16420         * testsuite/schedulers/147894.c:
16421         * testsuite/schedulers/Makefile.am:
16422         * testsuite/schedulers/group_link.c:
16423         * testsuite/schedulers/queue_link.c:
16424         * testsuite/schedulers/relink.c:
16425         * testsuite/schedulers/unlink.c:
16426         * testsuite/schedulers/unref.c:
16427         * testsuite/schedulers/useless_iteration.c:
16428         * testsuite/states/bin.c:
16429           clean out/remove some stuff from the testsuite directories
16431 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16433         * configure.ac:
16434           check for some headers
16435         * gst/elements/Makefile.am:
16436         * gst/elements/gstelements.c:
16437           don't compile fdsrc without sys/socket.h
16438         * gst/indexers/Makefile.am:
16439         * gst/indexers/gstindexers.c: (plugin_init):
16440           don't compile fileindex without mmap
16442 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16444         * configure.ac:
16445           reorganize
16446           clean up
16447           document more
16448           remove cruft
16449         * check/Makefile.am:
16450         * docs/gst/Makefile.am:
16451         * examples/helloworld/Makefile.am:
16452         * gst/Makefile.am:
16453         * gst/base/Makefile.am:
16454         * gst/check/Makefile.am:
16455         * gst/elements/Makefile.am:
16456         * gst/indexers/Makefile.am:
16457         * gst/parse/Makefile.am:
16458         * libs/gst/controller/Makefile.am:
16459         * libs/gst/dataprotocol/Makefile.am:
16460         * examples/helloworld/helloworld.c: (event_loop):
16461           compile fixes, though it's not being compiled currently
16463 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16465         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
16466           Add some simple tests for the new taglist date API.
16468 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16470         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
16471         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
16472           Beautify 'last-message' output: print 'none' for buffer timestamps
16473           and durations if none is set; improve alignment with next messages.
16475 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16477         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
16478         * gst/gstpluginfeature.h:
16479         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
16480         * gst/gstregistry.h:
16481         * docs/gst/gstreamer-sections.txt:
16482           Add new API to check plugin feature version requirements.
16484         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
16485           Some basic tests for the above.         
16487 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16489         * gst/gststructure.c: (gst_structure_to_string):
16490           guard against NULL printf - happens when for example
16491           a message structure with GstClock gets serialized
16493 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16495         * gst/base/gstcollectpads.c: (gst_collectpads_event):
16496           Fix presumable copy'n'pasto.
16498 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16500         * gst/elements/gstfakesrc.h:
16501         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
16502         * gst/elements/gsttypefindelement.c:
16503           fix some signedness
16504         * gst/elements/gstfilesink.c: (gst_file_sink_render):
16505           I wonder if this could actually write +2GB files before
16507 2005-10-13  Andy Wingo  <wingo@pobox.com>
16509         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16510         Fix Timmeke Waymans bug.
16511         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16512         string of the proper length to gst_caps_from_string. There's a
16513         potential for, before this fix, that this could cause someone
16514         connecting over the network to cause a segfault if the payload is
16515         not NUL-terminated.
16517 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16519         * docs/design/draft-push-pull.txt:
16520         * docs/design/part-overview.txt:
16521         * docs/random/TODO-pre-0.9:
16522         * docs/random/old/ChangeLog.gstreamer:
16523         * gst/base/gstpushsrc.c:
16524         * gst/gstclock.c:
16525           fixed typos
16527 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16529         * gst/glib-compat.c: (gst_flags_get_first_value):
16530         * gst/glib-compat.h:
16531         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16532         (gst_value_compare_double), (gst_value_serialize_flags):
16533           GLib 2.6 g_flags_get_first_value has a bug that triggers an
16534           infinite loop
16536 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16539         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16540           fix up debugging
16541         * tools/gst-launch.c: (event_loop):
16542           print out clock nicely
16544 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16546         * docs/gst/gstreamer-sections.txt:
16547         * gst/gsttaglist.h:
16548         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16549         (gst_tag_list_get_date_index):
16550           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16551           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16553 2005-10-13  Julien MOUTTE  <julien@moutte.net>
16555         * gst/base/gstcollectpads.c: (gst_collectpads_event),
16556         (gst_collectpads_chain):
16557         * gst/base/gstcollectpads.h: Handle newsegment and store informations
16558         in CollectData.
16560 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16562         * docs/gst/gstreamer-sections.txt:
16563         * gst/gst.c:
16564         * gst/gsterror.h:
16565         * tools/gst-inspect.c: (main):
16566         * tools/gst-launch.c: (main):
16567         * tools/gst-run.c: (main):
16568         * tools/gst-xmlinspect.c: (main):
16569           fix GOption context leaks
16570           doc fixes
16572 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16574         * gst/gstbus.c:
16575           use HAVE_UNISTD_H
16576         * win32/common/config.h:
16577           update config
16578         * win32/vs6/grammar.dsp:
16579         * win32/vs6/libgstelements.dsp:
16580         * win32/vs6/libgstreamer.dsp:
16581           update vs6 files
16583 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16586         * gst/base/gstbasesrc.c: (gst_base_src_query):
16587           fix more guint64<->gdouble conversions
16589 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16591         * Makefile.am:
16592           add win32-update target
16593         * win32/common/gstconfig.h:
16594         * win32/common/gstenumtypes.c:
16595         * win32/common/gstenumtypes.h:
16596         * win32/common/gstversion.h:
16597           add files that visual studio can't generate
16599 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16601         * Makefile.am:
16602           add a win32-update target
16603         * configure.ac:
16605 2005-10-12  Wim Taymans  <wim@fluendo.com>
16607         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16608         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
16609         * gst/gstelement.c: (gst_element_commit_state),
16610         (gst_element_set_state):
16611         Protect flags with proper lock.
16612         unref provided cached clock in dispose.
16614 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16616         * gst/gst.c:
16617         * gst/gstminiobject.h:
16618         * gst/gstpad.h:
16619         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
16620           removed unused flags from miniobject
16621           doc fixes
16623 2005-10-12  Wim Taymans  <wim@fluendo.com>
16625         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16626         (gst_file_sink_event), (gst_file_sink_render):
16627         Flush before seeking.
16629 2005-10-12  Andy Wingo  <wingo@pobox.com>
16631         * gst/gst.c (gst_init_check): Ignore unknown options, as has
16632         always been the case.
16634 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16636         * check/gst/gstbin.c: (GST_START_TEST):
16637         * docs/gst/gstreamer-sections.txt:
16638         * gst/base/gstbasesink.c: (gst_base_sink_init):
16639         * gst/base/gstbasesrc.c: (gst_base_src_init),
16640         (gst_base_src_get_range), (gst_base_src_check_get_range),
16641         (gst_base_src_start), (gst_base_src_stop):
16642         * gst/base/gstbasesrc.h:
16643         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
16644         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16645         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
16646         (bin_bus_handler):
16647         * gst/gstbin.h:
16648         * gst/gstbuffer.h:
16649         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
16650         * gst/gstbus.h:
16651         * gst/gstelement.c: (gst_element_is_locked_state),
16652         (gst_element_set_locked_state), (gst_element_commit_state),
16653         (gst_element_set_state):
16654         * gst/gstelement.h:
16655         * gst/gstindex.c: (gst_index_init):
16656         * gst/gstindex.h:
16657         * gst/gstminiobject.h:
16658         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
16659         (gst_object_set_parent):
16660         * gst/gstobject.h:
16661         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
16662         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
16663         * gst/gstpad.h:
16664         * gst/gstpadtemplate.h:
16665         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
16666         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16667         * gst/gstpipeline.h:
16668         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16669         (gst_file_index_commit):
16670         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
16671         * testsuite/pad/link.c: (gst_test_src_init),
16672         (gst_test_filter_init), (gst_test_sink_init):
16673         * testsuite/states/locked.c: (main):
16674           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
16675           moved bitshift from macro to enum definition
16677 2005-10-12  Wim Taymans  <wim@fluendo.com>
16679         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
16680         * gst/elements/gstfilesink.c: (gst_file_sink_event),
16681         (gst_file_sink_render):
16682         Some more debugging info.
16684 2005-10-12  Wim Taymans  <wim@fluendo.com>
16686         * docs/design/part-states.txt:
16687         * tools/gst-launch.c: (main):
16688         Some doc updates.
16689         Revert non-intentional change.
16691 2005-10-12  Wim Taymans  <wim@fluendo.com>
16693         * check/gst/gstbin.c: (GST_START_TEST):
16694         * check/gst/gstelement.c: (GST_START_TEST):
16695         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
16696         * check/gst/gstghostpad.c: (GST_START_TEST):
16697         * check/gst/gstpipeline.c: (GST_START_TEST):
16698         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16699         * check/states/sinks.c: (GST_START_TEST):
16700         * gst/elements/gsttypefindelement.c: (stop_typefinding):
16701         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16702         (gst_bin_remove_func), (gst_bin_get_state_func),
16703         (gst_bin_recalc_state), (gst_bin_change_state_func),
16704         (bin_bus_handler):
16705         * gst/gstelement.c: (gst_element_get_state_func),
16706         (gst_element_get_state), (gst_element_abort_state),
16707         (gst_element_commit_state), (gst_element_set_state),
16708         (gst_element_change_state), (gst_element_change_state_func):
16709         * gst/gstelement.h:
16710         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
16711         (gst_pipeline_provide_clock_func):
16712         * gst/gstutils.c: (gst_element_link_pads_filtered):
16713         * tools/gst-launch.c: (main):
16714         * tools/gst-typefind.c: (main):
16715         Use GstClockTime in _get_state() instead of GTimeVal.
16716         Remove old code in gstutils.c
16718 2005-10-12  Andy Wingo  <wingo@pobox.com>
16720         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
16721         removed.
16723         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
16724         there is no task. Shouldn't affect any code, as nothing in our
16725         plugins checks this return value.
16726         (gst_pad_stop_task): Also take the stream lock if the pad has no
16727         task. Docs updated.
16729 2005-10-12  Wim Taymans  <wim@fluendo.com>
16731         * gst/gstpad.c: (pre_activate), (post_activate),
16732         (gst_pad_activate_pull), (gst_pad_activate_push):
16733         Cleanup activation code. Reset old state if
16734         activation failed.
16736 2005-10-12  Wim Taymans  <wim@fluendo.com>
16738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16739         (gst_base_sink_change_state):
16740         No need to prerol after receiving EOS.
16742         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
16743         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
16744         * gst/elements/gstidentity.c: (gst_identity_event):
16745         Print events more verbosely.
16747 2005-10-12  Wim Taymans  <wim@fluendo.com>
16749         * check/Makefile.am:
16750         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16751         * check/states/sinks2.c:
16752         Moved sinks2 testcode in sinks check.
16754         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16755         (gst_bin_remove_func), (gst_bin_recalc_state),
16756         (gst_bin_change_state_func), (bin_bus_handler):
16757         Fix potential race condition when _get_state() iterated over an
16758         ASYNC element right before it posted a state completion.
16760         * gst/gstclock.h:
16761         Do proper cast here.
16763         * gst/gstevent.c: (gst_event_new_newsegment),
16764         (gst_event_parse_newsegment):
16765         A playback rate of 0.0 is not allowed.
16767 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16769         * win32/common/config.h:
16770         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
16771         (_trewinddir), (_ttelldir), (_tseekdir):
16772         * win32/common/dirent.h:
16773         * win32/common/gtchar.h:
16774         * win32/common/libgstbase.def:
16775         * win32/common/libgstreamer.def:
16776         * win32/vs6/grammar.dsp:
16777         * win32/vs6/gst_inspect.dsp:
16778         * win32/vs6/gst_launch.dsp:
16779         * win32/vs6/gstreamer.dsw:
16780         * win32/vs6/libgstbase.dsp:
16781         * win32/vs6/libgstelements.dsp:
16782         * win32/vs6/libgstreamer.dsp:
16783           Visual Studio 6 project files, and a new common directory.
16784           Phear.
16786 2005-10-11  Wim Taymans  <wim@fluendo.com>
16788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16789         (gst_base_sink_do_sync), (gst_base_sink_query),
16790         (gst_base_sink_change_state):
16791         * gst/base/gstbasesink.h:
16792         Correctly parse newsegment info.
16794 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16796         * gst/gst.c: (init_post):
16797           split plugin paths correctly
16799 2005-10-11  Wim Taymans  <wim@fluendo.com>
16801         * check/gst/gstevent.c: (GST_START_TEST):
16802         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16803         (gst_base_sink_change_state):
16804         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
16805         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16806         * gst/elements/gstfilesink.c: (gst_file_sink_event):
16807         * gst/gstevent.c: (gst_event_new_newsegment),
16808         (gst_event_parse_newsegment):
16809         * gst/gstevent.h:
16810         Added extra flag to newsegment for future API freeze.
16811         Updated check and base elements.
16813 2005-10-11  Julien MOUTTE  <julien@moutte.net>
16815         * gst/base/gstcollectpads.c: (gst_collectpads_init),
16816         (gst_collectpads_add_pad), (gst_collectpads_pop),
16817         (gst_collectpads_event), (gst_collectpads_chain):
16818         * gst/base/gstcollectpads.h: Handle EOS correctly.
16820 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16822         * tools/gst-launch.c: (main):
16823           more null protecting
16825 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16827         * gst/gst-i18n-lib.h:
16828           check for ENABLE_NLS, not GETTEXT_PACKAGE
16829         * gst/gstregistry.c: (gst_registry_add_plugin),
16830         (gst_registry_scan_path_level),
16831         (_gst_registry_remove_cache_plugins):
16832           protect possibly NULL strings
16833         * gst/parse/types.h:
16834           config.h already included before
16835         * tools/gst-inspect.c: (main):
16836           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
16837           check for ENABLE_NLS, not GETTEXT_PACKAGE
16838         * tools/gst-launch.c: (main):
16839           check for ENABLE_NLS, not GETTEXT_PACKAGE
16841 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16843         * configure.ac:
16844           if we don't have glib, fail before testing 2.8
16845         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
16846           fix a leak, should fix plugins-base testsuite
16848 2005-10-11  Andy Wingo  <wingo@pobox.com>
16850         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
16851         take the mode we're going to as an arg. Go head and set the mode
16852         and flushing flags now, so that if the activate function starts a
16853         thread all the flags will be in the right state.
16854         (post_activate): Renamed also. Just handle making sure streaming
16855         finishes for the deactivation case, and setting the deactivated
16856         mode.
16857         (gst_pad_set_active): Complain loudly if deactivation fails.
16858         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
16859         (gst_pad_activate_push): Adapt to pre/post_activate changes,
16860         remove the terrible hack.
16862 2005-10-11  Wim Taymans  <wim@fluendo.com>
16864         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
16865         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
16866         (gst_bin_recalc_state), (gst_bin_change_state_func),
16867         (gst_bin_dispose), (bin_bus_handler):
16868         * gst/gstbin.h:
16869         Prepare to make current EOS message queue more generic.
16870         Fix some typos.
16872         * gst/gstevent.c: (gst_event_new_newsegment),
16873         (gst_event_parse_newsegment):
16874         * gst/gstevent.h:
16875         Rename base to stream_time.
16877         * gst/gstmessage.h:
16878         Fix typo in docs.
16880 2005-10-11  Wim Taymans  <wim@fluendo.com>
16882         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
16883         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
16884         (gst_bin_change_state_func), (bin_bus_handler):
16885         * gst/gstbin.h:
16886         Work on proper clock selection.
16888 2005-10-11  Edward Hervey  <edward@fluendo.com>
16890         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
16891         * libs/gst/controller/gstcontroller.h:
16892         Added GList* version of _remove_properties() in order to be able to wrap
16893         it in bindings.
16895 2005-10-11  Wim Taymans  <wim@fluendo.com>
16897         * docs/design/part-states.txt:
16898         Some more docs.
16900         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
16901         (gst_bin_change_state_func), (bin_bus_handler):
16902         Doc updates. Don't distribute the same clock over and over again.
16904         * gst/gstclock.c:
16905         * gst/gstclock.h:
16906         Doc updates.
16908         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
16909         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
16910         (gst_pad_send_event):
16911         * gst/gstpad.h:
16912         Make probe emission threadsafe again.
16913         Register quarks and move _get_name() from utils.
16914         Doc updates.
16916         * gst/gstpipeline.c: (gst_pipeline_class_init),
16917         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
16918         Only redistribute the clock of it changed.
16920         * gst/gstsystemclock.h:
16921         Doc updates. 
16923         * gst/gstutils.c:
16924         * gst/gstutils.h:
16925         Moved the _flow_get_name() to GstPad.
16927 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16929         * check/gst-libs/gdp.c: (GST_START_TEST):
16930         * check/gst/gstcaps.c: (GST_START_TEST):
16931         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
16932         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
16933         (gst_dp_packet_from_caps):
16934           fix more valgrind warnings before turning up the heat
16936 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16938         * gst/parse/grammar.y:
16939           some cleanup before the hacking
16941 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16943         * gst/base/gstbasesrc.c: (gst_base_src_query):
16944           use conversions
16945         * gst/gstutils.c: (gst_guint64_to_gdouble),
16946         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
16947         * gst/gstutils.h:
16948           externalize, basesrc uses it
16949           obviously the implementation needs testing
16951 2005-10-10  Wim Taymans  <wim@fluendo.com>
16953         * tests/sched/Makefile.am:
16954         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
16955         (make_pipeline3), (make_pipeline4), (print_elem), (main):
16957 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16959         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
16960           apparently converting from guint64 to double is not implemented
16961           on MSVC
16963 2005-10-10  Wim Taymans  <wim@fluendo.com>
16965         * check/Makefile.am:
16966         * check/generic/states.c: (GST_START_TEST):
16967         * check/gst/gstbin.c: (GST_START_TEST):
16968         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16969         * check/states/sinks.c: (GST_START_TEST):
16970         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
16971         (main):
16972         Check fixes, use API as stated in design docs, remove hacks.
16974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16975         (gst_base_sink_change_state):
16976         Catch stopping our task while we're shutting down.
16978         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
16979         (gst_bin_remove_func), (gst_bin_get_state_func),
16980         (gst_bin_recalc_state), (gst_bin_change_state_func),
16981         (bin_bus_handler):
16982         * gst/gstbin.h:
16983         * gst/gstelement.c: (gst_element_init),
16984         (gst_element_get_state_func), (gst_element_abort_state),
16985         (gst_element_commit_state), (gst_element_lost_state),
16986         (gst_element_set_state), (gst_element_change_state),
16987         (gst_element_change_state_func):
16988         * gst/gstelement.h:
16989         New state change algorithm (see #318116)
16991         * gst/gstpipeline.c: (gst_pipeline_class_init),
16992         (gst_pipeline_init), (gst_pipeline_set_property),
16993         (gst_pipeline_get_property), (do_pipeline_seek),
16994         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
16995         * gst/gstpipeline.h:
16996         Remove crude state change hacks.
16998         * gst/gstutils.h:
16999         Remove crude hacks.
17001         * tools/gst-launch.c: (main):
17002         Fixes for state change. Needs some more work to fully use the
17003         new stuff.
17005 2005-10-10  Andy Wingo  <wingo@pobox.com>
17007         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17009         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17010         this flag, but it's not even in GLib 2.6. Odd. Hack around the
17011         issue.
17013 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17015         * gst/gstiterator.c: (gst_iterator_new):
17016           Fix my previous commit: GTypes passed to gst_iterator_new()
17017           can be fundamental types.
17019 2005-10-10  Wim Taymans  <wim@fluendo.com>
17021         * gst/gstelement.c: (gst_element_iterate_pad_list),
17022         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17023         (gst_element_iterate_sink_pads):
17024         Use src/sink pads lists for the respective iterators instead
17025         of filtering.
17027 2005-10-10  Andy Wingo  <wingo@pobox.com>
17029         Merged in popt removal + GOption addition patch from Ronald, bug
17030         #169772.
17032         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17033         GstElement macros around, remove popt-related symbols, add goption
17034         stuff.
17036         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17037         
17038         * docs/gst/Makefile.am:
17039         * docs/libs/Makefile.am: No POPT_CFLAGS.
17040         
17041         * examples/manual/Makefile.am:
17042         * docs/manual/basics-init.xml: Doc updates with an example.
17043         
17044         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17045         (gst_init), (parse_one_option), (parse_goption_arg):
17046         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17047         bit of hand merging and debugging to get the GOption stuff working
17048         tho.
17049         
17050         * tests/Makefile.am:
17051         * tools/Makefile.am:
17052         * tools/gst-inspect.c: (main):
17053         * tools/gst-launch.c: (main):
17054         * tools/gst-run.c: (main):
17055         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17057 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17059         * gst/gstiterator.c: (gst_iterator_new):
17060           Add assertions to make sure passed GType is likely to really
17061           be a GType (as the compiler won't catch it if the size and
17062           GType arguments get mixed up, see #318447).
17064 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
17066         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17068         * gst/gstbin.c: (gst_bin_iterate_sorted):
17069           Pass GType and size arguments to gst_iterator_new() in the right
17070           order (maybe we should make _new() take the GType as first argument
17071           just like _new_list()?) (#318447).
17072           
17074 2005-10-10  Wim Taymans  <wim@fluendo.com>
17076         * gst/gstelement.c: (gst_element_finalize):
17077         And free the GStaticRecMutex too
17079 2005-10-10  Andy Wingo  <wingo@pobox.com>
17081         * gst/gstelement.c (gst_element_init, gst_element_finalize):
17082         Allocate and free the mutex properly.
17084         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17085         New macros.
17086         (GstElement): The state_lock is now recursive. Rebuild your
17087         plugins, suckers. Old macros adapted.
17089         * docs/gst/gstreamer-sections.txt: Doc updates.
17091         * gst/gstutils.h:
17092         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
17093         (g_static_rec_cond_wait): Ported from state changes patch, while
17094         we wait on bug #317802 to be solved in a well-distributed GLib.
17096         * gst/gstelement.c (gst_element_change_state_func): Renamed from
17097         gst_element_change_state, variable name changes.
17098         (gst_element_change_state): Split out of gst_element_set_state in
17099         preparation for the state change merge. Doesn't pay attention to
17100         the 'transition' argument.
17101         (gst_element_set_state): Updates, hopefully purely cosmetic.
17102         (gst_element_sync_state_with_parent): MT-safety. Ported from the
17103         state change patch.
17104         (gst_element_get_state_func): Renamed from get_state, cosmetic
17105         changes.
17107 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17109         * gst/elements/gstelements.c:
17110         * win32/GStreamer.vcproj:
17111         * win32/config.h:
17112         * win32/dirent.c: (_tseekdir):
17113         * win32/gst-inspect.vcproj:
17114         * win32/gst-launch.vcproj:
17115         * win32/gstconfig.h:
17116         * win32/gstelements.vcproj:
17117         * win32/gstenumtypes.c: (gst_object_flags_get_type):
17118         * win32/gstreamer.def:
17119         * win32/msvc71.sln:
17120           updates for the win32 build (patch from Sebastien Moutte)
17122 2005-10-10  Andy Wingo  <wingo@pobox.com>
17124         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17125         gst_bin_get_state, cleaned up (but no logic changes).
17126         (bin_element_is_sink): Comment updates.
17127         (sink_iterator_filter): Remove needless cast.
17128         (gst_bin_iterate_sinks): Doc update.
17129         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17130         cleaned up (but no logic changes).
17132         * check/states/sinks.c (test_src_sink): Cleanups from the state
17133         change patch.
17134         (test_livesrc_sink): Sync on the state.
17136         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17137         the state change patch.
17139         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17140         change patch.
17142         * check/gst/gstbin.c: Merge in some style fixes and additional
17143         checks from Wim's state change patch.
17145 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17147         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17148         (gst_type_find_helper):
17149           Check whether we have the requested data already in our list of
17150           cached buffers before pulling a new buffer; also make the buffer
17151           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17153 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17155         * gst/gstcaps.c:
17156         * gst/gstevent.c:
17157           doc updates
17158         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17159           don't use long long, it's not portable.  Replacing with
17160           gint64 seems to work; let's hope no skeletons fall out of the closet.
17162 2005-10-10  Andy Wingo  <wingo@pobox.com>
17164         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17166 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
17168         * docs/gst/gstreamer-sections.txt:
17169         * gst/gstevent.c:
17170         * gst/gstevent.h:
17171         * gst/gstinfo.c:
17172         * gst/gstinfo.h:
17173         * gst/gstmessage.c: (gst_message_parse_state_changed):
17174         * gst/gstpad.c:
17175         * gst/gstpad.h:
17176           more docs, fix compilation
17178 2005-10-09  Philippe Khalaf <burger@speedy.org>
17179         * gst/gstmessage.c:
17180           Fixed a few forgotten variables on previous commit
17182 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
17184         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17185           Fix evil typefind crasher: getrange() might return a short
17186           buffer at the end of a file, but gst_type_find_peek() must
17187           either return the full data as requested or NULL, but
17188           never a short buffer.
17190 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17192         * gst/gstmessage.c: (gst_message_new_state_changed),
17193         (gst_message_parse_state_changed):
17194         * gst/gstmessage.h:
17195           don't use "new", it's a C++ keyword
17197 2005-10-08  Wim Taymans  <wim@fluendo.com>
17199         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17200         * gst/gstelement.c: (gst_element_post_message):
17201         * gst/gstpipeline.c: (gst_pipeline_change_state):
17202         Small docs and debug updates.
17204 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17206         * docs/gst/gstreamer-sections.txt:
17207         * gst/gstelementfactory.c:
17208         * gst/gstevent.c:
17209         * gst/gsttaglist.c:
17210           more docs
17212 2005-10-08  Wim Taymans  <wim@fluendo.com>
17214         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17215         (gst_bin_dispose), (bin_bus_handler):
17216         Fix typos, add comments.
17217         Clear EOS list when going to PAUSED from any direction and do it
17218         in a threadsafe way.
17219         Get base time in a threadsafe way too.
17220         Fix confusing debug in the change_state function.
17221         Various other small cleanups.
17222         
17223         * gst/gstelement.c: (gst_element_post_message):
17224         Fix very verbose bus posting code.
17226         * gst/gstpipeline.c: (gst_pipeline_class_init),
17227         (gst_pipeline_set_property), (gst_pipeline_get_property),
17228         (gst_pipeline_change_state):
17229         Small ARG_ -> PROP_ cleanup
17231 2005-10-08  Wim Taymans  <wim@fluendo.com>
17233         * gst/gstbin.c: (is_eos), (bin_bus_handler):
17234         Do a less CPU demanding EOS check because we can.
17236 2005-10-08  Wim Taymans  <wim@fluendo.com>
17238         * libs/gst/dataprotocol/dataprotocol.c:
17239         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17240         (gst_dp_packet_from_event):
17241         * libs/gst/dataprotocol/dataprotocol.h:
17242         * libs/gst/dataprotocol/dp-private.h:
17243         It's about time we bump the version number.
17244         Since event types don't fit in the guint8 anymore describing
17245         the payload type, make payload type 16 bits wide.
17247 2005-10-08  Wim Taymans  <wim@fluendo.com>
17249         * docs/design/part-TODO.txt:
17250         * docs/design/part-clocks.txt:
17251         * docs/design/part-events.txt:
17252         * docs/design/part-gstbin.txt:
17253         * docs/design/part-gstelement.txt:
17254         * docs/design/part-gstpipeline.txt:
17255         * docs/design/part-live-source.txt:
17256         * docs/design/part-messages.txt:
17257         * docs/design/part-overview.txt:
17258         * docs/design/part-states.txt:
17259         Many doc updates.
17261 2005-10-08  Wim Taymans  <wim@fluendo.com>
17263         * gst/gstevent.c:
17264         * gst/gstevent.h:
17265         Fix event quark registration.
17266         Add some space between events so we can insert them in the
17267         right groups.
17269 2005-10-08  Wim Taymans  <wim@fluendo.com>
17271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17272         (gst_base_sink_handle_buffer):
17273         Better log message.
17275         * gst/gstbus.h:
17276         * gst/gstelement.h:
17277         More docs.
17279         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17280         (gst_queue_set_property), (gst_queue_get_property):
17281         * gst/gstqueue.h:
17282         Remove old unused properties.
17284 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17285         * docs/gst/gstreamer-sections.txt:
17286         * gst/gstmessage.c:
17287         * gst/gstmessage.h:
17288         * gst/gstminiobject.c:
17289         * gst/gstminiobject.h:
17290         * gst/gstobject.h:
17291         * gst/gstpad.h:
17292         * gst/gstutils.h:
17293           lots of new docs and doc fixes
17295 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17297         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
17298         * gst/gstplugin.h:
17299         * gst/gstregistry.c: (gst_registry_lookup_locked),
17300         (gst_registry_scan_path_level):
17301         * gst/gstregistryxml.c: (load_plugin):
17302           Only ever load one plugin for a given plugin basename.
17303           This ensures correct overriding of GST_PLUGIN_PATH over
17304           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
17305           system installed plugins.
17307 2005-10-08  Wim Taymans  <wim@fluendo.com>
17309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17310         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
17311         Prepare for doing QOS.
17313 2005-10-08  Wim Taymans  <wim@fluendo.com>
17315         * check/gst/gstbin.c: (GST_START_TEST):
17316         * check/pipelines/cleanup.c: (GST_START_TEST):
17317         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17318         Allow new clock message too.
17320 2005-10-08  Wim Taymans  <wim@fluendo.com>
17322         * gst/gstmessage.c: (gst_message_new_error),
17323         (gst_message_new_warning), (gst_message_new_tag),
17324         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17325         (gst_message_new_clock_lost), (gst_message_new_new_clock),
17326         (gst_message_new_segment_start), (gst_message_new_segment_done),
17327         (gst_message_parse_state_changed),
17328         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
17329         (gst_message_parse_new_clock):
17330         * gst/gstmessage.h:
17331         Also carry the clock in question.
17333 2005-10-08  Wim Taymans  <wim@fluendo.com>
17335         * gst/gstmessage.c: (gst_message_new_custom),
17336         (gst_message_new_eos), (gst_message_new_error),
17337         (gst_message_new_warning), (gst_message_new_tag),
17338         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17339         (gst_message_new_new_clock), (gst_message_new_segment_start),
17340         (gst_message_new_segment_done), (gst_message_parse_state_changed),
17341         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
17342         * gst/gstmessage.h:
17343         Clean up.
17344         Added clock related messages.
17346         * gst/gstpipeline.c: (gst_pipeline_change_state):
17347         Post message when the clock changed.
17349         * tools/gst-launch.c: (event_loop):
17350         Print new clock.
17352 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
17354         * tools/gst-inspect.c: (print_element_properties_info):
17355           Can't pass NULL strings to g_print() on windows.
17357 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17359         * docs/Makefile.am:
17360         * docs/gst/Makefile.am:
17361         * docs/gst/gstreamer-docs.sgml:
17362         * docs/gst/running.xml:
17363         * docs/version.entities.in:
17364           add a chapter on running GStreamer.
17365           document GST_DEBUG and GST_PLUGIN* env vars
17367 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17369         * Makefile.am:
17370           remove include dir
17371         * configure.ac:
17372           remove PLUGINS_BUILDDIR stuff
17373         * gst/gst.c: (init_post):
17374           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
17375         * idiottest.mak:
17376           remove, it was condescending and not needed
17378 2005-10-08  Wim Taymans  <wim@fluendo.com>
17380         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
17381         (gst_base_sink_handle_object), (gst_base_sink_event),
17382         (gst_base_sink_wait), (gst_base_sink_handle_event),
17383         (gst_base_sink_change_state):
17384         * gst/base/gstbasesink.h:
17385         Repost EOS message while going to PLAYING if still EOS.
17386         Make sure that when receiving a FLUSH_START we don't attempt
17387         to sync on the clock anymore.
17389 2005-10-08  Wim Taymans  <wim@fluendo.com>
17391         * tools/gst-launch.c: (event_loop):
17392         Better message printout.
17394 2005-10-08  Wim Taymans  <wim@fluendo.com>
17396         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
17397         (gst_bin_child_proxy_get_children_count):
17398         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17399         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
17400         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
17401         (gst_child_proxy_set_valist):
17402         * gst/parse/grammar.y:
17403         Make ChildProxy threadsafe and fix mem leaks.
17405 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17407         * gst/gst.c: (init_post):
17408           debug the GST_PLUGIN_ env vars
17410 2005-10-08  Wim Taymans  <wim@fluendo.com>
17412         * check/gst/gstbin.c: (GST_START_TEST):
17413         * check/gst/gstmessage.c: (GST_START_TEST):
17414         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17415         * gst/gstelement.c: (gst_element_commit_state),
17416         (gst_element_lost_state):
17417         * gst/gstmessage.c: (gst_message_new_state_changed),
17418         (gst_message_parse_state_changed):
17419         * gst/gstmessage.h:
17420         * tools/gst-launch.c: (event_loop):
17421         Added extra field to STATE_CHANGE message with the pending
17422         state, which will be different from the new state soon.
17424 2005-10-08  Wim Taymans  <wim@fluendo.com>
17426         * gst/gstbus.c: (gst_bus_pop):
17427         * gst/gstclock.c:
17428         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17429         Small cleanups and doc updates.
17431 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17433         * gst/gst.c: (init_pre):
17434         * gst/gstbin.c: (gst_bin_add_func):
17435           log distributing clocks and base time
17436         * gst/gstregistry.c: (gst_registry_add_plugin),
17437         (gst_registry_scan_path_level), (gst_registry_scan_path):
17438           clean up the debugging output a little
17439         * gst/gstutils.c: (gst_element_state_get_name):
17440           warn about a memleak (I've actually seen this be used, though
17441           it was probably a bug)
17443 2005-10-07  Wim Taymans  <wim@fluendo.com>
17445         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17446         (gst_base_src_init), (gst_base_src_default_newsegment),
17447         (gst_base_src_newsegment), (gst_base_src_do_seek),
17448         (gst_base_src_loop), (gst_base_src_start):
17449         * gst/base/gstbasesrc.h:
17450         Make the newsegment event customizable by subclasses.
17452 2005-10-07  Wim Taymans  <wim@fluendo.com>
17454         * gst/gstevent.c: (gst_event_new_buffersize),
17455         (gst_event_parse_buffersize):
17456         * gst/gstevent.h:
17457         New event for future idea.
17459 2005-10-07  Andy Wingo  <wingo@pobox.com>
17461         * gst/gstelement.c (gst_element_post_message): Doc update.
17463         * docs/gst/gstreamer-sections.txt: Update.
17465         * gst/gstmessage.c (gst_message_new_application): Made into a
17466         function like honest API calls.
17467         (gst_message_new_element): New message type.
17469         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
17471         * check/elements/fakesrc.c (test_no_preroll): New check, checks
17472         that setting a live fakesrc to PAUSED returns NO_PREROLL both
17473         times.
17475         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
17476         NO_PREROLL from gst_element_change_state to fall through.
17478 2005-10-07  Wim Taymans  <wim@fluendo.com>
17480         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
17481         (gst_ghost_pad_do_activate_push):
17482         Activating a ghostpad with no internal pad in push mode
17483         is ok.
17485 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17487         * gst/gstobject.h:
17488           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
17489           Fixes compilation on Windows.
17491 2005-10-07  Michael Smith <msmith@fluendo.com>
17493         * tools/gst-inspect.c:
17494           Print out feature and plugin count at the end when printing out
17495           all features.
17497 2005-10-04  Michael Smith <msmith@fluendo.com>
17499         * gst/gsterror.c: (_gst_stream_errors_init):
17500           Add another error string used in a few existing plugins.
17502         * gst/gstplugin.c:
17503         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17504         * tools/gst-inspect.c: (print_element_info):
17505           When a feature disappears from a plugin (and the feature exists in
17506           the cached registry file), things went horribly wrong. This isn't a
17507           complete fix, we should actually be removing the 'missing' features
17508           from the features list when we load the actual plugin. That's not
17509           yet implemented. 
17511 2005-10-04  Johan Dahlin  <johan@gnome.org>
17513         * check/gst/gstiterator.c: (GST_START_TEST):
17514         * gst/gstbin.c: (gst_bin_iterate_elements),
17515         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17516         * gst/gstelement.c: (gst_element_iterate_pads):
17517         * gst/gstformat.c: (gst_format_iterate_definitions):
17518         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17519         (gst_iterator_new_list), (gst_iterator_filter):
17520         * gst/gstiterator.h:
17521         * gst/gstquery.c: (gst_query_type_iterate_definitions):
17522         Add a GType to GstIterator, update callsites and tests.
17524 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17526         * gst/gstpad.c: (gst_pad_event_default_dispatch):
17527           give events a chance to be handled by event probes when the pad
17528           is not linked
17530 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17532         * gst/gstevent.c: (gst_event_type_get_name),
17533         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17534         * gst/gstevent.h:
17535           add string representations for event types
17537 2005-10-06  Wim Taymans  <wim@fluendo.com>
17539         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17540         Don't use NULL pointers.
17542 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17544         * gst/gst_private.h:
17545         * gst/gstbus.c:
17546         * gst/gstelement.c:
17547         * gst/gstinfo.c:
17548         * gst/gstpluginfeature.c:
17549           widen the debug category in output to fit the biggest one we have
17550           add a bus category and use it
17551           play with the colors
17552           fix up some categories
17554 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17556         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17557           add push activation of sink ghost pads.
17558           Andye, please verify
17560 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17562         * gst/gstutils.c: (gst_element_link_pads):
17563           fix a bug in the case where neither element has a pad
17564         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17565           add a test for that case
17567 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17569         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
17570           emit have-data before checking for peers.  This allows
17571           for probe handlers to connect elements.  This helps autopluggers.
17572         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
17573         (gst_pad_suite):
17574           add six checks, linked/unlinked with no/true/false probe
17576 2005-10-04  Wim Taymans  <wim@fluendo.com>
17578         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
17579         (gst_fake_sink_event), (gst_fake_sink_preroll),
17580         (gst_fake_sink_render), (gst_fake_sink_change_state):
17581         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
17582         (gst_fake_src_get_property), (gst_fake_src_create),
17583         (gst_fake_src_stop):
17584         * gst/elements/gstidentity.c: (gst_identity_stop):
17585         Protect last_message with lock.
17587 2005-10-04  Edward Hervey  <edward@fluendo.com>
17589         * gst/gstformat.h: 
17590         Added precision in the comments for GST_FORMAT_DEFAULT
17592 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
17594         * tools/gst-launch.c: (main):
17595           Don't try to run erroneous pipelines.
17597 2005-10-04  Julien MOUTTE  <julien@moutte.net>
17599         * gst/gstbus.c: We don't need this header.
17601 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17603         * configure.ac:
17604           back to development
17606 === release 0.9.3 ===
17608 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17610         * README:
17611         * configure.ac:
17612           Releasing 0.9.3, "Unregistered"
17614 2005-10-03  Andy Wingo  <wingo@pobox.com>
17616         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
17617         whereby calling a pad's activatepush() function can start a thread
17618         that starts to push or pull before the pad gets the FLUSHING flag
17619         unset. Hack around it by holding the stream lock until the flag is
17620         set. Need to replace this with a proper solution. Together with
17621         the ghost pad fixes, this fixes mp3 playing/tagreading.
17623         * docs/design/part-gstghostpad.txt: Add a note about activation of
17624         proxy pads outside of ghost pads.
17626         * gst/gstghostpad.c: Implement the ghost pad activation design.
17628 2005-10-02  Andy Wingo  <wingo@pobox.com>
17630         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
17631         It is volatile, after all.
17633         * docs/design/part-gstghostpad.txt: Flesh out activation with
17634         ghost pads.
17636         * gst/base/gstbasesrc.c (gst_base_src_init): Use
17637         GST_DEBUG_FUNCPTR.
17639 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
17641         * configure.ac:
17642           Fix (unused) AM_CONDITIONAL tests.
17644 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
17646         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17648         * gst/gstutils.c: (gst_pad_query_convert):
17649           Add assertion that makes sure src_val is >=0, just like
17650           gst_query_new_convert() has. (#315895)
17652 2005-09-30  Edward Hervey  <edward@fluendo.com>
17654         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
17655         Let's not iterate pads we're not interested in, it avoids getting 
17656         sky-high refcounts on sinkpad.
17658 2005-09-30  Wim Taymans  <wim@fluendo.com>
17660         * gst/gstelement.c: (gst_element_set_state),
17661         (gst_element_change_state):
17662         Small tweak, element in ASYNC remains ASYNC.
17664 2005-09-30  Wim Taymans  <wim@fluendo.com>
17666         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17667         Only error is an error.
17669         * gst/gstbin.c: (gst_bin_change_state):
17670         Better debugging.
17672         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
17673         Also call pad_block in pad alloc.
17675         * gst/gstutils.c: (gst_flow_get_name):
17676         Better debugging.
17678 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17680         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17681         (gst_base_src_get_range):
17682           Fix documentation typos. Add some more debug info.
17684 2005-09-29  David Schleef  <ds@schleef.org>
17686         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
17687           more end-user friendly.
17688         * tools/gst-inspect.c: (main): Check if command-line argument is
17689           a file and attempt to load that file as a plugin.
17691 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17693         * check/gst/gstbin.c:
17694         * check/states/sinks.c:
17695           fix tests for the new warning
17696         * check/gst/gstpipeline.c:
17697           add a test for pipeline and bus interaction
17698         * gst/gstelement.c:
17699           elements should be NULL if they get disposed; add a warning if not
17701 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17703         * gst/gstobject.c:
17704           for 2.6 refcounting, make debug log more correct by printing
17705           the actual refcounts at the time of swap (Wim)
17707 2005-09-29  Andy Wingo  <wingo@pobox.com>
17709         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
17710         removes signal watches previously added via
17711         gst_bus_add_signal_watch.
17712         (gst_bus_add_signal_watch): Don't return the source id, just store
17713         it on the bus if there wasn't an id already.
17715         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
17716         add_signal_watch and remove_signal_watch.
17718 2005-09-29  Edward Hervey  <edward@fluendo.com>
17720         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
17721         Better if we actually iterate the list :)
17723 2005-09-29  Wim Taymans  <wim@fluendo.com>
17725         * check/gst/gstbin.c: (GST_START_TEST):
17726         Change for new bus API.
17728         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17729         (send_messages), (GST_START_TEST), (gstbus_suite):
17730         Change for new bus signal API.
17732         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
17733         (gst_bus_source_prepare), (gst_bus_source_check),
17734         (gst_bus_create_watch), (gst_bus_add_watch_full),
17735         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
17736         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
17737         * gst/gstbus.h:
17738         Remove support for multiple GSources operating on different
17739         message types as it is too complex and unneeded when using
17740         signals.
17741         Added support for receiving signals from the bus.
17743 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17745         * docs/libs/tmpl/gstdataprotocol.sgml:
17746         * docs/manual/advanced-dataaccess.xml:
17747         * gst/elements/gstcapsfilter.c:
17748         * gst/gstutils.c:
17749           rename filter-caps to caps property
17751 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17753         * gst/gstvalue.c: (gst_value_deserialize_fraction):
17754           More robust fraction string parsing.
17756         * docs/pwg/appendix-porting.xml:
17757           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
17759 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17761         * gst/gstcaps.c: (gst_caps_do_simplify):
17762           Thou shalt not free a structure and then continue using it
17763           in the next loop iteration.
17765         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
17766         (gst_caps_suite):
17767           Add test case for caps simplification.
17769 2005-09-29  Wim Taymans  <wim@fluendo.com>
17771         * check/gst/gstbin.c: (GST_START_TEST):
17772         Oops.
17774 2005-09-29  Wim Taymans  <wim@fluendo.com>
17776         * check/gst/gstbin.c: (GST_START_TEST):
17777         Add bus to bin.
17779         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
17780         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
17781         (find_element), (gst_bin_sort_iterator_next),
17782         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17783         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17784         (gst_bin_change_state), (gst_bin_dispose):
17785         A bin does not have a bus, it gets the bus from the parent.
17787         * gst/gstelement.c: (gst_element_requires_clock),
17788         (gst_element_provides_clock), (gst_element_is_indexable),
17789         (gst_element_is_locked_state), (gst_element_change_state),
17790         (gst_element_set_bus_func):
17791         Small cleanups.
17793         * gst/gstpipeline.c: (gst_pipeline_class_init),
17794         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
17795         The pipeline provides a bus.
17797 2005-09-28  Johan Dahlin  <johan@gnome.org>
17799         * gst/gstmessage.c (gst_message_parse_state_changed): Use
17800         gst_structure_get_enum instead of gst_structure_get_int
17802         * gst/gststructure.c (gst_structure_get_enum): Impl.
17804         * gst/gststructure.h (gst_structure_get_enum): Add
17806         * docs/gst/gstreamer-sections.txt: Ditto
17808         * gst/gstmessage.c (gst_message_new_state_changed): Use
17809         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
17810         which does introspection.
17811         Reviewed by Christian Schaller
17813 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
17815         * gst/gstinfo.c: (gst_debug_log_default):
17816           don't do dummy g_strdup()s
17817         * libs/gst/controller/gstcontroller.c:
17818         (on_object_controlled_property_changed),
17819         (gst_controlled_property_new), (gst_controller_new_valist),
17820         (gst_controller_new_list),
17821         (gst_controller_remove_properties_valist), (gst_controller_set),
17822         (gst_controller_get), (gst_controller_sync_values),
17823         (gst_controller_get_value_array), (_gst_controller_class_init),
17824         (gst_controller_get_type):
17825         * libs/gst/controller/gstcontroller.h:
17826         * libs/gst/controller/gstinterpolation.c:
17827         (gst_controlled_property_find_timed_value_node):
17828           convert // to /**/ comments
17830 2005-09-28  Wim Taymans  <wim@fluendo.com>
17832         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
17833         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
17834         (gst_bus_sync_signal_handler):
17835         * gst/gstbus.h:
17836         Added async-message and sync-message signals to the bus.
17837         Added helper BusFunc to emit signals for all posted messages.
17839         * gst/gstmessage.c: (gst_message_type_get_name),
17840         (gst_message_type_to_quark), (gst_message_get_type):
17841         * gst/gstmessage.h:
17842         Register quarks for message names.
17844 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
17846         * docs/libs/gstreamer-libs-sections.txt:
17847         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
17848         (gst_controller_new_list):
17849         * libs/gst/controller/gstcontroller.h:
17850           added another constructor for language bindings
17852 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17854         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17855           add another check
17856         * gst/gstbus.c:
17857           add some doc
17858         * gst/gstinfo.c: (_gst_debug_init):
17859           slightly more readable color for refcount debugging
17861 2005-09-28  Wim Taymans  <wim@fluendo.com>
17863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17864         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
17865         (find_element), (gst_bin_sort_iterator_next),
17866         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17867         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17868         (gst_bin_change_state), (gst_bin_dispose):
17869         Small doc fixes. get_clock -> provide_clock.
17871         * gst/gstelement.c: (gst_element_class_init),
17872         (gst_element_provides_clock), (gst_element_provide_clock),
17873         (gst_element_get_clock), (gst_element_commit_state),
17874         (gst_element_lost_state):
17875         * gst/gstelement.h:
17876         Make get/set_clock() symetric. Add provide_clock vmethod since
17877         that is actually what this function does.
17879         * gst/gstpipeline.c: (gst_pipeline_class_init),
17880         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
17881         (gst_pipeline_get_clock):
17882         get_clock -> provide_clock.
17884 2005-09-28  Andy Wingo  <wingo@pobox.com>
17886         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
17887         lieu of real docs...
17889         * gst/elements/gstfdsrc.c: Cleaned up a bit.
17891 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
17893         * gst/elements/gstcapsfilter.c:
17894         * gst/elements/gstfakesink.c:
17895         * gst/elements/gstfakesrc.c:
17896         * gst/elements/gstfdsink.c:
17897         * gst/elements/gstfdsrc.c:
17898         * gst/elements/gstfilesink.c:
17899         * gst/elements/gstfilesrc.c:
17900         * gst/elements/gstidentity.c:
17901         * gst/elements/gsttee.c:
17902         * gst/elements/gsttypefindelement.c:
17903           Make element details static.
17905 2005-09-28  Wim Taymans  <wim@fluendo.com>
17907         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
17908         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
17909         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17910         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17911         (gst_bin_change_state), (gst_bin_dispose):
17912         Some documentation updates.
17913         Clean up dispose handlers.
17915         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
17916         * gst/gstpad.c: (gst_pad_dispose):
17917         Clean up dispose handler.
17919         * gst/gstpipeline.c: (gst_pipeline_change_state):
17920         Removed spurious UNLOCK.
17922 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
17924         * docs/gst/gstreamer-sections.txt:
17925         * gst/base/gstbasesrc.h:
17926         * gst/gstelement.h:
17927         * gst/gstevent.h:
17928         * gst/gstobject.h:
17929         * gst/gstpad.h:
17930         * gst/gstpipeline.c:
17931         * gst/gstpipeline.h:
17932         * gst/gstutils.h:
17933         * gst/gstxml.h:
17934           added two new functions to the docs
17935                 documents all undocumented GstXXXFlags
17936                 completed some incomplete docs 
17938 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17940         * gst/gstbin.c: (gst_bin_dispose):
17941         * gst/gstelement.c: (gst_element_dispose):
17942           remove now useless and leaky resurrection code in dispose
17943         * gst/base/gstbasesrc.c: (gst_base_src_init):
17944         * gst/gstelementfactory.c: (gst_element_factory_create):
17945         * gst/gstobject.c: (gst_object_set_parent):
17946           add some debugging
17948 2005-09-27  Wim Taymans  <wim@fluendo.com>
17950         * docs/design/part-TODO.txt:
17951         Update TODO.
17953         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
17954         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
17955         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17956         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17957         (gst_bin_change_state):
17958         * gst/gstelement.h:
17959         Remove element variable, we keep element info in the iterator now.
17961 2005-09-27  Andy Wingo  <wingo@pobox.com>
17963         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
17964         values.
17966 2005-09-27  Wim Taymans  <wim@fluendo.com>
17968         * check/gst/gstbin.c: (GST_START_TEST):
17969         Enable check that works now.
17971         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
17972         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
17973         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17974         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17975         (gst_bin_change_state):
17976         * gst/gstbin.h:
17977         Redid the state change algorithm using a topological sort algo.
17978         Handles all cases correctly.
17979         Exposed iterator for state change order.
17981         * gst/gstelement.h:
17982         Temp storage for state changes. Need to get rid of this soon.
17984 2005-09-27  Wim Taymans  <wim@fluendo.com>
17986         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
17987         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
17988         (link_fold_func), (gst_pad_proxy_setcaps):
17989         Leak fixes, the fold functions need to unref the passed object and
17990         _get_parent_*() returns ref to parent.
17992 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
17994         * check/gst/gstbuffer.c: (test_make_writable):
17995           Plug leak in test case and fix 'make check-valgrind'
17997 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
17999         * gst/gstbuffer.c: (gst_subbuffer_init):
18000           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18001           works correctly in all circumstances (we could have just copied
18002           the parent buffer's readonly flag, but conceptually it seems
18003           cleaner to mark all subbuffers as read-only). (based on patch
18004           by Alessandro Decina, #314710).
18005         
18006         * check/gst/gstbuffer.c: (create_read_only_buffer),
18007         (test_make_writable), (test_subbuffer_make_writable),
18008         (gst_test_suite):
18009           Add some tests for gst_buffer_make_writable().
18011 2005-09-27  Wim Taymans  <wim@fluendo.com>
18013         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18014         use gst_object_has_ancestor().
18016         * gst/gstobject.c: (gst_object_has_ancestor):
18017         * gst/gstobject.h:
18018         gst_object_has_ancestor() copied from gstbin.c as it is a
18019         useful function.
18021         * tests/instantiate/create.c: (create_all_elements):
18022         * tests/lat.c: (handoff_src), (handoff_sink):
18023         * tests/sched/runxml.c: (main):
18024         * tests/seeking/seeking1.c: (main):
18025         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18026         (main):
18027         Fix compilation of some tests.
18029 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18031         * gst/gsterror.h:
18032           Remove comment. GST_TYPE_G_ERROR is here to stay,
18033           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18034           (#316961, #300610).
18036 2005-09-26  Wim Taymans  <wim@fluendo.com>
18038         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18039         Added check that shows error in state change order.
18041 2005-09-26  Wim Taymans  <wim@fluendo.com>
18043         * gst/gstbin.c: (gst_bin_change_state):
18044         Make state change function use 3 queues again, we were
18045         adding elements in the wrong order.
18047         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18048         Some debug info,
18050         * gst/gstpad.c: (gst_pad_dispose):
18051         Added some debug info first.
18053 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
18055         * docs/design/draft-push-pull.txt:
18056         * docs/design/part-events.txt:
18057         * docs/design/part-overview.txt:
18058         * docs/design/part-scheduling.txt:
18059           Replace all _pull_region() with _pull_range()
18060           
18061 2005-09-26  Andy Wingo  <wingo@pobox.com>
18063         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18065         * check/gst-libs/controller.c: Update for controller api change.
18067         * configure.ac: 
18068         * tests/Makefile.am:
18069         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18070         over by GLib bug 118439.
18071         
18072         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18073         routines to a function.
18075         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18077         * libs/gst/controller/gsthelper.c:
18078         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18079         (gst_object_sync_values): Renamed from sink_values. Ugh.
18081         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18083         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18084         Renamed from controller_key, as it is exported.
18086         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18088 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18090         * gst/Makefile.am:
18091         * gst/gst.h:
18092         * gst/gstpad.h:
18093         * gst/gstpadtemplate.h:
18094         * gst/gstquery.c:
18095         * gst/gstquery.h:
18096         * gst/gstqueryutils.c:
18097         * gst/gstqueryutils.h:
18098           remove queryutils headers after moving the two used functions
18099           to gstquery.  also fixes build problem for gstsiddec
18101 2005-09-26  Michael Smith <msmith@fluendo.com>
18103         * tools/gst-launch.1.in:
18104         Correct documentation in manpage of debug syntax
18106 2005-09-26  Wim Taymans  <wim@fluendo.com>
18108         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18109         (gst_base_src_is_seekable), (gst_base_src_change_state):
18110         Some more debugging info.
18112 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18114         * docs/gst/gstreamer-sections.txt:
18115         * gst/base/gstbasetransform.h:
18116         * gst/gstindex.h:
18117           added more docs
18119 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18121         * docs/gst/.cvsignore:
18122         * docs/gst/tmpl/.cvsignore:
18123         * docs/gst/tmpl/gstpipeline.sgml:
18124         * docs/gst/tmpl/gstplugin.sgml:
18125         * gst/gstpipeline.c:
18126         * gst/gstplugin.c:
18127         * gst/gstplugin.h:
18128           inlined the last two docs files
18129           removed the tmpl directory from cvs (no more conflicts here!)
18131 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18133         * docs/gst/gstreamer-sections.txt:
18134         * docs/gst/tmpl/.cvsignore:
18135         * docs/gst/tmpl/gstpad.sgml:
18136         * docs/gst/tmpl/gstpadtemplate.sgml:
18137         * gst/Makefile.am:
18138         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18139         (gst_pad_finalize), (gst_pad_set_pad_template):
18140         * gst/gstpad.h:
18141         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18142         (gst_pad_template_class_init), (gst_pad_template_init),
18143         (gst_pad_template_dispose), (name_is_valid),
18144         (gst_static_pad_template_get), (gst_pad_template_new),
18145         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18146         (gst_pad_template_pad_created):
18147         * gst/gstpadtemplate.h:
18148           inlined two more docs
18149           factored gstpadtemplate out of gstpad
18151 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
18153         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18154         (test_children_state_change_order_semi_sink):
18155           Fix test case: we can't rely on a fixed state change order when
18156           going from READY => PAUSED because the sink might commit its 
18157           new state first when the first buffer created by the source 
18158           reaches the sink before the source has finished its change state.
18159           (Test case still fails at times, see #316856, comment 5 onwards)
18161 2005-09-24  Wim Taymans  <wim@fluendo.com>
18163         * docs/design/part-events.txt:
18164         * docs/design/part-gstbus.txt:
18165         * docs/design/part-gstpipeline.txt:
18166         * docs/design/part-messages.txt:
18167         * docs/design/part-overview.txt:
18168         * docs/design/part-segments.txt:
18169         * gst/gstbin.c:
18170         * gst/gstbuffer.c:
18171         * gst/gstclock.c:
18172         * gst/gstelement.c:
18173         * gst/gstevent.c:
18174         * gst/gstfilter.c:
18175         * gst/gstiterator.c:
18176         Various documentation updates.
18178 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18180         * gst/gstclock.h:
18181           Well, that's embarassing.  Luckily we weren't using
18182           GST_CLOCK_DIFF anywhere.
18184 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18186         * common/gtk-doc.mak:
18187           don't fail on building XML, FC4 slave shows a bunch of doc
18188           missing bits that I don't get
18189         * gst/gstpad.c:
18190         * gst/gstpipeline.c:
18191         * gst/gststructure.c:
18192           some doc updates
18194 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18196         * docs/design/part-gstbin.txt:
18197         * docs/design/part-gstbus.txt:
18198         * gst/gstbus.c:
18199           Add blurb about how the bus goes into flushing mode and
18200           drops all messages when its bin goes from READY into NULL 
18201           state.
18203 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18205         * docs/gst/gstreamer-sections.txt:
18206         * gst/gststructure.c: (gst_structure_get_clock_time):
18207         * gst/gststructure.h:
18208           add a method to get a GstClockTime out of a structure
18210 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18212         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18213         (test_children_state_change_order_semi_sink), (gst_bin_suite):
18214           Added test to check state change order in bins (can still be made
18215           to fail here under heavy disk load; bails out with 'Push on pad
18216           fakesink:sink0, but it was not activated in push mode').
18218         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18219           Fix state change order when there is only a semi sink (#316856)
18221         * gst/gstbus.c: (gst_bus_class_init):
18222           Use _class_peek_parent(), not _class_ref(); fix docs to say
18223           'default main context' instead of 'mainloop' where that is
18224           what's meant.
18226         * gst/gstelement.c: (gst_element_commit_state),
18227         (gst_element_set_state):
18228           Fix typos in debug messages
18230 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18232         * docs/README:
18233         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18234         * gst/gstpluginfeature.c:
18235         * gst/gstutils.c:
18236           various doc updates
18237         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18238           change an assert into an error until it gets fixed properly
18240 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
18242         * docs/gst/gstreamer-sections.txt:
18243         * docs/gst/tmpl/.cvsignore:
18244         * docs/gst/tmpl/gstelement.sgml:
18245         * docs/gst/tmpl/gstinfo.sgml:
18246         * docs/gst/tmpl/gstobject.sgml:
18247         * gst/gstelement.c:
18248         * gst/gstelement.h:
18249         * gst/gstinfo.c:
18250         * gst/gstinfo.h:
18251         * gst/gstobject.c: (gst_object_class_init):
18252         * gst/gstobject.h:
18253           inlined 3 more biiiig doc files and added some missing docs on the fly
18255 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18257         * check/gst/.cvsignore:
18258         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18259         * gst/gstregistryxml.c: (load_plugin),
18260         (gst_registry_xml_save_plugin):
18261           put back source in registry.  add checks for find_plugin.
18262         * testsuite/states/bin.c: (assert_state), (empty_bin),
18263         (test_adding_one_element), (main):
18264         * testsuite/states/locked.c: (main):
18265           some compile/run fixes
18267 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18269         * check/gst/gstvalue.c: (GST_START_TEST):
18270           fix leaks in the test itself
18272 2005-09-22  Wim Taymans  <wim@fluendo.com>
18274         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18275         (gst_base_sink_send_event), (gst_base_sink_peer_query),
18276         (gst_base_sink_query):
18277         Prepare for more accurate position reporting and query
18278         handling.
18280         * gst/gstelement.c: (gst_element_send_event),
18281         (gst_element_set_state):
18282         Add some comment.
18284 2005-09-22  Wim Taymans  <wim@fluendo.com>
18286         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
18287         (gst_query_parse_segment):
18288         * gst/gstquery.h:
18289         More documentation.
18290         Add segment query for future use.
18292 2005-09-22  Wim Taymans  <wim@fluendo.com>
18294         * gst/gstbin.c: (gst_bin_add_func):
18295         Some more debug info.
18297         * gst/gstelement.c: (gst_element_send_event):
18298         Simplify send_event
18300         * gst/gstelement.h:
18301         Don't know how flags got broken.
18303         * gst/gstquery.h:
18304         Added new query.
18306 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18308         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
18309           Add simplistic test suite for GST_TYPE_DATE serialisation and
18310           deserialisation.
18312 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18314         * docs/gst/gstreamer-sections.txt:
18315         * gst/gststructure.c: (gst_structure_set_valist),
18316         (gst_structure_get_date):
18317         * gst/gststructure.h:
18318         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
18319         (gst_date_copy), (gst_value_compare_date),
18320         (gst_value_serialize_date), (gst_value_deserialize_date),
18321         (gst_value_transform_date_string),
18322         (gst_value_transform_string_date), (_gst_value_initialize):
18323         * gst/gstvalue.h:
18324           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
18325           bunch of utility functions along with a hack that checks that
18326           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
18327           is required. Part of the grand scheme in #170777.
18329 2005-09-22  Andy Wingo  <wingo@pobox.com>
18331         * gst/gstconfig.h.in: Psych out gtk-doc.
18333         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
18335         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
18337         * tools/gst-inspect.c (print_element_list): Plug some
18338         inconsequential leaks.
18340         * gst/gstregistry.c (gst_registry_get_default): Doc.
18342         * check/gst/gstplugin.c: 
18343         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
18344         * gst/gstelementfactory.c (gst_element_factory_create): 
18345         * gst/gstindexfactory.c (gst_index_factory_create): Update for
18346         refcount changes.
18348         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
18349         (gst_plugin_feature_load): Doc, don't eat refs.
18351         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
18352         (gst_plugin_list_free): Doc.
18353         (gst_plugin_load_file): Doc updates.
18355         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
18356         accessors returning refcounted objects, return a ref.
18358         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
18359         accessor for caps. IDEMPOTENCE. Oh yes.
18361 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
18363         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18365         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18366         (_gst_debug_register_funcptr):
18367           Add mutex to serialise access to the hash table with
18368           the function pointer => function name string mapping;
18369           make that hash table static scope (#316809).
18371         * gst/registries/.cvsignore:
18372           Remove left-over file.
18374 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18376         * docs/pwg/appendix-porting.xml:
18377           And something about newsegment events and caps-on-buffers to
18378           the porting guide (feel free to improve).
18380 2005-09-21  Andy Wingo  <wingo@pobox.com>
18382         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
18383         data and event probes on the same pad.
18384         (test_buffer_probe_once): Test that removing probes from within
18385         the probe functions works.
18387 2005-09-21  Andy Wingo  <wingo@pobox.com>
18389         * check/gst/gstutils.c: New file.
18390         (test_buffer_probe_n_times): A simple buffer probe test. More to
18391         come, foolios.
18393         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
18394         have-data::buffer, not have-data.
18395         (gst_pad_add_event_probe): Likewise for have-data::event.
18396         (gst_pad_add_data_probe): More docs. The part about 'resolving the
18397         peer' isn't quite right yet though.
18398         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
18399         (gst_pad_remove_data_probe): Change to take the guint handler_id
18400         as their arg, not the function+data, which is more glib-like.
18402         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
18403         the signal emission to indicate if the data is a buffer or an
18404         event.
18405         (gst_pad_get_type): Initialize buffer and event quarks.
18406         (gst_pad_class_init): have-data is now a detailed signal, yes it
18407         is.
18409 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18411         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18412         * gst/gstutils.c: (gst_util_set_value_from_string),
18413         (gst_util_set_object_arg):
18414           Don't put functional code in g_return_if_fail() or
18415           g_return_val_if_fail() statements, otherwise things will 
18416           break when G_DISABLE_CHECKS is defined during compilation.
18418 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18420         * docs/gst/tmpl/.cvsignore:
18421         * docs/gst/tmpl/gstvalue.sgml:
18422         * gst/gstvalue.c:
18423         * gst/gstvalue.h:
18424           inlied another one and added  some obvious docs
18426 2005-09-21  Wim Taymans  <wim@fluendo.com>
18428         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18429         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
18430         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
18431         (gst_fdsrc_get_property), (gst_fdsrc_create):
18432         * gst/elements/gstfdsrc.h:
18433         Properly implement fdsrc. Removed signal and timeout,
18434         better implemented somewhere else.
18436 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18438         * docs/gst/tmpl/.cvsignore:
18439         * docs/gst/tmpl/gstimplementsinterface.sgml:
18440         * gst/gstinterface.c:
18441           inlined more docs
18443 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18445         * docs/gst/gstreamer-sections.txt:
18446         * docs/gst/tmpl/.cvsignore:
18447         * docs/gst/tmpl/gstenumtypes.sgml:
18448           remove obsolete doc file
18450 2005-09-21  David Schleef  <ds@schleef.org>
18452         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
18453         little beer, fix a little leak.
18455 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18457         * docs/gst/gstreamer-docs.sgml:
18458         * docs/gst/gstreamer-sections.txt:
18459         * docs/gst/tmpl/.cvsignore:
18460         * gst/Makefile.am:
18461         * gst/gst.h:
18462         * gst/gstbin.c:
18463         * gst/gstelement.h:
18464         * gst/gstindex.c: (gst_index_class_init):
18465         * gst/gstindex.h:
18466         * gst/gstindexfactory.c: (gst_index_factory_get_type),
18467         (gst_index_factory_class_init), (gst_index_factory_init),
18468         (gst_index_factory_finalize), (gst_index_factory_new),
18469         (gst_index_factory_destroy), (gst_index_factory_find),
18470         (gst_index_factory_create), (gst_index_factory_make):
18471         * gst/gstindexfactory.h:
18472         * gst/gstpluginfeature.c:
18473         * gst/gstpluginfeature.h:
18474         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18475           more docs inlined, splitted gstindex.{c,h}
18477 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18479         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18480           fix a leak
18482 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18484         * gst/elements/gstfilesink.c: (gst_file_sink_init):
18485           Set sync to FALSE by default.
18487 2005-09-20  Wim Taymans  <wim@fluendo.com>
18489         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18490         (gst_base_sink_init):
18491         Make sync property settable from subclass.
18493         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18494         (gst_fake_sink_change_state):
18495         Set sync to FALSE by default.
18497 2005-09-20  Wim Taymans  <wim@fluendo.com>
18499         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
18500         * tools/gst-launch.c: (main):
18501         The timeout handler should have lower priority than the source
18502         so we don't timeout before popping a message with 0 timeout.
18503         Dump error messages after failed state change.
18505 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18507         * tools/gst-inspect.c: (print_element_properties_info):
18508           Fix two typos.
18510 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18512         * check/gst/gstevent.c:
18513         * gst/elements/gstfakesink.c:
18514         * gst/elements/gstfakesink.h:
18515           remove the sync property from fakesink.
18516           has the side effect of setting sync TRUE
18517           for fakesink, which is a change.  Anyone who knows how
18518           to fix this nicely in a GObject-y way, feel free.
18520 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18522         * docs/gst/gstreamer-docs.sgml:
18523           remove probe refsection
18525 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18527         * check/Makefile.am:
18528           disable valgrinding the controller test again
18529         * docs/gst/gstreamer-sections.txt:
18530           update for api-changes
18532 2005-09-20  Wim Taymans  <wim@fluendo.com>
18534         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18535         (gst_base_sink_set_property), (gst_base_sink_get_property),
18536         (gst_base_sink_do_sync):
18537         * gst/base/gstbasesink.h:
18538         Added sync property to basesink to disable clock sync.
18540 2005-09-20  Andy Wingo  <wingo@pobox.com>
18542         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18543         eating the caller's refcount.
18545         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
18546         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18547         refcount.
18549         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18550         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18551         of GLib 2.8 public, so we can know which refcount to check in
18552         tests.
18554         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18555         (gst_object_init): Only set the gst refcount if we're going ahead
18556         with the refcount hack.
18558 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18560         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18561         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18562           more leaks plumbed, added more debug-logging
18563         * gst/gstmacros.h:
18564           whitespace fix
18566 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18568         * gst/gstmessage.c:
18569           remove include of gstmemchunk.h
18571 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18573         * gst/gstclock.c: (_gst_clock_id_free):
18574           Commit from the Political Party For More Atomic CVS Commits,
18575           so that people don't waste too much of their day fishing
18576           out obvious leaks out of massive commits.
18577           Oh, and fix a pretty damn obvious leak in the memchunk
18578           removal code.
18580 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18582         * check/Makefile.am:
18583         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18584           plug mem-leak, re-add to valgrindable tests
18586 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18588         * gst/gstplugin.h:
18589           unbreak the build for those who have chronic arthritis
18590           and typing "make check" is just too taxing on the hands
18592 2005-09-20  Andy Wingo  <wingo@pobox.com>
18594         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
18595         really want it out, you should fix plugins at the same time.
18597 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
18599         * configure.ac:
18600         * docs/gst/gstreamer-sections.txt:
18601         * gst/gstobject.c:
18602           added missing symbols to api docs
18603           disable ref-count hack if we have glib >= 2.8
18605 2005-09-19  David Schleef  <ds@schleef.org>
18607         * docs/gst/Makefile.am: Ignore a few more internal headers
18608         * docs/gst/gstreamer-docs.sgml: Remove old sections
18609         * docs/gst/gstreamer-sections.txt: Remove old sections
18610         * docs/gst/tmpl/gstobject.sgml: update
18611         * docs/gst/tmpl/gstplugin.sgml: update
18612         * docs/gst/tmpl/gstpluginfeature.sgml: update
18613         * docs/random/ds/0.9-suggested-changes: update.
18614         * gst/Makefile.am: remove memchunk and trashstack, since they're
18615           not used.
18616         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
18617         * gst/gst.h: don't include some headers
18618         * gst/gstchildproxy.c: add gstmarshal.h
18619         * gst/gstclock.c: Don't use memchunks
18620         * gst/gstminiobject.c: Add some docs
18621         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
18622         * gst/gstobject.h: same
18623         * gst/gstplugin.c: include gstmacros.h
18624         * gst/gstplugin.h: don't include gstmacros.h, since it's private
18625         * gst/gstquery.c: don't use memchunks
18626         * gst/gstregistry.c: rename gst_registry_deinit()
18627         * gst/gstregistry.h: same
18629 2005-09-19  David Schleef  <ds@schleef.org>
18631         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
18632         * docs/libs/gstreamer-libs-sections.txt:
18633         * docs/libs/tmpl/gstgetbits.sgml:
18634         * docs/libs/tmpl/gstputbits.sgml:
18636 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
18638         * win32/gstenumtypes.c:
18639         * win32/gstenumtypes.h:
18640           Update.
18642 2005-09-19  Wim Taymans  <wim@fluendo.com>
18644         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
18645         Automatically PAUSE and RESUME a pipeline when a flushing seek
18646         is performed.
18648 2005-09-19  Andy Wingo  <wingo@pobox.com>
18650         * gst/gstregistry.h: Spacing fixen.
18652 2005-09-19  Wim Taymans  <wim@fluendo.com>
18654         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
18655         Handle state change failure more correctly.
18657 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18659         * check/Makefile.am:
18660         * check/pipelines/cleanup.c: (run_pipeline):
18661         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18662         (GST_START_TEST):
18663           enable cleanup again after fixing the leak
18664         * docs/README:
18665           some more info on docs
18667 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18669         * check/Makefile.am:
18670           re-enable tests now that leaks are plugged
18671         * check/gst/gst.c:
18672         * check/gst/gstbin.c:
18673         * check/gst/gstpipeline.c:
18674           add some more tests while fixing leaks
18675         * common/check.mak:
18676           make sure binaries are uptodate when valgrinding/gdbing
18677         * gst/gst.c:
18678         * gst/gstelementfactory.c:
18679           remove a ref too many, and add a FIXME for when we get
18680           round to disposing of classes
18681         * gst/gstplugin.c:
18682           fix the refcounting when loading a plugin from a file and
18683           the code pretends that the pointer is the same even though
18684           of course it can change
18685         * gst/gstpluginfeature.c:
18686           unref plugins marked cached (a bit confusing as a name)
18687           as the docs state should be done
18688           various doc additions to explain refcounting
18689         * gst/gstregistry.c:
18690         * gst/gstregistryxml.c:
18691           debugging
18693 2005-09-19  Wim Taymans  <wim@fluendo.com>
18695         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18696         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18697         (send_messages), (GST_START_TEST), (gstbus_suite):
18698         * check/gst/gstpipeline.c: (GST_START_TEST):
18699         * check/pipelines/cleanup.c: (run_pipeline):
18700         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18701         (GST_START_TEST):
18702         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
18703         (gst_bus_source_check), (gst_bus_source_dispatch),
18704         (gst_bus_create_watch), (gst_bus_add_watch_full),
18705         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
18706         * gst/gstbus.h:
18707         * tools/gst-launch.c: (event_loop):
18708         * tools/gst-md5sum.c: (event_loop):
18709         GstBusHandler -> GstBusFunc, return value has the same meaning as
18710         any other GSource (FALSE == remove source).
18711         _add_watch() and _add_watch_full() now take a MessageType mask to
18712         only handle specific types of messages.
18713         _poll() returns the GstMessage instead of the message type to avoid
18714         race conditions.
18715         _have_pending() takes a MessageType mask now too.
18716         Added testsuite for multiple bus watches.
18717         Fix testsuites and applications for new bus API.
18719 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18721         * check/Makefile.am:
18722           mark a bunch of the tests as to fix until we fix them
18724 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18726         * common/check.mak:
18727           use GST_PLUGIN settings for valgrind tests as well, so we're
18728           valgrinding the correct thing
18729         * gst/gst.c: (init_post):
18730           plug another leak
18732 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18734         * gst/gst.c: (init_post), (gst_deinit):
18735         * gst/gstelementfactory.c: (gst_element_factory_class_init),
18736         (gst_element_factory_finalize), (gst_element_factory_cleanup):
18737         * gst/gstindex.c: (gst_index_factory_class_init),
18738         (gst_index_factory_finalize):
18739         * gst/gstobject.c: (gst_object_dispose):
18740         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
18741         (gst_plugin_load_file), (gst_plugin_desc_free):
18742         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
18743         (gst_plugin_feature_finalize):
18744         * gst/gstregistry.c: (gst_registry_class_init),
18745         (gst_registry_init), (gst_registry_finalize),
18746         (gst_registry_get_default), (gst_registry_deinit):
18747         * gst/gstregistry.h:
18748         * gst/gstregistryxml.c: (load_feature), (load_plugin):
18749           various cleanups and memleak plugging.  make valgrind is happy now.
18751 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18753         * common/check.mak:
18754           add a check-valgrind target
18756 2005-09-18  David Schleef  <ds@schleef.org>
18758         * tools/gst-inspect.c: Revert the GOption code.
18760 2005-09-17  David Schleef  <ds@schleef.org>
18762         * check/Makefile.am: Fix environment variables.
18763         * check/gst/gstplugin.c: Fix for API changes.
18764         * tools/gst-inspect.c: Fix for API changes.
18765         * tools/gst-xmlinspect.c: Fix for API changes.
18766         * gst/gstelementfactory.c:
18767         * gst/gstplugin.c:
18768         * gst/gstplugin.h:
18769         * gst/gstpluginfeature.c:
18770         * gst/gstpluginfeature.h:
18771         * gst/gstregistry.c:
18772         * gst/gstregistry.h:
18773         * gst/gstregistryxml.c:
18774         * gst/gsttypefind.c:
18775         * gst/gsttypefindfactory.c:
18776         * gst/indexers/gstfileindex.c:
18777         * gst/indexers/gstmemindex.c:
18778         * gst/schedulers/Makefile.am:
18779           Change registry to keep track of both plugins and features,
18780           removing the feature tracking from plugins themselves.
18782 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18784         * check/Makefile.am:
18785         * tools/gst-register.1.in:
18786           remove gst-register
18788 2005-09-15  David Schleef  <ds@schleef.org>
18790         * check/gst/gstplugin.c:
18791         * gst/gstelementfactory.c:
18792         * gst/gstplugin.c:
18793         * gst/gstpluginfeature.c:
18794         * gst/gstregistry.c:
18795           Getting tired of debugging.  Disabled all the unreffing of
18796           plugins and features, which fixes the segfaults, but of
18797           course leaks like crazy.  At least playbin works.
18799 2005-09-15  David Schleef  <ds@schleef.org>
18801         * check/gst/gstplugin.c: (register_check_elements),
18802         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
18803         More testing
18804         * gst/elements/gsttypefindelement.c: Fix refcounting.
18805         * gst/gsttypefind.c:
18806         * gst/gsttypefindfactory.c:
18807         * gst/gsttypefindfactory.h:
18809 2005-09-15  David Schleef  <ds@schleef.org>
18811         * gst/gstindex.c: get refcounting correct.
18812         * gst/gstregistry.c: Handle the case where a feature/plugin is
18813           not found.
18815 2005-09-15  David Schleef  <ds@schleef.org>
18817         * check/Makefile.am:
18818         * check/gst/gstplugin.c: Add test
18819         * gst/gstplugin.c: Fix problems noticed by testsuite
18820         * gst/gstplugin.h:
18821         * gst/gstregistry.c: 
18822         * gst/gstregistry.h:
18824 2005-09-15  David Schleef  <ds@schleef.org>
18826         * gst/gstplugin.c: Implement semi-decent recounting and locking
18827           in plugins and plugin features.
18828         * gst/gstplugin.h:
18829         * gst/gstpluginfeature.c:
18830         * gst/gstpluginfeature.h:
18831         * gst/gstregistry.c:
18833 2005-09-15  Michael Smith <msmith@fluendo.com>
18835         * gst/gstregistry.c: (gst_registry_get_feature_list):
18836           Implement this. Makes oggdemux work; decodebin still broken.
18838 2005-09-14  David Schleef  <ds@schleef.org>
18840         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
18841           #316076)
18842         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
18843         * gst/check/Makefile.am:
18844         * libs/gst/controller/Makefile.am:
18845         * libs/gst/dataprotocol/Makefile.am:
18847 2005-09-14  David Schleef  <ds@schleef.org>
18849         * configure.ac: Remove getbits library.  Nothing uses it, and
18850           it should be in something like liboil if someone did want
18851           to use it.
18852         * libs/gst/Makefile.am:
18853         * libs/gst/getbits/Makefile.am:
18854         * libs/gst/getbits/gbtest.c:
18855         * libs/gst/getbits/getbits.c:
18856         * libs/gst/getbits/getbits.h:
18857         * libs/gst/getbits/gstgetbits_generic.c:
18858         * libs/gst/getbits/gstgetbits_i386.s:
18859         * libs/gst/getbits/gstgetbits_inl.h:
18861 2005-09-14  David Schleef  <ds@schleef.org>
18863         * gst/Makefile.am: Dist glib-compat.h
18865 2005-09-14  David Schleef  <ds@schleef.org>
18867         * configure.ac: Remove gst/registries, since it's no longer used.
18868         * gst/registries/Makefile.am:
18869         * gst/registries/gstlibxmlregistry.c:
18870         * gst/registries/gstlibxmlregistry.h:
18871         * gst/registries/gstxmlregistry.c:
18872         * gst/registries/gstxmlregistry.h:
18873         * gst/registries/registrytest.c:
18875 2005-09-14  David Schleef  <ds@schleef.org>
18877         * gst/glib-compat.h:
18878         * gst/gstregistryxml.c:
18879           Convergence is near.  Seriously.
18881 2005-09-14  David Schleef  <ds@schleef.org>
18883         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18884         * gst/glib-compat.h:
18885           Attempt #4 to appease the buildbots.
18887 2005-09-14  David Schleef  <ds@schleef.org>
18889         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18890           Attempt #3.
18892 2005-09-14  David Schleef  <ds@schleef.org>
18894         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18895         Attempt #2.
18897 2005-09-14  David Schleef  <ds@schleef.org>
18899         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
18900           the new functions.
18902 2005-09-14  David Schleef  <ds@schleef.org>
18904         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
18905         * gst/glib-compat.h: Add some functions that are in newer versions
18906           of glib than we care to require.
18907         * gst/gstregistryxml.c: Use them.
18909 2005-09-14  David Schleef  <ds@schleef.org>
18911         * po/POTFILES.in: remove gst-register.c
18913 2005-09-14  David Schleef  <ds@schleef.org>
18915         * docs/gst/gstreamer-docs.sgml:
18916         * docs/gst/gstreamer-sections.txt:
18917         * docs/gst/gstreamer.types:
18918         * docs/gst/tmpl/gstelement.sgml:
18919         * docs/gst/tmpl/gstplugin.sgml:
18920         * docs/gst/tmpl/gstpluginfeature.sgml:
18921           Documentation updates for registry changes.
18923 2005-09-14  David Schleef  <ds@schleef.org>
18925         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
18926           because we don't require glib-2.8.
18928 2005-09-14  David Schleef  <ds@schleef.org>
18930         * gst/gstregistryxml.c: Added.  Essentially moved out of the
18931           registries directory.
18933 2005-09-14  David Schleef  <ds@schleef.org>
18935         * check/Makefile.am:
18936         * check/generic/states.c:
18937         * gst/Makefile.am:
18938         * gst/gst.c:
18939         * gst/gst.h:
18940         * gst/gst_private.h:
18941         * gst/gstelementfactory.c:
18942         * gst/gstindex.c:
18943         * gst/gstinfo.c:
18944         * gst/gstplugin.c:
18945         * gst/gstplugin.h:
18946         * gst/gstpluginfeature.c:
18947         * gst/gstpluginfeature.h:
18948         * gst/gstregistry.c:
18949         * gst/gstregistry.h:
18950         * gst/gstregistrypool.c: remove
18951         * gst/gstregistrypool.h: remove
18952         * gst/gsttypefind.c:
18953         * gst/gsttypefindfactory.c:
18954         * gst/gsturi.c:
18955         * tools/Makefile.am:
18956         * tools/gst-compprep.c:
18957         * tools/gst-inspect.c:
18958         * tools/gst-register.c: remove
18959         * tools/gst-xmlinspect.c:
18960           Registry rewrite.  Changes registry from being a file created
18961           by a tool into a simple cache file created automatically by 
18962           libgstreamer.  Removed gst-register (because it's no longer
18963           needed).  Remove registry pools, because we only have one
18964           registry implementation (XML).  Fix up other subsystems as
18965           necessary.
18967 2005-09-13  Michael Smith <msmith@fluendo.com>
18969         * gst/gstconfig.h.in:
18970           Don't Use windows linking attributes for MinGW. Fixes #316157
18972 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18974         * gst/gstutils.c: (set_state_async_thread_func),
18975         (gst_element_set_state_async):
18976           Apparently people think it's better if this function doesn't
18977           try to set the state to whatever state was asked for on the first
18978           call to this function for any object.  Seriously.
18980 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18982         * check/gst/gstpipeline.c: (GST_START_TEST):
18983         * docs/gst/gstreamer-sections.txt:
18984         * gst/gstutils.c: (set_state_async_thread_func),
18985         (gst_element_set_state_async):
18986         * gst/gstutils.h:
18987           add a "gst_element_set_state_async" method that
18988           sets the state and starts a thread to make sure the state
18989           change completes as best as it can
18991 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18993         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18994           codify design+behaviour in testsuite after discussion
18996 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18998         * docs/gst/tmpl/gstelement.sgml:
18999         * docs/manual/appendix-quotes.xml:
19000           add a quote
19001         * gst/gstelement.c: (gst_element_set_state):
19002           add some debug
19004 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
19006         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19007         (gst_base_transform_prepare_output_buf),
19008         (gst_base_transform_handle_buffer):
19009         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19010         (gst_capsfilter_prepare_buf):
19011           Remove the requirement for sub-classes to call the parent
19012           implementation of prepare_output_buffer with a wrapper function.
19013           
19014         * gst/gsttaglist.h:
19015         * gst/gsttagsetter.h:
19016           Fix #define wrapper
19018 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
19020         * docs/gst/gstreamer-sections.txt:
19021           more doc cleanups
19023 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19025         * docs/gst/gstreamer-sections.txt:
19026         * docs/gst/tmpl/gstelement.sgml:
19027         * docs/gst/tmpl/gstplugin.sgml:
19028         * gst/gstminiobject.c:
19029         * gst/gstvalue.h:
19030           docs now stop throwing warnings
19032 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19034         * docs/gst/gstreamer-sections.txt:
19035         * docs/gst/gstreamer.types:
19036         * docs/gst/tmpl/gstpad.sgml:
19037         * docs/gst/tmpl/gsttypes.sgml:
19038         * gst/base/gstadapter.h:
19039         * gst/base/gstbasesink.h:
19040         * gst/base/gstbasesrc.h:
19041         * gst/gstbin.h:
19042         * gst/gstbuffer.h:
19043         * gst/gstbus.h:
19044         * gst/gstcaps.h:
19045         * gst/gstclock.h:
19046         * gst/gstelement.h:
19047         * gst/gstevent.h:
19048         * gst/gstmessage.h:
19049         * gst/gstpad.h:
19050         * gst/gststructure.c:
19051         * gst/registries/gstlibxmlregistry.h:
19052           various documentation fixes
19054 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19056         * docs/gst/gstreamer-sections.txt:
19057         * docs/gst/tmpl/gstvalue.sgml:
19058           rearrange gstvalue section
19059         * gst/gstutils.c: (gst_element_state_get_name):
19060           NONE -> VOID
19061         * gst/gstvalue.c: (_gst_value_initialize):
19062         * gst/gstvalue.h:
19063           doc updates
19065 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
19067         * check/gst-libs/controller.c:
19068           Header include fix.
19069         * gst/base/gstbasetransform.c:
19070         (gst_base_transform_default_prepare_buf),
19071         (gst_base_transform_handle_buffer):
19072         * gst/base/gstbasetransform.h:
19073           Some more basetransform changes and fixes to enable sub-classes
19074           that modify buffer metadata only.
19075         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19076         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19077         (gst_capsfilter_prepare_buf):
19078           If the output pad has fixed allowed caps and input buffers 
19079           don't have any, set the fixed caps on outgoing buffers.
19081 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
19082         * check/elements/identity.c: (GST_START_TEST):
19083           Make the error a little clearer when the test fails because
19084           identity made a copy of the buffer.
19085         * docs/gst/gstreamer-sections.txt:
19086           New symbols in gstbasetransform.h
19087         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19088         (gst_base_transform_init), (gst_base_transform_transform_size),
19089         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19090         (gst_base_transform_default_prepare_buf),
19091         (gst_base_transform_get_unit_size),
19092         (gst_base_transform_buffer_alloc),
19093         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19094         (gst_base_transform_change_state),
19095         (gst_base_transform_set_passthrough),
19096         (gst_base_transform_set_in_place),
19097         (gst_base_transform_is_in_place):
19098         * gst/base/gstbasetransform.h:
19099           Change BaseTransform to separate in_place operate from same_caps
19100           output. in_place implies that the element can perform the transform
19101           on incoming buffers in-place, even if the caps on the output are
19102           different.
19103           Sub-class elements can now implement special buffer allocation
19104           methods for outgoing buffers if they wish to.
19105           Big documentation addition.
19106         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19107         * gst/elements/gstelements.c:
19108           Changes for basetransform modifications.
19109         * gst/elements/Makefile.am:
19110         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19111           Compile fix. Extra debug output.
19113 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19115         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19116         (gst_pad_suite):
19117           add tests for valid pad naming
19118         * gst/check/gstcheck.c: (gst_check_log_message_func),
19119         (gst_check_log_critical_func):
19120           add ASSERT_WARNING
19121           remove printing of code, it is fragile when the code contains
19122           % and the line number is enough info
19123         * gst/check/gstcheck.h:
19124         * gst/gstpad.c: (gst_pad_template_new):
19125           fix memleaks
19127 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19129         * configure.ac:
19130           say what CHECK flags we use
19131         * docs/libs/gstreamer-libs.types:
19132         * libs/gst/controller/Makefile.am:
19133         * libs/gst/controller/gst-controller.c:
19134         * libs/gst/controller/gst-controller.h:
19135         * libs/gst/controller/gst-helper.c:
19136         * libs/gst/controller/gst-interpolation.c:
19137         * libs/gst/controller/gstcontroller.c:
19138         * libs/gst/controller/gsthelper.c:
19139         * libs/gst/controller/gstinterpolation.c:
19140         * tools/gst-inspect.c: (print_plugin_info):
19141           we don't use dashes in header names
19143 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19145         * check/Makefile.am:
19146         * check/gst/.cvsignore:
19147         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19148         (gst_pipeline_suite), (main):
19149           adding a test for pipelines and state changes
19150         * gst/gstutils.c: (get_state_func):
19151           add some debugging
19152         * gstreamer.spec.in:
19153           fix up spec file
19155 2005-09-08  Michael Smith <msmith@fluendo.com>
19157         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19158         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19159         (gst_file_src_is_seekable), (gst_file_src_get_size),
19160         (gst_file_src_start):
19161         * gst/elements/gstfilesrc.h:
19162           Various fixes for unseekable, unmmapable, and non-normal files, so
19163           that fallback to read() rather than mmap() works.
19164         * gst/gstevent.c: (gst_event_new_newsegment):
19165           Allow newsegment events with segment_start == segment_end, as will
19166           correctly happen if you use filesrc on a zero-size file, for
19167           example.
19169 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19171         * gst/gstplugin.c: (gst_plugin_load_file):
19172           Call g_module_close when we don't load the module
19174         * gst/registries/gstlibxmlregistry.c:
19175         (gst_xml_registry_get_property):
19176           Port leak fix from 0.8
19178 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19180         * docs/gst/gstreamer-docs.sgml:
19181         * docs/gst/tmpl/.cvsignore:
19182         * docs/gst/tmpl/gsttrace.sgml:
19183         * docs/gst/tmpl/gsttrashstack.sgml:
19184         * gst/Makefile.am:
19185         * gst/gst.h:
19186         * gst/gstelement.h:
19187         * gst/gstevent.h:
19188         * gst/gstmessage.c:
19189         * gst/gstmessage.h:
19190         * gst/gsttag.c:
19191         * gst/gsttag.h:
19192         * gst/gsttaginterface.c:
19193         * gst/gsttaginterface.h:
19194         * gst/gsttaglist.c:
19195         * gst/gsttaglist.h:
19196         * gst/gsttagsetter.c:
19197         * gst/gsttagsetter.h:
19198         * gst/gsttrace.c:
19199         * gst/gsttrace.h:
19200         * gst/gsttrashstack.c:
19201           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19202           inlined docs for gsttrace, gsttrashstack
19204 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19206         * gst/Makefile.am:
19207         * gst/elements/gstbufferstore.h:
19208         * gst/elements/gsttypefindelement.c:
19209         * gst/elements/gsttypefindelement.h:
19210         * gst/gst.h:
19211         * gst/gsttypefind.c:
19212         * gst/gsttypefind.h:
19213         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19214         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19215         (gst_type_find_factory_dispose),
19216         (gst_type_find_factory_unload_thyself),
19217         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19218         (gst_type_find_factory_get_caps),
19219         (gst_type_find_factory_get_extensions),
19220         (gst_type_find_factory_call_function):
19221         * gst/gsttypefindfactory.h:
19222         * gst/registries/gstlibxmlregistry.c:
19223         * gst/registries/gstxmlregistry.c:
19224           splitted gsttypefind into gsttypefind, gsttypefindfactory
19226 2005-09-07  Andy Wingo  <wingo@pobox.com>
19228         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19229         condition whereby the pad's task function is entered before the
19230         pad_mode variable was set.
19232 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19234         * gst/gstpad.c: (gst_pad_alloc_buffer):
19235           Catch misbehaving pad_alloc functions that don't
19236           set up caps and do it for them.
19238 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19240         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19241           test for pipe!=NULL
19242         * docs/gst/tmpl/.cvsignore:
19243         * docs/gst/tmpl/gstmemchunk.sgml:
19244         * docs/gst/tmpl/gstparse.sgml:
19245         * docs/gst/tmpl/gsttaglist.sgml:
19246         * docs/gst/tmpl/gsttagsetter.sgml:
19247         * docs/gst/tmpl/gsttypefind.sgml:
19248         * docs/gst/tmpl/gsttypefindfactory.sgml:
19249         * gst/gstmemchunk.c:
19250         * gst/gstparse.c:
19251         * gst/gsttag.c:
19252         * gst/gsttaginterface.c:
19253         * gst/gsttypefind.c:
19254         * gst/gsttypefind.h:
19255           inlined more docs
19257 === release 0.9.2 ===
19259 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19261         * NEWS:
19262         * RELEASE:
19263         * configure.ac:
19264           releasing 0.9.2, "South"
19266 2005-09-05  Andy Wingo  <wingo@pobox.com>
19268         * gst/registries/gstxmlregistry.h:
19269         * gst/registries/gstxmlregistry.c: Um... resurrect...
19270         
19271         * gst/registries/gstxmlregistry.h:
19272         * gst/registries/gstxmlregistry.c: and update to newer API.
19273         Incidentally they should be a bit faster now that they don't have
19274         to parse the caps.
19275         
19276 2005-09-05  Andy Wingo  <wingo@pobox.com>
19278         * gst/registries/gstxmlregistry.h:
19279         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
19280         replaced by the libxml registry a while back
19282 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19284         * docs/gst/tmpl/gstplugin.sgml:
19285         * gst/elements/gstelements.c:
19286         * gst/gst.c:
19287         * gst/gstplugin.c: (gst_plugin_register_func),
19288         (gst_plugin_desc_copy), (gst_plugin_desc_free),
19289         (gst_plugin_get_source):
19290         * gst/gstplugin.h:
19291         * gst/registries/gstlibxmlregistry.c: (load_plugin),
19292         (gst_xml_registry_save_plugin):
19293         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
19294         (gst_xml_registry_save_plugin):
19295         * tools/gst-inspect.c: (print_plugin_info):
19296           add a "source" plugin description field, to represent the source
19297           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
19298           will set it to PACKAGE, which is automake's idea of the name of
19299           the source project.
19301 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19303         * Makefile.am:
19304         * autogen.sh:
19305         * configure.ac:
19306         * docs/Makefile.am:
19307         * docs/faq/Makefile.am:
19308         * docs/gst/tmpl/gstelement.sgml:
19309         * docs/gst/tmpl/gsttypes.sgml:
19310         * docs/htmlinstall.mak:
19311         * docs/manual/Makefile.am:
19312         * docs/pwg/Makefile.am:
19313           reorganize doc build a little
19314           split out docbook and gtk-doc stuff
19315           have two separate --enable's and enable them through autogen
19316           but disable by default in configure (to be similar to other
19317           projects)
19318         * gstreamer.spec.in:
19319           clean up docs install
19320         * po/af.po:
19321         * po/az.po:
19322         * po/ca.po:
19323         * po/cs.po:
19324         * po/de.po:
19325         * po/en_GB.po:
19326         * po/fr.po:
19327         * po/it.po:
19328         * po/nb.po:
19329         * po/nl.po:
19330         * po/ru.po:
19331         * po/sq.po:
19332         * po/sr.po:
19333         * po/sv.po:
19334         * po/tr.po:
19335         * po/uk.po:
19336         * po/vi.po:
19337           translation updates
19339 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
19341         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
19342           Add comment.
19343           
19344         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19345         (gst_fake_sink_change_state):
19346           Make state change function thread-safe.
19347           
19348         * gst/gstpad.c: (gst_pad_alloc_buffer):
19349           Set offset on generic buffer allocated by fallback.
19351 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
19353         * docs/gst/gstreamer-sections.txt:
19354         * docs/gst/tmpl/gstelement.sgml:
19355         * gst/gstpad.c:
19356         * libs/gst/controller/gst-controller.c:
19357         (gst_controlled_property_set_interpolation_mode),
19358         (gst_controlled_property_new),
19359         (gst_controller_find_controlled_property):
19360          run the wingo-magic script against the docs
19362 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19364         * docs/gst/gstreamer-docs.sgml:
19365         * docs/gst/gstreamer-sections.txt:
19366         * docs/gst/tmpl/.cvsignore:
19367         * docs/gst/tmpl/gstelementdetails.sgml:
19368         * docs/gst/tmpl/gstelementfactory.sgml:
19369         * gst/gst.c:
19370         * gst/gstbus.c:
19371         * gst/gstelementfactory.c:
19372         * gst/gstelementfactory.h:
19373           merged elementdetails docs into elementfactory docs
19374           inlined both
19376 2005-09-02  Andy Wingo  <wingo@pobox.com>
19378         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
19379         consider this enum an enum and not a flags.
19381 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19383         * docs/gst/gstreamer-docs.sgml:
19384         * docs/gst/tmpl/.cvsignore:
19385         * docs/gst/tmpl/gstghostpad.sgml:
19386         * docs/gst/tmpl/gstiterator.sgml:
19387         * docs/gst/tmpl/gstmacros.sgml:
19388         * docs/gst/tmpl/gstrealpad.sgml:
19389         * docs/gst/tmpl/gstregistry.sgml:
19390         * docs/gst/tmpl/gstregistrypool.sgml:
19391         * docs/gst/tmpl/gststructure.sgml:
19392         * docs/gst/tmpl/gstsystemclock.sgml:
19393         * docs/gst/tmpl/gsttrace.sgml:
19394         * gst/gstghostpad.c:
19395         * gst/gstmacros.h:
19396         * gst/gstmemchunk.c:
19397         * gst/gstmemchunk.h:
19398         * gst/gstqueue.c:
19399         * gst/gstregistry.c:
19400         * gst/gstregistrypool.c:
19401         * gst/gststructure.c:
19402         * gst/gstsystemclock.c:
19403           more docs inlined
19405 2005-09-02  Andy Wingo  <wingo@pobox.com>
19407         * gst/gstelement.h (GstState): Renamed from GstElementState,
19408         changed to be a normal enum instead of flags.
19409         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
19410         munged to be GST_STATE_CHANGE_*.
19411         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
19412         work with the new state representation.
19413         (GstStateChange): New enumeration of possible state transitions.
19414         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
19415         (GstElementClass::change_state): Pass the GstStateChange along as
19416         an argument. Helps language bindings, so they don't have to use
19417         tricky lock-needing macros like GST_STATE_CHANGE ().
19419         * scripts/update-states (file): New script. Run it on a file to
19420         update it for state naming and API changes. Updates files in
19421         place.
19423         * All files updated for the new API.
19425 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19427         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
19428         * gst/gstutils.c: (gst_util_set_value_from_string),
19429         (gst_util_set_object_arg):
19430           fix a bunch of unchecked return values
19431         * tools/gst-complete.c: (main):
19432         * gstreamer.spec.in:
19433           clean up a little
19435 2005-09-01  Wim Taymans  <wim@fluendo.com>
19437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19438         (gst_base_sink_event), (gst_base_sink_do_sync),
19439         (gst_base_sink_handle_event):
19440         * gst/base/gstbasesink.h:
19441         Handle newsegments more correctly.
19443         * gst/gstbus.c:
19444         Fix docs.
19446         * gst/gstevent.c: (gst_event_new_newsegment):
19447         A newsegment cannot have a start_time of -1
19449 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
19451         * win32/gstenumtypes.c:
19452         * win32/gstenumtypes.h:
19453           Update
19455 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19457         * libs/gst/controller/gst-controller.c:
19458         (gst_controlled_property_set_interpolation_mode),
19459         (gst_controlled_property_new):
19460          fixed boolean again
19462 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
19464         * docs/faq/gst-uninstalled:
19465           add -good
19466         * gst/gstevent.c:
19467         * gst/gstevent.h:
19468           remove wrong docs
19469         * gst/gstutils.c: (gst_element_link_filtered):
19470         * gst/gstutils.h:
19471           add gst_element_link_filtered
19473 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19475         * docs/gst/gstreamer-docs.sgml:
19476         * docs/gst/gstreamer-sections.txt:
19477         * docs/gst/tmpl/.cvsignore:
19478         * docs/gst/tmpl/gsterror.sgml:
19479         * docs/gst/tmpl/gstfilter.sgml:
19480         * docs/gst/tmpl/gsturihandler.sgml:
19481         * docs/gst/tmpl/gsturitype.sgml:
19482         * docs/gst/tmpl/gstutils.sgml:
19483         * docs/gst/tmpl/gstxml.sgml:
19484         * gst/gsterror.c:
19485         * gst/gsterror.h:
19486         * gst/gstfilter.c:
19487         * gst/gsturi.c:
19488         * gst/gsturitype.c:
19489         * gst/gstutils.c:
19490         * gst/gstxml.c:
19491           inlined more docs, fixed double id-ref
19493 2005-08-31  Wim Taymans  <wim@fluendo.com>
19495         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19496         (gst_base_transform_handle_buffer):
19497         Passthrough elements don't need the caps as they don't care.
19499 2005-08-31  Wim Taymans  <wim@fluendo.com>
19501         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19502         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
19503         Don't leak refcounts on buffers.
19505 2005-08-31  Wim Taymans  <wim@fluendo.com>
19507         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19508         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19509         (gst_base_transform_chain), (gst_base_transform_change_state):
19510         * gst/base/gstbasetransform.h:
19511         Handle the case where we are not negotiated more gracefully.
19513 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
19515         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19516         (gst_file_src_map_region):
19517           Set READONLY flag on mmap'ed buffers, otherwise
19518           gst_buffer_make_writable() won't work properly (#314708).
19520 2005-08-31  Wim Taymans  <wim@fluendo.com>
19522         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19523         passthrough elements can even do inplace on non writable
19524         buffers (as they don't touch them).
19526 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19528         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19529         (gst_test_mono_source_set_property),
19530         (gst_test_mono_source_class_init), (GST_START_TEST),
19531         (gst_controller_suite):
19532           more tests (hehe I have the most)
19533         * gst/gstbus.c:
19534           describe popping messages whenusing mulltiple sources
19535         * libs/gst/controller/gst-controller.c:
19536         (gst_controlled_property_set_interpolation_mode),
19537         (gst_controlled_property_new):
19538         * libs/gst/controller/gst-controller.h:
19539         * libs/gst/controller/gst-interpolation.c:
19540           implement boolean properties
19542 2005-08-31  Wim Taymans  <wim@fluendo.com>
19544         * gst/gstminiobject.c: (gst_mini_object_ref):
19545         Cannot assert that the refcount has to be positive
19546         since a disposed object can be resurrected.
19548 2005-08-31  Wim Taymans  <wim@fluendo.com>
19550         * gst/gstpad.c: (gst_pad_init):
19551         Revert change, need to first fix badly behaving 
19552         apps.
19554 2005-08-30  Wim Taymans  <wim@fluendo.com>
19556         * check/elements/fakesrc.c: (setup_fakesrc):
19557         * check/elements/identity.c: (setup_identity):
19558         Activate pads before using them.
19560 2005-08-30  Wim Taymans  <wim@fluendo.com>
19562         * gst/base/gstadapter.c: (gst_adapter_flush):
19563         Flushing out 0 bytes is ok for this function.
19565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19566         no newsegment gives a warning and sets the start/stop to 
19567         invalid.
19569         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
19570         (gst_base_transform_set_passthrough):
19571         Some debug info.
19573         * gst/gstminiobject.c: (gst_mini_object_ref):
19574         Check refcount here too.
19576         * gst/gstpad.c: (gst_pad_init):
19577         Pads are initially flushing and refusing data.
19579         * gst/gstutils.c: (gst_element_link_pads_filtered):
19580         When adding a capsfilter element make sure it has the
19581         same state as the parent bin.
19583 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19585         * docs/gst/tmpl/.cvsignore:
19586         * docs/gst/tmpl/gstformat.sgml:
19587         * docs/gst/tmpl/gstversion.sgml:
19588         * gst/gstbus.h:
19589         * gst/gstformat.c:
19590         * gst/gstformat.h:
19591         * gst/gstversion.h.in:
19592           more docs and two more inlined
19594 2005-08-30  Wim Taymans  <wim@fluendo.com>
19596         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
19597         Don't sync to clock.
19599 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19601         * docs/gst/gstreamer-sections.txt:
19602           ultral33t func10ns deserve to appear in the docs actually
19603         * docs/gst/tmpl/.cvsignore:
19604         * docs/gst/tmpl/gstcompat.sgml:
19605         * docs/gst/tmpl/gstconfig.sgml:
19606         * gst/check/gstcheck.c:
19607         * gst/gstcompat.h:
19608         * gst/gstconfig.h.in:
19609           inlined more docs
19611 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19613         * docs/gst/tmpl/.cvsignore:
19614         * docs/gst/tmpl/gstquery.sgml:
19615         * docs/gst/tmpl/gstutils.sgml:
19616         * gst/gstquery.c:
19617         * gst/gstquery.h:
19618           inlined and extended docs
19620 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19622         * check/gst-libs/controller.c: (GST_START_TEST),
19623         (gst_controller_suite):
19624           more tests
19625         * docs/gst/tmpl/gstutils.sgml:
19626         * docs/libs/gstreamer-libs-sections.txt:
19627         * docs/libs/tmpl/gstdataprotocol.sgml:
19628           include path fixes
19629         * examples/controller/audio-example.c: (main):
19630           controller example works now
19631         * gst/gstclock.h:
19632           doc fixes
19633         * tools/gst-inspect.c: (print_element_properties_info):
19634           show param spec flags
19636 2005-08-29  Andy Wingo  <wingo@pobox.com>
19638         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
19640 2005-08-28  Andy Wingo  <wingo@pobox.com>
19642         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
19643         as having two arguments instead of just one. Allows superclasses
19644         to access information on subclasses -- see the terrible for() loop
19645         in gtype.c:g_type_create_instance for the reason why. All callers
19646         changed.
19648 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19650         * docs/design/part-messages.txt:
19651           update info
19652         * docs/gst/tmpl/.cvsignore:
19653         * docs/gst/tmpl/gstcaps.sgml:
19654         * docs/gst/tmpl/gstclock.sgml:
19655         * gst/gstbus.c:
19656         * gst/gstcaps.c:
19657         * gst/gstcaps.h:
19658         * gst/gstclock.c:
19659         * gst/gstclock.h:
19660         * gst/gstmessage.c:
19661           added descriptions for bus and message
19662           inline caps and clock docs
19664 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19666         * gst/gstmessage.c:
19667         * gst/gstmessage.h:
19668           doc fixes
19670 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19672         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19673           fix div-by-zero
19675 2005-08-26  Andy Wingo  <wingo@pobox.com>
19677         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
19678         element_set_state's return val.
19679         (test_2_elements): Add test that's been disabled for months.
19681         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
19682         can-activate-pull properties.
19684         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
19685         can-activate-pull properties. Implement is_seekable so fakesrc can
19686         operate in pull mode.
19688         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
19689         properties.
19690         (gst_base_sink_activate, gst_base_sink_activate_pull)
19691         (gst_base_sink_activate_push): Make activation mode choosing work.
19692         Cleanups.
19693         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
19694         is right. Make pull mode work. Post an eos before pausing in pull
19695         mode.
19696         (gst_base_sink_change_state): Pay attention to the core's
19697         change_state() return val.
19698         
19699         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
19700         has-getrange properties. Cleanups.
19701         
19702         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
19703         has_getrange and replace with can_activate_pull and
19704         can_activate_push.
19706         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
19707         locking comments. Remove has_loop, has_chain and replace with
19708         can_activate_pull and can_activate_push.
19710 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
19712         * configure.ac:
19713         * examples/Makefile.am:
19714         * examples/metadata/Makefile.am:
19715         * examples/metadata/read-metadata.c: (message_loop),
19716         (have_pad_handler), (make_pipeline), (print_tag), (main):
19717           Add metadata reading example that loops over a list of filenames,
19718           dumping any tags found.
19720         * gst/gstbus.c: (gst_bus_dispose):
19721         * gst/gstelement.c: (gst_element_dispose):
19722           Release a few potentially-held references in dispose.
19724 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19726         * docs/gst/tmpl/gstminiobject.sgml:
19727           do *not* add tmpl/*.sgml files to CVS!
19729 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19731         * libs/gst/bytestream/.cvsignore:
19732         * libs/gst/bytestream/Makefile.am:
19733         * libs/gst/bytestream/adapter.c:
19734         * libs/gst/bytestream/adapter.h:
19735         * libs/gst/bytestream/bytestream.c:
19736         * libs/gst/bytestream/bytestream.h:
19737         * libs/gst/bytestream/filepad.c:
19738         * libs/gst/bytestream/filepad.h:
19739           removing obsolete files
19741 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19743         * docs/gst/gstreamer-docs.sgml:
19744         * docs/libs/gstreamer-libs-docs.sgml:
19745           disabed additional index entries again, as this makes docs-gen just
19746           slow and they aren't useful yet
19747         * docs/libs/gstreamer-libs-sections.txt:
19748           little -section.txt cleanup for libs
19750 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
19752         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19753         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
19754           fix up some debugging
19755         (gst_base_transform_get_unit_size),
19756         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19757         (gst_base_transform_handle_buffer):
19758         * gst/base/gstbasetransform.h:
19759           handle and store timed NEWSEGMENT events so that subclasses that
19760           calculate time by counting samples have a segment_start time they
19761           need to add to their timestamps - see audioresample
19763 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19765         * gst/gstbin.h:
19766           removed ';' from the end of macro defs
19767         * docs/gst/gstreamer-docs.sgml:
19768         * docs/gst/gstreamer-sections.txt:
19769         * docs/gst/tmpl/.cvsignore:
19770         * gst/gstbus.h:
19771         * gst/gstelement.c: (gst_element_class_init),
19772         (gst_element_set_state), (activate_pads),
19773         (gst_element_save_thyself):
19774         * gst/gstevent.c: (gst_event_new_newsegment):
19775         * gst/gstevent.h:
19776         * gst/gstiterator.c:
19777         * gst/gstiterator.h:
19778         * gst/gstpad.c:
19779         * gst/gstprobe.h:
19780         * gst/gstutils.c: (gst_pad_query_convert):
19781         * gst/gstutils.h:
19782           fixed parameter name mismatches between source, header and docs
19783           added some more docs, resolved the last batch of unused elements in
19784           docs (now someone needs to doc them)
19786 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19788         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
19789         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
19790           don't walk through the plugins backwards.  Where is all this
19791           reversed logic coming from ?
19793 2005-08-25  Wim Taymans  <wim@fluendo.com>
19795         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19796         (gst_base_transform_transform_size),
19797         (gst_base_transform_configure_caps),
19798         (gst_base_transform_get_unit_size),
19799         (gst_base_transform_buffer_alloc),
19800         (gst_base_transform_change_state):
19801         * gst/base/gstbasetransform.h:
19802         Cache caps unit_size.
19803         Make sure we cannot negotiate up and downstream at the
19804         same time.
19806 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19808         * gst/gst.c: (init_pre), (init_post):
19809           register the installed plugin path after the env var
19810         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
19811         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
19812           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
19813           directories, so the tests can prefer uninstalled over installed
19815 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19817         * gst/base/gstbasetransform.h:
19818           comment
19819         * gst/gstpad.c:
19820           add to docs
19822 2005-08-25  Wim Taymans  <wim@fluendo.com>
19824         * gst/gstbin.c: (bin_bus_handler):
19825         Be a bit more conservative about the posted message.
19826         
19827         * gst/gstbus.c: (gst_bus_post):
19828         Some cleanups, warn wrong return values.
19830 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
19832         * check/gst/gstbin.c: (GST_START_TEST):
19833         * gst/gstbin.c: (bin_bus_handler):
19834         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
19835         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
19836         (gst_message_new_warning), (gst_message_new_tag),
19837         (gst_message_new_state_changed), (gst_message_new_segment_start),
19838         (gst_message_new_segment_done), (gst_message_new_custom):
19839         * gst/gstmessage.h:
19840         * tools/gst-launch.c: (event_loop):
19841         * tools/gst-md5sum.c: (event_loop):
19842           Revert unpopular change for GST_MESSAGE_SRC to GObject.
19844 2005-08-25  Wim Taymans  <wim@fluendo.com>
19846         * check/generic/states.c: (GST_START_TEST):
19847         Cleanup can be done at the end.
19849         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
19850         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
19851         (gst_task_get_state), (gst_task_start), (gst_task_pause):
19852         Oh boy.. Thanks for finding this, Thomas. 
19854 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
19856         * docs/gst/gstreamer.types:
19857           added missing types
19859 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
19861         * docs/gst/gstreamer-docs.sgml:
19862         * docs/gst/gstreamer-sections.txt:
19863         * docs/gst/tmpl/.cvsignore:
19864         * gst/gstbin.c:
19865         * gst/gstiterator.c:
19866         * gst/gstutils.c:
19867         * gst/registries/gstxmlregistry.h:
19868           added missing classes and symbols (123 more to go)
19869           removed removed symbols from section file
19870           fixed many doc-comments
19872 2005-08-24  Wim Taymans  <wim@fluendo.com>
19874         * check/generic/states.c: (GST_START_TEST):
19875         Make sure all tasks are stopped.
19877         * check/gst/gstbin.c: (GST_START_TEST):
19878         Unref after usage for proper valgrinding.
19880         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
19881         Really wait for the task to stop before destroying the
19882         mutex.
19884         * gst/gstqueue.c: (gst_queue_sink_activate_push),
19885         (gst_queue_src_activate_push):
19886         Small cleanups. Don't stop the task when we did not start
19887         it.
19889         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
19890         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
19891         (gst_task_get_state), (gst_task_start), (gst_task_pause),
19892         (gst_task_join):
19893         * gst/gsttask.h:
19894         Protect the stream lock with the object lock.
19895         Disallow setting the stream lock when running.
19896         Add cleanup_all to wait for the threadpool to finish.
19897         Remove code to autoallocate a mutex if none was provided.
19898         Add _join() to wait for a task to stop.
19899         Protect the thread pool with a global lock.
19901 2005-08-24  Wim Taymans  <wim@fluendo.com>
19903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19904         (gst_base_sink_get_times), (gst_base_sink_do_sync),
19905         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
19906         * gst/base/gstbasesink.h:
19907         Handle newsegment events correctly.
19908         Drop buffers out of the segment range.
19910 2005-08-22  Andy Wingo  <wingo@pobox.com>
19912         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
19913         macro, implements an interface and gstimplementsinterface for a
19914         new type.
19916 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19918         * check/Makefile.am:
19919         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
19920           add a test that does a bunch of state changes on elements
19921           needs some fixing for valgrind
19922         * check/states/sinks.c: (gst_object_suite):
19923           whitespace
19924         * gst/gstcaps.h:
19925           add prototype for gst_caps_is_equal_fixed
19926         * gst/gstplugin.c:
19927         * gst/gstregistrypool.c:
19928           doc fixes
19930 2005-08-24  Andy Wingo  <wingo@pobox.com>
19932         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
19933         convert a negative value. Doesn't make much sense. Mostly this is
19934         here to force callers to ensure -1 maps to -1.
19936 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
19938         * docs/pwg/advanced-types.xml:
19939           Well done to Michael for catching my deliberate introduction
19940           of this spelling mistake. 
19941         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
19942         * gst/gstelement.h:
19943           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
19944           unlink pads before removing the element from the bin.
19946 2005-08-24  Andy Wingo  <wingo@pobox.com>
19948         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
19949         the same thing as GST_DEBUG=*:4.
19950         (parse_debug_level, parse_debug_category): New helper parsers.
19952 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19954         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19955         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
19956         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
19957         (gst_base_transform_buffer_alloc),
19958         (gst_base_transform_handle_buffer):
19959           use gboolean return values and pointers to size so we can use the
19960           full GST_BUFFER_SIZE range (guint) for buffer sizes
19961           use GstPadDirection for transform_caps
19962         * gst/base/gstbasetransform.h:
19963           rename get_size to get_unit_size since that's what it is
19964         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
19965           use GstPadDirection for transform_caps
19966         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
19967         * gst/gstutils.h:
19968           cleanup and debugging
19970 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
19972         * gst/gstelement.c: (gst_element_class_init),
19973         (gst_element_set_state), (activate_pads),
19974         (gst_element_save_thyself):
19975         * tools/gst-compprep.c: (main):
19976         * tools/gst-inspect.c: (print_element_properties_info):
19977         * tools/gst-xmlinspect.c: (print_element_properties):
19978           Fixed long standing mem-leak
19980 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
19982         * check/gst/gstbin.c: (GST_START_TEST):
19983         * gst/gstbin.c: (bin_bus_handler):
19984         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
19985         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
19986         (gst_message_new_warning), (gst_message_new_tag),
19987         (gst_message_new_state_changed), (gst_message_new_segment_start),
19988         (gst_message_new_segment_done), (gst_message_new_custom):
19989         * gst/gstmessage.h:
19990         * tools/gst-launch.c: (event_loop):
19991         * tools/gst-md5sum.c: (event_loop):
19992           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
19993           that applications can sensibly post custom messages with references
19994           to their own objects.
19996 2005-08-24  Andy Wingo  <wingo@pobox.com>
19998         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
19999         already.
20001 2005-08-24  Wim Taymans  <wim@fluendo.com>
20003         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20004         (gst_base_transform_transform_caps),
20005         (gst_base_transform_transform_size),
20006         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20007         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20008         (gst_base_transform_handle_buffer):
20009         * gst/base/gstbasetransform.h:
20010         Many fixes and new features added by Thomas. Can now also do
20011         transforms with variable sizes and a custom fixate_caps function.
20013 2005-08-24  Wim Taymans  <wim@fluendo.com>
20015         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20016         Some debugging.
20018         * gst/gstclock.h:
20019         Cast to ClockTime before formatting to time.
20021         * gst/gstutils.h:
20022         Cleanups.
20024 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20026         * check/gst-libs/controller.c: (GST_START_TEST),
20027         (gst_controller_suite):
20028         * docs/gst/tmpl/gstcaps.sgml:
20029         * docs/gst/tmpl/gstghostpad.sgml:
20030         * docs/gst/tmpl/gstquery.sgml:
20031         * docs/gst/tmpl/gstutils.sgml:
20032         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20033         (gst_object_sink_values), (gst_object_get_value_arrays),
20034         (gst_object_get_value_array):
20035           gracefully handle helper method calls to objects that are not beeing
20036           controlled, added test case for that          
20038 2005-08-23  Wim Taymans  <wim@fluendo.com>
20040         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20041         (gst_event_new_newsegment), (gst_event_parse_newsegment),
20042         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20043         (gst_event_parse_qos), (gst_event_new_seek),
20044         (gst_event_parse_seek):
20045         * gst/gstevent.h:
20046         Some more debugging output and doc cleanups.
20048         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20049         Fix possible deadlock.
20051 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20053         * docs/gst/gstreamer-docs.sgml:
20054         * docs/gst/gstreamer-sections.txt:
20055         * docs/gst/gstreamer.types:
20056         * docs/gst/tmpl/.cvsignore:
20057         * gst/gstbin.h:
20058         * gst/gstbus.c:
20059         * gst/gstelement.c:
20060         * gst/gstevent.h:
20061           added 100 symbols from gstreamer-unused.txt to the right sections
20062           fixed more broken comments
20063           added GstBus to docs
20065 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20067         * docs/gst/gstreamer-sections.txt:
20068         * docs/gst/tmpl/.cvsignore:
20069         * docs/gst/tmpl/gstbin.sgml:
20070         * docs/gst/tmpl/gstbuffer.sgml:
20071         * gst/base/gstbasesrc.c:
20072         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20073         * gst/gstbuffer.c:
20074         * gst/gstbuffer.h:
20075         * tools/gst-launch.1.in:
20076           inlined more doc comments, added missing comments and fixed comments
20077           fixed typos
20079 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20081         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20082           some debugging
20083         * gst/gstcaps.h:
20084           whitespace fixes
20085         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20086           more debugging
20087         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20088         * gst/gststructure.h:
20089           add a fixate function for booleans; add a FIXME that these func
20090           names should probably be gst_structure_fixate_*
20092 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20094         * docs/gst/gstreamer-docs.sgml:
20095         * docs/gst/gstreamer-sections.txt:
20096         * gst/Makefile.am:
20097         * gst/gstbin.c: (gst_bin_get_type),
20098         (gst_bin_child_proxy_get_child_by_index),
20099         (gst_bin_child_proxy_get_children_count),
20100         (gst_bin_child_proxy_init):
20101         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20102         (gst_child_proxy_get_child_by_index),
20103         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20104         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20105         (gst_child_proxy_get), (gst_child_proxy_set_property),
20106         (gst_child_proxy_set_valist), (gst_child_proxy_set),
20107         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20108         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20109         * gst/gstchildproxy.h:
20110         * gst/parse/grammar.y:
20111         * tools/gst-inspect.c: (print_interfaces),
20112         (print_element_properties_info), (print_element_info):
20113           ported gstchildproxy over from 0.8
20114           ported gst-inspect fixes and enhancements over from 0.8
20116 2005-08-22  Wim Taymans  <wim@fluendo.com>
20118         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20119         (gst_base_transform_handle_buffer):
20120         Also call the transform function if we have ANY caps.
20122         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20123         Fix debug info.
20125 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20127         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20128           Don't pretend to handle seek events if the source is not seekable
20130 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20132         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20133           Remove extra parameter to debug output
20135         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20136         (gst_base_src_do_seek), (gst_base_src_activate_push):
20137           Fix seek event handling.
20139         * gst/gstpipeline.c: (gst_pipeline_change_state):
20140         * gst/gstqueue.c: (gst_queue_handle_sink_event),
20141         (gst_queue_src_activate_push):
20142           Don't start the src pad task on FLUSH_STOP if the pad
20143           isn't linked.
20144           Debug changes.
20146 2005-08-22  Wim Taymans  <wim@fluendo.com>
20148         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20149         Added check for gst_static_caps_get() refcounting.
20151 2005-08-22  Wim Taymans  <wim@fluendo.com>
20153         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20154         Make _static_caps_get() refcounting sane.
20155         
20156         * gst/gstelement.c: (gst_element_set_state):
20157         Add g_return_val_if_fail() to protect against segfaults.
20159 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
20161         * docs/gst/tmpl/gstevent.sgml:
20162         * gst/gstevent.c:
20163         * gst/gstevent.h:
20164           inlined remaining docs, added missing doc comments
20166 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20168         * check/gst/gstbin.c: (GST_START_TEST):
20169           since we don't know when preroll is done, use refcount range
20170           check for the sink
20171         * gst/check/gstcheck.h:
20172           add macro for checking refcount range
20174 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20176         * check/Makefile.am:
20177           clean up environment for when registry gets built versus
20178           when actual tests are run; valgrind seems to not report
20179           leaks if GST_PLUGIN_PATH is set to some specific values
20180         * check/gst/gstbin.c: (GST_START_TEST):
20181           add more refcounting checks; maybe this exposes a
20182           preroll lock bug ?
20183         * common/check.mak:
20184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20185         * gst/check/gstcheck.h:
20186         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20187         (gst_bin_change_state):
20188         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20189           add/fix debugging/whitespace
20191 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20193         * check/gst/gstevent.c: (event_probe), (test_event),
20194         (GST_START_TEST):
20195          Er, don't call gst_bin_watch_for_state_change you idiot.
20197 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20199         * check/Makefile.am:
20200           Use CHECK_CFLAGS and CHECK_LIBS
20201         * check/gst/gstevent.c: (event_probe), (test_event),
20202         (GST_START_TEST):
20203           Don't leak events.
20204         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20205         (gst_base_src_start), (gst_base_src_stop),
20206         (gst_base_src_activate_push), (gst_base_src_activate_pull),
20207         (gst_base_src_change_state):
20208           Sprinkle gst_base_src_stop liberally around error paths to fix
20209           problems reusing a source after failed state changes.
20210         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20211         (helper_find_suggest), (gst_type_find_helper):
20212           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20213         * gst/gstevent.h:
20214         * docs/gst/tmpl/gstevent.sgml:
20215           Migrate part of the docs from the SGML file. Wait for ensonic to
20216           tell me how I did it wrong ;)
20217         * tools/gst-typefind.c: (main):
20218           Extra robustness to state changes between files.
20220 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20222         * check/Makefile.am:
20223           don't valgrind the controller test - it's leaking - Stefan, HELP
20224         * gst/check/gstcheck.c: (gst_check_message_error),
20225         (gst_check_chain_func), (gst_check_setup_element),
20226         (gst_check_teardown_element), (gst_check_setup_src_pad),
20227         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20228         (gst_check_teardown_sink_pad):
20229         * gst/check/gstcheck.h:
20230           add a bunch of methods to set up elements, and src and sink pads
20231         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20232         * check/elements/identity.c: (setup_identity), (cleanup_identity),
20233         (GST_START_TEST):
20234           use them
20235         * gst/gstmessage.c:
20236         * gst/gsttag.h:
20237           whitespace/doc fixes
20239 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20241         * gst/gstelement.h:
20242           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20243           be handled by the application and not always printed as well
20245 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20247         * check/Makefile.am:
20248           set GST_TOOLS_DIR
20249         * gst/check/gstcheck.c: (gst_check_message_error):
20250         * gst/check/gstcheck.h:
20251           add a fail_unless_equals_int
20252           add fail_unless for error messages
20254 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20256         * check/Makefile.am:
20257         * check/gst.supp:
20258         * common/Makefile.am:
20259         * common/check.mak:
20260         * common/gst.supp:
20261           factor out some of the common stuff so we can use it
20263 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20265         * check/Makefile.am:
20266         * check/gst/gstiterator.c: (GST_START_TEST):
20267         * check/gst/gstsystemclock.c: (GST_START_TEST),
20268         (gst_systemclock_suite):
20269         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20270         * gst/gstclock.c:
20271           valgrind more tests
20273 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20275         * check/elements/.cvsignore:
20276         * check/elements/gstfakesrc.c:
20277           rename to name of element
20278         * check/elements/identity.c: (chain_func), (event_func),
20279         (setup_identity), (cleanup_identity), (GST_START_TEST),
20280         (identity_suite), (main):
20281           add a test for identity
20282         * check/Makefile.am:
20283         * pkgconfig/Makefile.am:
20284         * pkgconfig/gstreamer-check.pc.in:
20285         * pkgconfig/gstreamer-check-uninstalled.pc.in:
20286         * gst/check:
20287         * gst/Makefile.am:
20288         * configure.ac:
20289           move the check stuff to a library that gets installed
20290         * check/gst-libs/controller.c: (GST_START_TEST):
20291         * check/gst-libs/gdp.c:
20292         * check/gst/gst.c: (GST_START_TEST):
20293         * check/gst/gstbin.c:
20294         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20295         * check/gst/gstbus.c:
20296         * check/gst/gstcaps.c: (GST_START_TEST):
20297         * check/gst/gstelement.c:
20298         * check/gst/gstghostpad.c:
20299         * check/gst/gstiterator.c:
20300         * check/gst/gstmessage.c:
20301         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
20302         * check/gst/gstobject.c:
20303         * check/gst/gstpad.c: (GST_START_TEST):
20304         * check/gst/gststructure.c: (GST_START_TEST):
20305         * check/gst/gstsystemclock.c: (GST_START_TEST),
20306         (gst_systemclock_suite):
20307         * check/gst/gsttag.c: (gst_tag_suite):
20308         * check/gst/gstvalue.c:
20309         * check/pipelines/cleanup.c:
20310         * check/pipelines/simple_launch_lines.c:
20311         * check/states/sinks.c:
20312           change include statement
20314         * docs/gst/gstreamer-sections.txt:
20315         * docs/gst/tmpl/gstpad.sgml:
20316           document more pad stuff
20317         * gst/gstminiobject.c: (gst_mini_object_ref),
20318         (gst_mini_object_unref):
20319           debug refcounting
20321 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
20323         * docs/gst/tmpl/gst.sgml:
20324         * gst/gst.c:
20325           eliminate another tmpl file, fix spelling in the long-description
20327 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20329         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20330         (test_event), (timediff), (gstevents_suite):
20331           Should fix build on 64-bit arch's
20333 2005-08-18  Andy Wingo  <wingo@pobox.com>
20335         Make sure that when a pipeline goes to PLAYING, that data has
20336         actually hit the sink.
20338         * check/states/sinks.c (test_sink): A sink that doesn't get any
20339         data shouldn't return SUCCESS for going to either PLAYING or
20340         PAUSED. Test also the return values on the way back down.
20342         * gst/gstelement.c (gst_element_set_state): When changing the
20343         state of an element currently changing state asynchronously, go to
20344         lost-state after commiting the pending state. Makes future calls
20345         to get_state continue to return ASYNC.
20347         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
20348         ASYNC when going to PLAYING if we still don't have preroll, as can
20349         happen with live sources.
20351 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20353         * docs/pwg/advanced-types.xml:
20354           Hack long paragraph into 2 chunks as a workaround for buggy
20355           jadetex version in sid and breezy that loops infinitely and
20356           eats all RAM.
20358 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20360         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20361         (test_event), (timediff), (gstevents_suite):
20362           Provide more error margin in clock measurements to allow for 
20363           g_get_current_time inaccuracies.
20365 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20367         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20368         (test_event), (timediff), (gstevents_suite):
20369            Fix error message output so I might be able to tell why the
20370            test works here but fails on the build farm.
20372 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20374         * check/Makefile.am:
20375         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20376         (test_event), (timediff), (gstevents_suite), (main):
20377           I wrote a test!
20379         * docs/design/part-seeking.txt:
20380           Spelling correction
20382         * docs/gst/tmpl/gstevent.sgml:
20383         * docs/gst/tmpl/gstfakesrc.sgml:
20384           Docs updates.
20386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20387           Treat a buffer-without-newsegment the same as a receiving 
20388           a newsegment not in time format, and disable syncing to the clock
20389           with a warning.
20391         * gst/gstbus.c: (gst_bus_set_sync_handler):
20392           Assert if anyone tries to replace the existing sync_handler for bus, 
20393           as only the owner should be setting it.
20395         * gst/gstevent.h:
20396           Have a fixed set of custom event enums with events identified by
20397           their structure name (as in 0.8), rather than a free-for-all
20398           allowing collisions between enum values from different plugins.
20400         * gst/gstpad.c: (gst_pad_class_init):
20401           Docs change.
20402           
20403         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20404           Handle out-of-band downstream events from the sending thread.
20406 2005-08-17  Andy Wingo  <wingo@pobox.com>
20408         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
20409         play-timeout==0 to mean no timeout at all. In that case, don't
20410         bother with a get_state or a warning, just return directly, even
20411         if it's ASYNC.
20413         * gst/base/gstbasetransform.c: Debug changes.
20415         * gst/gstutils.h:
20416         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
20417         ensure bins post state change messages. A bit of a hack but I can't
20418         think of a way to avoid it.
20420         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
20422 2005-08-16  Andy Wingo  <wingo@pobox.com>
20424         * gst/base/gstadapter.h:
20425         * gst/base/gstadapter.c (gst_adapter_take): New function, like
20426         peek() but you own the data. Not terribly efficient atm.
20428 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20430         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
20431         (gst_element_found_tags):
20432         * gst/gstutils.h:
20433           Add two utility functions for tag handling.
20435 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20437         * docs/manual/advanced-dataaccess.xml:
20438         * docs/manual/basics-helloworld.xml:
20439           Fix docs to use _bin_add() before _link(), which fixes the examples
20440           with recent core versions (reported by Madhan Raj M
20441           <raj_madan@rediffmail.com>, #313199).
20443 2005-08-16  Wim Taymans  <wim@fluendo.com>
20445         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20446         Added subtract checks.
20448         * docs/design/part-events.txt:
20449         Some more docs about newsegment
20451         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20452         Fix FIXME
20454         * gst/gstcaps.c: (gst_caps_to_string):
20455         Add comments, cleanups.
20456         
20457         * gst/gstelement.c: (gst_element_save_thyself):
20458         cleanups
20459         
20460         * gst/gstvalue.c: (gst_value_collect_int_range),
20461         (gst_string_unwrap), (gst_value_union_int_int_range),
20462         (gst_value_union_int_range_int_range),
20463         (gst_value_intersect_int_int_range),
20464         (gst_value_intersect_int_range_int_range),
20465         (gst_value_intersect_double_double_range),
20466         (gst_value_intersect_double_range_double_range),
20467         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
20468         (gst_value_subtract_int_range_int),
20469         (gst_value_subtract_double_range_double),
20470         (gst_value_subtract_double_range_double_range),
20471         (gst_value_subtract_from_list), (gst_value_subtract_list),
20472         (gst_value_can_compare), (gst_value_compare_fraction):
20473         Cleanups, add comments, remove unneeded asserts.
20475 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20477         * tools/gst-launch.c: (event_loop):
20478           don't convert NULL structures to strings
20480 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
20482         * docs/gst/gstreamer-sections.txt:
20483           made some defines private
20484         * docs/gst/tmpl/gstconfig.sgml:
20485         * docs/gst/tmpl/gstqueue.sgml:
20486         * docs/gst/tmpl/gsttaglist.sgml:
20487         * docs/gst/tmpl/gsttypes.sgml:
20488         * docs/gst/tmpl/gstutils.sgml:
20489         * docs/pwg/appendix-porting.xml:
20490         * gst/base/gstbasesink.h:
20491         * gst/base/gstbasesrc.c:
20492         * gst/base/gstbasesrc.h:
20493         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20494         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
20495         * gst/gstelement.c: (gst_element_class_init):
20496         * gst/gstpad.c: (gst_pad_class_init):
20497         * gst/gstqueue.c: (gst_queue_class_init):
20498         * gst/gstxml.c: (gst_xml_class_init):
20499           documented all undocumented signal inline
20500         * libs/gst/controller/gst-controller.h:
20501           added padding
20503 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20505         * docs/pwg/appendix-porting.xml:
20506           Document _set_link_function -> _set_setcaps_function.
20508 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20510         * check/Makefile.am:
20511           add a .check target for running the check
20512         * check/gst-libs/controller.c: (GST_START_TEST):
20513           cosmetic fixups
20514         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20515           complete checks for gstbuffer; would be nice if I could get the
20516           gcov stuff to work so I can see if I actually completed gstbuffer.c
20517         * check/gstcheck.h:
20518           add ASSERT_BUFFER_REFCOUNT
20520 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
20522         * docs/gst/gstreamer-sections.txt:
20523         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20524         * gst/gsttag.h:
20525           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20526           spew out a warning if a tag that is already registered
20527           is re-registered, unless it is re-registered with a 
20528           different type (#308438).
20530 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
20532         * docs/pwg/appendix-porting.xml:
20533         * docs/pwg/building-state.xml:
20534           Add some paragraphs about state changes in 0.9 to the PWG
20535           and the porting guide, in particular about the new meaning
20536           of GST_STATE_PAUSED and how to write state change functions
20537           with concurrent access by multiple threads in mind.
20539 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
20541         * docs/gst/gstreamer-docs.sgml:
20542         * docs/libs/gstreamer-libs-docs.sgml:
20543           added deprecation and since indexes
20544         * libs/gst/controller/gst-controller.c:
20545         * libs/gst/controller/gst-helper.c:
20546           added since tags
20549 2005-08-11  Wim Taymans  <wim@fluendo.com>
20551         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20552         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20553         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20554         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20555         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20556         (gst_ghost_pad_set_target):
20557         Actually implement (re)setting the target on a ghostpad
20558         as described in the docs.
20560 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20562         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20563           Check whether GST_DEBUG_NO_COLOR environment variable is
20564           set and disable coloured debug output if that is the case.
20566 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20568         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20569         (gst_type_find_helper):
20570           The memory returned by gst_type_find_peek() needs to
20571           stay valid until the end of a typefind function, and
20572           typefind functions may keep results from different 
20573           offsets around, so we can't just unref the buffer from
20574           the previous _peek(), but have to save all buffers 
20575           returned by _peek() until typefinding is done and only
20576           free them then.
20578 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
20580         * docs/gst/gstreamer-sections.txt:
20581         * gst/gstutils.h:
20582           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
20584 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20586         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20587           Fix a pretty good memleak.
20589 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20591         * gst/gstiterator.h:
20592           Fix wrong include and 'make distcheck'.
20594 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20596         * gst/gstbin.c: (bin_bus_handler):
20597           Use gst_element_post_message() instead.
20599 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20601         * gst/base/gstadapter.h:
20602         * gst/base/gstbasesink.h:
20603         * gst/base/gstbasesrc.h:
20604         * gst/base/gstbasetransform.h:
20605         * gst/base/gstcollectpads.h:
20606         * gst/base/gstpushsrc.h:
20607         * gst/gstiterator.h:
20608           Add padding to our base elements' class and instance structs and
20609           to GstIterator (you will need to rebuild all plugins and apps!)
20611 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20613         * gst/gstbin.c: (bin_bus_handler):
20614           Make default message forwarding from child->bus to bin->bus
20615           threadsafe and make it not emit warnings if the parent has no bus.
20617 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20619         * gst/gstelement.c: (activate_pads):
20620           On paused->ready, set pad->caps to NULL, as is the documented
20621           behaviour in this state change. Fixes playback of series of
20622           media files when visualization is enabled in Totem.
20624 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20626         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20627           Allow NULL as filter-caps (which means "any").
20629 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20631         * docs/libs/gstreamer-libs-sections.txt:
20632         * libs/gst/controller/gst-controller.c:
20633         * libs/gst/controller/gst-controller.h:
20634         * libs/gst/controller/gst-helper.c:
20635           adding more entries to the docs and fix small doc-bugs
20637 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20639         * docs/gst/gstreamer-docs.sgml:
20640         * docs/gst/gstreamer-sections.txt:
20641         * docs/gst/gstreamer.types:
20642         * docs/gst/tmpl/gstbasesink.sgml:
20643         * docs/gst/tmpl/gstbasesrc.sgml:
20644         * docs/gst/tmpl/gstbasetransform.sgml:
20645         * docs/gst/tmpl/gstfakesrc.sgml:
20646         * gst/base/gstcollectpads.c:
20647         * gst/base/gstcollectpads.h:
20648         * libs/gst/controller/gst-controller.c:
20649         * libs/gst/controller/gst-controller.h:
20650         * libs/gst/controller/gst-helper.c:
20651         * libs/gst/controller/gst-interpolation.c:
20652         * libs/gst/controller/lib.c:
20653           added long/short desc for controller docs
20654           added collectpads base class docs
20655           added correct includes to base-class docs
20657 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20659         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20660         (gst_test_mono_source_set_property),
20661         (gst_test_mono_source_class_init), (GST_START_TEST),
20662         (gst_controller_suite):
20663         * docs/gst/gstreamer-docs.sgml:
20664         * docs/gst/gstreamer-sections.txt:
20665         * docs/gst/gstreamer.types:
20666         * docs/libs/gstreamer-libs-docs.sgml:
20667         * docs/libs/gstreamer-libs-sections.txt:
20668         * gst/base/gstadapter.c:
20669         * libs/gst/controller/gst-controller.c:
20670         (gst_controlled_property_new), (gst_controlled_property_free),
20671         (gst_controller_new_valist),
20672         (gst_controller_remove_properties_valist),
20673         (gst_controller_sink_values), (_gst_controller_finalize):
20674         * libs/gst/controller/gst-controller.h:
20675         * libs/gst/controller/gst-helper.c:
20676         (gst_object_control_properties), (gst_object_uncontrol_properties),
20677         (gst_object_get_controller), (gst_object_set_controller),
20678         (gst_object_sink_values), (gst_object_get_value_arrays),
20679         (gst_object_get_value_array):
20680           more tests (and fixes) for the controller
20681           more docs for the controller
20682           integrated companies docs for the adapter 
20684 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20686         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
20687         (GST_START_TEST), (fakesrc_suite):
20688           add tests for sizetype
20690 2005-08-04  Andy Wingo  <wingo@pobox.com>
20692         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
20693         fixes buffer_alloc proxying among other things.
20695         * gst/base/gstbasetransform.c:
20696         * gst/base/gstbasetransform.h:
20697         Revert patch to gstbasetransform from 7-28 removing
20698         delay_configure.
20700         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
20701         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
20702         Semantics changed, should return not the size of the output buffer
20703         but the byte size of a buffer with a given caps.
20705         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
20706         debug object.
20707         (gst_base_transform_configure_caps): Don't set out_size here: (in,
20708         out) are not the pad caps until setcaps finishes.
20709         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
20710         not-in-place case as well. Deal with changing from in-place to
20711         not-in-place within calling pad_alloc_buffer. Still a bit
20712         concerned about the overhead here...
20714 2005-08-03  Andy Wingo  <wingo@pobox.com>
20716         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
20717         fixating is an error.
20719 2005-08-04  Edward Hervey  <edward@fluendo.com>
20721         * gst/base/gstadapter.h: 
20722         Added gst_adapter_get_type() to the header
20724 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20726         * check/Makefile.am:
20727         * check/gst-libs/controller.c:
20728         * libs/gst/controller/gst-controller.c:
20729         (gst_controller_new_valist):
20730           added check test suite for the controller
20731         * gst/base/gstpushsrc.c:
20732           fixed a doc typo
20734 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20736         * docs/gst/Makefile.am:
20737         * docs/gst/gstreamer-docs.sgml:
20738         * docs/gst/gstreamer-sections.txt:
20739         * docs/gst/gstreamer.types:
20740         * docs/gst/tmpl/gstfakesrc.sgml:
20741         * gst/base/README:
20742         * gst/base/gstbasesink.c:
20743         * gst/base/gstbasesink.h:
20744         * gst/base/gstbasesrc.c:
20745         * gst/base/gstbasesrc.h:
20746         * gst/base/gstbasetransform.c:
20747         * gst/base/gstpushsrc.c:
20748         * gst/base/gstpushsrc.h:
20749           add short/long description docs to base classes
20750           add pushsrc to the docs
20751           remove consolidated doc fragments
20753 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20755         * configure.ac:
20756         * docs/libs/Makefile.am:
20757         * docs/libs/gstreamer-libs-docs.sgml:
20758         * docs/libs/gstreamer-libs-sections.txt:
20759         * docs/libs/gstreamer-libs.types:
20760         * examples/Makefile.am:
20761         * examples/controller/.cvsignore:
20762         * examples/controller/Makefile.am:
20763         * examples/controller/audio-example.c: (main):
20764         * libs/gst/Makefile.am:
20765         * libs/gst/controller/.cvsignore:
20766         * libs/gst/controller/Makefile.am:
20767         * libs/gst/controller/gst-controller.c:
20768         (on_object_controlled_property_changed), (gst_timed_value_compare),
20769         (gst_timed_value_find),
20770         (gst_controlled_property_set_interpolation_mode),
20771         (gst_controlled_property_new), (gst_controlled_property_free),
20772         (gst_controller_find_controlled_property),
20773         (gst_controller_new_valist), (gst_controller_new),
20774         (gst_controller_remove_properties_valist),
20775         (gst_controller_remove_properties), (gst_controller_set),
20776         (gst_controller_set_from_list), (gst_controller_unset),
20777         (gst_controller_get), (gst_controller_get_all),
20778         (gst_controller_sink_values), (gst_controller_get_value_arrays),
20779         (gst_controller_get_value_array),
20780         (gst_controller_set_interpolation_mode),
20781         (_gst_controller_finalize), (_gst_controller_init),
20782         (_gst_controller_class_init), (gst_controller_get_type):
20783         * libs/gst/controller/gst-controller.h:
20784         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
20785         (g_object_uncontrol_properties), (g_object_get_controller),
20786         (g_object_set_controller), (g_object_sink_values),
20787         (g_object_get_value_arrays), (g_object_get_value_array):
20788         * libs/gst/controller/gst-interpolation.c:
20789         (gst_controlled_property_find_timed_value_node),
20790         (interpolate_none_get), (interpolate_trigger_get),
20791         (interpolate_trigger_get_value_array):
20792         * libs/gst/controller/lib.c: (gst_controller_init):
20793         * pkgconfig/Makefile.am:
20794         * pkgconfig/gstreamer-control-uninstalled.pc.in:
20795         * pkgconfig/gstreamer-control.pc.in:
20796         * testsuite/Makefile.am:
20797         * testsuite/controller/.cvsignore:
20798         * testsuite/controller/Makefile.am:
20799         * testsuite/controller/interpolator.c: (main):
20800           added controller code
20801           removed dparam pc files
20803 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
20804         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
20805         (gst_collectpads_stop):
20806           Broadcast the condition when shutting down, to make sure we wake all
20807           threads up. Shut down pads on finalize, for safety.
20809 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
20810         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20811         (gst_base_transform_handle_buffer),
20812         (gst_base_transform_change_state):
20813           Handle PAUSED->READY->PAUSED transition after negotiation
20814           occurred already.
20815         * gst/gstmessage.c: (gst_message_init):
20816           Extra piece of debug for new messages.
20818 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
20820         * configure.ac:
20821         * docs/gst/tmpl/gstbasesrc.sgml:
20822         * docs/gst/tmpl/gstelement.sgml:
20823         * docs/gst/tmpl/gstevent.sgml:
20824         * docs/gst/tmpl/gstfakesrc.sgml:
20825         * docs/gst/tmpl/gstformat.sgml:
20826         * docs/gst/tmpl/gstghostpad.sgml:
20827         * docs/gst/tmpl/gstpad.sgml:
20828         * docs/gst/tmpl/gstquery.sgml:
20829         * docs/gst/tmpl/gststructure.sgml:
20830         * docs/gst/tmpl/gsttaglist.sgml:
20831         * docs/gst/tmpl/gstvalue.sgml:
20832         * docs/libs/gstreamer-libs-docs.sgml:
20833         * docs/libs/gstreamer-libs-sections.txt:
20834         * docs/libs/gstreamer-libs.types:
20835         * libs/gst/Makefile.am:
20836         * libs/gst/control/.cvsignore:
20837         * libs/gst/control/Makefile.am:
20838         * libs/gst/control/control.c:
20839         * libs/gst/control/control.h:
20840         * libs/gst/control/dparam.c:
20841         * libs/gst/control/dparam.h:
20842         * libs/gst/control/dparam_smooth.c:
20843         * libs/gst/control/dparam_smooth.h:
20844         * libs/gst/control/dparamcommon.h:
20845         * libs/gst/control/dparammanager.c:
20846         * libs/gst/control/dparammanager.h:
20847         * libs/gst/control/dplinearinterp.c:
20848         * libs/gst/control/dplinearinterp.h:
20849         * libs/gst/control/unitconvert.c:
20850         * libs/gst/control/unitconvert.h:
20851         * testsuite/Makefile.am:
20852         * testsuite/dynparams/.cvsignore:
20853         * testsuite/dynparams/Makefile.am:
20854         * testsuite/dynparams/dparamstest.c:
20855         * tools/Makefile.am:
20856         * tools/gst-inspect.c: (print_element_info), (main):
20857         * tools/gst-xmlinspect.c: (print_element_info), (main):
20858           deactivate and remove dparams (libgstcontrol)
20860 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
20862         * gst/elements/gsttypefindelement.c:
20863         (gst_type_find_element_have_type), (gst_type_find_element_init),
20864         (stop_typefinding), (gst_type_find_element_handle_event),
20865         (gst_type_find_element_chain), (gst_type_find_element_getrange):
20866         * gst/elements/gsttypefindelement.h:
20867           Set caps on all outgoing buffers, not just the first one.
20869 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
20871         * gst/elements/gsttypefindelement.c:
20872         (gst_type_find_element_have_type),
20873         (gst_type_find_element_check_set_buffer_caps),
20874         (gst_type_find_element_init), (stop_typefinding),
20875         (gst_type_find_element_handle_event),
20876         (gst_type_find_element_chain), (gst_type_find_element_getrange):
20877         * gst/elements/gsttypefindelement.h:
20878           Set caps on first outgoing buffer when we've found the type.
20880 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
20882         * docs/gst/gstreamer-docs.sgml:
20883         * docs/gst/gstreamer-sections.txt:
20884         * docs/gst/tmpl/gstscheduler.sgml:
20885         * docs/gst/tmpl/gstschedulerfactory.sgml:
20886           Remove some old cruft from docs.
20888 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
20890         * gst/gstpad.h:
20891           Fix inline docs for GstPadLinkReturn.
20892           
20893         * gst/gststructure.c: (gst_structure_has_name):
20894         * gst/gststructure.h:
20895         * docs/gst/gstreamer-sections.txt:
20896           New API: gst_structure_has_name().
20898 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
20900         * configure.ac:
20901           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
20902           and _LARGEFILE_SOURCE in config.h as required. Do not 
20903           export those flags in our .pc files any longer (#142209).
20905           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
20907         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
20908         (gst_file_sink_do_seek), (gst_file_sink_event),
20909         (gst_file_sink_get_current_offset), (gst_file_sink_render):
20910           Redo seek/tell calls with large file support in mind; add some
20911           debugging messages; add log message that tells us when large
20912           file support is unavailable or not enabled for some reason.
20914         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
20915           Add log message that tells us when large file support 
20916           is unavailable or not enabled for some reason.
20918 2005-07-29  Wim Taymans  <wim@fluendo.com>
20920         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20921         Added test for removing an element with ghostpad from a bin.
20922         Fixed test as current implementation does the right thing.
20924         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
20925         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
20926         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
20927         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
20928         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
20929         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
20930         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
20931         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20932         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
20933         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
20934         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
20935         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
20936         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
20937         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
20938         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
20939         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
20940         * gst/gstghostpad.h:
20941         Clean up ghostpads, remove properties for internal stuff.
20942         Make threadsafe.
20943         Fix refcounting.
20944         Prepare for switching targets, not all use cases work yet.
20946 2005-07-29  Wim Taymans  <wim@fluendo.com>
20948         * docs/design/part-gstghostpad.txt:
20949         Small update.
20951         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
20952         (gst_bin_remove_func):
20953         Unlinking pads while holding the bin LOCK is not a good
20954         idea.
20956         * gst/gstpad.c: (gst_pad_class_init),
20957         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
20958         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
20959         No prob setting template after creating the pad.
20961 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
20963         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
20964         (gst_bus_peek), (gst_bus_source_dispatch),
20965         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
20966         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
20967           gst_bus_poll may be called from other threads. Handle
20968           this nicely by not making poll_data disappear off the
20969           stack once gst_bus_poll returns.
20970           gst_bus_peek now increments the refcount on the returned
20971           message.
20973 2005-07-29  Wim Taymans  <wim@fluendo.com>
20975         * docs/design/part-gstghostpad.txt:
20976         Overview of current GhostPad datastructures and use
20977         cases for changing the target.
20979 2005-07-28  Wim Taymans  <wim@fluendo.com>
20981         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20982         Added checks for hierarchy consistency whan adding linked
20983         elements to bins.
20985         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20986         Added check to test element scheduling without bin/pipeline.
20988         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20989         First add elements to bin, then link.
20990         
20991         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
20992         (gst_bin_remove_func):
20993         Unlink pads from elements added/removed from bin to maintain
20994         hierarchy consistency.
20996 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20998         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20999         (gst_base_transform_handle_buffer):
21000         * gst/base/gstbasetransform.h:
21001           Remove broken delay_configure (fixes renegotiation of software
21002           scaling pipelines); remove some leftover printf()s.
21004 2005-07-28  Wim Taymans  <wim@fluendo.com>
21006         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21007         Added some more tests for wrong hierarchy
21009         * docs/design/part-overview.txt:
21010         Some updates.
21012         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21013         Cleanups.
21015         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21016         (gst_element_dispose):
21017         Some more cleanups.
21019         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21020         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21021         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21022         (gst_pad_set_caps), (gst_pad_send_event):
21023         Check for correct hierarchy when linking pads. Moving to
21024         strict requirement for ghostpads when linking elements in
21025         different bins.
21027         * gst/gstpad.h:
21028         Clean ups. Added WRONG_HIERARCHY return value.
21030 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21032         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21033           Better debug if no transform is possible.
21035 2005-07-27  Wim Taymans  <wim@fluendo.com>
21037         * docs/random/wtay/network-transp:
21038         Some old doc I had.
21040 2005-07-27  Wim Taymans  <wim@fluendo.com>
21042         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21043         (gst_dp_event_from_packet):
21044         Fix serialization of seek events.
21046 2005-07-27  Wim Taymans  <wim@fluendo.com>
21048         * check/gst-libs/gdp.c: (GST_START_TEST):
21049         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21050         Fix compilation and fix event serialization.
21052 2005-07-27  Wim Taymans  <wim@fluendo.com>
21054         * CHANGES-0.9:
21055         * docs/design/part-TODO.txt:
21056         * docs/design/part-events.txt:
21057         Some docs updates
21059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21060         (gst_base_sink_event), (gst_base_sink_do_sync),
21061         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21062         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21063         (gst_base_src_do_seek), (gst_base_src_event_handler),
21064         (gst_base_src_loop):
21065         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21066         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21067         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21068         (gst_base_transform_event), (gst_base_transform_handle_buffer),
21069         (gst_base_transform_set_passthrough),
21070         (gst_base_transform_is_passthrough):
21071         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21072         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21073         Event updates.
21075         * gst/gstbuffer.h:
21076         Use faster casts.
21078         * gst/gstelement.c: (gst_element_seek):
21079         * gst/gstelement.h:
21080         Update gst_element_seek.
21082         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21083         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21084         (gst_event_new_flush_start), (gst_event_new_flush_stop),
21085         (gst_event_new_eos), (gst_event_new_newsegment),
21086         (gst_event_parse_newsegment), (gst_event_new_tag),
21087         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21088         (gst_event_parse_qos), (gst_event_new_seek),
21089         (gst_event_parse_seek), (gst_event_new_navigation):
21090         * gst/gstevent.h:
21091         Make GstEvent use GstStructure. Add parsing code, make sure the
21092         API is sufficiently generic.
21093         Mark possible directions of events and serialization.
21095         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21096         (_gst_message_copy), (gst_message_new_segment_start),
21097         (gst_message_new_segment_done), (gst_message_new_custom),
21098         (gst_message_parse_segment_start),
21099         (gst_message_parse_segment_done):
21100         Small cleanups.
21102         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21103         (gst_pad_set_caps), (gst_pad_send_event):
21104         Update for new events. 
21105         Catch events sent in wrong directions.
21107         * gst/gstqueue.c: (gst_queue_link_src),
21108         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21109         (gst_queue_handle_src_query):
21110         Event updates.
21112         * gst/gsttag.c:
21113         * gst/gsttag.h:
21114         Remove event code from this file.
21116         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21117         (gst_dp_event_from_packet):
21118         Event updates.
21120 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21122         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21123         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21124         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21125           Make debugging actually useful.
21127 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21129         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21130         (gst_pad_fixate_caps):
21131           Implement default fixation once again, so that gst_pad_fixate()
21132           actually does anything at all. This probably needs to be some
21133           sort of a last resort, and use profile-based fixation first, but
21134           since that doesn't exist yet, this is the best we have. Fixes
21135           visualization in Totem.
21137 2005-07-22  Wim Taymans  <wim@fluendo.com>
21139         * docs/design/part-events.txt:
21140         Small update.
21142         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21143         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21144         (gst_base_sink_activate_pull):
21145         Some more comments.
21147         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21148         (gst_fake_src_create):
21149         Fix handoff marshall.
21151         * gst/elements/gstidentity.c: (gst_identity_class_init),
21152         (gst_identity_transform_ip):
21153         We're a real inplace element.
21155         * gst/gstbus.c: (gst_bus_post):
21156         Added some comments.
21158         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21159         * tests/muxing/case1.c: (main):
21160         * tests/sched/dynamic-pipeline.c: (main):
21161         * tests/sched/interrupt1.c: (main):
21162         * tests/sched/interrupt2.c: (main):
21163         * tests/sched/interrupt3.c: (main):
21164         * tests/sched/runxml.c: (main):
21165         * tests/sched/sched-stress.c: (main):
21166         * tests/seeking/seeking1.c: (event_received), (main):
21167         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21168         (main):
21169         * tests/threadstate/threadstate3.c: (main):
21170         * tests/threadstate/threadstate4.c: (main):
21171         * tests/threadstate/threadstate5.c: (main):
21172         Fix the tests.
21174 2005-07-21  Wim Taymans  <wim@fluendo.com>
21176         * docs/design/part-seeking.txt:
21177         Some small additions.
21179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21180         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21181         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21182         * gst/base/gstbasesink.h:
21183         discont values are gint64, handle the math correctly.
21185         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21186         Make the basesrc report error if the source pad is not linked.
21188         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21189         (gst_queue_loop), (gst_queue_handle_src_query),
21190         (gst_queue_src_activate_push):
21191         Make queue collect data even if the srcpad is not linked.
21192         Start pushing out data as soon as it is linked.
21194         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21195         * gst/gstutils.h:
21196         Added gst_flow_get_name() to ease error reporting.
21198 2005-07-20  Wim Taymans  <wim@fluendo.com>
21200         * gst/gstmessage.c: (gst_message_new_segment_start),
21201         (gst_message_new_segment_done), (gst_message_parse_segment_start),
21202         (gst_message_parse_segment_done):
21203         * gst/gstmessage.h:
21204         Added a bunch of messages for advanced seeking.
21206         * gst/parse/grammar.y:
21207         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21208         (gst_dpman_state_changed):
21209         Fix some new-pad -> pad-added signals
21211 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21213         * docs/manual/appendix-porting.xml:
21214         * docs/pwg/appendix-porting.xml:
21215           Document new-pad/state-change signal renames and the FixedList
21216           type rename.
21218 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21220         * docs/manual/advanced-autoplugging.xml:
21221         * docs/manual/basics-helloworld.xml:
21222         * docs/manual/basics-pads.xml:
21223         * docs/random/ds/0.9-suggested-changes:
21224         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21225         * gst/gstelement.h:
21226         * gst/gstevent.h:
21227         * gst/gstformat.h:
21228         * gst/gstquery.h:
21229         * gst/gststructure.c: (gst_structure_value_get_generic_type),
21230         (gst_structure_parse_array), (gst_structure_parse_value):
21231         * gst/gstvalue.c: (gst_type_is_fixed),
21232         (gst_value_list_prepend_value), (gst_value_list_append_value),
21233         (gst_value_list_get_size), (gst_value_list_get_value),
21234         (gst_value_transform_array_string), (gst_value_serialize_array),
21235         (gst_value_deserialize_array), (gst_value_intersect_array),
21236         (gst_value_is_fixed), (_gst_value_initialize):
21237         * gst/gstvalue.h:
21238           GstElement::new-pad -> pad-added, GstElement::state-change ->
21239           state-changed, GstValueFixedList -> GstValueArray, add format and
21240           flags as their own arguments in gst_element_seek() (should improve
21241           "bindeability"), remove function generators since they don't work
21242           under a whole bunch of compilers (they were deprecated already
21243           anyway).
21245 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21247         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21248         (_gst_debug_register_funcptr):
21249         * gst/gstinfo.h:
21250           Fix illegal cast on some platforms (#309253).
21252 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21254         * gst/gstmessage.c: (gst_message_new_custom):
21255         * gst/gstmessage.h:
21256           Add _new_custom, make _new_application a macro to _new_custom.
21258 2005-07-20  Wim Taymans  <wim@fluendo.com>
21260         * gst/base/gstbasesrc.c: (gst_base_src_init),
21261         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21262         * gst/base/gstbasesrc.h:
21263         Add a gboolean to decide when to push out a discont.
21265         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21266         (gst_queue_loop), (gst_queue_handle_src_query),
21267         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21268         (gst_queue_set_property), (gst_queue_get_property):
21269         Some cleanups.
21271         * tests/threadstate/threadstate1.c: (main):
21272         Make a thread test compile and run... very silly..
21275 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21277         * docs/manual/appendix-porting.xml:
21278           Mention removal of libgstgconf-0.9.la and existence of gconf
21279           elements.
21281 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21283         * docs/pwg/advanced-clock.xml:
21284         * docs/pwg/appendix-porting.xml:
21285         * docs/pwg/intro-preface.xml:
21286         * docs/pwg/other-base.xml:
21287         * docs/pwg/other-manager.xml:
21288         * docs/pwg/other-nton.xml:
21289         * docs/pwg/other-ntoone.xml:
21290         * docs/pwg/other-oneton.xml:
21291         * docs/pwg/pwg.xml:
21292           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
21293           demuxer), remove n-to-n (was never written), fix some code examples
21294           and links and update the porting section to include all this.
21296 2005-07-19  Wim Taymans  <wim@fluendo.com>
21298         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
21299         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
21300         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
21301         (gst_queue_src_activate_push), (gst_queue_change_state),
21302         (gst_queue_get_property):
21303         * gst/gstqueue.h:
21304         Propagate GstFlowReturn more intelligently upstream and output
21305         an ERROR/EOS when streaming stopped due to fatal error.
21307 2005-07-19  Wim Taymans  <wim@fluendo.com>
21309         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21310         Don't block forever for the state change to complete, the
21311         pipeline already did with a sensible timeout.
21313 2005-07-19  Wim Taymans  <wim@fluendo.com>
21315         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21316         Make sure we never call the create function is we
21317         got deactivated.
21319 2005-07-19  Andy Wingo  <wingo@pobox.com>
21321         * gst/parse/parse.l: Attempt to solve bug #172815.
21323 2005-07-19  Wim Taymans  <wim@fluendo.com>
21325         * docs/design/part-clocks.txt:
21326         * docs/design/part-events.txt:
21327         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
21328         Small docs updates.
21329         Only update the seeking values when we are not
21330         busy streaming.
21332 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21334         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21335           Oops, ignore the result of gst_pad_push_event here.
21337 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21339         * gst/base/gstbasesrc.c: (gst_base_src_loop),
21340         (gst_base_src_activate_push):
21341           Send discont event from the loop function, as pads
21342           aren't activated yet in the activate_push handler.
21344         * gst/gstbin.c: (bin_bus_handler):
21345           Don't leak element name.
21347 2005-07-18  Andy Wingo  <wingo@pobox.com>
21349         * configure.ac: Use AS_LIBTOOL_TAGS.
21351 2005-07-18  Wim Taymans  <wim@fluendo.com>
21353         * docs/gst/gstreamer.types:
21354         Remove deleted types.
21356 2005-07-18  Wim Taymans  <wim@fluendo.com>
21358         * check/elements/gstfakesrc.c: (GST_START_TEST):
21359         * configure.ac:
21360         * gst/Makefile.am:
21361         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
21362         (init_popt_callback):
21363         * gst/gst.h:
21364         * gst/gst_private.h:
21365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
21366         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
21367         * gst/gstbin.h:
21368         * gst/gstbus.h:
21369         * gst/gstconfig.h.in:
21370         * gst/gstelement.c: (gst_element_class_init),
21371         (gst_element_set_base_time), (gst_element_get_base_time),
21372         (iterator_fold_with_resync), (gst_element_change_state),
21373         (gst_element_dispose), (gst_element_get_bus):
21374         * gst/gstelement.h:
21375         * gst/gstelementfactory.h:
21376         * gst/gsterror.c: (_gst_core_errors_init):
21377         * gst/gsterror.h:
21378         * gst/gstevent.h:
21379         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21380         * gst/gstindex.c:
21381         * gst/gstinfo.c: (_gst_debug_init):
21382         * gst/gstmessage.c: (_gst_message_copy):
21383         * gst/gstmessage.h:
21384         * gst/gstminiobject.h:
21385         * gst/gstobject.c:
21386         * gst/gstobject.h:
21387         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21388         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
21389         * gst/gstpad.h:
21390         * gst/gstparse.h:
21391         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21392         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21393         (gst_pipeline_get_last_stream_time):
21394         * gst/gstpipeline.h:
21395         * gst/gstpluginfeature.h:
21396         * gst/gstquery.h:
21397         * gst/gstscheduler.c:
21398         * gst/gstscheduler.h:
21399         * gst/gststructure.h:
21400         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
21401         (gst_task_finalize), (gst_task_func), (gst_task_create),
21402         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
21403         (gst_task_stop), (gst_task_pause):
21404         * gst/gsttask.h:
21405         * gst/gsttypefind.h:
21406         * gst/gsttypes.h:
21407         * gst/registries/gstlibxmlregistry.c: (load_feature),
21408         (gst_xml_registry_load), (gst_xml_registry_save_feature):
21409         * gst/registries/gstxmlregistry.c:
21410         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
21411         * gst/schedulers/threadscheduler.c:
21412         * libs/gst/control/dparammanager.h:
21413         * tools/gst-inspect.c: (print_element_list),
21414         (print_plugin_features), (print_element_features):
21415         * tools/gst-xmlinspect.c: (print_element_list),
21416         (print_plugin_info), (main):
21417         Removed plugable schedulers.
21418         Removed Scheduler/Manager from elements.
21419         Removed gsttypes.h, rearranged includes.
21420         Removed dependency pad<->element, element<>pipeline, and
21421         various others,  fix includes.
21422         implement gst_pad_get_parent() with gst_object_get_parent()
21423         Make GstTask sefcontained.
21424         Fix _get_state() on GstBin, it did not return ASYNC with a 0
21425         timeout.
21426         Fix endless loop in iterator_fold_with_resync.
21429 2005-07-18  Wim Taymans  <wim@fluendo.com>
21431         * gst/Makefile.am:
21432         * gst/gstarch.h:
21433         Remove old file.
21435 2005-07-18  Wim Taymans  <wim@fluendo.com>
21437         * gst/Makefile.am:
21438         No more cothreads.h
21440 2005-07-18  Wim Taymans  <wim@fluendo.com>
21442         * gst/cothreads.c:
21443         * gst/cothreads.h:
21444         Let's remove these.
21446 2005-07-18  Wim Taymans  <wim@fluendo.com>
21448         * docs/design/part-dynamic.txt:
21449         * docs/design/part-events.txt:
21450         * docs/design/part-seeking.txt:
21451         Some more docs in the works.
21453         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21454         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
21455         (gst_base_transform_setcaps), (gst_base_transform_get_size),
21456         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21457         (gst_base_transform_handle_buffer),
21458         (gst_base_transform_sink_activate_push),
21459         (gst_base_transform_src_activate_pull),
21460         (gst_base_transform_set_passthrough),
21461         (gst_base_transform_is_passthrough):
21462         Refcounting fixes.
21464         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
21465         Cleanups.
21467         * gst/gstevent.c: (gst_event_finalize):
21468         Set SRC to NULL.
21470         * gst/gstutils.c: (gst_element_unlink),
21471         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
21472         (gst_pad_proxy_setcaps):
21473         * gst/gstutils.h:
21474         Add _get_parent_element() to get a pads parent as an element.
21476 2005-07-18  Wim Taymans  <wim@fluendo.com>
21478         * check/gst/gstbin.c: (GST_START_TEST):
21479         Remove bogus test.
21481 2005-07-18  Wim Taymans  <wim@fluendo.com>
21483         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21484         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21485         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21486         (gst_base_sink_event), (gst_base_sink_do_sync),
21487         (gst_base_sink_chain), (gst_base_sink_loop),
21488         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
21489         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
21490         Refcounting fixes.
21491         Fix logic for returning ASYNC when not prerolled.
21493 2005-07-18  Wim Taymans  <wim@fluendo.com>
21495         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21496         Fix nasty refcount bug.
21498 2005-07-16 Philippe Khalaf <burger@speedy.org>
21500         * gst/elements/gstfdsrc.c:
21501         * gst/elements/gstfdsrc.h:
21502         * gst/elements/gstelements.c:
21503         * gst/elements/Makefile.am:
21504         Ported fdsrc to 0.9.
21506 2005-07-16  Wim Taymans  <wim@fluendo.com>
21508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21509         (gst_base_sink_do_sync):
21510         Fix compile error.
21512 2005-07-16  Wim Taymans  <wim@fluendo.com>
21514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21515         (gst_base_sink_event), (gst_base_sink_get_times),
21516         (gst_base_sink_do_sync), (gst_base_sink_change_state):
21517         * gst/base/gstbasesink.h:
21518         Store and use discont values when syncing buffers as described
21519         in design docs.
21520         
21521         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21522         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21523         (gst_base_src_activate_push):
21524         Push discont event when starting.
21526         * gst/elements/gstidentity.c: (gst_identity_transform):
21527         Small cleanups.
21529         * gst/gstbin.c: (gst_bin_change_state):
21530         Small cleanups in base_time  distribution.
21532         * gst/gstelement.c: (gst_element_set_base_time),
21533         (gst_element_get_base_time), (gst_element_change_state):
21534         * gst/gstelement.h:
21535         Added methods for the base_time of the element.
21536         Some MT fixes.
21538         * gst/gstpipeline.c: (gst_pipeline_send_event),
21539         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21540         (gst_pipeline_get_last_stream_time):
21541         * gst/gstpipeline.h:
21542         MT fixes.
21543         Handle seeking as described in design doc, remove stream_time
21544         hack.
21545         Cleanups clock and stream_time selection code. Added accessors
21546         for the stream_time.
21547         
21549 2005-07-16  Andy Wingo  <wingo@pobox.com>
21551         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21552         (#305291).
21554 2005-07-16  Wim Taymans  <wim@fluendo.com>
21556         * check/gst/gstbin.c: (GST_START_TEST):
21557         Make elements silent as the deep_notify refs the
21558         parent, which might make the test fail.
21560         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21561         Don't hold the lock for too long.
21563 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
21565         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21566           Don't unref the caps we passed to gst_caps_make_writable() after
21567           passing them. gst_caps_make_writable() will do that for us.
21569 2005-07-15  Andy Wingo  <wingo@pobox.com>
21571         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
21572         (#157311).
21574         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
21575         own marshalling function for the handoff signal. Properly type the
21576         buffer as a buffer. Fixes some warnings. Should do a more general
21577         solution.
21578         (gst_identity_class_init): Plug into the right marshaller.
21580 2005-07-15  Wim Taymans  <wim@fluendo.com>
21582         * docs/design/part-TODO.txt:
21583         * docs/design/part-clocks.txt:
21584         * docs/design/part-element-sink.txt:
21585         * docs/design/part-events.txt:
21586         * docs/design/part-gstpipeline.txt:
21587         Updated docs, mostly DISCONT related.
21589 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
21591         * docs/pwg/building-pads.xml:
21592           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
21594 2005-07-15  Andy Wingo  <wingo@pobox.com>
21596         * tools/gst-typefind.c: Update, add copyright block.
21598         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
21599         Normalize and truncate caps before fixation.
21601         * gst/gstcaps.h:
21602         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
21603         discards all but the first structure from its argument.
21605 2005-07-15  Wim Taymans  <wim@fluendo.com>
21607         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21608         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
21609         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21610         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21611         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
21612         (gst_base_transform_chain), (gst_base_transform_change_state),
21613         (gst_base_transform_set_passthrough),
21614         (gst_base_transform_is_passthrough):
21615         * gst/base/gstbasetransform.h:
21616         Make passthrough work using the bufferpools.
21617         Changed API a bit, subclasses have to write into a buffer
21618         provided by the base class.
21619         More debug info in nego functions.
21620         
21621         * gst/elements/gstidentity.c: (gst_identity_init),
21622         (gst_identity_transform):
21623         Port to new base class.
21625 2005-07-15  Wim Taymans  <wim@fluendo.com>
21627         * gst/gstmessage.c: (gst_message_new_state_changed):
21628         * tools/gst-launch.c: (event_loop), (main):
21629         Totally dump messages in -launch with the -m option.
21630         Fix message name for State messages,
21632 2005-07-14  Wim Taymans  <wim@fluendo.com>
21634         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21635         Post error messages on errors.
21637 2005-07-14  Wim Taymans  <wim@fluendo.com>
21639         * gst/gstcaps.c: (gst_caps_do_simplify):
21640         Remove debug info.
21642         * gst/gsterror.h:
21643         Define error for stream stopped.
21645         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21646         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
21647         Do proper return values.
21649         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21650         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
21651         (gst_pad_get_range):
21652         Better return values.
21654         * gst/gstpad.h:
21655         Reorganise return values, add macro to check for fatal errors.
21657         * gst/gstqueue.c: (gst_queue_chain):
21658         Return proper GstFlowReturn values,
21660 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21662         * docs/gst/gstreamer-sections.txt:
21663         * docs/gst/gstreamer.types:
21664         * docs/gst/tmpl/gst.sgml:
21665         * docs/gst/tmpl/gstbasesink.sgml:
21666         * docs/gst/tmpl/gstbasesrc.sgml:
21667         * docs/gst/tmpl/gstbasetransform.sgml:
21668         * docs/gst/tmpl/gstbin.sgml:
21669         * docs/gst/tmpl/gstbuffer.sgml:
21670         * docs/gst/tmpl/gstcaps.sgml:
21671         * docs/gst/tmpl/gstclock.sgml:
21672         * docs/gst/tmpl/gstcompat.sgml:
21673         * docs/gst/tmpl/gstconfig.sgml:
21674         * docs/gst/tmpl/gstelement.sgml:
21675         * docs/gst/tmpl/gstelementdetails.sgml:
21676         * docs/gst/tmpl/gstelementfactory.sgml:
21677         * docs/gst/tmpl/gstenumtypes.sgml:
21678         * docs/gst/tmpl/gsterror.sgml:
21679         * docs/gst/tmpl/gstevent.sgml:
21680         * docs/gst/tmpl/gstfakesink.sgml:
21681         * docs/gst/tmpl/gstfakesrc.sgml:
21682         * docs/gst/tmpl/gstfilesink.sgml:
21683         * docs/gst/tmpl/gstfilesrc.sgml:
21684         * docs/gst/tmpl/gstfilter.sgml:
21685         * docs/gst/tmpl/gstformat.sgml:
21686         * docs/gst/tmpl/gstghostpad.sgml:
21687         * docs/gst/tmpl/gstimplementsinterface.sgml:
21688         * docs/gst/tmpl/gstindex.sgml:
21689         * docs/gst/tmpl/gstindexfactory.sgml:
21690         * docs/gst/tmpl/gstinfo.sgml:
21691         * docs/gst/tmpl/gstiterator.sgml:
21692         * docs/gst/tmpl/gstmacros.sgml:
21693         * docs/gst/tmpl/gstmemchunk.sgml:
21694         * docs/gst/tmpl/gstminiobject.sgml:
21695         * docs/gst/tmpl/gstobject.sgml:
21696         * docs/gst/tmpl/gstpad.sgml:
21697         * docs/gst/tmpl/gstpadtemplate.sgml:
21698         * docs/gst/tmpl/gstparse.sgml:
21699         * docs/gst/tmpl/gstpipeline.sgml:
21700         * docs/gst/tmpl/gstplugin.sgml:
21701         * docs/gst/tmpl/gstpluginfeature.sgml:
21702         * docs/gst/tmpl/gstquery.sgml:
21703         * docs/gst/tmpl/gstqueue.sgml:
21704         * docs/gst/tmpl/gstregistry.sgml:
21705         * docs/gst/tmpl/gstregistrypool.sgml:
21706         * docs/gst/tmpl/gstscheduler.sgml:
21707         * docs/gst/tmpl/gstschedulerfactory.sgml:
21708         * docs/gst/tmpl/gststructure.sgml:
21709         * docs/gst/tmpl/gstsystemclock.sgml:
21710         * docs/gst/tmpl/gsttaglist.sgml:
21711         * docs/gst/tmpl/gsttagsetter.sgml:
21712         * docs/gst/tmpl/gsttrace.sgml:
21713         * docs/gst/tmpl/gsttrashstack.sgml:
21714         * docs/gst/tmpl/gsttypefind.sgml:
21715         * docs/gst/tmpl/gsttypefindfactory.sgml:
21716         * docs/gst/tmpl/gsttypes.sgml:
21717         * docs/gst/tmpl/gsturihandler.sgml:
21718         * docs/gst/tmpl/gsturitype.sgml:
21719         * docs/gst/tmpl/gstutils.sgml:
21720         * docs/gst/tmpl/gstvalue.sgml:
21721         * docs/gst/tmpl/gstversion.sgml:
21722         * docs/gst/tmpl/gstxml.sgml:
21723         * docs/libs/tmpl/gstcontrol.sgml:
21724         * docs/libs/tmpl/gstdataprotocol.sgml:
21725         * docs/libs/tmpl/gstdparam.sgml:
21726         * docs/libs/tmpl/gstdplinint.sgml:
21727         * docs/libs/tmpl/gstdpman.sgml:
21728         * docs/libs/tmpl/gstdpsmooth.sgml:
21729         * docs/libs/tmpl/gstgetbits.sgml:
21730         * docs/libs/tmpl/gstunitconvert.sgml:
21731         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
21732         (gst_push_src_base_init), (gst_push_src_class_init),
21733         (gst_push_src_init), (gst_push_src_create):
21734         * gst/base/gstpushsrc.h:
21735         * gst/elements/gstelements.c:
21736         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
21737         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
21738         (gst_fake_sink_init), (gst_fake_sink_set_property),
21739         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
21740         (gst_fake_sink_event), (gst_fake_sink_preroll),
21741         (gst_fake_sink_render), (gst_fake_sink_change_state):
21742         * gst/elements/gstfakesink.h:
21743         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
21744         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
21745         (gst_fake_src_base_init), (gst_fake_src_class_init),
21746         (gst_fake_src_init), (gst_fake_src_event_handler),
21747         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
21748         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
21749         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
21750         (gst_fake_src_create_buffer), (gst_fake_src_create),
21751         (gst_fake_src_start), (gst_fake_src_stop):
21752         * gst/elements/gstfakesrc.h:
21753         * gst/elements/gstfilesink.c: (_do_init),
21754         (gst_file_sink_base_init), (gst_file_sink_class_init),
21755         (gst_file_sink_init), (gst_file_sink_dispose),
21756         (gst_file_sink_set_location), (gst_file_sink_set_property),
21757         (gst_file_sink_get_property), (gst_file_sink_open_file),
21758         (gst_file_sink_close_file), (gst_file_sink_query),
21759         (gst_file_sink_event), (gst_file_sink_render),
21760         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
21761         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
21762         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
21763         * gst/elements/gstfilesink.h:
21764         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
21765         (gst_file_src_class_init), (gst_file_src_init),
21766         (gst_file_src_finalize), (gst_file_src_set_location),
21767         (gst_file_src_set_property), (gst_file_src_get_property),
21768         (gst_file_src_map_region), (gst_file_src_map_small_region),
21769         (gst_file_src_create_mmap), (gst_file_src_create_read),
21770         (gst_file_src_create), (gst_file_src_is_seekable),
21771         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
21772         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
21773         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
21774         (gst_file_src_uri_handler_init):
21775         * gst/elements/gstfilesrc.h:
21776           more autistic cleanliness in functions/names/defines
21778 2005-07-13  Andy Wingo  <wingo@pobox.com>
21780         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
21781         source couldn't negotiate.
21783         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
21784         connections again.
21786         * gst/gstutils.h:
21787         * gst/gstutils.c (gst_element_link_pads_filtered): New old
21788         function. I am channeling Hades. Put your boots on suckers!!!
21790 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21792         * testsuite/caps/Makefile.am:
21793         * testsuite/caps/value_compare.c:
21794         * testsuite/caps/value_intersect.c:
21795         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21796           move two testsuite apps over to the check dir
21798 2005-07-12  Wim Taymans  <wim@fluendo.com>
21800         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21801         Added more debug info in the negotiate process.
21803         * gst/gstmessage.h:
21804         Prepare for segment playback.
21806         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
21807         Better debugging.
21809         * gst/gstutils.c:
21810         Some more docs.
21812         * tools/gst-launch.c: (main):
21813         NULL pipeline on errors.
21815 2005-07-12  Andy Wingo  <wingo@pobox.com>
21817         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
21818         not it comes from a malloc region. Make sure our copy gets freed.
21820 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21822         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21823         * check/gst/gstmessage.c: (GST_START_TEST):
21824         * check/gst/gststructure.c: (GST_START_TEST),
21825         (gst_structure_suite), (main):
21826           more testing
21827         * gst/gstelement.c: (gst_element_message_full):
21828           clean up GError and debug string now that they get copied
21829         * gst/gstmessage.c: (gst_message_new_error),
21830         (gst_message_new_warning), (gst_message_parse_error),
21831         (gst_message_parse_warning):
21832           use GST_TYPE_G_ERROR for structure_new, and take copies of
21833           arguments, so that we don't mess up refcounting
21835 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21837         * check/Makefile.am:
21838           add per-test valgrind targets
21839         * check/gst-libs/gdp.c: (GST_START_TEST),
21840         (gst_data_protocol_suite), (main):
21841           clean up
21843 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21845         * check/Makefile.am:
21846           instate more valgrindable tests
21847         * check/elements/gstfakesrc.c: (chain_func), (event_func),
21848         (GST_START_TEST), (fakesrc_suite):
21849         * check/gst/gstpad.c: (GST_START_TEST):
21850         * check/gst/gststructure.c: (GST_START_TEST):
21851           fix test leaks
21852         * docs/gst/tmpl/gstminiobject.sgml:
21853         * gst/gstpad.c: (gst_pad_finalize):
21854           fix the static mutex leak
21856 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21858         * check/Makefile.am:
21859           add two more tests for valgrinding
21860         * check/gst/gstvalue.c: (GST_START_TEST):
21861           test refcount of deserialized buffer, found a leak
21862         * docs/gst/gstreamer-docs.sgml:
21863         * docs/gst/gstreamer-sections.txt:
21864         * docs/gst/gstreamer.types:
21865         * docs/gst/tmpl/gstminiobject.sgml:
21866           add miniobject to docs
21867         * gst/gstminiobject.c:
21868           add some docs
21869         * gst/gstvalue.c: (gst_value_deserialize_buffer),
21870         (gst_string_unwrap):
21871           fix a hard-to-find invalid write for one of the tests
21872           fix a leak for deserialized buffers
21874 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21876         * docs/pwg/advanced-events.xml:
21877         * docs/pwg/advanced-request.xml:
21878         * docs/pwg/advanced-scheduling.xml:
21879         * docs/pwg/appendix-porting.xml:
21880         * docs/pwg/building-boiler.xml:
21881         * docs/pwg/intro-preface.xml:
21882         * docs/pwg/other-ntoone.xml:
21883           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
21884           of example code and explanation for pad activation, loop() and
21885           getrange() functions and a bit more. Remove old comments pointing
21886           to loop-functions.
21887         * examples/pwg/Makefile.am:
21888           Add loop/getrange examples.
21890 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21892         * configure.ac:
21893           check for valgrind binary + some fixes
21894         * check/gst.supp:
21895           valgrind suppressions for the tests
21896         * check/Makefile.am:
21897           add a valgrind: target that valgrinds the unit tests
21898         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
21899         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21900         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21901         * check/gst/gstghostpad.c:
21902           added some cleanup
21903         * check/gst/gstdata.c:
21904           removed
21905         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
21906         (thread_unref), (gst_mini_object_suite), (main):
21907           added
21908         * gst/gst.c: (gst_deinit):
21909         * gst/gst.h:
21910           add a method to clean up.
21911         * gst/gstsystemclock.c: (gst_system_clock_dispose),
21912         (gst_system_clock_obtain):
21913           allow for disposing the system clock.
21914         * tools/gst-launch.c: (main):
21915           deinit
21917 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21919         * docs/gst/tmpl/gstbasesrc.sgml:
21920         * docs/gst/tmpl/gstfakesrc.sgml:
21921         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21922         (gst_base_src_init), (gst_base_src_set_property),
21923         (gst_base_src_get_property), (gst_base_src_get_range),
21924         (gst_base_src_start):
21925         * gst/base/gstbasesrc.h:
21926           add num-buffers property
21927         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21928         (gst_fakesrc_init), (gst_fakesrc_set_property),
21929         (gst_fakesrc_get_property), (gst_fakesrc_create),
21930         (gst_fakesrc_start):
21931           remove num-buffers property
21933 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21935         * docs/gst/gstreamer-sections.txt:
21936         * docs/gst/tmpl/gstbasesink.sgml:
21937         * docs/gst/tmpl/gstbasesrc.sgml:
21938         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21939         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21940         (gst_base_sink_finalize), (gst_base_sink_set_clock),
21941         (gst_base_sink_set_property), (gst_base_sink_get_property),
21942         (gst_base_sink_handle_object), (gst_base_sink_event),
21943         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21944         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
21945         (gst_base_sink_loop), (gst_base_sink_deactivate),
21946         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
21947         (gst_base_sink_change_state):
21948         * gst/base/gstbasesink.h:
21949         * gst/base/gstbasesrc.h:
21950         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
21951         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21952         (gst_filesink_init):
21953           more macro splitting
21955 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21957         * gst/gstelement.c: (gst_element_get_bus):
21958           add debug
21959         * tools/gst-launch.c: (check_intr), (event_loop):
21960           fix bus leaks
21962 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21964         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
21965           fix a caps leak
21967 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21969         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21970         (gst_base_src_finalize):
21971           add finalize method and clean up properly
21972         * gst/gstpipeline.c: (gst_pipeline_dispose):
21973           add debug
21975 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21977         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
21978         (gst_bin_suite):
21979           add more things to check
21980         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
21981         * gst/gstelement.c:
21982           more debug
21984 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21986         * check/elements/gstfakesrc.c: (chain_func), (event_func),
21987         (GST_START_TEST), (fakesrc_suite):
21988         * check/gst-libs/gdp.c: (GST_START_TEST):
21989         * check/gst/gst.c: (GST_START_TEST):
21990         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21991         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21992         * check/gst/gstbus.c: (GST_START_TEST):
21993         * check/gst/gstcaps.c: (GST_START_TEST):
21994         * check/gst/gstdata.c: (GST_START_TEST):
21995         * check/gst/gstelement.c: (GST_START_TEST):
21996         * check/gst/gstghostpad.c: (GST_START_TEST):
21997         * check/gst/gstiterator.c: (GST_START_TEST):
21998         * check/gst/gstmessage.c: (GST_START_TEST):
21999         * check/gst/gstobject.c: (GST_START_TEST):
22000         * check/gst/gstpad.c: (GST_START_TEST):
22001         * check/gst/gststructure.c: (GST_START_TEST):
22002         * check/gst/gstsystemclock.c: (GST_START_TEST),
22003         (gst_systemclock_suite):
22004         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22005         * check/gst/gstvalue.c: (GST_START_TEST):
22006         * check/pipelines/cleanup.c: (GST_START_TEST):
22007         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22008         * check/states/sinks.c: (GST_START_TEST):
22009         * check/gstcheck.c: (gst_check_init):
22010         * check/gstcheck.h:
22011           add debugging category
22012           use GST_START_TEST now, so we add a debug line
22014 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22016         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22017           add test for state change message on a bin
22018         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22019           add another test
22020         * gst/gstbin.c: (gst_bin_init):
22021         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22022         * gst/gstelement.c: (gst_element_post_message),
22023         (gst_element_set_state):
22024         * gst/gstelementfactory.c: (gst_element_factory_create):
22025         * gst/gstmessage.c: (gst_message_new):
22026         * gst/gstscheduler.c:
22027           various debugging additions and cleanups
22029 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22031         * check/Makefile.am:
22032         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22033         (main):
22034           adding tests for elements
22035         * gst/gstelement.c: (gst_element_dispose):
22037 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22039         * gst/registries/gstlibxmlregistry.c: (load_feature):
22040           plug more leaks.  A simple gst_init() now is leakfree, yay.
22042 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22044         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22045         (gst_xml_registry_load):
22046           plug another memleak
22048 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22050         * configure.ac:
22051           use GST_SET_ERROR_CFLAGS
22052         * docs/faq/cvs.xml:
22053           change to ERROR_CFLAGS
22055 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22057         * configure.ac:
22058           make GST_ERROR_CFLAGS overridable and re-enable Werror
22059         * docs/faq/cvs.xml:
22060           add a note about error CFLAGS
22061         * docs/gst/tmpl/gstfakesrc.sgml:
22062         * gst/elements/gstfakesrc.c:
22063           comment out some unused code
22064         * gst/gst.c: (split_and_iterate):
22065         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22066         (load_feature):
22067           plug some memleaks
22069 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22071         * common/Makefile.am:
22072         * common/gtk-doc.mak:
22073         * docs/gst/Makefile.am:
22074           factor out gtk-doc.mak
22076 2005-07-07  Wim Taymans  <wim@fluendo.com>
22078         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22079         (gst_thread_scheduler_dispose):
22080         Unlock the STREAM_LOCK completely.
22082 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22084         * check/Makefile.am:
22085         * check/elements/.cvsignore:
22086         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22087         (START_TEST), (fakesrc_suite), (main):
22088         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22089         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22090         (gst_fakesrc_create), (gst_fakesrc_start):
22091         * gst/elements/gstfakesrc.h:
22092           adding a first element test
22094 2005-07-07  Andy Wingo  <wingo@pobox.com>
22096         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22097         debug message.
22099 2005-07-07  Wim Taymans  <wim@fluendo.com>
22101         * gst/gstquery.c:
22102         * gst/gstquery.h:
22103         Remove old types
22105 2005-07-07  Wim Taymans  <wim@fluendo.com>
22107         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22108         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22109         Allow subclasses to implement their own negotiation.
22111 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22113         * docs/design/part-gstbin.txt:
22114         * docs/design/part-gstpipeline.txt:
22115           Update design notes to reflect the movement of
22116           responsibility for bus handling from GstPipeline to
22117           GstBin
22119 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22121         * configure.ac:
22122           Remove unnecessary queue2/3/4 examples.
22124 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22126         * examples/Makefile.am:
22127         * examples/helloworld/helloworld.c: (event_loop), (main):
22128         * examples/queue/queue.c: (event_loop), (main):
22129         * examples/queue2/queue2.c: (main):
22130           Update a couple of the examples to work again.
22132         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22133         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22134          Spelling corrections and extra debug.
22135         
22136         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22137         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22138         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22139         * gst/gstbin.h:
22140         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22141         (gst_pipeline_change_state):
22142         * gst/gstpipeline.h:
22143           Move the bus handler for children to the GstBin, and create a
22144           separate bus for receiving messages from children to the one the
22145           bus sends 'upwards' on.
22147 2005-07-06  Wim Taymans  <wim@fluendo.com>
22149         * gst/base/README:
22150         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22151         (gst_base_sink_handle_object), (gst_base_sink_loop),
22152         (gst_base_sink_change_state):
22153         * gst/base/gstbasesink.h:
22154         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22155         (gst_base_src_init), (gst_base_src_setcaps),
22156         (gst_base_src_getcaps), (gst_base_src_loop),
22157         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22158         (gst_base_src_start), (gst_base_src_change_state):
22159         * gst/base/gstbasesrc.h:
22160         Make basesrc negotiate.
22161         Handle the case where preroll fails in basesink.
22162         Update README.
22164 2005-07-06  Wim Taymans  <wim@fluendo.com>
22166         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22167         Implement the fixate function.
22168         Clean up acceptcaps.
22170 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22172         * docs/pwg/building-filterfactory.xml:
22173         * docs/pwg/pwg.xml:
22174           Remove never-written filter-factory chapter; I'll add the various
22175           base classes to part 4 ("other element types") later on.
22177 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22179         * docs/pwg/advanced-negotiation.xml:
22180         * docs/pwg/building-boiler.xml:
22181         * docs/pwg/building-pads.xml:
22182         * docs/pwg/pwg.xml:
22183         * examples/pwg/Makefile.am:
22184           Add a chapter on caps negotiation, simplify the original code
22185           samples a bit w.r.t. caps negotiation, add link to the advanced
22186           section. Add a bunch of examples showing different use cases of
22187           different types of caps negotiation. Upstream renegotiation isn't
22188           fully documented yet since nobody knows how that works.
22190 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22192         * check/gst/gstpad.c:
22193         * check/gstcheck.c:
22194         * gst/gstpad.c: (gst_pad_get_internal_links_default):
22195           if pad has no parent, return NULL as list of internal links
22197 2005-07-05  Andy Wingo  <wingo@pobox.com>
22199         * gst/elements/gstfilesrc.c:
22200         * gst/elements/gstfakesrc.c: 
22201         * gst/base/gstpushsrc.c:
22202         * gst/base/gstbasesrc.h: 
22203         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22204         
22205 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
22207         * Makefile.am:
22208           better report generation target (lcov needs a patch)
22210 2005-07-05  Andy Wingo  <wingo@pobox.com>
22212         * gst/elements, testsuite: Null if we got it...
22214 2005-07-05  Wim Taymans  <wim@fluendo.com>
22216         * configure.ac:
22217         * libs/gst/dataprotocol/Makefile.am:
22218         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22219         * libs/gst/dataprotocol/dataprotocol.h:
22220         * pkgconfig/Makefile.am:
22221         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22222         * pkgconfig/gstreamer-dataprotocol.pc.in:
22223         Ported dataprotol to 0.9. 
22224         Added pkgconfig files.
22226 2005-07-05  Andy Wingo  <wingo@pobox.com>
22228         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22229         Default to returning TRUE for the case when tranform_caps returns
22230         a fixed caps, like for identity or volume.
22232         * check/gst/gstbus.c (pound_bus_with_messages): 
22233         * check/gst/gstmessage.c (START_TEST): 
22234         * check/pipelines/simple_launch_lines.c (got_handoff): Application
22235         message API change.
22237         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22238         logic weaks here: always run transform_caps, trying passthrough
22239         operation only if the original caps intersects with the transform.
22241         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22242         source and sink caps.
22244         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22245         Intersect the peer caps with the pad template before going into
22246         transform_caps.
22247         (gst_base_transform_transform_caps): More debugging.
22249         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22250         src argument.
22252 2005-07-04  Edward Hervey  <edward@fluendo.com>
22254         * gst/gstutils.c:
22255         * gst/gstutils.h:
22256         (gst_pad_add_*_probe): now returns the signal id for better wrapping
22257         in bindings.
22259 2005-07-04  Andy Wingo  <wingo@pobox.com>
22261         * check/gst/gstpad.c: Only set explicit caps on pads.
22263 2005-07-01  Andy Wingo  <wingo@pobox.com>
22265         * tests/network-clock.scm: Commentary update.
22267         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22268         Didn't really make sense, not implementable with basetransform,
22269         etc.
22270         (gst_identity_transform): Unref inbuf via make_writable. Feeble
22271         attempt at implementing the sync property, needs an unlock method.
22273         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22274         New func, by default returns the same caps (the identity
22275         transformation).
22276         (gst_base_transform_getcaps): Uses transform_caps to return
22277         something sensible.
22278         (gst_base_transform_setcaps): Complicated logic to get caps on
22279         both pads, even if they are different, and to call set_caps once
22280         for every time both pads get their caps set.
22281         (gst_base_transform_handle_buffer): Give the ref to the transform
22282         function. Allows in-place modification of the buffer.
22284         * gst/base/gstbasetransform.h (transform_caps): New class method.
22285         Given caps on one side, what can I do on the other.
22286         (set_caps): Take two caps, one for each side of the element.
22288         * gst/gstpad.h:
22289         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
22290         caps in place. This is safe because we can check the mutability of
22291         the caps, and a good idea because fixate functions are just called
22292         as a matter of last resort. (Not actually implemented.)
22293         (gst_pad_set_caps): If the caps we're setting is actually the same
22294         as the existing pad caps, just update the pointer without calling
22295         setcaps. Assert that caps is either NULL or fixed, as per the
22296         docs.
22298         * gst/gstghostpad.c: Update for fixate changes.
22300 2005-07-02  Andy Wingo  <wingo@pobox.com>
22302         * gst/gstcaps.c:
22303         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
22304         two refcounts makes it immutable, which is enough. Doc more.
22306 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
22308         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
22309           Put the mini_object into GValue as a mini_object,
22310           not a gpointer, since that's how we declared
22311           the signal.
22313 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22315         * examples/pwg/Makefile.am:
22316           Fix buildbot again.
22318 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22320         * docs/pwg/building-testapp.xml:
22321           Add extra check.
22322         * examples/pwg/Makefile.am:
22323           Fix buildbot.
22325 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22327         * configure.ac:
22328         * examples/Makefile.am:
22329         * examples/pwg/Makefile.am:
22330         * examples/pwg/extract.pl:
22331           Enable building the PWG examples.
22332         * docs/pwg/advanced-interfaces.xml:
22333           Add URI interface stub.
22334         * docs/pwg/advanced-types.xml:
22335         * docs/pwg/other-autoplugger.xml:
22336         * docs/pwg/appendix-porting.xml:
22337         * docs/pwg/pwg.xml:
22338           Add porting guide (mostly stubs), remove autoplugging (see ADM).
22339         * docs/pwg/building-boiler.xml:
22340         * docs/pwg/building-chainfn.xml:
22341         * docs/pwg/building-pads.xml:
22342         * docs/pwg/building-props.xml:
22343         * docs/pwg/building-state.xml:
22344         * docs/pwg/building-testapp.xml:
22345           Update the building-*.xml parts for 0.9 changes. All examples
22346           code blocks compile in examples/pwg/*.
22348 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22350         * docs/manual/advanced-autoplugging.xml:
22351         * docs/manual/appendix-checklist.xml:
22352         * docs/manual/appendix-integration.xml:
22353         * docs/manual/highlevel-components.xml:
22354           Fix playbin/decodebin examples, update docs a bit, mention bus
22355           instead of signals in various places, mention kmplayer and
22356           kaffeine since they have a working GStreamer backend in the KDE
22357           section.
22359 2005-06-30  Wim Taymans  <wim@fluendo.com>
22361         * CHANGES-0.9:
22362         * docs/design/draft-ghostpads.txt:
22363         * docs/design/draft-push-pull.txt:
22364         * docs/design/draft-query.txt:
22365         * docs/design/part-TODO.txt:
22366         * docs/design/part-query.txt:
22367         Added CHANGES-0.9 doc, updated status of other docs.
22368         
22369         * gst/gstquery.h:
22370         Remove "hmm" macro
22372 2005-06-30  Wim Taymans  <wim@fluendo.com>
22374         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22375         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22376         (gst_base_sink_change_state):
22377         * gst/base/gstbasesink.h:
22378         Some tweaks, only EOS and a buffer complete a preroll.
22380 2005-06-30  Andy Wingo  <wingo@pobox.com>
22382         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
22383         activate_push down to the internal pad as well.
22385 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
22387         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22389         * gst/gsttaginterface.c:
22390           Some documentation fixes (#307394 and #307397).
22392 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
22394         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22396         * gst/gstvalue.c: (gst_value_intersect_list):
22397           Fix memleak (#309125).
22399 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22401         * docs/manual/advanced-dataaccess.xml:
22402           Fix fakesrc example to compile; doesn't work, bug somewhere...?
22403         * docs/manual/basics-pads.xml:
22404           Add reference for filtered caps to above chapter.
22406 2005-06-30  Wim Taymans  <wim@fluendo.com>
22408         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
22409         (gst_bin_change_state):
22410         Probes are gone.
22411         Lame attempt at making the state change function a bit
22412         more readable.
22414 2005-06-30  Wim Taymans  <wim@fluendo.com>
22416         * docs/design/part-clocks.txt:
22417         * docs/design/part-element-sink.txt:
22418         * docs/design/part-events.txt:
22419         * docs/design/part-preroll.txt:
22420         * docs/design/part-states.txt:
22421         Some more tweeks and additions to the docs.
22423 2005-06-30  Wim Taymans  <wim@fluendo.com>
22425         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22426         (default_have_data), (gst_pad_class_init), (gst_pad_init),
22427         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22428         (gst_pad_check_pull_range), (gst_pad_get_range),
22429         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
22430         * gst/gstpad.h:
22431         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
22432         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22433         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22434         (gst_pad_remove_buffer_probe):
22435         Removed atomic operations, use existing LOCK.
22436         Move exception handling out of main code path.
22438 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22440         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22441         (silly_return_true_function), (gst_pad_class_init),
22442         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22443         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
22444         (gst_pad_send_event):
22445           Fix accumulator, add default value by using _emitv() instead
22446           of _emit() for signal emission.
22448 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22450         * docs/manual/advanced-dataaccess.xml:
22451         * examples/manual/Makefile.am:
22452           Add probe example.
22453         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
22454           Make work (??).
22456 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
22458         * gst/elements/gstfilesink.c: (gst_filesink_render):
22459           Simplify code so that we don't have to handle short
22460           writes and return GST_FLOW_ERROR if an error occured.
22462 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22464         * docs/gst/gstreamer-docs.sgml:
22465           Remove probes more.
22467 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22469         * docs/gst/gstreamer-sections.txt:
22470         * docs/gst/tmpl/gstpad.sgml:
22471         * docs/gst/tmpl/gstprobe.sgml:
22472         * gst/Makefile.am:
22473         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22474         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
22475         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22476         (gst_pad_push_event), (gst_pad_send_event):
22477         * gst/gstpad.h:
22478         * gst/gstutils.c: (gst_pad_add_data_probe),
22479         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22480         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22481         (gst_pad_remove_buffer_probe):
22482         * gst/gstutils.h:
22483           Remove old probes, add new g-signal-based probes and some utility
22484           functions.
22486 2005-06-29  Edward Hervey  <edward@fluendo.com>
22488         * gst/gstelementfactory.c:
22489         * gst/gstutils.h:
22490         * gst/gstutils.c:
22491         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
22492         the definition to the header file.
22494 2005-06-29  Andy Wingo  <wingo@pobox.com>
22496         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
22497         plugins from the source directory.
22499 2005-06-29  Wim Taymans  <wim@fluendo.com>
22501         * docs/gst/tmpl/gstbuffer.sgml:
22502         * docs/gst/tmpl/gstclock.sgml:
22503         Some fixings for blantently wrong text.
22505 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22507         * check/Makefile.am:
22508         * gst/gst.c: (add_path_func), (init_pre):
22509         * gst/gstregistry.c: (gst_registry_add_path):
22510           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22511           only scan the GST_PLUGIN_PATH locations, and not add
22512           system locations
22514 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22516         * docs/gst/gstreamer-sections.txt:
22517         * docs/gst/tmpl/gstbasesrc.sgml:
22518         * gst/gstelement.c:
22519         * gst/gstelement.h:
22520         * gst/gstevent.c:
22521         * gst/gstutils.c:
22522           doc fixes
22524 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22526         * docs/manual/advanced-autoplugging.xml:
22527           Fix autoplugging example.
22529 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22531         * docs/manual/advanced-autoplugging.xml:
22532         * docs/manual/mime-world.fig:
22533           Try to get autoplugging working, fix type detection. Fix text
22534           in hello-world image.
22536 2005-06-29  Wim Taymans  <wim@fluendo.com>
22538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22539         (gst_base_sink_change_state):
22540         Small debug line.
22542         * gst/gstclock.h:
22543         map SIGNAL and BROADCAST to the right function.
22545         * gst/gstobject.h:
22546         Remove redundant braces.
22548         * gst/gstpad.c: (gst_pad_set_caps):
22549         Don't call setcaps function when reseting caps to NULL.
22551         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22552         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22553         (gst_system_clock_id_unschedule):
22554         Use BROADCAST as this is what we do.
22556 2005-06-29  Wim Taymans  <wim@fluendo.com>
22558         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22559         We are actually prerolling before commiting the state
22560         change. 
22562 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22564         * docs/manual/advanced-clocks.xml:
22565         * docs/manual/advanced-interfaces.xml:
22566         * docs/manual/advanced-metadata.xml:
22567         * docs/manual/advanced-position.xml:
22568         * docs/manual/advanced-schedulers.xml:
22569         * docs/manual/advanced-threads.xml:
22570         * docs/manual/appendix-porting.xml:
22571         * docs/manual/basics-bins.xml:
22572         * docs/manual/basics-bus.xml:
22573         * docs/manual/basics-elements.xml:
22574         * docs/manual/basics-helloworld.xml:
22575         * docs/manual/basics-pads.xml:
22576         * docs/manual/highlevel-components.xml:
22577         * docs/manual/manual.xml:
22578         * docs/manual/thread.fig:
22579           Update (until threads/scheduling) Application Development Manual;
22580           remove GstThread, add GstBus, add simple porting checklist, add
22581           documentation for tag writing, clocks, make all examples until this
22582           part compile and run.
22583         * examples/manual/Makefile.am:
22584           Update from changes to Application Development Manual; add bus
22585           example, remove thread example.
22587 2005-06-28  Wim Taymans  <wim@fluendo.com>
22589         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
22590         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
22591         (gst_bus_source_dispatch):
22592         Add debugging messages.
22593         Make internal methods static.
22594         Handle the case where the bus is flushed in the handler.
22595         
22596         * gst/gstelement.c: (gst_element_get_bus):
22597         Fix refcount in _get_bus();
22599         * gst/gstpipeline.c: (gst_pipeline_change_state),
22600         (gst_pipeline_get_clock_func):
22601         Clock refcounting fixes.
22602         Handle the case where preroll timed out more gracefully.
22603         
22604         * gst/gstsystemclock.c: (gst_system_clock_dispose):
22605         Clean up the internal thread in dispose. This is needed
22606         for subclasses that actually get disposed.
22607         
22608         * gst/schedulers/threadscheduler.c:
22609         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22610         (gst_thread_scheduler_dispose):
22611         Free thread pool in dispose.
22613 2005-06-28  Andy Wingo  <wingo@pobox.com>
22615         * tests/network-clock-utils.scm (debug, print-event): New utils.
22617         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
22618         (*packet-loss*): Unified loss probability.
22619         (network-time): Report out-of-band events.
22621         * tests/plot-data: Add support for out-of-band events. Hack it
22622         into this script instead of passing it down the pipe; should fix
22623         this later.
22625 2005-06-28  Wim Taymans  <wim@fluendo.com>
22627         * docs/gst/gstreamer.types:
22628         * docs/gst/tmpl/gstbasesrc.sgml:
22629         * docs/gst/tmpl/gstpad.sgml:
22630         Docs fixes.
22632 2005-06-28  Wim Taymans  <wim@fluendo.com>
22634         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22635         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
22636         (gst_proxy_pad_do_fixatecaps):
22637         Correctly proxy the check_pull_range function.
22639 2005-06-28  Andy Wingo  <wingo@pobox.com>
22641         * tests/network-clock.scm: Removed need for slib.
22642         
22643 2005-06-28  Wim Taymans  <wim@fluendo.com>
22645         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
22646         (gst_basesink_preroll_queue_flush):
22647         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
22648         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
22649         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22650         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22651         (gst_proxy_pad_set_property):
22652         * gst/gstpad.c:
22653         * gst/gstpad.h:
22654         * gst/gstqueue.c: (gst_queue_init):
22655         The deprecated pad loop function is removed now.
22657 2005-06-28  Andy Wingo  <wingo@pobox.com>
22659         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
22660         New parameters, simulate network packet loss.
22662         * tests/network-clock-utils.scm: Initialize the RNG.
22664 2005-06-28  Wim Taymans  <wim@fluendo.com>
22666         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
22667         (gst_basesink_event), (gst_basesink_deactivate):
22668         Flushing the preroll queue always needs to unlock the waiters.
22670 2005-06-28  Edward Hervey  <edward@fluendo.com>
22672         * gst/gstpipeline.c: (gst_pipeline_send_event): 
22673         Wheen a seek was successful on a pipeline, set the stream_time to the
22674         seek offset in order to have a synchronized stream_time.
22676 2005-06-28  Wim Taymans  <wim@fluendo.com>
22678         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22679         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
22680         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
22681         (gst_proxy_pad_do_fixatecaps):
22682         Call wrapper function instead of just calling the function
22683         pointers. This takes care of any locking and whatmore.
22685 2005-06-28  Wim Taymans  <wim@fluendo.com>
22687         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
22688         (gst_pad_pull_range):
22689         * gst/gstpad.h:
22690         CONNECTED -> LINKED.
22692 2005-06-28  Andy Wingo  <wingo@pobox.com>
22694         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
22695         source-munging commit!!!
22697         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
22698         (gst_object_sink): Take gpointer arguments, not GstObject --
22699         avoids casts. Like GLib.
22701         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
22702         activate.
22704 2005-06-27  Andy Wingo  <wingo@pobox.com>
22706         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
22707         remaining buffer.
22709         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
22710         returns a sorted copy of the trace list.
22711         (gst_alloc_trace_print_live): New API, only prints traces with
22712         live objects. Sort the list.
22713         (gst_alloc_trace_print_all): Sort the list.
22714         (gst_alloc_trace_print): Align columns.
22716         * gst/elements/gstttypefindelement.c:
22717         * gst/elements/gsttee.c:
22718         * gst/base/gstbasesrc.c:
22719         * gst/base/gstbasesink.c:
22720         * gst/base/gstbasetransform.c:
22721         * gst/gstqueue.c: Adapt for pad activation changes.
22723         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
22724         sched.
22725         (gst_pipeline_dispose): Drop ref on sched.
22727         * gst/gstpad.c (gst_pad_init): Set the default activate func.
22728         (gst_pad_activate_default): Push mode by default.
22729         (pre_activate_switch, post_activate_switch): New stubs, things to
22730         do before and after switching activation modes on pads.
22731         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
22732         the pad's activate function to choose which mode to activate.
22733         Shortcut on deactivation and call the right function directly.
22734         (gst_pad_activate_pull): New API, (de)activates a pad in pull
22735         mode.
22736         (gst_pad_activate_push): New API, same for push mode.
22737         (gst_pad_set_activate_function) 
22738         (gst_pad_set_activatepull_function) 
22739         (gst_pad_set_activatepush_function): Setters for new API.
22741         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
22742         Trace all miniobjects.
22743         (gst_mini_object_make_writable): Unref the arg if we copy, like
22744         gst_caps_make_writable.
22746         * gst/gstmessage.c (_gst_message_initialize): No trace init.
22748         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
22749         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
22750         Adapt for new pad API.
22752         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
22754         * gst/gstelement.h:
22755         * gst/gstelement.c (gst_element_iterate_src_pads) 
22756         (gst_element_iterate_sink_pads): New API functions.
22757         
22758         * gst/gstelement.c (iterator_fold_with_resync): New utility,
22759         should fold into gstiterator.c in some form.
22760         (gst_element_pads_activate): Simplified via use of fold and
22761         delegation of decisions to gstpad->activate.
22763         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
22764         help in debugging.
22766         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
22767         class once in init, like gstmessage. Didn't run into this issue
22768         but it seems correct. Don't initialize a trace, gstminiobject does
22769         that.
22771         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
22772         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
22773         to the bus.
22774         (assert_live_count): New util function, uses alloc traces to check
22775         cleanup.
22777         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
22778         To be modified when unlink drops the internal pad.
22780 2005-06-27  Wim Taymans  <wim@fluendo.com>
22782         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
22783         (gst_bin_change_state):
22784         Cleanup the get_state() function a little, make sure it
22785         iterates the same set of elements.
22786         Added stub iterate_state_order().
22788 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
22790         * docs/gst/gstreamer-docs.sgml:
22791         * docs/gst/gstreamer-sections.txt:
22792         * docs/gst/gstreamer.types:
22793         * docs/gst/tmpl/gstbasesink.sgml:
22794         * docs/gst/tmpl/gstbasesrc.sgml:
22795         * docs/gst/tmpl/gstbasetransform.sgml:
22796         * docs/gst/tmpl/gstelement.sgml:
22797         * docs/gst/tmpl/gstiterator.sgml:
22798         * gst/base/gstbasesrc.c:
22799         * gst/base/gstbasesrc.h:
22800         * gst/base/gstbasetransform.h:
22801         * gst/gstelement.c:
22802         * gst/gstiterator.h:
22803           adding basetransform and iterator docs
22805 2005-06-27  Andy Wingo  <wingo@pobox.com>
22807         * docs/design/part-activation.txt: Notes on how activation should
22808         work -- not quite implemented yet.
22810 2005-06-25  Wim Taymans  <wim@fluendo.com>
22812         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
22813         At least get the chain function correct, needs more
22814         fixing.
22816 2005-06-25  Wim Taymans  <wim@fluendo.com>
22818         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
22819         (gst_basesink_handle_object), (gst_basesink_event),
22820         (gst_basesink_do_sync), (gst_basesink_handle_event),
22821         (gst_basesink_change_state):
22822         * gst/gsttask.h:
22823         Right, two problems here: ghostpads don't take locks and
22824         glib _rec_mutex_lock_full() with depth==0 still locks.
22825         Catch illegal locking and g_warn them.
22827 2005-06-25  Wim Taymans  <wim@fluendo.com>
22829         * check/states/sinks.c: (START_TEST), (gst_object_suite):
22830         Have to check for completion now...
22832 2005-06-25  Wim Taymans  <wim@fluendo.com>
22834         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
22835         (gst_basesink_handle_object), (gst_basesink_event),
22836         (gst_basesink_do_sync), (gst_basesink_handle_event),
22837         (gst_basesink_change_state):
22838         * gst/gstpad.h:
22839         Unlock STREAM_LOCK whatever the recursion was.
22841 2005-06-25  Wim Taymans  <wim@fluendo.com>
22843         * gst/base/gstbasesink.c: (gst_basesink_set_property),
22844         (gst_basesink_preroll_queue_empty),
22845         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
22846         (gst_basesink_event), (gst_basesink_do_sync),
22847         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
22848         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
22849         (gst_basesink_change_state):
22850         Reworked the base sink, handle event and buffer serialisation
22851         correctly and removed possible deadlock.
22852         Handle EOS correctly.
22854 2005-06-25  Wim Taymans  <wim@fluendo.com>
22856         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
22857         (gst_pipeline_change_state):
22858         * tools/gst-launch.c: (check_intr), (event_loop), (main):
22859         Allow elements to post EOS in the state change function.
22860         Fix up -launch, make it exit the poll loop when the
22861         pipeline actually changed state.
22862         Fix up warning parsing in -launch.
22864 2005-06-25  Wim Taymans  <wim@fluendo.com>
22866         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
22867         (gst_tee_sink_activate):
22868         Core takes STREAM_LOCK for us now.
22870 2005-06-25  Wim Taymans  <wim@fluendo.com>
22872         * gst/gstelement.c: (gst_element_get_state_func),
22873         (gst_element_set_state):
22874         * gst/gstelement.h:
22875         * gst/gstmessage.c: (gst_message_parse_error),
22876         (gst_message_parse_warning):
22877         Keep track of current target state while performing a state
22878         change so that subclasses can do something interesting.
22879         Fix parsing of warning/error messages when GError is NULL.
22881 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22883         * docs/gst/Makefile.am:
22884         * docs/gst/gstreamer-docs.sgml:
22885         * docs/gst/gstreamer-sections.txt:
22886         * docs/gst/gstreamer.types:
22887         * docs/gst/tmpl/gstbasesink.sgml:
22888         * docs/gst/tmpl/gstbasesrc.sgml:
22889         * docs/gst/tmpl/gstbin.sgml:
22890         * docs/gst/tmpl/gstcompat.sgml:
22891         * docs/gst/tmpl/gstfakesink.sgml:
22892         * docs/gst/tmpl/gstfakesrc.sgml:
22893         * docs/gst/tmpl/gstfilesink.sgml:
22894         * docs/gst/tmpl/gstfilesrc.sgml:
22895         * docs/gst/tmpl/gstindex.sgml:
22896         * docs/manual/appendix-quotes.xml:
22897         * gst/base/gstbasesrc.h:
22898         * gst/elements/gstfakesrc.h:
22899         * gst/gstmessage.h:
22900           start pulling in base classes and elements in our docs
22902 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
22904         * docs/gst/Makefile.am:
22905         * docs/libs/Makefile.am:
22906           fixed make distcheck with gtk-doc 1.3
22908 2005-06-23  Wim Taymans  <wim@fluendo.com>
22910         * gst/gstelement.c: (gst_element_get_state_func),
22911         (gst_element_set_state), (gst_element_change_state):
22912         When the state did not change, also report NO_PREROLL
22913         when it matters.
22915 2005-06-23  Wim Taymans  <wim@fluendo.com>
22917         * gst/gstpad.c: (gst_pad_event_default):
22918         * gst/gstqueue.c: (gst_queue_loop):
22919         No unsafe task pausing please.
22921 2005-06-23  Wim Taymans  <wim@fluendo.com>
22923         * gst/schedulers/threadscheduler.c:
22924         (gst_thread_scheduler_task_start),
22925         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
22926         Ref the task before pushing it on the threadpool. This
22927         makes sure that we have a ref when the threadfunction is
22928         actually called.
22930 2005-06-23  Andy Wingo  <wingo@pobox.com>
22932         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
22933         offset is greater than the file's size.
22935         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
22936         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
22937         * gst/gstobject.c (gst_object_class_init): Make the class lock
22938         recursive. Wim won't let me drop deep_notify. Decodebin works
22939         again, whoopdy doo.
22941         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
22942         internal pad, and hacks accordingly. Doesn't do it on the target
22943         pad because we change its caps. Probably catches all cases of
22944         interest tho.
22945         (gst_ghost_pad_set_property): Connect to notify::caps as
22946         appropritate.
22948         * tests/network-clock.scm (plot-simulation): Pipe data to the
22949         elite python skript.
22951         * tests/network-clock-utils.scm (define-parameter): New macro,
22952         defines a parameter that can be set via the command line.
22953         (set-parameter!, parse-parameter-arguments): Command line args
22954         parser.
22956         * tests/plot-data: Simple matplotlib-based plotter, takes input on
22957         stdin.
22959 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
22961         * gst/elements/gsttypefindelement.c:
22962         (gst_type_find_element_handle_event):
22963           Don't restart typefinding on a discont.
22964         * gst/gstelement.c: (gst_element_set_state):
22965           Debug spelling fix.
22966         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
22967           Allow changing mode of an active pad.
22968           Debug output fixes.
22969         * gst/registries/gstlibxmlregistry.c: (load_feature):
22970           Don't cast a static pad template to a normal pad template.
22972 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22974         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
22975         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22976           remove gst_strtoll completely, since it didn't actually do
22977           anything more than what g_ascii_strtoull already does.
22978           check for range errors when deserializing
22979           do a cast for the unsigned cases; but further fixing needs
22980           a decision on what the interpretation of "(int)" and
22981           deserialization should be for values that fall outside the
22982           type's boundaries (ie, refuse, or interpret as casting)
22984 2005-06-23  Wim Taymans  <wim@fluendo.com>
22986         * check/Makefile.am:
22987         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
22988         * docs/design/part-live-source.txt:
22989         * docs/design/part-states.txt:
22990         * gst/base/gstbasesrc.c: (gst_basesrc_init),
22991         (gst_basesrc_set_live), (gst_basesrc_is_live),
22992         (gst_basesrc_get_range), (gst_basesrc_activate),
22993         (gst_basesrc_change_state):
22994         * gst/base/gstbasesrc.h:
22995         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22996         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
22997         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
22998         * gst/gstelement.c: (gst_element_get_state_func),
22999         (gst_element_set_state):
23000         * gst/gstelement.h:
23001         * gst/gsttypes.h:
23002         * tools/gst-launch.c: (event_loop), (main):
23003         Added support for live sources and other elements that
23004         cannot do preroll.
23005         Updated design docs, added live-source design doc.
23006         Implemented live source functionality in basesrc
23007         Fix error condition in _bin_get_state()
23008         Implement live source handling in -launch.
23009         Added check for live sources.
23010         Fixed case in GstBin where elements were changed state
23011         multiple times.
23014 2005-06-23  Andy Wingo  <wingo@pobox.com>
23016         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23017         borken refcounting.
23019         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23020         gst_caps_replace takes care of this for us.
23022         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23023         gst_pad_set_caps on the target, not just its setcaps() function.
23025         * tests/network-clock.scm: 
23026         * tests/network-clock-utils.scm: A network clock simulator.
23027         Something of an algorithmic testbed before doing something in C.
23029 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23031         * check/Makefile.am:
23032         * check/gst/capslist.h:
23033           copy over from 0.8, and add two with bitmasks specified with
23034           (int) 0xFF...
23035         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23036           add test to parse everything from capslist.h
23037         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23038         (main):
23039           add test for structure deserialization
23040         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23041           add tests for deserialization of strings to int types
23042         * gst/gststructure.c: (gst_structure_nth_field_name):
23043         * gst/gststructure.h:
23044           add a way to get the name of a field referenced by index
23045         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23046           instead of checking if the resulting long long lies between
23047           min and max, we check if the long long would fit into
23048           a number of bytes for the final type.
23049           This fixes cases where a string represents 2^32 - 1, which
23050           when cast to int would be the (valid) -1, but is bigger than
23051           G_MAXINT
23053 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23055         * gst/parse/grammar.y:
23056           add a log line for type deserialization
23058 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23060         * check/gst/gstvalue.c: (START_TEST):
23061         * gst/gstvalue.c: (gst_value_deserialize):
23062           return long long, not int, so gint64 deserialization actually
23063           works.  Is there any flag that makes the compiler check this ?
23064           Fixes #308559
23066 2005-06-22  Wim Taymans  <wim@fluendo.com>
23068         * gst/gstbuffer.h:
23069         Added convenience macros for setting buffers in GValue.
23071 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23073         * check/gst/.cvsignore:
23074         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23075           add a test deserializing int64, and comment part out because
23076           it fails, yay !
23078 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23080         * check/Makefile.am:
23081         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23082         * testsuite/Makefile.am:
23083         * testsuite/caps/Makefile.am:
23084         * testsuite/caps/value_serialize.c:
23085         * testsuite/test_gst_init.c:
23086           move a value_serialize test over
23088 2005-06-20  Wim Taymans  <wim@fluendo.com>
23090         * gst/gstpad.c:
23091         Small doc updates.
23092         
23093         * gst/gstvalue.c: (gst_value_compare_buffer),
23094         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23095         (gst_value_compare_flags), (gst_value_serialize_flags),
23096         (gst_value_deserialize_flags), (_gst_value_initialize):
23097         Fix serialisation of buffers, they are not boxed types anymore
23099 2005-06-20  Wim Taymans  <wim@fluendo.com>
23101         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23102         Testcase to show error in buffer-on-caps serialisation.
23104 2005-06-20  Andy Wingo  <wingo@pobox.com>
23106         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23107         will be adding to later.
23109         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23110         if its socks fill with rocks.
23111         (gst_system_clock_obtain): Set the name on object construction.
23112         Avoid double-checked locking.
23114 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
23116         * gst/gsturi.c: (gst_element_make_from_uri):
23117           Fix potential endless loop.
23119 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23121         * check/Makefile.am:
23122           add gsttag
23123         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23124         (main):
23125           move over from testsuite dir and clean up
23126         * configure.ac:
23127         * gst/gsttag.c:
23128         * testsuite/Makefile.am:
23129         * testsuite/tags/.cvsignore:
23130         * testsuite/tags/Makefile.am:
23131         * testsuite/tags/merge.c:
23132           remove testsuite/tags
23134 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23136         * docs/gst/gstreamer-sections.txt:
23137         * docs/gst/tmpl/gstenumtypes.sgml:
23138         * win32/gstenumtypes.c:
23139           clean up documentation build a little
23141 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23143         * check/gstcheck.h:
23144           add macros for checking refcounts on objects and caps
23145         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23146           add some more unit tests
23147         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23148         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23149           fix leaked refcounts (I hope :)) so unittest works
23150         * gst/gstpad.h:
23151           whitespace removal
23153 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23155         * configure.ac: back to HEAD
23157 === release 0.9.1 ===
23159 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23161         * NEWS:
23162         * RELEASE:
23163           updated
23165 2005-06-17  Andy Wingo  <wingo@pobox.com>
23167         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23168         assert; it's always possible that the pad gets deactivated in
23169         between the checks in gstpad.c and the implementation. Rely on
23170         finish_preroll() to return a FLUSHING or similar instead of on the
23171         assert.
23172         
23173         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23174         clock and post an EOS message if we come out of finish_preroll in
23175         the playing state.
23177 2005-06-16  David Schleef  <ds@schleef.org>
23179         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23180         (gst_capsfilter_set_property): Allow NULL as possible value
23181         for filter_caps property, indicating GST_CAPS_ANY.
23183 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23185         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23186           fix debug output
23187         * gst/schedulers/Makefile.am:
23188           use libgst prefix
23189         * gstreamer.spec.in:
23190           fix spec for it
23192 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23194         * gstreamer.spec.in:
23195           clean up
23197 2005-06-08  Andy Wingo  <wingo@pobox.com>
23199         * gst/gstutils.c: RPAD fixes all around.
23200         (gst_element_link_pads): Refcounting fixes.
23202         * tools/gst-inspect.c:
23203         * tools/gst-xmlinspect.c:
23204         * parse/grammar.y:
23205         * gst/base/gsttypefindhelper.c:
23206         * gst/base/gstbasesink.c:
23207         * gst/gstqueue.c: RPAD fixes.
23209         * gst/gstghostpad.h:
23210         * gst/gstghostpad.c: New ghost pad implementation as full proxy
23211         pads. The tricky thing is they provide both source and sink
23212         interfaces, since they proxy the internal pad for the external
23213         pad, and vice versa. Implement with lower-level ProxyPad objects,
23214         with the interior proxy pad as a child of the exterior ghost pad.
23215         Should write a doc on this.
23216         
23217         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23218         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23219         gst_object API.
23220         
23221         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23222         pads are real pads. No ghost pads in this file. Not documenting
23223         the myriad s/RPAD/PAD/ and REALIZE fixes.
23224         (gst_pad_class_init): Add properties for "direction" and
23225         "template". Both are construct-only, so they can't change during
23226         the life of the pad. Fixes properly deriving from GstPad.
23227         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23228         derived objects, just set properties when creating the objects via
23229         g_object_new.
23230         (gst_pad_get_parent): Implement as a function, return NULL if the
23231         parent is not an element.
23232         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23233         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23234         
23235         * gst/gstobject.c (gst_object_class_init): Make name a construct
23236         property. Don't set it in the object init.
23238         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23239         with UNKNOWN direction.
23240         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23241         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23242         (gst_element_remove_pad): Remove ghost-pad special cases.
23243         (gst_element_pads_activate): Remove rpad cruft.
23245         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23246         catch the pad's-parent-not-an-element case.
23248         * gst/gst.h: Include gstghostpad.h.
23250         * gst/gst.c (init_post): No more real, ghost pads.
23252         * gst/Makefile.am: Add gstghostpad.[ch].
23254         * check/Makefile.am:
23255         * check/gst/gstbin.c:
23256         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23257         into a bin creates ghost pads, and that the refcounts are right.
23258         Partly moved from gstbin.c.
23260 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23262         * check/gst-libs/.cvsignore:
23263         * check/gst/.cvsignore:
23264         * check/pipelines/.cvsignore:
23265           ignore more
23266         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23267         (START_TEST), (cleanup_suite), (main):
23268           add some tests related to cleanup after running pipelines
23270 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23272         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23273           add a testsuite for GstBuffer
23275 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23277         * gst/gstminiobject.h:
23278           add defines for accessing the refcount
23280 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
23282         * Makefile.am: added support for html unit test coverage reports
23284 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
23286         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23287           Free existing caps if the capsfilter changes. Add a FIXME about
23288           setting those caps on the pads.
23290         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
23291           Before adding a ghost pad to a parent bin, check that there isn't
23292           already one for the element on the bin. Prevents infinite recursion
23293           when using decodebin in parse pipelines. Andy says he'll rewrite the
23294           way this works anyway, so ignore the hack.
23296 2005-06-02  Andy Wingo  <wingo@pobox.com>
23298         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
23299         file size, pass it on to the type find helper.
23301         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
23302         segment_start and segment_end properly according to the seek
23303         method. Segment_end is still a bit flaky because offset can be
23304         negative for CUR and END cases, but it takes -1 as an "unset"
23305         value.
23307 2005-06-02  Wim Taymans  <wim@fluendo.com>
23309         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
23310         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
23311         (gst_basesink_activate):
23312         * gst/base/gstbasesink.h:
23313         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23314         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23315         (gst_pad_query), (gst_pad_start_task):
23316         * gst/gstpad.h:
23317         * gst/gstqueue.c: (gst_queue_bufferalloc),
23318         (gst_queue_handle_sink_event), (gst_queue_chain):
23319         Bufferalloc: return GstFlowReturn to more accuratly report
23320         why allocation failed.
23322 2005-06-02  Wim Taymans  <wim@fluendo.com>
23324         * gst/gstpipeline.c: (gst_pipeline_send_event):
23325         Take snapshot of state without blocking.
23327 2005-06-02  Wim Taymans  <wim@fluendo.com>
23329         * docs/design/part-TODO.txt:
23330         * docs/design/part-caps.txt:
23331         * docs/design/part-clocks.txt:
23332         * docs/design/part-negotiation.txt:
23333         * docs/design/part-preroll.txt:
23334         Small doc updates 
23336 2005-05-30  Wim Taymans  <wim@fluendo.com>
23338         * gst/elements/gstidentity.c: (gst_identity_event),
23339         (gst_identity_transform), (gst_identity_get_property):
23340         Protect last_message property as it is accessed from
23341         multiple threads.
23343 2005-05-30  Wim Taymans  <wim@fluendo.com>
23345         * gst/gstelement.c: (gst_element_init),
23346         (gst_element_pads_activate), (gst_element_change_state):
23347         Slicker pad activation code.
23349 2005-05-30  Wim Taymans  <wim@fluendo.com>
23351         * gst/Makefile.am:
23352         * gst/gstelement.h:
23353         * gst/gstelementfactory.h:
23354         * gst/gsttypes.h:
23355         Move elementfactory methods to separate .h file.
23357 2005-05-30  Wim Taymans  <wim@fluendo.com>
23359         * docs/design/part-overview.txt:
23360         * gst/gstsystemclock.h:
23361         Small typo fixes, doc updates.
23363 2005-05-30  Wim Taymans  <wim@fluendo.com>
23365         * gst/gst.c: (gst_init_get_popt_table), (init_post),
23366         (init_popt_callback):
23367         Remove cpu-opt flag.
23369 2005-05-30  Wim Taymans  <wim@fluendo.com>
23371         * gst/gstbuffer.c: (gst_subbuffer_finalize),
23372         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
23373         * gst/gstbuffer.h:
23374         Avoid typechecking in places where not needed.
23375         Added accessor for malloc_data.
23377 2005-05-30  Wim Taymans  <wim@fluendo.com>
23379         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
23380         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
23381         (gst_pad_configure_sink), (gst_pad_configure_src),
23382         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
23383         (gst_pad_start_task):
23384         Propagate errors from _set_caps() in configure_src/sink
23385         functions instead of returning TRUE.
23386         FLUSH events can travel up and downstream
23389 2005-05-30  Wim Taymans  <wim@fluendo.com>
23391         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23392         (gst_basesink_activate):
23393         Handle EOS in preroll.
23395 2005-05-30  Wim Taymans  <wim@fluendo.com>
23397         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23398         (gst_queue_loop), (gst_queue_handle_src_event):
23399         Remove old pieces of code
23400         Flushing the queue in an upstream event is a very bad idea.
23402 2005-05-26  Andy Wingo  <wingo@pobox.com>
23404         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
23405         gst_value_set_mini_object so as to add a ref on the object (which
23406         will be removed when the value is unset).
23408         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
23409         arg type in ::handoff.
23411         * gst/gstelement.c (gst_element_change_state): Also deactivate
23412         pads in READY->NULL, just in case the element didn't make it to
23413         PAUSED. Wingo tested, Wim approved.
23415 2005-05-26  Wim Taymans  <wim@fluendo.com>
23417         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23418         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23419         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
23420         A flushing pad cannot be used to alloc_buffer from.
23422 2005-05-26  Wim Taymans  <wim@fluendo.com>
23424         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
23425         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
23426         (gst_bus_source_dispatch), (gst_bus_source_finalize),
23427         (gst_bus_create_watch), (gst_bus_add_watch_full):
23428         * gst/gstbus.h:
23429         Implement a real GSource and use g_main_context_wakeup() to
23430         signal new messages instead of the socketpair.
23432 2005-05-25  Wim Taymans  <wim@fluendo.com>
23434         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
23435         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
23436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23437         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23438         (gst_pad_send_event), (gst_pad_start_task):
23439         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
23440         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23441         (gst_queue_sink_activate), (gst_queue_src_activate),
23442         (gst_queue_change_state):
23443         * gst/gstqueue.h:
23444         Fix state changes for non sinks. We now change sinks, then elements
23445         with unconnected srcpads, then the rest.
23446         More efficient queue unlocking in flush and state changes.
23447         Set the pad activate mode even if it does not have an activate
23448         function.
23450 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23452         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
23453           Don't go in pull mode for non-seekable sources.
23454         * gst/elements/gsttypefindelement.h:
23455         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23456         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
23457         (free_entry), (stop_typefinding),
23458         (gst_type_find_element_handle_event), (find_peek),
23459         (gst_type_find_element_chain), (do_pull_typefind),
23460         (gst_type_find_element_change_state):
23461           Allow typefinding (w/o seeking) in push-mode, simplified version
23462           of what was in 0.8.
23463         * gst/gstutils.c: (gst_buffer_join):
23464         * gst/gstutils.h:
23465           gst_buffer_join() from 0.8.
23467 2005-05-25  Wim Taymans  <wim@fluendo.com>
23469         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23470         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23471         (gst_pad_send_event), (gst_pad_start_task):
23472         Disable attempt at mode switching until it is figured out.
23474 2005-05-25  Wim Taymans  <wim@fluendo.com>
23476         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
23477         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23478         (gst_basesink_finish_preroll), (gst_basesink_chain),
23479         (gst_basesink_loop), (gst_basesink_activate),
23480         (gst_basesink_change_state):
23481         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
23482         (gst_basesrc_get_range), (gst_basesrc_loop),
23483         (gst_basesrc_activate):
23484         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23485         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23486         (gst_real_pad_init), (gst_real_pad_set_property),
23487         (gst_real_pad_get_property), (gst_pad_set_active),
23488         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
23489         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
23490         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
23491         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
23492         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23493         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
23494         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
23495         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23496         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
23497         (gst_pad_stop_task):
23498         * gst/gstpad.h:
23499         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23500         (gst_queue_loop), (gst_queue_src_activate):
23501         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
23502         (gst_task_get_state):
23503         * gst/gsttask.h:
23504         * gst/schedulers/threadscheduler.c:
23505         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23506         Implement gst_pad_pause/start/stop_task(), take STREAM lock
23507         in task function.
23508         Remove ACTIVE pad flag, use FLUSHING everywhere
23509         Added _pad_chain(), _pad_get_range() to call chain/getrange 
23510         functions.
23511         Add locks around IS_FLUSHING when reading.
23512         Take STREAM lock in chain(), get_range() functions so plugins
23513         don't need to take it anymore.
23514         
23517 2005-05-25  Wim Taymans  <wim@fluendo.com>
23519         * tools/gst-launch.c: (event_loop):
23520         Unref message after using its contents instead of
23521         before.
23523 2005-05-24  Wim Taymans  <wim@fluendo.com>
23525         * docs/design/draft-ghostpads.txt:
23526         * docs/design/draft-push-pull.txt:
23527         * docs/design/draft-query.txt:
23528         * docs/design/part-overview.txt:
23529         Docs updates, added general overview doc.
23531 2005-05-21  David Schleef  <ds@schleef.org>
23533         * docs/gst/tmpl/old/GstBin.sgml:
23534         * docs/gst/tmpl/old/GstBuffer.sgml:
23535         * docs/gst/tmpl/old/GstCaps.sgml:
23536         * docs/gst/tmpl/old/GstClock.sgml:
23537         * docs/gst/tmpl/old/GstCompat.sgml:
23538         * docs/gst/tmpl/old/GstData.sgml:
23539         * docs/gst/tmpl/old/GstElement.sgml:
23540         * docs/gst/tmpl/old/GstEvent.sgml:
23541         * docs/gst/tmpl/old/GstIndex.sgml:
23542         * docs/gst/tmpl/old/GstStructure.sgml:
23543         * docs/gst/tmpl/old/GstTag.sgml:
23544         * docs/gst/tmpl/old/cothreads.sgml:
23545         * docs/gst/tmpl/old/cothreads_compat.sgml:
23546         * docs/gst/tmpl/old/gettext.sgml:
23547         * docs/gst/tmpl/old/gobject2gtk.sgml:
23548         * docs/gst/tmpl/old/grammar.tab.sgml:
23549         * docs/gst/tmpl/old/gst-i18n-app.sgml:
23550         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23551         * docs/gst/tmpl/old/gst_private.sgml:
23552         * docs/gst/tmpl/old/gstaggregator.sgml:
23553         * docs/gst/tmpl/old/gstarch.sgml:
23554         * docs/gst/tmpl/old/gstatomic_impl.sgml:
23555         * docs/gst/tmpl/old/gstbufferstore.sgml:
23556         * docs/gst/tmpl/old/gstdata_private.sgml:
23557         * docs/gst/tmpl/old/gstdisksink.sgml:
23558         * docs/gst/tmpl/old/gstdisksrc.sgml:
23559         * docs/gst/tmpl/old/gstelementfactory.sgml:
23560         * docs/gst/tmpl/old/gstextratypes.sgml:
23561         * docs/gst/tmpl/old/gstfakesink.sgml:
23562         * docs/gst/tmpl/old/gstfakesrc.sgml:
23563         * docs/gst/tmpl/old/gstfdsink.sgml:
23564         * docs/gst/tmpl/old/gstfdsrc.sgml:
23565         * docs/gst/tmpl/old/gstfilesink.sgml:
23566         * docs/gst/tmpl/old/gstfilesrc.sgml:
23567         * docs/gst/tmpl/old/gsthttpsrc.sgml:
23568         * docs/gst/tmpl/old/gstidentity.sgml:
23569         * docs/gst/tmpl/old/gstindexfactory.sgml:
23570         * docs/gst/tmpl/old/gstmarshal.sgml:
23571         * docs/gst/tmpl/old/gstmd5sink.sgml:
23572         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
23573         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
23574         * docs/gst/tmpl/old/gstpadtemplate.sgml:
23575         * docs/gst/tmpl/old/gstpipefilter.sgml:
23576         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
23577         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
23578         * docs/gst/tmpl/old/gstshaper.sgml:
23579         * docs/gst/tmpl/old/gstspider.sgml:
23580         * docs/gst/tmpl/old/gstspideridentity.sgml:
23581         * docs/gst/tmpl/old/gststatistics.sgml:
23582         * docs/gst/tmpl/old/gsttee.sgml:
23583         * docs/gst/tmpl/old/gsttimecache.sgml:
23584         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
23585         * docs/gst/tmpl/old/gstxmlregistry.sgml:
23586         * docs/gst/tmpl/old/gthread-cothreads.sgml:
23587         * docs/gst/tmpl/old/types.sgml:
23588           I didn't intend to add these or check them in.
23590 2005-05-19  David Schleef  <ds@schleef.org>
23592         * configure.ac: Use -no-common everywhere.  In a sane world, it
23593           would be the default in libtool, because without it, you can't
23594           build DLLs on Windows.
23595         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
23596         * docs/gst/gstreamer-sections.txt:
23597         * docs/gst/tmpl/gstcpu.sgml:
23598         * docs/gst/tmpl/gstdata.sgml:
23599         * docs/gst/tmpl/gstthread.sgml:
23601 2005-05-19  David Schleef  <ds@schleef.org>
23603         * gst/gstminiobject.c: (gst_value_set_mini_object),
23604         (gst_value_take_mini_object), (gst_value_get_mini_object):
23605         * gst/gstminiobject.h: Add GValue set/get functions.
23607 2005-05-19  Wim Taymans  <wim@fluendo.com>
23609         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
23610         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
23611         (gst_subbuffer_init), (gst_buffer_is_span_fast):
23612         * gst/gstbuffer.h:
23613         * gst/gstbus.c: (gst_bus_post):
23614         * gst/gstelement.c: (gst_element_get_random_pad):
23615         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
23616         Make subbufer unref the parent in finalize.
23617         some more debugging info.
23620 2005-05-19  Wim Taymans  <wim@fluendo.com>
23622         * gst/base/gstbasesink.c: (gst_basesink_class_init),
23623         (gst_basesink_init), (gst_basesink_finalize),
23624         (gst_basesink_activate), (gst_basesink_change_state):
23625         Don't free preroll queue too early.
23627 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23629         * gst/Makefile.am:
23630         * gst/ROADMAP:
23631           Hi, I'm outdated. Please shoot me.
23633 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23635         * gst/gstpipeline.c: (gst_pipeline_send_event):
23636           Do not access variables after they have been deleted.
23638 2005-05-19  Wim Taymans  <wim@fluendo.com>
23640         * tools/gst-inspect.c: (print_plugin_features):
23641         A plugin feature does unfortunatly not use the
23642         object name yet...
23644 2005-05-18  Wim Taymans  <wim@fluendo.com>
23646         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
23647         Port _span() functions to new subbuffers.
23649 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23651         * gst/gstbin.c: (gst_bin_add_func):
23652           Fix clock settery in bins when adding kids after the clock has
23653           been selected.
23655 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23657         * gst/elements/gstidentity.c: (gst_identity_class_init):
23658           Workaround until signals support GstMiniObject.
23660 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
23662         * gst/gstbuffer.c:
23663         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
23665 2005-05-18  Wim Taymans  <wim@fluendo.com>
23667         * gst/base/Makefile.am:
23668         * gst/base/gstadapter.c: (gst_adapter_base_init),
23669         (gst_adapter_class_init), (gst_adapter_init),
23670         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
23671         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
23672         (gst_adapter_flush), (gst_adapter_available),
23673         (gst_adapter_available_fast):
23674         * gst/base/gstadapter.h:
23675         Ported and added adapter to the base classes.
23677 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23679         * gst/gst.c:
23680         * gst/gstmessage.c:
23681           Make sure the class is reffed/unreffed once before threads can be
23682           used.  Fixes #304551.
23684 2005-05-17  Wim Taymans  <wim@fluendo.com>
23686         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
23687         (gst_basesink_chain_unlocked), (gst_basesink_activate):
23688         * gst/gstminiobject.c: (gst_mini_object_get_type),
23689         (gst_mini_object_free):
23690         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
23691         (gst_pad_push), (gst_pad_push_event):
23692         * gst/gstqueue.c: (gst_queue_change_state):
23693         Don't queue buffers in basesink when we are flushing.
23694         Unref buffer when flushing in basesink.
23695         Flush queue when going to READY
23696         Unref buffer when _push() returns an error.
23697         Don't free MiniObject instance when refcount is incremented
23698         in _finalize() so that we can recover objects.
23700 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23702         * docs/manual/advanced-schedulers.xml:
23703         * docs/manual/appendix-checklist.xml:
23704         * docs/pwg/advanced-clock.xml:
23705         * docs/pwg/advanced-interfaces.xml:
23706         * docs/pwg/advanced-request.xml:
23707         * docs/pwg/advanced-types.xml:
23708         * docs/pwg/intro-preface.xml:
23709         * examples/plugins/example.c: (gst_example_get_type),
23710         (gst_example_class_init), (gst_example_chain),
23711         (gst_example_set_property), (gst_example_get_property),
23712         (gst_example_change_state), (plugin_init):
23713         * examples/plugins/example.h:
23714           small doc fixes
23716 2005-05-17  Wim Taymans  <wim@fluendo.com>
23718         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
23719         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
23720         * gst/gstqueue.c: (gst_queue_change_state):
23721         Clear queue when going to READY.
23722         Remove IN_SETCAPS flag too.
23724 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
23726         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
23727           Remove implicit cast from gboolean to GstElementStateReturn;
23728           make sure we still return failure in paused => ready case if
23729           the parent class fails to change state and our own stop 
23730           vfunc succeeds.
23732 2005-05-17  Wim Taymans  <wim@fluendo.com>
23734         * tools/gst-launch.c: (event_loop):
23735         Message was unreffed too soon.
23737 2005-05-16  Andy Wingo  <wingo@pobox.com>
23739         * gst/gstbin.c (sink_iterator_filter): Err... um...
23741         * check/gst/gstbin.c (test_ghost_pads): New test for the
23742         ghosting-if-elements-not-in-same-bin behavior.
23744 2005-05-16  David Schleef  <ds@schleef.org>
23746         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
23747         accessing refcount directly.
23749 2005-05-15  David Schleef  <ds@schleef.org>
23751         * check/Makefile.am: remove GstData checks
23752         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
23753         * gst/Makefile.am: add miniobject, remove data
23754         * gst/gst.h: add miniobject, remove data
23755         * gst/gstdata.c: remove
23756         * gst/gstdata.h: remove
23757         * gst/gstdata_private.h: remove
23758         * gst/gsttypes.h: remove GstEvent and GstMessage
23759         * gst/gstelement.c: (gst_element_post_message): fix for API changes
23760         * gst/gstmarshal.list: change BOXED -> OBJECT
23762         Implement GstMiniObject.
23763         * gst/gstminiobject.c:
23764         * gst/gstminiobject.h:
23766         Modify to be subclasses of GstMiniObject.
23767         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
23768         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
23769         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
23770         (gst_subbuffer_get_type), (gst_subbuffer_init),
23771         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
23772         (gst_buffer_span):
23773         * gst/gstbuffer.h:
23774         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
23775         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
23776         (_gst_event_copy), (gst_event_new):
23777         * gst/gstevent.h:
23778         * gst/gstmessage.c: (_gst_message_initialize),
23779         (gst_message_get_type), (gst_message_class_init),
23780         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
23781         (gst_message_new), (gst_message_new_error),
23782         (gst_message_new_warning), (gst_message_new_tag),
23783         (gst_message_new_state_changed), (gst_message_new_application):
23784         * gst/gstmessage.h:
23785         * gst/gstprobe.c: (gst_probe_perform),
23786         (gst_probe_dispatcher_dispatch):
23787         * gst/gstprobe.h:
23788         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
23789         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
23790         (_gst_query_copy), (gst_query_new):
23792         Update elements for GstData -> GstMiniObject changes
23793         * gst/gstquery.h:
23794         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
23795         (gst_queue_chain), (gst_queue_loop):
23796         * gst/elements/gstbufferstore.c:
23797         (gst_buffer_store_add_buffer_func),
23798         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
23799         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
23800         (gst_fakesink_render):
23801         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
23802         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
23803         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
23804         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
23805         (gst_filesrc_create_read):
23806         * gst/elements/gstidentity.c: (gst_identity_class_init):
23807         * gst/elements/gsttypefindelement.c:
23808         (gst_type_find_element_src_event), (free_entry_buffers),
23809         (gst_type_find_element_handle_event):
23810         * libs/gst/dataprotocol/dataprotocol.c:
23811         (gst_dp_header_from_buffer):
23812         * libs/gst/dataprotocol/dataprotocol.h:
23813         * libs/gst/dataprotocol/dp-private.h:
23815 2005-05-15  David Schleef  <ds@schleef.org>
23817         * gst/elements/gstelements.c: Don't include headers that were
23818         just removed.
23820 2005-05-15  David Schleef  <ds@schleef.org>
23822         * gst/elements/Makefile.am: Remove some elements that don't
23823         need to be in the core (or even exist at all).
23824         * gst/elements/gstaggregator.c:
23825         * gst/elements/gstaggregator.h:
23826         * gst/elements/gstmd5sink.c:
23827         * gst/elements/gstmd5sink.h:
23828         * gst/elements/gstmultifilesrc.c:
23829         * gst/elements/gstmultifilesrc.h:
23830         * gst/elements/gstpipefilter.c:
23831         * gst/elements/gstpipefilter.h:
23832         * gst/elements/gstshaper.c:
23833         * gst/elements/gstshaper.h:
23834         * gst/elements/gststatistics.c:
23835         * gst/elements/gststatistics.h:
23836         * po/POTFILES.in: Remove above files.
23838 2005-05-14  Andy Wingo  <wingo@pobox.com>
23840         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
23841         so as to get the refs right.
23842         (sink_iterator_filter): New function, wraps bin_element_is_sink,
23843         unreffing objects that don't pass the filter.
23845         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
23846         gst_element_set_bus.
23847         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
23848         normal cases, this will destroy the bus.
23850         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
23851         object.
23853         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
23854         has no sinks.
23856 2005-05-13  Andy Wingo  <wingo@pobox.com>
23858         * gst/gstutils.c (gst_element_link_pads): Instead of calling
23859         gst_pad_link, call pad_link_maybe_ghosting,
23860         (pad_link_maybe_ghosting): Links pads, making sure that the
23861         elements being linked are in the same bin.
23862         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
23863         Helpers for pad_link_maybe_ghosting.
23865 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
23867         * configure.ac:
23868           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
23870 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
23872         * docs/design/part-element-source.txt:
23873           Mention GstPushSrc
23875 2005-05-12  Wim Taymans  <wim@fluendo.com>
23877         * gst/base/gstbasesink.c: (gst_basesink_init),
23878         (gst_basesink_activate):
23879         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
23880         (gst_basesrc_is_seekable):
23881         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23882         (bin_element_is_sink), (gst_bin_change_state):
23883         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
23884         * gst/gstelement.h:
23885         Identify sinks by their flag to avoid overly complicated
23886         checks (fow now).
23887         Do state changes even for elements not reachable from the
23888         sinks.
23889         BaseSink is a sink now :)
23890         Some more debugging info in the basesrc.
23893 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23895         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
23896           Implement _query on a bin, similar to _send_event.
23898 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
23900         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
23901           Discont event offset format should be GST_FORMAT_BYTES,
23902           not GST_FORMAT_TIME.
23904 2005-05-12  Wim Taymans  <wim@fluendo.com>
23906         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
23907         Same fix as Ronald's but without the signal. 
23909 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23911         * gst/gstutils.c: (gst_element_query_position):
23912           No, an element is not a pad.
23914 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23916         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
23917         (gst_bin_get_state):
23918           If a child is removed from a bin while we remove the child from
23919           the bin and while we're retrieving its state, signal this to the
23920           get_state function so we abort the wait (instead of waiting for
23921           a timeout) and can immediately re-iterate over all other elements.
23923 2005-05-12  Wim Taymans  <wim@fluendo.com>
23925         * gst/base/Makefile.am:
23926         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
23927         (gst_basesrc_start):
23928         * gst/base/gstbasesrc.h:
23929         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
23930         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
23931         (gst_pushsrc_init), (gst_pushsrc_create):
23932         * gst/base/gstpushsrc.h:
23933         Added is_seekable to BaseSrc
23934         Added simple PushSrc.
23936 2005-05-11  Wim Taymans  <wim@fluendo.com>
23938         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
23939         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23940         (gst_element_link_pads), (gst_element_query_position),
23941         (gst_element_query_convert), (intersect_caps_func),
23942         (gst_pad_query_position), (gst_pad_query_convert):
23943         Fix refcounting in utils function.
23944         No point in trying to activate a pad when it's added, it could
23945         be added from the state change function and then we deadlock, the
23946         element has to decide what to do.
23948 2005-05-10  Andy Wingo  <wingo@pobox.com>
23950         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
23951         *all* the arguments.
23953         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
23954         stream lock if it's a FLUSH_DONE; normal flushes don't get the
23955         lock (according to the docs -- if this is wrong change the docs).
23957         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
23958         flush messages in the NULL state.
23960         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
23961         message immediately and return.
23962         (gst_bus_set_flushing): New function. If a bus is flushing, it
23963         flushes out any queued messages and immediately unrefs new
23964         messages. This is so when an element goes to NULL, all of the
23965         unhandled messages coming from it can be freed, and their
23966         references to the element dropped. In other words: message source
23967         ref considered harmful :P
23969         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
23970         we're finished with it.
23972         * gst/gstmessage.c (gst_message_new_state_changed): 
23974 2005-05-10  Wim Taymans  <wim@fluendo.com>
23976         * gst/gstvalue.c: (gst_value_compare_flags),
23977         (gst_value_serialize_flags), (gst_value_deserialize_flags),
23978         (_gst_value_initialize):
23979         Added flags serialize/deserialize/compare code.
23981 2005-05-09  Andy Wingo  <wingo@pobox.com>
23983         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
23984         Intersect the peer's caps with our caps.
23986 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23988         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23989         * gst/elements/gsttypefindelement.c: (find_peek):
23990           Handle negative offsets better. Fixes decodebin.
23992 2005-05-09  Wim Taymans  <wim@fluendo.com>
23994         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
23995         (gst_base_transform_event):
23996         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
23997         Implement accept_caps.
23998         Fix silly lock/unlock mismatch in base class.
24000 2005-05-09  Wim Taymans  <wim@fluendo.com>
24002         * docs/design/draft-push-pull.txt:
24003         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24004         * gst/elements/gstfilesink.c: (gst_filesink_init),
24005         (gst_filesink_query):
24006         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24007         (gst_type_find_handle_src_query), (find_element_get_length):
24008         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24009         * gst/gstelement.h:
24010         * gst/gstmessage.c:
24011         * gst/gstmessage.h:
24012         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24013         (gst_real_pad_get_caps_unlocked),
24014         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24015         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24016         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24017         (gst_real_pad_dispose), (gst_real_pad_finalize),
24018         (gst_pad_load_and_link), (gst_pad_save_thyself),
24019         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24020         (gst_pad_check_pull_range), (gst_pad_pull_range),
24021         (gst_pad_template_get_type), (gst_pad_template_class_init),
24022         (gst_pad_template_init), (gst_pad_template_dispose),
24023         (name_is_valid), (gst_static_pad_template_get),
24024         (gst_pad_template_new), (gst_static_pad_template_get_caps),
24025         (gst_pad_template_get_caps), (gst_pad_set_element_private),
24026         (gst_pad_get_element_private), (gst_pad_start_task),
24027         (gst_pad_pause_task), (gst_pad_stop_task),
24028         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24029         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24030         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24031         (gst_ghost_pad_new):
24032         * gst/gstpad.h:
24033         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24034         (gst_query_new_position), (gst_query_set_position),
24035         (gst_query_parse_position), (gst_query_new_convert),
24036         (gst_query_set_convert), (gst_query_parse_convert):
24037         * gst/gstquery.h:
24038         * gst/gstqueryutils.c:
24039         * gst/gstqueryutils.h:
24040         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24041         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24042         (gst_queue_handle_src_query):
24043         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24044         (gst_element_query_position), (gst_element_query_convert),
24045         (intersect_caps_func), (gst_pad_query_position),
24046         (gst_pad_query_convert):
24047         * gst/gstutils.h:
24048         * tools/gst-inspect.c: (print_pad_info):
24049         * tools/gst-xmlinspect.c: (print_element_info):
24050         Remove old query functions. Ported old code.
24051         Added position/convert helper functions to gstutils.
24052         Reordered gstpad.c code, grouping relevant things.
24053         Remove gst_message_new(), always need to speficy a specific
24054         message.
24057 2005-05-09  Andy Wingo  <wingo@pobox.com>
24059         * gst/gstiterator.h: Add some includes.
24061         * gst/gstqueryutils.h: Include more headers.
24063         * gst/gstpad.h:
24064         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24065         some uses of gst_pad_query.
24067         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24068         NULL out parameters.
24069         (gst_query_new_position): New proc, allocates a new position
24070         query.
24072         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24073         gstqueryutils.c to the build.
24075         * gst/gststructure.c (gst_structure_set_valist): Implement with
24076         the generic G_VALUE_COLLECT.
24077         
24078 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
24080         * gst/Makefile.am: (gst_headers):
24081         Added gstqueryutils.h to the list of headers to install, that was
24082         a 'nachty' move wingo :)
24084 2005-05-06  Andy Wingo  <wingo@pobox.com>
24086         * gst/gstquery.h
24087         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24088         GstData, init a memchunk.
24089         (standard_definitions): Add a few query types, deprecate a few.
24090         (gst_query_get_type): New proc.
24091         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24092         implementation.
24093         (gst_query_new_application, gst_query_get_structure): New public
24094         procs.
24096         * docs/design/draft-query.txt: Removed LINKS from the query types,
24097         because all the rest can be dispatched to other pads -- seemed
24098         ugly to have a query that couldn't be dispatched. internal_links
24099         is fine as a pad method.
24101         * gst/gstpad.h: Add query2 as a pad method, add the new functions
24102         in gstpad.c, but maintain binary compatibility for the moment.
24103         Will fix before 0.9 is out.
24105         * gst/gstqueryutils.c: 
24106         * gst/gstqueryutils.h: New files, implement 3 methods for each
24107         query type: parse_query, parse_response, and set. Probably need an
24108         allocator as well.
24110         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24112         * gst/elements/gstfilesink.c (gst_filesink_query2):
24113         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24114         query_types, and formats methods.
24116         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24117         (gst_pad_set_query2_function): New functions.
24118         (gst_real_pad_init): Set query2_default as the default query2
24119         function. Basically just dispatches to internally linked pads.
24121         Needs review!
24122         
24123         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24124         without using the atomic operations. Only one thread can possibly
24125         be accessing the data at this point. Changed so as to avoid
24126         gst_atomic operations.
24128 2005-05-06  Wim Taymans  <wim@fluendo.com>
24130         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24131         Also set caps if we use the fallback buffer alloc.
24133 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
24135         * docs/gst/Makefile.am:
24136         * docs/gst/gstreamer-docs.sgml:
24137         * docs/gst/gstreamer-sections.txt:
24138         * docs/gst/tmpl/gstatomic.sgml:
24139         * docs/gst/tmpl/gstmemchunk.sgml:
24140         * testsuite/elements/struct_i386.h:
24141         * win32/GStreamer.vcproj:
24142         * win32/Makefile:
24143           Purge GstAtomic stuff from docs and win32 makefiles as well
24145 2005-05-06  Wim Taymans  <wim@fluendo.com>
24147         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24148         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24149         * gst/gstpad.c: (gst_pad_peer_get_caps):
24150         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24151         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24152         (gst_queue_src_activate), (gst_queue_change_state):
24153         * gst/gstqueue.h:
24154         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24155         (intersect_caps_func):
24156         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24157         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24158         Some fixes for the peer_get_caps() change.
24160 2005-05-06  Wim Taymans  <wim@fluendo.com>
24162         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24163         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24164         (gst_basesink_activate):
24165         Actually do something with error codes returned from the push
24166         functions.
24168 2005-05-06  Wim Taymans  <wim@fluendo.com>
24170         * docs/design/part-element-sink.txt:
24171         * docs/design/part-element-source.txt:
24172         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24173         (gst_basesink_event), (gst_basesink_activate):
24174         * gst/base/gstbasesink.h:
24175         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24176         (gst_basesrc_activate):
24177         * gst/base/gstbasesrc.h:
24178         * gst/gstelement.c: (gst_element_pads_activate):
24179         Some more documentation.
24180         Fixed scheduling decision in _pads_activate().
24182 2005-05-05  Andy Wingo  <wingo@pobox.com>
24184         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24185         the test suite.
24187 2005-05-05  Wim Taymans  <wim@fluendo.com>
24189         * gst/base/Makefile.am:
24190         * gst/base/gstbasesink.h:
24191         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24192         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24193         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24194         (gst_collectpads_class_init), (gst_collectpads_init),
24195         (gst_collectpads_finalize), (gst_collectpads_new),
24196         (gst_collectpads_set_function), (gst_collectpads_add_pad),
24197         (find_pad), (gst_collectpads_remove_pad),
24198         (gst_collectpads_is_active), (gst_collectpads_collect),
24199         (gst_collectpads_collect_range), (gst_collectpads_start),
24200         (gst_collectpads_stop), (gst_collectpads_peek),
24201         (gst_collectpads_pop), (gst_collectpads_available),
24202         (gst_collectpads_read), (gst_collectpads_flush),
24203         (gst_collectpads_chain):
24204         * gst/base/gstcollectpads.h:
24205         * gst/elements/Makefile.am:
24206         * gst/elements/gstelements.c:
24207         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24208         (gst_fakesink_get_times), (gst_fakesink_event),
24209         (gst_fakesink_preroll), (gst_fakesink_render):
24210         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24211         (gst_filesink_init), (gst_filesink_set_location),
24212         (gst_filesink_open_file), (gst_filesink_close_file),
24213         (gst_filesink_pad_query), (gst_filesink_event),
24214         (gst_filesink_render), (gst_filesink_change_state):
24215         * gst/elements/gstfilesink.h:
24216         Added object to help in making collect pad based elements.
24217         Ported filesink.
24218         Make event function in sink baseclass return gboolean.
24220 2005-05-05  Wim Taymans  <wim@fluendo.com>
24222         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24223         (gst_bin_get_by_name):
24224         * gst/gstbuffer.h:
24225         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24226         (gst_clock_finalize):
24227         * gst/gstdata.c: (gst_data_replace):
24228         * gst/gstdata.h:
24229         * gst/gstelement.c: (gst_element_request_pad),
24230         (gst_element_pads_activate):
24231         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24232         (gst_object_unref):
24233         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24234         (gst_pad_set_checkgetrange_function),
24235         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24236         (gst_pad_check_pull_range), (gst_pad_pull_range),
24237         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24238         (gst_pad_pause_task), (gst_pad_stop_task):
24239         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24240         (gst_element_request_pad), (gst_pad_proxy_getcaps):
24241         Fix name lookup in GstBin.
24242         Added _data_replace() function and _buffer_replace()
24243         Use finalize method to clean up clock.
24244         Fix refcounting on request pads.
24245         Fix pad schedule mode error.
24246         Some more object refcounting debug info,
24249 2005-05-04  Andy Wingo <wingo@pobox.com>
24251         * check/Makefile.am:
24252         * docs/gst/tmpl/gstatomic.sgml:
24253         * docs/gst/tmpl/gstplugin.sgml:
24254         * gst/base/gstbasesink.c: (gst_basesink_activate):
24255         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24256         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24257         (gst_basesrc_query), (gst_basesrc_set_property),
24258         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24259         (gst_basesrc_activate):
24260         * gst/base/gstbasesrc.h:
24261         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24262         (gst_base_transform_src_activate):
24263         * gst/elements/gstelements.c:
24264         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24265         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24266         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24267         * gst/elements/gsttypefindelement.c: (find_element_get_length),
24268         (gst_type_find_element_checkgetrange),
24269         (gst_type_find_element_activate):
24270         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24271         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24272         (gst_caps_load_thyself):
24273         * gst/gstelement.c: (gst_element_pads_activate),
24274         (gst_element_save_thyself), (gst_element_restore_thyself):
24275         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24276         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24277         * gst/gstpad.h:
24278         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24279         (gst_xml_parse_file), (gst_xml_parse_memory),
24280         (gst_xml_get_element), (gst_xml_make_element):
24281         * gst/indexers/gstfileindex.c: (gst_file_index_load),
24282         (_file_index_id_save_xml), (gst_file_index_commit):
24283         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
24284         (read_enum), (load_pad_template), (load_feature), (load_plugin),
24285         (load_paths):
24286         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
24287         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
24288         * tools/gst-complete.c: (main):
24289         * tools/gst-compprep.c: (main):
24290         * tools/gst-inspect.c: (print_element_properties_info):
24291         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
24292         * tools/gst-xmlinspect.c: (print_element_properties):
24293         GCC 4 fixen.
24294         
24295 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24297         * gst/gstplugin.c: (gst_plugin_check_module),
24298         (gst_plugin_check_file), (gst_plugin_load_file):
24299             apply patch from #172526 to make register work on MacOSX
24301 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24303         * docs/gst/tmpl/gstconfig.sgml:
24304         * gst/gstconfig.h.in:
24305           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
24306         * testsuite/debug/printf_extension.c: (main):
24307           Do not use GST_PTR_FORMAT on pointers to types with
24308           sizeof < sizeof(gpointer).  Fixes test on 64-bit
24309         * testsuite/elements/property.h:
24310           use correct printf format
24312 2005-05-02  Wim Taymans  <wim@fluendo.com>
24314         * docs/design/draft-push-pull.txt:
24315         * docs/design/draft-query.txt:
24316         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
24317         (gst_basesrc_start):
24318         Added draft for new query API.
24319         Added draft for better selecting scheduling methods.
24320         Make basesrc ignore length if the subclass does not support
24321         it.
24323 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24325         * gst/Makefile.am:
24326           possible fixes for automake-1.5 - _LIBADD is reserved
24328 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24330         * docs/faq/Makefile.am:
24331         * docs/manual/Makefile.am:
24332         * docs/manuals.mak:
24333         * docs/pwg/Makefile.am:
24334         * gst/Makefile.am:
24335           possible fixes for automake-1.5
24337 2005-04-28  Wim Taymans  <wim@fluendo.com>
24339         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24340         (gst_basesink_pad_getcaps), (gst_basesink_init),
24341         (gst_basesink_do_sync):
24342         * gst/gstclock.c: (gst_clock_entry_new):
24343         * gst/gstevent.c: (gst_event_discont_get_value):
24344         * gst/gstpipeline.c: (pipeline_bus_handler),
24345         (gst_pipeline_change_state):
24346         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
24347         Better debugging of clocking info.
24348         Allow NULL values when getting discont values.
24350 2005-04-27  Wim Taymans  <wim@fluendo.com>
24352         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24353         * check/gst/gstpad.c: (gst_pad_suite):
24354         Increase timeout for checks.
24356 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24358         * check/Makefile.am:
24359           fix the broken rule for cleanup.  Apparently this rule is
24360           only needed on FC2, so maybe this warrants further autotool
24361           inspection.
24363 2005-04-26  Wim Taymans  <wim@fluendo.com>
24365         * gst/gsttrashstack.h:
24366         Ooohh. a nasty one! After having a failed pop() from the stack,
24367         it's possible that the stack is empty. In that case, don't
24368         follow the NULL pointer.
24370 2005-04-25  Wim Taymans  <wim@fluendo.com>
24372         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24373         (gst_pad_set_checkgetrange_function),
24374         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
24375         (gst_pad_check_pull_range), (gst_pad_pull_range),
24376         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24377         (gst_pad_pause_task), (gst_pad_stop_task):
24378         * gst/gstplugin.c: (gst_plugin_load):
24379         * gst/gstplugin.h:
24380         Remove gst_library_load as it does more harm than good with
24381         the new g_module flags.
24382         Revert bogus caps template check in pad linking, pad caps
24383         are important when linking not the template, which is more
24384         general than the current caps.
24386 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24388         * gst/autoplug/.cvsignore:
24389         * gst/autoplug/Makefile.am:
24390         * gst/autoplug/gstsearchfuncs.c:
24391         * gst/autoplug/gstsearchfuncs.h:
24392         * gst/autoplug/gstspider.c:
24393         * gst/autoplug/gstspider.h:
24394         * gst/autoplug/gstspideridentity.c:
24395         * gst/autoplug/gstspideridentity.h:
24396         * gst/autoplug/spidertest.c:
24397           Die, spider, die.
24399 2005-04-25  Wim Taymans  <wim@fluendo.com>
24401         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24402         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24403         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
24404         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
24405         * gst/gstpad.h:
24406         Added stubs for unimplemented functions. 
24408 2005-04-24  David Schleef  <ds@schleef.org>
24410         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
24411         please fix.
24413 2005-04-24  David Schleef  <ds@schleef.org>
24415         Convert everything from GstAtomicInt to g_atomic_int_*, and
24416         remove gstatomic.
24417         * gst/Makefile.am:
24418         * gst/gstatomic.c:
24419         * gst/gstatomic.h:
24420         * gst/gstatomic_impl.h:
24421         * gst/gstbuffer.c:
24422         * gst/gstcaps.c:
24423         * gst/gstcaps.h:
24424         * gst/gstclock.c:
24425         * gst/gstclock.h:
24426         * gst/gstdata.c:
24427         * gst/gstdata.h:
24428         * gst/gstdata_private.h:
24429         * gst/gstevent.c:
24430         * gst/gstinfo.c:
24431         * gst/gstinfo.h:
24432         * gst/gstmessage.c:
24433         * gst/gstobject.c:
24434         * gst/gstobject.h:
24435         * gst/gststructure.c:
24436         * gst/gststructure.h:
24437         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
24438         * gst/gstutils.h:
24440 2005-04-24  David Schleef  <ds@schleef.org>
24442         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
24443         make the regressions tests work.  Remove some code that is no
24444         longer true.
24445         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
24446         Disable warning for pads without templates.
24448 2005-04-24  David Schleef  <ds@schleef.org>
24450         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
24451         functions that handle filtered links.
24452         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
24453         removed functions.
24454         * gst/gstutils.c: Fix/remove utility functions that handle
24455         filtered caps.
24456         * gst/gstutils.h:
24457         * gst/gstvalue.c: Add serialization/deserialization of caps
24458         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
24459         requires fixing so that the filter caps notation creates
24460         a capsfilter element and sets the filter_caps property.  I
24461         think everyone probably wants to keep the shorthand notation.
24462         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
24463         * docs/gst/tmpl/gstpad.sgml:
24465         * gst/elements/gstelements.c: Register capsfilter element.
24466         * gst/Makefile.am: fix spacing
24467         * docs/random/ds/0.9-suggested-changes: random
24469 2005-04-23  David Schleef  <ds@schleef.org>
24471         * gst/elements/Makefile.am:
24472         * gst/elements/gstcapsfilter.c: New element that acts like an
24473         identity, but filters caps.  Will eventually replace filtered
24474         caps in pad linking.
24475         * gst/gstutils.c: (gst_element_create_all_pads): New function
24476         to create all the ALWAYS pads that are registered with an
24477         element class.  This functionality should eventually be
24478         merged in with GstElement initialization.
24479         * gst/gstutils.h:
24480         * testsuite/trigger/README: part of trigger test code that should
24481         have been checked in a long time ago.
24483 2005-04-23  David Schleef  <ds@schleef.org>
24485         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
24486         needed with new versions of libtool (nobody will confirm this),
24487         and hard to carry around.
24488         * gst/autoplug/Makefile.am:
24489         * gst/base/Makefile.am:
24490         * gst/elements/Makefile.am:
24491         * gst/indexers/Makefile.am:
24492         * gst/schedulers/Makefile.am:
24493         * libs/gst/bytestream/Makefile.am:
24494         * libs/gst/control/Makefile.am:
24495         * libs/gst/dataprotocol/Makefile.am:
24496         * libs/gst/getbits/Makefile.am:
24498 2005-04-21  Wim Taymans  <wim@fluendo.com>
24500         * docs/design/draft-push-pull.txt:
24501         * docs/design/part-MT-refcounting.txt:
24502         * docs/design/part-TODO.txt:
24503         * docs/design/part-caps.txt:
24504         * docs/design/part-events.txt:
24505         * docs/design/part-gstbus.txt:
24506         * docs/design/part-gstpipeline.txt:
24507         * docs/design/part-messages.txt:
24508         * docs/design/part-push-pull.txt:
24509         * docs/design/part-query.txt:
24510         Some more docs.
24512 2005-04-21  Wim Taymans  <wim@fluendo.com>
24514         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24515         (gst_message_new), (gst_message_new_error),
24516         (gst_message_new_warning), (gst_message_new_tag),
24517         (gst_message_new_state_changed), (gst_message_new_application),
24518         (gst_message_get_structure):
24519         * gst/gstmessage.h:
24520         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24521         (gst_structure_copy_conditional):
24522         Use parent refcount in GstMessage to ensure GstStructure
24523         consistency.
24524         Cleaned up headers a bit.
24525         
24527 2005-04-20  Wim Taymans  <wim@fluendo.com>
24529         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24530         (gst_basesink_pad_getcaps), (gst_basesink_init),
24531         (gst_basesink_chain_unlocked):
24532         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24533         (gst_type_find_helper):
24534         * gst/elements/gsttypefindelement.c:
24535         (gst_type_find_element_have_type), (gst_type_find_element_init),
24536         (stop_typefinding), (gst_type_find_element_handle_event),
24537         (find_suggest), (gst_type_find_element_chain),
24538         (gst_type_find_element_checkgetrange),
24539         (gst_type_find_element_getrange), (do_typefind),
24540         (gst_type_find_element_activate):
24541         * gst/gstbuffer.c: (_gst_buffer_sub_free),
24542         (gst_buffer_default_free), (gst_buffer_default_copy),
24543         (gst_buffer_set_caps):
24544         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24545         (gst_caps_replace):
24546         * gst/gstmessage.c: (gst_message_new),
24547         (gst_message_new_state_changed):
24548         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24549         (gst_pad_set_checkgetrange_function),
24550         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24551         (gst_pad_set_caps), (gst_pad_check_pull_range),
24552         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24553         * gst/gstpad.h:
24554         * gst/gsttypefind.c: (gst_type_find_register):
24555         Make gst_caps_replace() work like other _replace() functions.
24556         Use _caps_replace() where possible.
24557         Make sure _message_new() initialises its field.
24558         Add gst_static_pad_template_get_caps()
24561 2005-04-18  Andy Wingo  <wingo@pobox.com>
24563         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24564         on the peer, not the pad. I think that was a typo. Pass an extra
24565         arg to see if random access is possible. Activate the pads as
24566         PULL_RANGE if possible.
24568         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24570         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
24571         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
24572         to PROP_....
24574 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24576         * docs/faq/using.xml:
24577           Add note on gstreamer-properties (#154996).
24579 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24581         * docs/random/bbb/optional-properties:
24582           Some analysis on optional properties.
24584 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24586         * docs/gst/tmpl/gstelementfactory.sgml:
24587         * gst/gstelement.h:
24588         * gst/gstelementfactory.c: (gst_element_factory_init),
24589         (gst_element_factory_cleanup), (gst_element_register),
24590         (__gst_element_factory_add_static_pad_template),
24591         (gst_element_factory_get_static_pad_templates),
24592         (gst_element_factory_can_src_caps),
24593         (gst_element_factory_can_sink_caps):
24594         * gst/registries/Makefile.am:
24595         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
24596         (gst_xml_registry_class_init), (gst_xml_registry_init),
24597         (gst_xml_registry_new), (gst_xml_registry_set_property),
24598         (gst_xml_registry_get_property), (get_time), (make_dir),
24599         (gst_xml_registry_get_perms_func),
24600         (plugin_times_older_than_recurse), (plugin_times_older_than),
24601         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
24602         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
24603         (add_to_char_array), (read_string), (read_uint), (read_enum),
24604         (load_pad_template), (load_feature), (load_plugin), (load_paths),
24605         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
24606         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
24607         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
24608         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
24609         (gst_xml_registry_rebuild):
24610         * gst/registries/gstlibxmlregistry.h:
24611         * tools/gst-compprep.c: (main):
24612         * tools/gst-inspect.c: (print_pad_templates_info):
24613         * tools/gst-xmlinspect.c: (print_element_info):
24614           Use libxml2 for registry parsing, use staticpadtemplates in
24615           elementfactories. Makes gst_init() +/- 10x faster.
24617 2005-04-12  Wim Taymans  <wim@fluendo.com>
24619         * gst/base/Makefile.am:
24620         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24621         (gst_basesink_pad_getcaps), (gst_basesink_init),
24622         (gst_basesink_event), (gst_basesink_change_state):
24623         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24624         (gst_basesrc_init), (gst_basesrc_query),
24625         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24626         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24627         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24628         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24629         (gst_basesrc_stop), (gst_basesrc_activate),
24630         (gst_basesrc_change_state):
24631         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24632         (helper_find_suggest), (gst_type_find_helper):
24633         * gst/base/gsttypefindhelper.h:
24634         * gst/elements/Makefile.am:
24635         * gst/elements/gstelements.c:
24636         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24637         (gst_fakesink_get_times), (gst_fakesink_event),
24638         (gst_fakesink_preroll), (gst_fakesink_render):
24639         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24640         (gst_fakesrc_init), (gst_fakesrc_event_handler),
24641         (gst_fakesrc_get_property), (gst_fakesrc_create),
24642         (gst_fakesrc_start), (gst_fakesrc_stop):
24643         * gst/elements/gstfakesrc.h:
24644         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
24645         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24646         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24647         (gst_filesrc_create_read), (gst_filesrc_create),
24648         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
24649         (gst_filesrc_start):
24650         * gst/elements/gsttypefindelement.c:
24651         (gst_type_find_element_have_type), (gst_type_find_element_init),
24652         (start_typefinding), (stop_typefinding), (push_buffer_store),
24653         (gst_type_find_element_handle_event),
24654         (gst_type_find_element_chain),
24655         (gst_type_find_element_checkgetrange),
24656         (gst_type_find_element_getrange), (do_typefind),
24657         (gst_type_find_element_activate),
24658         (gst_type_find_element_change_state):
24659         * gst/elements/gsttypefindelement.h:
24660         * gst/gstpipeline.c: (pipeline_bus_handler):
24661         Added typefind helper.
24662         Small preroll fix in the base sink.
24663         Disable typefind code in basesrc.
24664         Crude port of typefindelement.
24665         Fakesrc cleanups.
24668 2005-04-11  Wim Taymans  <wim@fluendo.com>
24670         * check/gst/gstbus.c: (gstbus_suite):
24671         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
24672         * check/gstcheck.h:
24673           Fix up the timeout so that the test does not fail.
24675 2005-04-06  Wim Taymans  <wim@fluendo.com>
24677         * gst/base/README:
24678         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24679         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
24680         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24681         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24682         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24683         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24684         (gst_basesrc_stop), (gst_basesrc_activate),
24685         (gst_basesrc_change_state), (basesrc_find_peek),
24686         (basesrc_find_suggest), (gst_basesrc_type_find):
24687         * gst/base/gstbasesrc.h:
24688         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
24689         (gst_filesrc_class_init), (gst_filesrc_init),
24690         (gst_filesrc_finalize), (gst_filesrc_set_location),
24691         (gst_filesrc_set_property), (gst_filesrc_get_property),
24692         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24693         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24694         (gst_filesrc_create_read), (gst_filesrc_create),
24695         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
24696         * gst/elements/gstfilesrc.h:
24697         * gst/gstelement.c: (gst_element_get_state_func),
24698         (gst_element_lost_state), (gst_element_pads_activate):
24699         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24700         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24701         (gst_pad_pull_range):
24702         * gst/gstpad.h:
24703         More work on the generic source base class, implement seeking,
24704         query.
24705         Make filesrc extend the base source class.
24706         Added gst_pad_set_checkgetrange_function to GstPad.
24708 2005-04-06  Andy Wingo  <wingo@pobox.com>
24710         * pkgconfig/gstreamer-base.pc.in:
24711         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
24713         * pkgconfig/Makefile.am:
24714         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
24716 2005-04-04  Wim Taymans  <wim@fluendo.com>
24718         * gst/base/Makefile.am:
24719         * gst/base/README:
24720         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24721         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
24722         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
24723         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
24724         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24725         (gst_basesrc_base_init), (gst_basesrc_class_init),
24726         (gst_basesrc_init), (gst_basesrc_get_formats),
24727         (gst_basesrc_get_query_types), (gst_basesrc_query),
24728         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
24729         (gst_basesrc_set_property), (gst_basesrc_get_property),
24730         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
24731         (gst_basesrc_loop), (gst_basesrc_activate),
24732         (gst_basesrc_change_state):
24733         * gst/base/gstbasesrc.h:
24734         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
24735         (gst_fakesrc_class_init), (gst_fakesrc_init),
24736         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
24737         (gst_fakesrc_get_property), (gst_fakesrc_create):
24738         * gst/elements/gstfakesrc.h:
24739         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
24740         (gst_filesrc_open_file), (gst_filesrc_loop),
24741         (gst_filesrc_activate), (filesrc_find_peek),
24742         (gst_filesrc_type_find):
24743         Made base source class, make fakesrc extend it.
24744         Add comments to basesink class.
24745         Some filesrc cleanup.
24747 2005-03-31  David Schleef  <ds@schleef.org>
24749         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
24750         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
24751         expected to link against libgstreamer.
24752         * gst/base/Makefile.am: link against libgstreamer
24753         * gst/elements/Makefile.am: same
24755 2005-03-31  Andy Wingo  <wingo@pobox.com>
24757         * tests/instantiate/Makefile.am:
24758         * tests/instantiate/caps.c: Add test to test speed of caps copy
24759         and free.
24761         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
24762         GMemChunk to be fair.
24764         * gst/gsttrashstack.h: Remove warning about using the fallback
24765         trash stack implementation, it's still faster than malloc.
24767 2005-03-30  Andy Wingo  <wingo@pobox.com>
24769         * tests/complexity.c: Add a copyright.
24771 2005-03-31  Wim Taymans  <wim@fluendo.com>
24773         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
24774         (gst_base_transform_class_init), (gst_base_transform_init),
24775         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24776         (gst_base_transform_get_property),
24777         (gst_base_transform_sink_activate),
24778         (gst_base_transform_src_activate),
24779         (gst_base_transform_change_state):
24780         * gst/base/gstbasetransform.h:
24781         * gst/elements/gstidentity.c: (gst_identity_class_init),
24782         (gst_identity_event), (gst_identity_check_perfect),
24783         (gst_identity_transform), (gst_identity_start),
24784         (gst_identity_stop):
24785         Added start/stop methods to transform base class so subclasses 
24786         don't need to deal with state changes even.
24788 2005-03-31  Wim Taymans  <wim@fluendo.com>
24790         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
24791         (gst_event_new_discontinuous), (gst_event_discont_get_value):
24792         * gst/gstevent.h:
24793         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24794         (gst_pad_pull_range):
24795         Added rate to the discont event to prepare for variable speed
24796         and reverse playback.
24798 2005-03-29  David Schleef  <ds@schleef.org>
24800         * configure.ac:
24801         * testsuite/trigger/Makefile.am:
24802         * testsuite/trigger/trigger.c: A little example program to show
24803         how trigger-based elements can work.
24805 2005-03-29  Wim Taymans  <wim@fluendo.com>
24807         * gst/base/Makefile.am:
24808         * gst/base/README:
24809         * gst/base/gstbasesink.c: (gst_basesink_get_type),
24810         (gst_basesink_base_init), (gst_basesink_class_init),
24811         (gst_basesink_pad_getcaps), (gst_basesink_init),
24812         (gst_basesink_activate), (gst_basesink_change_state):
24813         * gst/base/gstbasesink.h:
24814         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
24815         (gst_base_transform_base_init), (gst_base_transform_finalize),
24816         (gst_base_transform_class_init), (gst_base_transform_init),
24817         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
24818         (gst_base_transform_event), (gst_base_transform_getrange),
24819         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
24820         (gst_base_transform_set_property),
24821         (gst_base_transform_get_property),
24822         (gst_base_transform_sink_activate),
24823         (gst_base_transform_src_activate),
24824         (gst_base_transform_change_state):
24825         * gst/base/gstbasetransform.h:
24826         * gst/elements/gstidentity.c: (gst_identity_finalize),
24827         (gst_identity_class_init), (gst_identity_init),
24828         (gst_identity_event), (gst_identity_check_perfect),
24829         (gst_identity_transform), (gst_identity_set_property),
24830         (gst_identity_get_property), (gst_identity_change_state):
24831         * gst/elements/gstidentity.h:
24832         * gst/gstelement.c: (gst_element_get_state_func),
24833         (gst_element_lost_state), (gst_element_pads_activate):
24834         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24835         (gst_pad_check_pull_range), (gst_pad_pull_range):
24836         * gst/gstpad.h:
24837         Simplify pad activation.
24838         Added function to check if pull_range can be performed.
24839         Error out when pulling inactive or flushing pads.
24840         Removed const from refcounted types as it does not make sense.
24841         Simplify pad templates in basesink
24842         Added base class for simple 1-to-1 transforms.
24843         Make identity subclass the base transform.
24845 2005-03-29  Andy Wingo  <wingo@pobox.com>
24847         * docs/libs/gstreamer-libs-overrides.txt: 
24848         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
24849         really don't understand what's going on, but like whatever. I want
24850         green buildbot!
24852         * docs/gst/Makefile.am:
24853         * docs/libs/Makefile.am: Dist the overrides files.
24855         * check/Makefile.am (clean-local): Remove .libs directories.
24857         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
24858         elements to EXTRA_DIST, so po/ files are happy.
24860         * po/POTFILES.in: Er, remove it here.
24862         * po/POTFILES: Remove gstspider.c.
24864         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
24866         * docs/libs/gstreamer-libs-docs.sgml: 
24867         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
24868         bytestream.
24870         * tests/complexity.c (main): Set the length of the preroll queue
24871         on the sinks to prevent a lockup.
24873         * libs/gst/dataprotocol/Makefile.am: 
24874         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
24875         the same as the one in check/gst-libs/gdp.c.
24877         * po/, docs/gst/: Commit automatic changes to docs and po files.
24879         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
24880         the versioned libgstbase.
24882         * check/Makefile.am: Depend on an unversioned gst-register, seems
24883         to make autoconf happier.
24885         * gst/base/Makefile.am: Make libgstbase a versioned lib.
24887 2005-03-28  Wim Taymans  <wim@fluendo.com>
24889         * configure.ac:
24890         * docs/design/part-gstelement.txt:
24891         * docs/design/part-negotiation.txt:
24892         * docs/design/part-preroll.txt:
24893         * docs/design/part-scheduling.txt:
24894         * docs/design/part-states.txt:
24895         * gst/Makefile.am:
24896         * gst/base/Makefile.am:
24897         * gst/base/README:
24898         * gst/base/gstbasesink.c: (gst_basesink_get_template),
24899         (gst_basesink_base_init), (gst_basesink_class_init),
24900         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
24901         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
24902         (gst_basesink_set_pad_functions),
24903         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
24904         (gst_basesink_set_property), (gst_basesink_get_property),
24905         (gst_base_sink_get_template), (gst_base_sink_get_caps),
24906         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
24907         (gst_basesink_preroll_queue_push),
24908         (gst_basesink_preroll_queue_empty),
24909         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
24910         (gst_basesink_event), (gst_basesink_get_times),
24911         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
24912         (gst_basesink_chain_unlocked), (gst_basesink_chain),
24913         (gst_basesink_loop), (gst_basesink_activate),
24914         (gst_basesink_change_state):
24915         * gst/base/gstbasesink.h:
24916         * gst/elements/Makefile.am:
24917         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
24918         (gst_fakesink_class_init), (gst_fakesink_init),
24919         (gst_fakesink_set_property), (gst_fakesink_get_property),
24920         (gst_fakesink_get_times), (gst_fakesink_event),
24921         (gst_fakesink_preroll), (gst_fakesink_render),
24922         (gst_fakesink_change_state):
24923         * gst/elements/gstfakesink.h:
24924         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
24925         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
24926         * gst/gstelement.c: (gst_element_add_pad),
24927         (gst_element_get_state_func), (gst_element_abort_state),
24928         (gst_element_commit_state), (gst_element_lost_state),
24929         (gst_element_set_state), (gst_element_pads_activate):
24930         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
24931         * gst/gstpipeline.c: (gst_pipeline_send_event),
24932         (gst_pipeline_change_state):
24933         Added state change code.
24934         Added/updated docs.
24935         Added sink base class, make fakesink extend the base class.
24936         Small cleanups in GstPipeline.
24938 2005-03-26  David Schleef  <ds@schleef.org>
24940         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
24941         is broken and should be implemented in a different library.
24942         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
24943         * gst/gst.h: remove gstcpu.h
24944         * gst/gstcpu.c: remove
24945         * gst/gstcpu.h: remove
24946         * gst/Makefile.am.future: Remove this file.  It's ancient.
24948 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24950         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
24951         (gst_bin_send_event):
24952           Add default event/set_manager handlers. The set_manager handler
24953           takes care that the manager is distributed over kids that were
24954           already in the bin before the manager was set. The event handler
24955           is a utility virtual function that sends the event over all sinks,
24956           so that gst_element_send_event (bin, event); has the expected
24957           behaviour.
24958         * gst/gstpad.c: (gst_pad_event_default):
24959           Re-install default event handling for discontinuities, so that
24960           seeking works without requiring hacks in applications or extra
24961           code in sinks.
24962         * gst/gstpipeline.c: (gst_pipeline_class_init),
24963         (gst_pipeline_send_event):
24964           Half hack, half utility: set a pipeline to PAUSED for seek events,
24965           since that is the only way we can guarantee a/v sync. Means that
24966           you can do gst_element_seek (pipeline, method, pos); on a pipeline
24967           and it "just works".
24969 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24971         * gst/gstpipeline.c: (gst_pipeline_use_clock):
24972           Lock/unlock mismatch.
24974 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24976         * docs/faq/gst-uninstalled:
24977           add gst-plugins-base
24978         * docs/gst/Makefile.am:
24979           don't error out until docs are fixed
24980         * docs/gst/gstreamer.types:
24981           remove thread
24983 2005-03-22  Wim Taymans  <wim@fluendo.com>
24985         * check/Makefile.am:
24986         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
24987         * gst/gststructure.c: (gst_structure_set_valist),
24988         (gst_structure_copy_conditional):
24989         Activated more tests.
24990         Added message test.
24991         Added G_TYPE_POINTER to GstStructure.
24992         
24994 2005-03-22  Wim Taymans  <wim@fluendo.com>
24996         * docs/design/part-TODO.txt:
24997         * docs/design/part-events.txt:
24998         * docs/design/part-gstbin.txt:
24999         * docs/design/part-gstbus.txt:
25000         * docs/design/part-gstpipeline.txt:
25001         * docs/design/part-messages.txt:
25002         * gst/gstbus.c:
25003         * gst/gstmessage.c:
25004         Docs updates
25006 2005-03-21  Wim Taymans  <wim@fluendo.com>
25008         * gst/gstbus.c: (gst_bus_post):
25009         Fix copy-and-paste error.
25011 2005-03-21  Wim Taymans  <wim@fluendo.com>
25013         * check/Makefile.am:
25014         * gst/Makefile.am:
25015         * gst/elements/Makefile.am:
25016         * gst/elements/gstelements.c:
25017         * gst/elements/gstfakesink.c: (gst_fakesink_init),
25018         (gst_fakesink_event), (gst_fakesink_chain):
25019         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25020         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25021         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25022         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25023         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25024         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25025         (gst_fakesrc_loop), (gst_fakesrc_activate),
25026         (gst_fakesrc_change_state):
25027         * gst/elements/gstfakesrc.h:
25028         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25029         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25030         (gst_filesrc_open_file), (gst_filesrc_loop),
25031         (gst_filesrc_activate), (gst_filesrc_change_state),
25032         (filesrc_find_peek), (filesrc_find_suggest),
25033         (gst_filesrc_type_find):
25034         * gst/elements/gstidentity.c: (gst_identity_finalize),
25035         (gst_identity_class_init), (gst_identity_init),
25036         (gst_identity_proxy_getcaps), (identity_queue_push),
25037         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25038         (gst_identity_getrange), (gst_identity_chain),
25039         (gst_identity_sink_loop), (gst_identity_src_loop),
25040         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25041         (gst_identity_set_property), (gst_identity_get_property),
25042         (gst_identity_change_state):
25043         * gst/elements/gstidentity.h:
25044         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25045         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25046         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25047         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25048         (gst_tee_sink_activate):
25049         * gst/elements/gsttee.h:
25050         * gst/gst.c: (gst_register_core_elements), (init_post):
25051         * gst/gst.h:
25052         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25053         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25054         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25055         (gst_bin_change_state):
25056         * gst/gstbin.h:
25057         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25058         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25059         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25060         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25061         (gst_bus_set_sync_handler), (gst_bus_create_watch),
25062         (bus_watch_callback), (bus_watch_destroy),
25063         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25064         (poll_timeout), (gst_bus_poll):
25065         * gst/gstbus.h:
25066         * gst/gstcaps.h:
25067         * gst/gstdata.h:
25068         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25069         (gst_element_post_message), (gst_element_message_full),
25070         (gst_element_get_state_func), (gst_element_get_state),
25071         (gst_element_abort_state), (gst_element_commit_state),
25072         (gst_element_lost_state), (gst_element_set_state),
25073         (gst_element_pads_activate), (gst_element_change_state),
25074         (gst_element_dispose), (gst_element_set_manager_func),
25075         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25076         (gst_element_set_manager), (gst_element_get_manager),
25077         (gst_element_set_bus), (gst_element_get_bus),
25078         (gst_element_set_scheduler), (gst_element_get_scheduler):
25079         * gst/gstelement.h:
25080         * gst/gstevent.c: (gst_event_new_segment_seek),
25081         (gst_event_new_flush):
25082         * gst/gstevent.h:
25083         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25084         (_gst_message_free), (gst_message_get_type), (gst_message_new),
25085         (gst_message_new_eos), (gst_message_new_error),
25086         (gst_message_new_warning), (gst_message_new_tag),
25087         (gst_message_new_state_changed), (gst_message_new_application),
25088         (gst_message_get_structure), (gst_message_parse_tag),
25089         (gst_message_parse_state_changed), (gst_message_parse_error),
25090         (gst_message_parse_warning):
25091         * gst/gstmessage.h:
25092         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25093         (gst_real_pad_set_property), (gst_pad_set_active),
25094         (gst_pad_is_active), (gst_pad_set_blocked_async),
25095         (gst_pad_set_blocked), (gst_pad_is_blocked),
25096         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25097         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25098         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25099         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25100         (gst_pad_link_filtered), (gst_pad_relink_filtered),
25101         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25102         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25103         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25104         (gst_pad_set_caps), (gst_pad_configure_sink),
25105         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25106         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25107         (gst_real_pad_dispose), (gst_real_pad_finalize),
25108         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25109         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25110         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25111         * gst/gstpad.h:
25112         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25113         (pipeline_bus_handler), (gst_pipeline_change_state),
25114         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25115         * gst/gstpipeline.h:
25116         * gst/gstprobe.h:
25117         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25118         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25119         (gst_queue_link_src), (gst_queue_bufferalloc),
25120         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25121         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25122         (gst_queue_loop), (gst_queue_handle_src_event),
25123         (gst_queue_handle_src_query), (gst_queue_src_activate),
25124         (gst_queue_change_state):
25125         * gst/gstqueue.h:
25126         * gst/gstscheduler.c: (gst_scheduler_init),
25127         (gst_scheduler_dispose), (gst_scheduler_create_task),
25128         (gst_scheduler_factory_create):
25129         * gst/gstscheduler.h:
25130         * gst/gststructure.c: (gst_structure_get_type),
25131         (gst_structure_copy_conditional):
25132         * gst/gststructure.h:
25133         * gst/gsttaginterface.h:
25134         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25135         (gst_task_init), (gst_task_dispose), (gst_task_create),
25136         (gst_task_get_state), (gst_task_start), (gst_task_stop),
25137         (gst_task_pause):
25138         * gst/gsttask.h:
25139         * gst/gstthread.c:
25140         * gst/gstthread.h:
25141         * gst/gsttypes.h:
25142         * gst/schedulers/Makefile.am:
25143         * gst/schedulers/cothreads_compat.h:
25144         * gst/schedulers/entryscheduler.c:
25145         * gst/schedulers/faircothreads.c:
25146         * gst/schedulers/faircothreads.h:
25147         * gst/schedulers/fairscheduler.c:
25148         * gst/schedulers/gstbasicscheduler.c:
25149         * gst/schedulers/gstoptimalscheduler.c:
25150         * gst/schedulers/gthread-cothreads.h:
25151         * gst/schedulers/threadscheduler.c:
25152         (gst_thread_scheduler_task_get_type),
25153         (gst_thread_scheduler_task_class_init),
25154         (gst_thread_scheduler_task_init),
25155         (gst_thread_scheduler_task_start),
25156         (gst_thread_scheduler_task_stop),
25157         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25158         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25159         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25160         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25161         (plugin_init):
25162         * libs/gst/Makefile.am:
25163         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25164         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25165         (gst_file_pad_parent_set):
25166         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25167         (gst_dp_event_from_packet):
25168         * tests/complexity.c: (main):
25169         * tests/mass_elements.c: (main):
25170         * testsuite/states/locked.c: (message_received), (main):
25171         * testsuite/states/parent.c: (main):
25172         * tools/gst-inspect.c: (print_element_flag_info),
25173         (print_implementation_info), (print_pad_info):
25174         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25175         (main):
25176         * tools/gst-md5sum.c: (event_loop), (main):
25177         * tools/gst-typefind.c: (main):
25178         * tools/gst-xmlinspect.c: (print_element_info):
25179         Next big merge.
25180         Added GstBus for mainloop integration.
25181         Added GstMessage for sending notifications on the bus.
25182         Added GstTask as an abstraction for pipeline entry points.
25183         Removed GstThread.
25184         Removed Schedulers.
25185         Simplified GstQueue for multithreaded core.
25186         Made _link threadsafe, removed old capsnego.
25187         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25188         Added pad blocking functions.
25189         Reworked scheduling functions in GstPad to prepare for
25190         scheduling updates soon.
25191         Moved events out of data stream.
25192         Simplified GstEvent types.
25193         Added return values to push/pull.
25194         Removed clocking from GstElement.
25195         Added prototypes for state change function for next merge.
25196         Removed iterate from bins and state change management.
25197         Fixed some elements, disabled others for now.
25198         Fixed -inspect and -launch.
25199         Added check for GstBus.
25201 2005-03-10  Wim Taymans  <wim@fluendo.com>
25203         * docs/design/part-MT-refcounting.txt:
25204         * docs/design/part-clocks.txt:
25205         * docs/design/part-gstelement.txt:
25206         * docs/design/part-gstobject.txt:
25207         * docs/design/part-standards.txt:
25208         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25209         (gst_bin_remove_func), (gst_bin_remove):
25210         * gst/gstbin.h:
25211         * gst/gstbuffer.c:
25212         * gst/gstcaps.h:
25213         * testsuite/clock/clock1.c: (main):
25214         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25215         (main):
25216         * testsuite/dlopen/loadgst.c: (do_test):
25217         * testsuite/refcounting/bin.c: (add_remove_test1),
25218         (add_remove_test2), (main):
25219         * testsuite/refcounting/element.c: (main):
25220         * testsuite/refcounting/element_pad.c: (main):
25221         * testsuite/refcounting/pad.c: (main):
25222         * tools/gst-launch.c: (sigint_handler_sighandler):
25223         * tools/gst-typefind.c: (main):
25224         Doc updates.
25225         Added doc about clock.
25226         removed gst_bin_iterate_recurse_up(), marked methods
25227         for removal.
25228         Fix more testsuites.
25230 2005-03-09  Wim Taymans  <wim@fluendo.com>
25232         * gst/gstpad.c: (gst_pad_get_direction),
25233         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25234         (gst_pad_collect_valist):
25235         * testsuite/bins/interface.c: (main):
25236         * testsuite/caps/audioscale.c: (test_caps):
25237         * testsuite/caps/caps.c: (test1), (test2), (test3):
25238         * testsuite/caps/deserialize.c: (main):
25239         * testsuite/caps/enumcaps.c: (main):
25240         * testsuite/caps/filtercaps.c: (main):
25241         * testsuite/caps/intersect2.c: (main):
25242         * testsuite/caps/random.c: (main):
25243         * testsuite/caps/renegotiate.c: (my_fixate), (main):
25244         * testsuite/caps/sets.c: (check_caps):
25245         * testsuite/caps/simplify.c: (check_caps), (main):
25246         * testsuite/caps/subtract.c: (check_caps):
25247         Fix _pad_get_direction wrt ghostpads.
25248         Fix caps testsuite.
25250 2005-03-09  Wim Taymans  <wim@fluendo.com>
25252         * check/Makefile.am:
25253         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25254         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25255         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25257         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25258         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25259         (gst_bin_remove), (gst_bin_iterate_recurse_up),
25260         (bin_element_is_sink), (gst_bin_iterate_sinks),
25261         (gst_bin_iterate_all_by_interface):
25262         * gst/gstbin.h:
25263         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25264         (gst_element_change_state), (gst_element_dispose),
25265         (gst_element_finalize), (gst_element_set_loop_function):
25266         * gst/gstelement.h:
25267         * gst/gstiterator.c: (find_custom_fold_func):
25268         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25269         (gst_pad_collectv), (gst_pad_collect_valist),
25270         (gst_pad_template_new):
25271         * gst/gstpipeline.c: (gst_pipeline_class_init),
25272         (gst_pipeline_dispose), (gst_pipeline_set_property),
25273         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25274         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25275         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25276         * gst/gstutils.h:
25277         * gst/schedulers/entryscheduler.c:
25278         * gst/schedulers/gstbasicscheduler.c:
25279         (gst_basic_scheduler_cothreaded_chain),
25280         (gst_basic_scheduler_chain_add_element):
25281         * testsuite/bins/interface.c: (main):
25282         Added GstBin test.
25283         Added GstSystemClock test.
25284         Implemented clock distribution code in GstBin.
25285         Implemented iterate sinks method for future use.
25286         Rearranged gstelement.h
25287         Fix GstIterator comparison bug.
25288         Moved some code to GstPipeline, mostly clocking related.
25290 2005-03-09  Wim Taymans  <wim@fluendo.com>
25292         * configure.ac:
25293         * gst/gst_private.h:
25294         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25295         (gst_bin_remove_func), (gst_bin_remove),
25296         (gst_bin_get_by_name_recurse_up):
25297         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
25298         (gst_clock_id_compare_func), (gst_clock_id_wait),
25299         (gst_clock_id_wait_async), (gst_clock_init),
25300         (gst_clock_adjust_unlocked), (gst_clock_get_time):
25301         * gst/gstelement.h:
25302         * gst/gstinfo.c: (_gst_debug_init):
25303         * gst/gstobject.h:
25304         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25305         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
25306         * gst/gstpad.h:
25307         Bump version number, we're now 0.9.0
25308         Add future debugging category.
25309         Fix NULL _unref() in _get_by_name_recurse_up
25310         Rearrange gstpad.h.
25311         Update some docs.
25313 2005-03-08  Wim Taymans  <wim@fluendo.com>
25315         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
25316         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
25317         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25318         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
25319         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
25320         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
25321         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
25322         * gst/elements/gstidentity.c: (gst_identity_class_init):
25323         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
25324         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
25325         * gst/elements/gstshaper.c: (gst_shaper_class_init):
25326         * gst/elements/gststatistics.c: (gst_statistics_class_init):
25327         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
25328         (gst_tee_link):
25329         * gst/gstelement.c: (gst_element_class_init),
25330         (gst_element_base_class_init), (gst_element_init),
25331         (gst_element_get_random_pad), (gst_element_wait_state_change),
25332         (gst_element_change_state), (gst_element_dispose),
25333         (gst_element_finalize), (gst_element_set_loop_function):
25334         * gst/gstelement.h:
25335         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
25336         * gst/gstthread.c: (gst_thread_class_init),
25337         (gst_thread_release_children_locks), (gst_thread_change_state):
25338         * gst/schedulers/gstbasicscheduler.c:
25339         (gst_basic_scheduler_loopfunc_wrapper),
25340         (gst_basic_scheduler_chain_wrapper),
25341         (gst_basic_scheduler_src_wrapper),
25342         (gst_basic_scheduler_remove_element):
25343         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
25344         Remove threadsafe properties. Fix elements because GObject
25345         complains when installing a property before declaring a
25346         set/get_property handler.
25347         Rearrange gstelement.h file, use STATE macros for state locks.
25348         Free mutexes in the finalize method instead of dispose.
25350 2005-03-08  Wim Taymans  <wim@fluendo.com>
25352         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25353         * gst/gstthread.c: (gst_thread_release_children_locks):
25354         Added parentage check.
25355         Fix build og GstThread again.
25357 2005-03-08  Wim Taymans  <wim@fluendo.com>
25359         * docs/design/part-MT-refcounting.txt:
25360         * docs/design/part-conventions.txt:
25361         * docs/design/part-gstobject.txt:
25362         * docs/design/part-relations.txt:
25363         * docs/design/part-standards.txt:
25364         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25365         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
25366         (gst_bin_get_by_name), (gst_bin_get_by_interface),
25367         (gst_bin_iterate_all_by_interface):
25368         * gst/gstbuffer.h:
25369         * gst/gstclock.h:
25370         * gst/gstelement.c: (gst_element_class_init),
25371         (gst_element_change_state), (gst_element_set_loop_function):
25372         * gst/gstelement.h:
25373         * gst/gstiterator.c:
25374         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
25375         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
25376         (gst_object_dispatch_properties_changed), (gst_object_set_name),
25377         (gst_object_set_parent), (gst_object_unparent),
25378         (gst_object_check_uniqueness):
25379         * gst/gstobject.h:
25380         Docs updates, clean up some headers.
25382 2005-03-07  Wim Taymans  <wim@fluendo.com>
25384         * check/.cvsignore:
25385         * check/Makefile.am:
25386         * check/gst-libs/.cvsignore:
25387         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
25388         * check/gst/.cvsignore:
25389         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
25390         (START_TEST), (gstbus_suite), (main):
25391         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
25392         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
25393         (gst_data_suite), (main):
25394         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
25395         (add_fold_func), (gstiterator_suite), (main):
25396         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
25397         (thread_name_object), (thread_name_object_default),
25398         (gst_object_name_compare), (gst_object_suite), (main):
25399         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
25400         (gst_pad_suite), (main):
25401         * check/gstcheck.c: (gst_check_log_message_func),
25402         (gst_check_log_critical_func), (gst_check_init):
25403         * check/gstcheck.h:
25404         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
25405         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
25406         Added checks.
25408 2005-03-07  Wim Taymans  <wim@fluendo.com>
25410         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
25411         (gst_list_iterator_next), (gst_list_iterator_resync),
25412         (gst_list_iterator_free), (gst_iterator_new_list),
25413         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
25414         (gst_iterator_free), (gst_iterator_push), (filter_next),
25415         (filter_resync), (filter_uninit), (filter_free),
25416         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
25417         (gst_iterator_foreach), (find_custom_fold_func),
25418         (gst_iterator_find_custom):
25419         * gst/gstiterator.h:
25420         Added missing files.
25422 2005-03-07  Wim Taymans  <wim@fluendo.com>
25424         * Makefile.am:
25425         * configure.ac:
25426         * docs/design/part-MT-refcounting.txt:
25427         * docs/design/part-conventions.txt:
25428         * docs/design/part-gstobject.txt:
25429         * docs/design/part-relations.txt:
25430         * examples/mixer/mixer.c: (main):
25431         * examples/thread/thread.c: (eos), (main):
25432         * gst/Makefile.am:
25433         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
25434         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
25435         (gst_spider_plug_from_srcpad):
25436         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
25437         (gst_spider_identity_change_state),
25438         (gst_spider_identity_sink_loop_type_finding):
25439         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
25440         * gst/elements/gstidentity.c: (gst_identity_init):
25441         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
25442         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
25443         * gst/elements/gsttypefindelement.c: (free_entry):
25444         * gst/gst.c:
25445         * gst/gst.h:
25446         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
25447         (gst_bin_set_clock_func), (gst_bin_auto_clock),
25448         (gst_bin_set_index), (gst_bin_set_element_sched),
25449         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
25450         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
25451         (gst_bin_iterate_elements), (iterate_child_recurse),
25452         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
25453         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
25454         (compare_interface), (gst_bin_get_by_interface),
25455         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
25456         * gst/gstbin.h:
25457         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
25458         (gst_buffer_default_free), (gst_buffer_default_copy),
25459         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
25460         (gst_buffer_create_sub):
25461         * gst/gstbuffer.h:
25462         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
25463         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
25464         (gst_caps_unref), (gst_static_caps_get),
25465         (gst_caps_remove_and_get_structure), (gst_caps_append),
25466         (gst_caps_append_structure), (gst_caps_remove_structure),
25467         (gst_caps_copy_nth), (gst_caps_set_simple),
25468         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
25469         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
25470         (gst_caps_structure_intersect_field), (gst_caps_intersect),
25471         (gst_caps_structure_subtract_field), (gst_caps_subtract),
25472         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
25473         (gst_caps_structure_figure_out_union),
25474         (gst_caps_switch_structures), (gst_caps_do_simplify),
25475         (gst_caps_replace), (gst_caps_from_string),
25476         (gst_caps_copy_conditional):
25477         * gst/gstcaps.h:
25478         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
25479         (_gst_clock_id_free), (gst_clock_id_unref),
25480         (gst_clock_id_compare_func), (gst_clock_id_wait),
25481         (gst_clock_id_wait_async), (gst_clock_class_init),
25482         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
25483         (gst_clock_get_time), (gst_clock_set_time_adjust),
25484         (gst_clock_set_property), (gst_clock_get_property):
25485         * gst/gstclock.h:
25486         * gst/gstcompat.h:
25487         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
25488         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
25489         * gst/gstdata.h:
25490         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25491         (gst_element_requires_clock), (gst_element_provides_clock),
25492         (gst_element_set_clock), (gst_element_clock_wait),
25493         (gst_element_wait), (gst_element_set_time_delay),
25494         (gst_element_is_indexable), (gst_element_add_pad),
25495         (gst_element_add_ghost_pad), (gst_element_remove_pad),
25496         (pad_compare_name), (gst_element_get_static_pad),
25497         (gst_element_request_pad), (gst_element_get_request_pad),
25498         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
25499         (gst_element_class_get_pad_template_list),
25500         (gst_element_class_get_pad_template), (gst_element_error_func),
25501         (gst_element_get_random_pad), (gst_element_get_event_masks),
25502         (gst_element_send_event), (gst_element_seek),
25503         (gst_element_get_query_types), (gst_element_query),
25504         (gst_element_get_formats), (gst_element_convert),
25505         (gst_element_is_locked_state), (gst_element_set_locked_state),
25506         (gst_element_sync_state_with_parent), (gst_element_change_state),
25507         (gst_element_finalize), (gst_element_yield),
25508         (gst_element_interrupt), (gst_element_set_scheduler),
25509         (gst_element_get_scheduler), (gst_element_set_loop_function):
25510         * gst/gstelement.h:
25511         * gst/gstevent.h:
25512         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25513         (gst_format_get_by_nick), (gst_format_get_details),
25514         (gst_format_iterate_definitions):
25515         * gst/gstformat.h:
25516         * gst/gstindex.c: (gst_index_gtype_resolver):
25517         * gst/gstinfo.c:
25518         * gst/gstinfo.h:
25519         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25520         (gst_mem_chunk_free):
25521         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25522         (gst_object_ref), (gst_object_unref), (gst_object_sink),
25523         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25524         (gst_object_dispatch_properties_changed),
25525         (gst_object_set_name_default), (gst_object_set_name),
25526         (gst_object_get_name), (gst_object_set_name_prefix),
25527         (gst_object_get_name_prefix), (gst_object_set_parent),
25528         (gst_object_get_parent), (gst_object_unparent),
25529         (gst_object_check_uniqueness), (gst_object_save_thyself),
25530         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25531         (gst_object_set_property), (gst_object_get_property),
25532         (gst_object_get_path_string):
25533         * gst/gstobject.h:
25534         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25535         (gst_real_pad_init), (gst_real_pad_get_property),
25536         (gst_pad_custom_new), (gst_pad_get_direction),
25537         (gst_pad_set_active), (gst_pad_is_active),
25538         (gst_pad_set_event_function), (gst_pad_is_linked),
25539         (gst_pad_link_free), (gst_pad_link_intersect),
25540         (gst_pad_link_fixate), (gst_pad_set_caps),
25541         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25542         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25543         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25544         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25545         (gst_pad_get_caps), (gst_pad_peer_get_caps),
25546         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25547         (gst_pad_realize), (gst_pad_get_allowed_caps),
25548         (gst_real_pad_dispose), (gst_real_pad_finalize),
25549         (gst_pad_collectv), (gst_pad_collect_valist),
25550         (gst_pad_template_dispose), (gst_pad_template_new),
25551         (gst_pad_get_internal_links):
25552         * gst/gstpad.h:
25553         * gst/gstpipeline.c: (gst_pipeline_dispose),
25554         (gst_pipeline_change_state):
25555         * gst/gstpipeline.h:
25556         * gst/gstplugin.c:
25557         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25558         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25559         * gst/gstpluginfeature.h:
25560         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25561         * gst/gstquery.c: (_gst_query_type_initialize),
25562         (gst_query_type_register), (gst_query_type_get_by_nick),
25563         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25564         * gst/gstquery.h:
25565         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25566         * gst/gstscheduler.c: (gst_scheduler_add_element),
25567         (gst_scheduler_factory_create):
25568         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25569         (gst_structure_free), (gst_structure_set_name),
25570         (gst_structure_id_set_value), (gst_structure_set_value),
25571         (gst_structure_set_valist), (gst_structure_remove_field),
25572         (gst_structure_remove_fields),
25573         (gst_structure_remove_fields_valist),
25574         (gst_structure_remove_all_fields), (gst_structure_foreach),
25575         (gst_structure_map_in_place),
25576         (gst_caps_structure_fixate_field_nearest_int),
25577         (gst_caps_structure_fixate_field_nearest_double):
25578         * gst/gststructure.h:
25579         * gst/gstsystemclock.c: (gst_system_clock_class_init),
25580         (gst_system_clock_init), (gst_system_clock_dispose),
25581         (gst_system_clock_async_thread),
25582         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
25583         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
25584         * gst/gstsystemclock.h:
25585         * gst/gsttag.c: (gst_tag_list_add_value_internal),
25586         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
25587         * gst/gsttaginterface.c:
25588         * gst/gstthread.c: (gst_thread_dispose),
25589         (gst_thread_release_children_locks), (gst_thread_change_state),
25590         (gst_thread_main_loop):
25591         * gst/gsttrashstack.h:
25592         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
25593         * gst/gsttypes.h:
25594         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25595         (gst_element_request_pad), (gst_element_get_pad_from_template),
25596         (gst_element_request_compatible_pad),
25597         (gst_element_get_compatible_pad_filtered),
25598         (gst_element_get_compatible_pad), (gst_element_state_get_name),
25599         (gst_element_link_pads_filtered), (gst_element_link_filtered),
25600         (gst_element_link_many), (gst_element_link),
25601         (gst_element_link_pads), (gst_element_unlink_pads),
25602         (gst_element_unlink_many), (gst_element_unlink),
25603         (gst_pad_can_link_filtered), (gst_pad_can_link),
25604         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
25605         (gst_object_default_error), (gst_bin_add_many),
25606         (gst_bin_remove_many), (gst_element_populate_std_props),
25607         (gst_element_class_install_std_props), (gst_buffer_merge),
25608         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
25609         (link_fold_func), (gst_pad_proxy_setcaps):
25610         * gst/gstutils.h:
25611         * gst/gstvalue.c: (gst_value_deserialize_string):
25612         * gst/parse/grammar.y:
25613         * gst/schedulers/gstbasicscheduler.c:
25614         (gst_basic_scheduler_cothreaded_chain),
25615         (gst_basic_scheduler_chain_recursive_add),
25616         (gst_basic_scheduler_pad_link):
25617         * gst/schedulers/gstoptimalscheduler.c:
25618         (get_group_schedule_function),
25619         (gst_opt_scheduler_state_transition),
25620         (gst_opt_scheduler_add_element), (element_get_reachables_func):
25621         * libs/gst/bytestream/bytestream.c:
25622         * libs/gst/dataprotocol/dataprotocol.c:
25623         (gst_dp_header_from_buffer):
25624         * po/nb.po:
25625         * po/ru.po:
25626         * tests/threadstate/threadstate2.c: (eos):
25627         * tools/gst-compprep.c: (main):
25628         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
25629         (print_pad_info), (print_children_info):
25630         * tools/gst-launch.c: (idle_func), (main):
25631         * tools/gst-md5sum.c: (idle_func), (main):
25632         * tools/gst-xmlinspect.c: (print_element_info):
25633         First THREADED backport attempt, focusing on adding locks and
25634         making sure the API is threadsafe. Needs more work. More docs
25635         follow this week.
25637 2005-02-24  Andy Wingo  <wingo@pobox.com>
25639         * tests/bench-complexity.scm:
25640         * tests/complexity.gnuplot: New files, good for running complexity
25641         benchmarks.
25643         * tests/Makefile.am:
25644         * tests/complexity.c: New test, sets up N elements, at each level
25645         teeing into M streams per element. Eeeenteresting.
25647         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
25648         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
25649         running bench-mass_elements.scm.
25651         * tests/bench-mass_elements.scm: New script, runs mass_elements
25652         for various numbers of identities, outputting the results to a
25653         file. Requires guile 1.6. Just for testing.
25655 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25657         * gst/schedulers/fairscheduler.c:
25658           compile with debug disabled
25660 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25662         * configure.ac:
25663           hunting season on 0.9 is now OPEN