14930d38c37691d1740aaa7249c763284d1936a6
[glsdk/gstreamer0-10.git] / ChangeLog
1 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
3         * tests/check/gst/gstobject.c:
4         Disable silly racy test that always fails on this combination of CPU
5         and kernel.
7 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9         Patch by: Murray Cumming  <murrayc@murrayc.com>
11         * gst/gstobject.c:
12           Corrected the registration of the parent-set and parent-unset
13           signals: The parameter is a GstObject, not a GObject (#493134).
15 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
17         * gst/gst_private.h:
18         * gst/gstbuffer.h:
19         * gst/gstevent.h:
20         * gst/gstformat.h:
21         * gst/gstmessage.h:
22         * gst/gstplugin.h:
23         * gst/gstquery.h:
24         * gst/gsttaglist.h:
25         * gst/gstvalue.h:
26           Move declaration of private _gst_foo_initialize() functions into
27           our private header file where they should have been all along.
29 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
31         * docs/plugins/gstreamer-plugins-sections.txt:
32         * gst/gstdebugutils.h:
33         * gst/gstxml.h:
34         * plugins/elements/gstqueue.c:
35           gtk-doc fixes; trailing-comma-in-enum fix.
37 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
39         * gst/gst.c: (gst_deinit):
40           Clean up on deinit (not the external ones though, doesn't seem to be
41           needed for some reason).
43 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
45         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
46           Remove __declspec(dllimport) for MSVC that was copied over into core
47           from a plugin, obviously without ever having been tested (note the
48           single underscore in _declspec in the initial commit), and that doesn't
49           really make sense.  See #492077.
51 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
53         * gst/gst.c: (init_post):
54         * gst/gstevent.c: (_gst_event_initialize):
55         * gst/gstquery.c: (_gst_query_initialize):
56         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
57           g_type_class_ref() other types as well, see #349410 and #64764.
59         * gst/gstbuffer.c: (_gst_buffer_initialize):
60         * gst/gstmessage.c: (_gst_message_initialize):
61           Simplify existing g_type_class_ref().
63 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
65         * gst/gstformat.c: (_gst_format_initialize):
66           g_type_class_ref() our GstFormat type to make sure we avoid the
67           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
68           bug #64764. Should fix intermittent tee unit test failures (#474823).
70 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
72         * tests/check/elements/tee.c: (test_num_buffers):
73           Simplify, simplify, simplify - or not.  Rewrite unit test
74           not to use gst_parse_launch(); allow N sub-streams. Increasing
75           the number of sub-streams seems to reproduce #474823 more easily.
77 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
79         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
81         * gst/gsttrace.c:
82         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
83         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
84         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
85           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
86           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
87           so use _pipe() directly (#492077).
89         * win32/common/dirent.c: (_treaddir):
90           Add a couple of casts to make it build without warnings with MSVC.
92         * win32/common/libgstreamer.def:
93           Add some more symbols that need to be exported.
95 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
97         * tests/examples/metadata/read-metadata.c: (message_loop):
98           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
99           arriving in a second or third tag message are added to
100           the tag list as well.
102 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
104         * libs/gst/base/gstbasesrc.c:
105           Its "Since:" and not "@Since:". And remove an superflous cast.
107 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
109         * docs/libs/gstreamer-libs-sections.txt:
110         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
111         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
112         (gst_base_sink_get_property), (gst_base_sink_render_object),
113         (gst_base_sink_preroll_object),
114         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
115         (gst_base_sink_change_state):
116         * libs/gst/base/gstbasesink.h:
117         Add a new last-buffer property that contains the last buffer used in
118         basesink for preroll or rendering. useful for making snapshots.
119         API: gst_base_sink_get_last_buffer()
120         API: GstBaseSink::last-buffer
122 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
124         * docs/gst/running.xml:
125         * gst/gst.c:
126         * gst/gstdebugutils.c:
127         * gst/gstdebugutils.h:
128         * tools/gst-launch.c:
129           Improve bin graph dumping, by using the envvar to specify a path.
130           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
132 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
134         * plugins/elements/gsttypefindelement.c:
135           (gst_type_find_element_handle_event),
136           (gst_type_find_element_activate):
137           Post special error message if we can't determine the type of a stream
138           because it's empty.
140 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
142         * docs/gst/running.xml:
143         * gst/gstdebugutils.c:
144           Document new env-var. Add one log-line after dumpng a graph.
146 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
148         * configure.ac:
149           Ugly hack to put the (recently removed and non-portable, apparently)
150           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
151           GNU ld, because without that 'make check' fails miserably on my debian
152           stable box.  Someone with more knowledge of linker intricacies and
153           portability issues than me fix this properly please.
155 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
157         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
158         Reset last seen position after flushing so that we don't report the old
159         position anymore.
161 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
163         * gst/gstelementfactory.c: (gst_element_register):
164         * gst/gsturi.h:
165         Patch from Alessandro Decina adding get_type_full and
166         get_protocols_full private vfuncs to the URIHandler interface
167         to allow bindings to support creating URI handlers. 
168         Partially fixes: #339279
169         API: GstURIHandlerInterface::get_type_full
170         API: GstURIHandlerInterface::get_protocols_full
172 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
174         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
175         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
176         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
177         Make it so that pads are considered linked until a buffer is pushed
178         and discovered otherwise. This avoids problems with decodebin2 hanging
179         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
180         case.
182         Make sure we lock the multiqueue when updating the max-size properties.
183         
184         Fix a crash on Solaris in a debug statement in get_request_pad that
185         passes a NULL string to GST_DEBUG. 
187         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
188         (run_output_order_test):
189         Fix the test to allow the first buffer on not-linked pads to come out
190         of sequence while multiqueue discovers that they are not-linked.
192 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
194         * configure.ac:
195         * libs/gst/check/Makefile.am:
196         Use a custom export symbol regex for libgstcheck, as it needs
197         to export symbols that don't match the standard GStreamer gst_*
198         pattern, and  --export-dynamic is not portable (only works on 
199         GNU ld)
201         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
202         (gst_check_setup_sink_pad):
203         Make sure to pass a message parameter to the fail_* macros.
205         * tests/check/gst/gstinfo.c: (GST_START_TEST):
206         Fix some compiler warnings.
208 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
210         * tests/check/gst/gststructure.c: (test_to_string):
211           Disable test that checks that white spaces are not allowed
212           in structure names or field names, since we need to
213           support that for now for backwards compatibility reasons.
215 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
217         * docs/gst/gstreamer-sections.txt:
218         * gst/gsttaglist.c:
219         * gst/gsttaglist.h:
220           API: add GST_TAG_ARTIST_SORTNAME
221           API: add GST_TAG_ALBUM_SORTNAME
222           API: add GST_TAG_TITLE_SORTNAME
223           Add tag variants for sorting (#414539).
225 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
227         * gst/gststructure.c:
228           Also allow white space for names so we don't break
229           backwards compatibility.
231 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
233         * docs/design/part-TODO.txt:
234         * docs/design/part-segments.txt:
235         * docs/design/part-streams.txt:
236         Small updates.
238 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
240         * docs/gst/gstreamer-sections.txt:
241          Fixed documentation from my previous commit (added new API add
242          gst_value_set_structure(), add gst_value_get_structure() and
243          GST_VALUE_HOLDS_STRUCTURE).
245 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
247         * gst/gstdebugutils.c:
248           Reflow code to fix uninitialized variable warning.
250 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
252         * gst/gstcaps.c: (gst_caps_to_string),
253         (gst_caps_from_string_inplace):
254         * gst/gststructure.c: (gst_structure_get_abbrs),
255         (gst_structure_to_string), (gst_structure_from_string):
256         * gst/gstvalue.c: (gst_value_set_structure),
257         (gst_value_get_structure), (gst_value_serialize_structure),
258         (gst_value_deserialize_structure), (_gst_value_initialize):
259         * gst/gstvalue.h:
260         * tests/check/gst/gststructure.c: (GST_START_TEST),
261         (gst_structure_suite):
262         * tests/check/gst/gstvalue.c: (GST_START_TEST):
263          Added GstStructure to gst_value_table and its related functions.
264          Changed gst_structure_to_string to print ';' in the end.
265          Changed gst_caps_to_string to not print ';' beteween its
266          fields (structures) anymore and remove the lastes ';' from latest
267          structure. Now it is possible to have nested structures.
268          In addition, backward compatibilty is assured by accepting '\0' as
269          end delimiter. Fixes: #487969.
270          API: add gst_value_set_structure()
271          API: add gst_value_get_structure()
272          API: add GST_VALUE_HOLDS_STRUCTURE
274 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
276         * gst/gstbus.c:
277           When no GSource callback has been set up, tell developer
278           to use a function that actually exists.
280 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
282         * docs/gst/gstreamer-sections.txt:
283         * gst/Makefile.am:
284         * gst/gst.c:
285         * gst/gst.h:
286         * gst/gstdebugutils.c:
287         * gst/gstdebugutils.h:
288         * gst/gstinfo.c:
289         * gst/gstinfo.h:
290         * tools/gst-launch.c:
291           Allow dumping pipelines as dot graphs. Fixes #456573.
293 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
295         * gst/gststructure.c:
296           Allow '+' as well, it can be part of media or mime types
297           such as image/svg+xml.
299 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
301         * docs/gst/gstreamer-sections.txt:
302         * gst/gstbus.c:
303         * gst/gstbus.h:
304           API: add gst_bus_pop_filtered
305           API: add gst_bus_timed_pop_filtered
306           Two new functions for waiting for specific message types on the
307           bus for a specified amount of time without iterating any main
308           loops or main contexts.
310         * tests/check/gst/gstbus.c:
311           Some tests for the new functions.
313 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
315         * docs/libs/gstreamer-libs-sections.txt:
316           Make gtk-doc ignore stuff it should ignore.
318 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
320         * libs/gst/check/gstcheck.c:
321         * libs/gst/check/gstcheck.h:
322           Allow runtime selection of unit tests to run via the GST_CHECKS
323           environment variable (test case function names, comma-separated).
325 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
327         * gst/gststructure.c:
328         * tests/check/gst/gststructure.c:
329           Revert serialisation change and constrain structure-names after
330           consensus on irc. Update api documentation to reflect the change.
332 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
334         * gst/gststructure.c:
335           Improve serialization and fix tests.
337         * tests/check/gst/gststructure.c:
338           Add another test that covers why I actually did the previous structure
339           change.
341 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
343         * tools/gst-inspect.c: (print_element_info):
344         Don't crash when inspecting an element.
346 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
348         * tests/check/gst/gststructure.c:
349           Add unit test for escaping of structure name when serialising
350           and deserialising to/from strings.
352 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
354         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
355         (gst_single_queue_new):
356         * plugins/elements/gstqueue.c: (gst_queue_init),
357         (gst_queue_push_one):
358         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
359         upstream is tricked into thinking it can suggest a format downstream
360         while downstream does not support that format. The real problem is that
361         core calls acceptcaps when pushing a buffer with new caps, for which we
362         do a little workaround by setting the caps on the srcpad ourselves
363         before pushing the buffer (until this is figured out). Fixes #486758.
365 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
367         * gst/gststructure.c:
368         * gst/gstvalue.c:
369           Add some more comments and debug output. Quote structure name to fix
370           deserialisation of some strings.
372 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
374         * gst/gstbuffer.h:
375           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
376           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
378 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
380         * tools/gst-inspect.c:
381           Save approx. 400 1 byte allocs when printing. Use API to acces element
382           details.
384         * tools/gst-run.c:
385           Avoid a strdup.
387         * tools/gst-xmlinspect.c:
388           Use API to acces element details.
390 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
392         * gst/gstinfo.c:
393           Fix some spelling errors.
395 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
397         * gst/gstbin.c: (bin_handle_async_done):
398         Correctly set the next state if all of our async children commited their
399         state. This makes sure we can actually cancel the state change in
400         progress. Fixes a regression in Rhythmbox when seeking.
402 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
404         * gst/gstbin.c:
405           Don't shadow local variable.
407         * gst/gstinfo.c:
408           Don't shadow global function name.
410 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
412         * gst/gstelementfactory.c:
413         * gst/gstpluginfeature.c:
414         * gst/gstpluginfeature.h:
415         * gst/gstregistrybinary.c:
416         * gst/gstregistryxml.c:
417         * gst/gsttypefind.c:
418           Use already-interned string for the private GstPluginFeature
419           plugin_name field.
421 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
423         * docs/libs/gstreamer-libs-sections.txt:
424           Add new API to docs; fixes the build.
426 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
427         
428         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
430         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
431         (gst_base_sink_event):
432         * libs/gst/base/gstbasesink.h:
433         Add function to wait for EOS, subclasses can use this to correctly wait
434         for devices to drain before performing the EOS logic. Fixes #485343.
435         API: gst_base_sink_wait_eos()
437 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
439         * gst/gstplugin.h:
440           Cast description string constants in GST_PLUGIN_DEFINE macros
441           to a (gchar*) to make C++ code using these macros compile
442           without warning with g++-4.2 (see #462737).  Even if slightly
443           ugly, this seems preferable to putting the description strings
444           into the GLib quark table or making the structure member a
445           const gchar * and doing casts in core code that allocs and
446           frees these strings, or requiring a cast in the C++ code.
448 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
450         * gst/gstinfo.h:
451           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
452           to print the entire class/function signature into the log
453           file for C++ code.  This only affects C++ code, for C code
454           everything remains the same.
456 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
458         * gst/gstbin.c: (remove_from_queue):
459         Work around a problem with pipelines containing (semi)loops until a
460         proper, more complicated solution is ready. See #475455.
462 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
464         * gst/gstplugin.c:
465         * gst/gstplugin.h:
466         * gst/gstregistrybinary.c:
467         * gst/gstregistryxml.c:
468           Put more strings into the GLib quark table. No need to keep
469           a hundred-something copies of identical version strings,
470           license strings, package name strings and package origin
471           strings around. 
473 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
475         * docs/manual/advanced-dataaccess.xml:
476           Don't imply that it's okay to unconditionally change
477           buffer data or buffer metadata in a pad probe callback,
478           and a bunch of other comments. Fixes #430031.
480 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
482         * win32/common/gstenumtypes.c:
483         * win32/common/gstenumtypes.h:
484         * win32/common/gstversion.h:
485           Update generated files.
487 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
489         * docs/manual/advanced-autoplugging.xml:
490           Prefix section with broken code with a warning (see #342432).
492 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
494         * docs/manual/appendix-integration.xml:
495         * docs/manual/basics-init.xml:
496           Call g_thread_init() before g_option_context_new() to
497           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
499 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
501         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
502         (gst_base_sink_queue_object_unlocked),
503         (gst_base_sink_queue_object), (gst_base_sink_event),
504         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
505         When we received EOS and are waiting for when to post the EOS message,
506         our state is prerolled and we should not return ASYNC.
507         Reorganize some code paths to implement this behavior.
509         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
510         (gst_sinks_suite):
511         Add unit test to verify above EOS fix.
513 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
515         * plugins/elements/gsttypefindelement.c:
516         (gst_type_find_element_have_type), (gst_type_find_element_init),
517         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
518         Move detecting the input caps of the sinkpad to the setcaps function.
519         This allows us to update the output caps when we receive new input caps
520         instead of always using the first detected caps.
522 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
524         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
525         (gst_base_sink_get_position):
526         Don't try to preroll non-async elements after a flush.
527         Subtract latency form clock times when reporting position.
529 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
531         * gst/gstpad.c: (gst_pad_pause_task):
532         * gst/gstutils.c:
533         Small comment and documentation update.
535 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
537         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
538         (gst_base_src_set_live), (gst_base_src_is_live),
539         (gst_base_src_query_latency), (gst_base_src_perform_seek),
540         (gst_base_src_default_event), (gst_base_src_wait),
541         (gst_base_src_do_sync), (gst_base_src_get_range),
542         (gst_base_src_pad_get_range), (gst_base_src_loop),
543         (gst_base_src_unlock), (gst_base_src_unlock_stop),
544         (gst_base_src_set_flushing), (gst_base_src_set_playing),
545         (gst_base_src_activate_push), (gst_base_src_activate_pull),
546         (gst_base_src_change_state):
547         Rework the locking of basesrc in a similar fashion to basesink. We
548         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
549         us to handle live sources and semi live ones much better.
550         Simplify flushing.
551         Fix unlocking when seeking, shutting down and pausing in live sources.
553 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
555         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
556         Fix compilation again.
558 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
560         * gst/gstelement.c:
561           Use meaningful categories for the logs to clean the default one.
563 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
565         * tests/check/pipelines/cleanup.c:
566           Print message name and not just number.
568 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
570         * docs/design/draft-tagreading.txt:
571           Add some more thoughts.
573 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
575         * tests/check/pipelines/simple-launch-lines.c:
576           Print message name and not just number.
578 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
580         * libs/gst/base/gsttypefindhelper.c:
581           Speedup typefinding. This is work in progress (see #459862).
583 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
585         * gst/gstplugin.c:
586           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
587           Spotted by Josep Torra Valles <josep@fluendo.com>.
589 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
591         * gst/gstclock.h:
592           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
593           field has moved to GstObject.
595 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
597         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
598         (gst_base_src_get_range), (gst_base_src_change_state):
599         Call unlock for live sources so that they can't get stuck in _create and
600         produce a buffer before they are set back to PLAYING.
602 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
604         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
605         (gst_queue_locked_dequeue):
606         Comment the segment-related code... in the PROPER function.
607         See #482147 and my commit from yesterday.
609 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
611         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
612         Also initialize the counter that calculates the first timestamp on a
613         buffer correctly for non-live sources.
615 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
617         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
618         Disable code that's breaking the current-time-level reporting.
619         See #482147
621 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
623         * docs/gst/gstreamer-sections.txt:
624         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
625         as they shouldn't show up. Fixes the docs build.
627 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
628         
629         * gst/gstinfo.h:
630         Add an explicit variable importation needed on VS6 (only for MSC_VER)
631         Define M_PI which is used in files which are including gstinfo.h. 
632         VS6 includes doesn't define it.
633         * win32/common/libgstbase.def:
634         * win32/common/libgstcontroller.def:
635         * win32/common/libgstreamer.def:
636         Add new exported functions and variables.
637         * win32/vs6/libgstcontroller.dsp:
638         * win32/vs6/libgstreamer.dsp:
639         Update the list of files to build.
640         
641 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
643         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
645         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
646         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
647         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
648         Improve debugging. Fixes #480858.
650 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
652         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
654         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
655         First patch of code cleanups, use the macros and right arguments in the
656         macros to signal and lock the queue. See #480858.
658 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
660         * gst/gstbus.c: (poll_func):
661         Improve debugging when dealing with _poll().
663 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
665         * gst/gstregistryxml.c:
666           Fix memory leak I introduced a few days ago.
668 2007-09-26  Michael Smith <msmith@fluendo.com>
670         * gst/gstbuffer.c: (gst_buffer_finalize):
671           Make it once again possible to free GstBuffers in the default
672           build.
673           The poisoning scribbles on parts of the miniobject we need in
674           order to free it.
675           Fixes #480341
677 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
679         * docs/gst/gstreamer-sections.txt:
680         * gst/gsttaglist.c:
681         * gst/gsttaglist.h:
682         API: add GST_TAG_COMPOSER, fixes #459809.
684 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
686         * gst/gstplugin.c:
687         * gst/gstplugin.h:
688         Add the 3-clause BSD license and the MIT/X11 license to the license
689         list. Fixes #479784.
691 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
693         * docs/faq/getting.xml:
694           Add Q+A about different GStreamer versions (#364056).
696 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
698         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
699         (gst_base_sink_event), (gst_base_sink_change_state):
700         Return correct gboolean from query function.
702 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
704         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
705         (gst_base_sink_event), (gst_base_sink_query),
706         (gst_base_sink_change_state):
707         Simplify latency query.
708         When not synchronizing, we can report latency without querying the peer
709         element.
711 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
713         * gst/gstobject.h:
714         * gst/gstvalue.c:
715         Fix small typos in the docs.
717 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
719         * docs/design/draft-latency.txt:
720         * docs/design/draft-push-pull.txt:
721         * docs/design/draft-tagreading.txt:
722         * docs/design/part-MT-refcounting.txt:
723         * docs/design/part-activation.txt:
724         * docs/design/part-block.txt:
725         * docs/design/part-element-source.txt:
726         * docs/design/part-events.txt:
727         * docs/design/part-gstbin.txt:
728         * docs/design/part-gstelement.txt:
729         * docs/design/part-gstobject.txt:
730         * docs/design/part-gstpipeline.txt:
731         * docs/design/part-messages.txt:
732         * docs/design/part-preroll.txt:
733         * docs/design/part-push-pull.txt:
734         * docs/design/part-qos.txt:
735         * docs/design/part-query.txt:
736         * docs/design/part-scheduling.txt:
737         * docs/design/part-seeking.txt:
738         * docs/design/part-segments.txt:
739         * docs/design/part-states.txt:
740         Documentation updates and typo fixes.
742 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
744         * plugins/elements/gstfakesink.c:
745           Add some debug text to error message to indicate that
746           we errored out on request.
748         * tools/gst-launch.c:
749           When the state change to PLAYING fails, check for an
750           error message on the bus and print it.
752 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
754         translated by: Jorge González González <aloriel@gmail.com>
756         * po/LINGUAS:
757         * po/es.po:
758           Added Spanish translation.
760 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
762         * plugins/elements/gstqueue.c: (gst_queue_push_one):
763         Fix printf arguments.
765 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
767         * tests/check/generic/states.c:
768           Improved state change unit test.
770 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
772         * gst/gstbin.h:
773           Move priv to the right place.
775         * gst/gstsystemclock.c:
776           Add FIXME: and improve log.
778         * tests/check/Makefile.am:
779         * tests/examples/manual/Makefile.am:
780           Work with all types of registries.
782 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
784         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
785         Don't unref the event after pushing it. Fixes #478401.
787 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
789         * .cvsignore:
790         * tests/examples/manual/.cvsignore:
791           Ignore registries in any format.
793 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
795         * gst/glib-compat-private.h:
796           Add compatibility macro for g_intern_string() for
797           GLib-2.8 (any reason we can't just bump the
798           requirement to at least 2.10?)
800         * gst/gstpadtemplate.h:
801         * gst/gstelementfactory.c:
802         * gst/gstregistryxml.c:
803         * gst/gstregistrybinary.c:
804           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
805           up the internal code accordingly.  This shouldn't be a problem, since
806           there is no reason external code could ever assume the string in such
807           a structure is dynamically allocated unless it did that itself;  the
808           use of g_strdup() is private to element factories.  The new code also
809           saves some memory by putting pad template name strings into the GLib
810           quark table instead of allocating them dynamically.
811           Declaring this field constant fixes warnings with g++-4.2 when using
812           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
814 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
816         * gst/gstelementfactory.c:
817           Release static caps. Fixes #475723.
819 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
821         * gst/gstinfo.c:
822         * gst/gstinfo.h:
823           Make some internal API take const gchar * instead of just
824           gchar * to avoid compiler warnings with g++-4.2.2 when
825           passing string constants (partially fixes #478092).
827 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
829         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
830         A latency query fails when one of the sinks fail.
832         * gst/gstelement.c: (gst_element_set_base_time):
833         Improve debugging.
835 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
837         * gst/gstbin.c: (gst_bin_continue_func):
838         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
839         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
840         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
842         Fix minor compilation warnings shown with Forte.
844 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
846         * plugins/elements/gstqueue.c: (apply_buffer),
847         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
848         Measure queue level based on the diff between head and tail timestamps
849         even when pushing the first buffer.
851 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
853         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
854         (gst_base_sink_event), (gst_base_sink_change_state):
855         Sinks that don't preroll can always be queried for the latency.
856         Don't post ASYNC start when we are not async.
858 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
860         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
861         (gst_queue_handle_sink_event), (gst_queue_chain),
862         (gst_queue_push_one), (gst_queue_handle_src_query),
863         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
864         * plugins/elements/gstqueue.h:
865         When downstream returns UNEXPECTED from pushing a buffer, don't try to
866         push more buffers but allow pushing of EOS and NEWSEGMENT.
867         Add some more debug info here and there. Fixes #476514.
869 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
871         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
872         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
873         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
874         (gst_base_sink_set_flushing), (gst_base_sink_query),
875         (gst_base_sink_change_state):
876         Latency query is allowed after we are prerolled. Introduce a new flag
877         for this and stop abusing other variables.
879 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
881         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
882         Push OOB events downstream when we get them in send_event. This allows
883         the application to insert events in the pipeline.
884         Add some more comments.
886 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
888         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
889         (do_bin_latency), (gst_bin_change_state_func):
890         * gst/gstpipeline.c: (gst_pipeline_change_state):
891         Move latency query from GstPipeline to GstBin so that we can also
892         use it when async-handling is enabled on bins.
894 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
896         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
897         (gst_base_src_do_sync), (gst_base_src_change_state):
898         Update docs.
899         Clean up the timestamping and syncing code for pseudo live sources.
901 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
903         Patch by: Steve Fink  <sphink gmail com>
905         * docs/manual/appendix-checklist.xml:
906           Mention less -R switch in the section about debug output (#474055).
908 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
910         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
911         Queue can latency to the pipeline up to the configured max size in time.
912         Report this fact in the latency query.
914 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
916         Patch by: Sebastien Moutte <sebastien at moutte dot net>
918         * libs/gst/controller/gstinterpolation.c:
919         * libs/gst/controller/gstlfocontrolsource.c:
920         Use gst_guint64_to_gdouble() when converting from a uint64 or
921         GstClockTime to double to fix the build on win32. Fixes #474371.
923 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
925         * gst/gstbuffer.c: (gst_buffer_finalize):
926         Implement poisoning for GstBuffer if --enable-poisoning is specified.
927         When finalizing a buffer the complete struct is filled with 0xff,
928         thus making a use of the buffer after the final unref impossible.
930 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
932         * tests/check/libs/controller.c: (GST_START_TEST):
933         Use fail_unless_equals_int(a, b) instead of
934         fail_unless_equals (a == b) to get better output on failures.
936 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
938         * tests/check/gst/gsturi.c:
939           Also check for the other file URI variant on win32.
941 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
943         * gst/gsturi.c: (gst_uri_get_location):
944           If there's no hostname, we want to return 'c:/foo/bar.txt'
945           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
947         * tests/check/gst/gsturi.c:
948           Unit test for the above and a few more things.
950 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
952         * docs/design/part-live-source.txt:
953         Add docs on how live sources should timestamp.
955         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
956         Add some more debug info.
957         For subclasses that are live and like to sync, add aditional startup
958         latency to sync time and timestamps so that we timstamp according to the
959         design doc.
961 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
963         * gst/gstbuffer.c:
964           Also do a g_type_class_ref() for the subbuffer type in
965           the init function.
967 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
969         * docs/gst/gstreamer-sections.txt:
970         * gst/gstpad.c: (gst_pad_peer_query):
971         * gst/gstpad.h:
972         Add function to perform a query on the peer of a pad.
973         API: gst_pad_peer_query()
975 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
977         * tests/check/gst/gstsystemclock.c:
978           Cleanup the test a little (use gst-logging and not g_message). Improve
979           test to check if a wait reached the target.
981 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
983         * docs/libs/gstreamer-libs-sections.txt:
984           Add new API to docs and fix the build.
986 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
988         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
989         (gst_base_src_init), (gst_base_src_set_do_timestamp),
990         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
991         (gst_base_src_get_property), (gst_base_src_do_sync):
992         * libs/gst/base/gstbasesrc.h:
993         Add property to make the basesrc timestamp buffers based on the current
994         running time.
995         API: GstBaseSrc::do-timestamp
996         API: gst_base_src_set_do_timestamp()
997         API: gst_base_src_get_do_timestamp()
999 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
1001         * docs/random/release:
1002           Really make sure translations are up-to-date before
1003           a release (#465010).
1005 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
1007         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1008         Always destroy the timer, also in error cases.
1010 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1012         * docs/manual/highlevel-xml.xml:
1013         Fix XML example code. Fixes #472714.
1015 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1017         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1018         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1019         (gst_base_sink_query):
1020         Protect eos and have_preroll with the OBJECT lock so we don't need to
1021         take the PREROLL lock when querying the latency. Fixes #473846.
1023 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
1025         * gst/gstelement.c:
1026           Give some log-messages a category.
1028 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
1030         * gst/gststructure.c:
1031         (gst_structure_fixate_field_nearest_fraction):
1032         Fix fraction list fixation code. Take the fraction with the smallest
1033         difference with the target instead of the first one in the list.
1035         * tests/check/gst/gststructure.c: (GST_START_TEST),
1036         (gst_structure_suite):
1037         Added test to verify correct fraction list fixation behaviour.
1039 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
1041         * win32/common/libgstreamer.def:
1042           Export gst_bus_add_signal_watch too.
1044 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1046         * docs/libs/gstreamer-libs-sections.txt:
1047         Add new methods to docs.
1049         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1050         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1051         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1052         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1053         * libs/gst/base/gstbasesink.h:
1054         Add ts-offset property to fine-tune the synchronisation.
1055         API: GstBaseSink::ts-offset property
1056         API: gst_base_sink_set_ts_offset()
1057         API: gst_base_sink_get_ts_offset()
1059 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1061         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1062         (gst_base_sink_init), (gst_base_sink_set_sync),
1063         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1064         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1065         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1066         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1067         (gst_base_sink_get_property), (gst_base_sink_change_state):
1068         * libs/gst/base/gstbasesink.h:
1069         Add async property to instruct the sink never to inform the parent about
1070         ASYNC state changes, update docs.
1071         Check argument with g_return_* for the public functions.
1072         API: GstBaseSink::async property
1073         API: gst_base_sink_set_async_enabled()
1074         API: gst_base_sink_is_async_enabled()
1076 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1078         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1079         Improve debugging.
1081         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1082         (gst_base_src_default_query), (gst_base_src_wait),
1083         (gst_base_src_do_sync), (gst_base_src_change_state):
1084         Rearrange some code so that we can add support for measuring the 
1085         startup latency.
1087 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1089         * docs/random/ensonic/dynlink.txt:
1090           More thoughs on this.
1092         * plugins/elements/gstcapsfilter.c:
1093           Add bugzilla ticket number to FIXME comment.
1095 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1097         * docs/design/part-TODO.txt:
1098         * docs/design/part-block.txt:
1099         Update some docs.
1101 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1103         * gst/Makefile.am:
1104           Revert patch which uses $(gst_headers) instead of $^ because it
1105           breaks make dist.
1107 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1109         * tests/check/gst/gstbin.c: (GST_START_TEST):
1110           Fix leaks in the new unit test.
1112 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
1114         * gst/gst.c:
1115           Don't use GST_INFO before the debug system is actually initialised
1116           (shouldn't do any harm, but won't print anything either, so we can
1117           just as well remove it).
1119         * gst/gstinfo.h:
1120           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1121           compilers that don't support variadic macros (such as MSVC), should
1122           check for debug_level <= __gst_debug_min as well, since that's the
1123           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1124           inline helper functions. Should improve performance a bit, but also
1125           makes sure uses of GST_INFO et.al are ignored if the debugging
1126           system isn't initialised yet (instead of printing an assertion
1127           failure).
1129 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
1131         patch by: David Nečas <yeti@physics.muni.cz>
1133         * gst/Makefile.am:
1134           Replace some non portable makefile constructs.
1136 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
1138         * common/gtk-doc-plugins.mak:
1139           Grrrrr. Don't remove the types file on make clean.
1141 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
1143         * tools/gst-launch.1.in:
1144         Add colorspace to example pipeline. Fixes #458274.
1146 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
1148         * docs/random/release:
1149           The release manager should run 'make download-po' before making a
1150           release to make sure translations are up-to-date.
1152         * po/LINGUAS:
1153         * po/be.po:
1154         * po/pl.po:
1155         * po/rw.po:
1156           Add some new translations.
1158 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
1160         * tools/gst-launch.c: (event_loop), (main):
1161         Don´t try to do any state management when a live pipeline posts
1162         buffering messages.
1163         Also make the buffering string translatable.
1165 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1167         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1168         (bin_handle_async_start), (gst_bin_handle_message_func):
1169         Improve debugging.
1170         When adding elements, insert messages into the bus of the newly added
1171         element and make sure the element is the source of the message. This
1172         allows the parent bin to intercept the message and do the
1173         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1174         messages to the app (which is not allowed).
1175         Update some docs.
1177         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1178         Fix testsuite so that is does not work around messages that should not
1179         have been posted in the first place.
1181 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1183         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1184         (update_degree), (gst_bin_sort_iterator_next):
1185         Fix annoying bug in the sorted iterator where a sink that is not really
1186         a sink (when it has downstream links) screwed up the iterator.
1188         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1189         Unit test to verify the fix.
1191 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1193         * gst/gstmessage.h:
1194         Add some more docs for the messages.
1196         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1197         (gst_base_sink_query):
1198         Add some more debugging.
1200         * tools/gst-launch.c: (event_loop):
1201         When interrupting, don't try to set pipeline to PAUSED twice.
1203 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1205         
1206         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1207         (bin_handle_async_start), (gst_bin_handle_message_func):
1208         Move ASYNC_START message posting to where it belongs, similar to
1209         async_done. 
1210         Don't post ASYNC_START when we are in error. 
1211         Post ASYNC_START when we added an async element to a bin.
1213 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1215         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1216         generation from vargs. Fixes #466595.
1218 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1220         * gst/gstbin.c: (gst_bin_element_set_state):
1221         Always change the state of a NO_PREROLL element even if it has ASYNC
1222         elements inside (in case of a bin).
1224         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1225         Unit test for this case.
1227 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1229         * libs/gst/check/gstbufferstraw.c:
1230         * libs/gst/check/gstcheck.h:
1231         * libs/gst/controller/gstcontroller.c:
1232         * libs/gst/controller/gstcontrolsource.h:
1233         * libs/gst/controller/gstlfocontrolsource.h:
1234         * plugins/elements/gstcapsfilter.h:
1235         * plugins/elements/gstfdsink.h:
1236         * plugins/elements/gstfdsrc.h:
1237           Add more missing docs.
1239 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1241         * gst/gststructure.c:
1242         Add Since tag to docs.
1244 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1246         * docs/gst/gstreamer-sections.txt:
1247         * gst/gststructure.c: (gst_structure_get_uint):
1248         * gst/gststructure.h:
1249         Add function to get uint from a structure.
1250         API: gst_structure_get_uint()
1252 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1254         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1255         (gst_caps_intersect):
1256         Fix proper check for simple caps.
1258 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1260         * docs/gst/Makefile.am:
1261         * docs/libs/Makefile.am:
1262           Remove cruft and do some cleanups.
1264         * docs/gst/gstreamer-docs.sgml:
1265         * docs/libs/gstreamer-libs-docs.sgml:
1266           Prepare for comming gtkdoc features (rebase against online docs).
1268 2007-08-10  Michael Smith <msmith@fluendo.com>
1270         * docs/gst/gstreamer-sections.txt:
1271           Add gst_registry_add_path to docs.
1273 2007-08-10  Michael Smith <msmith@fluendo.com>
1275         * gst/gstregistry.h:
1276           Add gst_registry_add_path, which was missing from this header.
1278 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1280         * libs/gst/controller/gstlfocontrolsource.c:
1281           Printf format fix.
1283 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1285         * libs/gst/base/gstbasesink.c:
1286           Don't send an async_start message during downwards state change if 
1287           target state is less than READY
1289 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1291         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1293         * po/LINGUAS:
1294         * po/hu.po:
1295           Added Hungarian translation.
1297 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1299         * po/fi.po:
1300         * po/it.po:
1301         * po/nl.po:
1302         * po/sv.po:
1303         * po/uk.po:
1304           Updated translations.
1306 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1308         * libs/gst/controller/Makefile.am:
1309         Dist gstlfocontrolsourceprivate.h
1311 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1313         * docs/libs/gstreamer-libs.types:
1314         Don't register the enum type gst_lfo_waveform_get_type() in the
1315         .types file - only GObject derived types belong.
1317 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1319         Patch by: <arenevier at fdn dot fr>
1321         * gst/gstbuffer.h:
1322         Remove comma from last element in enum to avoid compile errors when
1323         using -pendantic. Fixes #464366.
1325 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1327         * docs/design/part-TODO.txt:
1328         Add some more TODO items
1330         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1331         Improve debugging.
1333         * gst/gstcaps.c: (gst_caps_intersect):
1334         Optimize trivial intersection case between identical caps pointers.
1336         * gst/gstelement.c: (gst_element_continue_state),
1337         (gst_element_set_state_func):
1338         * gst/gstpad.c:
1339         Fix spelling and grammar mistakes.
1341 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1343         * po/POTFILES.in:
1344         * po/POTFILES.skip:
1345           Update POTFILES. Fixes #461599.
1347 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1349         * gst/gst.c:
1350         Fix confusing typo in debug output.
1352 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1354         reviewed by: Stefan Kost <ensonic@users.sf.net>
1356         * libs/gst/controller/Makefile.am:
1357         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1358         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1359         (gst_lfo_control_source_new),
1360         (gst_lfo_control_source_set_waveform),
1361         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1362         (gst_lfo_control_source_finalize),
1363         (gst_lfo_control_source_dispose),
1364         (gst_lfo_control_source_set_property),
1365         (gst_lfo_control_source_get_property),
1366         (gst_lfo_control_source_class_init):
1367         * libs/gst/controller/gstlfocontrolsource.h:
1368         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1369         API: Add GstLFOControlSource, a control source that gives values
1370         for specific timestamps based on several periodic waveforms.
1371         Fixes #459717.
1373         * tests/check/libs/controller.c: (GST_START_TEST),
1374         (gst_controller_suite):
1375         * docs/libs/gstreamer-libs-docs.sgml:
1376         * docs/libs/gstreamer-libs-sections.txt:
1377         * docs/libs/gstreamer-libs.types:
1378         Add documentation and unit tests for GstLFOControlSource.
1380 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1382         * configure.ac:
1383         Back to CVS
1385 === release 0.10.14 ===
1387 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1389         * configure.ac:
1390           releasing 0.10.14, "Breathing Vacuum"
1392 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1394         * gst/gstelement.c: (gst_element_class_set_details_simple):
1395         * gst/gstelement.h:
1396           Make strings passed to gst_element_class_set_details_simple()
1397           constant, as they should be (#462752).
1399 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1401         * gst/gstbin.c: (gst_bin_change_state_func),
1402         (bin_handle_async_done), (gst_bin_handle_message_func):
1403         Don't forget about the fact that some element went ASYNC even after a
1404         resync. This makes us post the ASYNC_DONE message correctly.
1405         Fixes #462558.
1407 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1409         * gst/gstregistry.c: (gst_registry_add_feature):
1410         When replacing an existing feature in the registry, make sure to
1411         continue holding a reference until we've replaced the name string
1412         within our feature hash table. Make sure to use g_hash_table_replace
1413         instead of g_hash_table_insert to ensure the new name string is used
1414         as a key instead of the old one that we're about to free.
1415         Fixes: #462085
1417 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1419         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1420         (gst_plugin_feature_set_name):
1421         Revert patch from #459466 until after the release and we can work
1422         out exactly what the problem is (if any).
1424 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1426         * docs/gst/gstreamer-sections.txt:
1427         * gst/gsttaglist.c:
1428         * gst/gsttaglist.h:
1429           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1431 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1433         * docs/libs/Makefile.am:
1434         Include our build-prefix libs and includes before the generic ones to
1435         avoid linking against the installed libs when we want the build-tree
1436         ones.
1438 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1440         Patch by: Steve Fink  <sphink gmail com>
1442         * docs/pwg/building-testapp.xml:
1443           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1444           if people try to build or install the example from the plugin
1445           template against a GStreamer from package using the configure
1446           defaults.
1448 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1450         Patch by: Steve Fink  <sphink gmail com>
1452         * tools/gst-inspect.1.in:
1453           Document --print-all and --print-plugin-auto-install-info command
1454           line options in man page.
1456 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1458         * docs/gst/gstreamer-sections.txt:
1459         Add docs for new api function.
1461 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1463         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1464         * gst/gstelementfactory.h:
1465         API: gst_element_factory_has_interface()
1466         Added method to check if an element factory implements a named
1467         interface.
1469 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1471         * configure.ac:
1472         * docs/gst/gstreamer.types.in:
1473           Another conditional doc check.
1475         * gst/gstmessage.c:
1476         * gst/gstparamspecs.h:
1477         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1478         * gst/gstvalue.c:
1479         * gst/gstxml.h:
1480           API-doc fixes.
1482 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1484         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1485         (gst_registry_binary_load_feature),
1486         (gst_registry_binary_load_plugin),
1487         (gst_registry_binary_read_cache):
1488           Print error just once and with additional info.
1490 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1492         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1493         (helper_find_suggest), (helper_find_get_length),
1494         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1495         (gst_type_find_helper_for_buffer):
1496           Cleanup the typefindhelper code and add private doc comments.
1498 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1500         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1501         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1502         Fix capsfilter for cases where the caps set on capsfilter will provide
1503         additional information.
1504         Fixes #449197
1506 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1508         * gst/gsttypefindfactory.c:
1509           Fix docs that recommened wrong function to use.
1511 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1513         * tools/gst-inspect.c: (print_plugin_features):
1514           Also give media-type for typefinders in element output.
1516 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1518         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1519         (gst_registry_remove_features_for_plugin_unlocked),
1520         (gst_registry_add_feature), (gst_registry_remove_feature),
1521         (gst_registry_lookup_feature_locked):
1522         * gst/gstregistry.h:
1523           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1524           Fixes #459501.
1526 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1528         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1529         (gst_plugin_feature_set_name):
1530           Avoid double memory usage for pluginfeature names. Fixes #459466.
1532 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1534         * gst/gstpad.h:
1535           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1536           driving the pipeline may need to explicitly check for NOT_LINKED as
1537           well, since IS_FATAL doesn't cover that.
1539 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1541         * docs/pwg/advanced-types.xml:
1542           Fix typo and duplicate entry in video formats list.
1544 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1546         * libs/gst/controller/gstinterpolation.c:
1547         Also round to the nearest int when using cubic interpolation.
1549 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1551         * libs/gst/controller/gstinterpolation.c:
1552         When linearly interpolating integer types, round to the nearest int
1553         by adding 0.5. Don't do it for float/double types.
1554         Fixes the failing controller test on my machine, which is somehow
1555         rounding differently than on the buildbots.
1557 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1559         * tools/gst-plot-timeline.py:
1560           Better log parsing (categories can have -). Adjust text vs. lines, so
1561           that they span the same y-range.        
1563 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1565         * docs/random/ensonic/audiobaseclasses.txt:
1566         * docs/random/ensonic/dynlink.txt:
1567         * docs/random/ensonic/profiling.txt:
1568           Save my thoughts.
1570         * docs/random/moving-plugins:
1571           Add note to use g_assert type macros.
1573 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1575         * configure.ac:
1576         * libs/gst/check/Makefile.am:
1577           Add libm check as we use in for plugins.
1579 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1581         * gst/gstbin.c: (gst_bin_continue_func):
1582         Check that the state_cookie hasn't changed since the continue_func
1583         was scheduled. Avoids problems where the state changes back to
1584         something it shouldn't be because it was changed in the meantime.
1586 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1588         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1589         (gst_registry_binary_save_string),
1590         (gst_registry_binary_save_pad_template),
1591         (gst_registry_binary_save_feature),
1592         (gst_registry_binary_save_plugin),
1593         (gst_registry_binary_load_feature),
1594         (gst_registry_binary_load_plugin),
1595         (gst_registry_binary_read_cache):
1596           Fix memory leak. Be less verbose in the log.
1598 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1600         * tests/check/elements/.cvsignore:
1601         Add file to cvsignore as commanded.
1603 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1605         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1606         (mq_dummypad_event), (run_output_order_test):
1607         Use a GStaticMutex to protect all cases where libcheck
1608         fail_if/fail_unless macros might be called from multiple threads
1609         simultaneously to avoid errors like:
1610           "check_pack.c:107: :-1081725400:Bad message type arg"
1612 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1614         * tests/check/pipelines/stress.c: (GST_START_TEST):
1615         Make sure we set the pipeline back to the NULL state before
1616         dropping our final reference.
1618 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1620         * tests/check/elements/tee.c: (GST_START_TEST):
1621         Make the tee stress-test a little less stressful so it doesn't just
1622         time out on slow-machines, and remove a small race when it's starting 
1623         up by adding a get_state() call.
1625 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1627         * gst/gst.c:
1628           Avoid reading registry twice on startup. Fixes #457322.
1630 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1632         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1633         * pkgconfig/gstreamer-check.pc.in:
1634         Substitute the CFLAGS for libcheck into our .pc file too so that
1635         dependent modules will pick it up properly if libcheck is installed
1636         into some other prefix.
1638 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1640         * configure.ac:
1641         Revert the pkg-config check for libcheck, since it pulls in the
1642         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1643         a proper solution, either from the check project, or something else.
1645 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1647         * configure.ac:
1648           Use pkg-config to locate check.
1650 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1652         * gst/gsttaglist.c:
1653           Fix doc syntax.
1655         * gst/gstutils.c:
1656         * gst/gstutils.h:
1657           Add deprecation guards.
1659         * libs/gst/base/gstcollectpads.h:
1660           Don't document object (this is implicitly private).
1662 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1664         * gst/gststructure.c: (gst_structure_parse_value):
1665           When deserialising foo=bar without a type cast, check if it's a
1666           boolean before falling back to a string type, otherwise things like
1667           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1668           because the filtercaps end up having a signed=(string)true field,
1669           which causes problems later when intersection caps.
1671         * tests/check/gst/gststructure.c: (GST_START_TEST):
1672           Add a unit test for this.
1674 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1676         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1678         * libs/gst/controller/Makefile.am:
1679         * libs/gst/controller/gstcontroller.c:
1680         (gst_controlled_property_add_interpolation_control_source),
1681         (gst_controlled_property_new), (gst_controlled_property_free),
1682         (gst_controller_find_controlled_property),
1683         (gst_controller_new_valist), (gst_controller_new_list),
1684         (gst_controller_new), (gst_controller_remove_properties_valist),
1685         (gst_controller_remove_properties_list),
1686         (gst_controller_remove_properties),
1687         (gst_controller_set_property_disabled),
1688         (gst_controller_set_disabled), (gst_controller_set_control_source),
1689         (gst_controller_get_control_source), (gst_controller_get),
1690         (gst_controller_sync_values), (gst_controller_get_value_array),
1691         (_gst_controller_dispose), (gst_controller_get_type),
1692         (gst_controlled_property_set_interpolation_mode),
1693         (gst_controller_set), (gst_controller_set_from_list),
1694         (gst_controller_unset), (gst_controller_unset_all),
1695         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1696         * libs/gst/controller/gstcontroller.h:
1697         * libs/gst/controller/gstcontrollerprivate.h:
1698         * libs/gst/controller/gstcontrolsource.c:
1699         (gst_control_source_class_init), (gst_control_source_init),
1700         (gst_control_source_get_value),
1701         (gst_control_source_get_value_array), (gst_control_source_bind):
1702         * libs/gst/controller/gstcontrolsource.h:
1703         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1704         (gst_object_get_control_source):
1705         * libs/gst/controller/gstinterpolation.c:
1706         (gst_interpolation_control_source_find_control_point_node),
1707         (gst_interpolation_control_source_get_first_value),
1708         (_interpolate_none_get), (interpolate_none_get),
1709         (interpolate_none_get_boolean_value_array),
1710         (interpolate_none_get_enum_value_array),
1711         (interpolate_none_get_string_value_array),
1712         (_interpolate_trigger_get), (interpolate_trigger_get),
1713         (interpolate_trigger_get_boolean_value_array),
1714         (interpolate_trigger_get_enum_value_array),
1715         (interpolate_trigger_get_string_value_array):
1716         * libs/gst/controller/gstinterpolationcontrolsource.c:
1717         (gst_control_point_free), (gst_interpolation_control_source_reset),
1718         (gst_interpolation_control_source_new),
1719         (gst_interpolation_control_source_set_interpolation_mode),
1720         (gst_interpolation_control_source_bind),
1721         (gst_control_point_compare), (gst_control_point_find),
1722         (gst_interpolation_control_source_set_internal),
1723         (gst_interpolation_control_source_set),
1724         (gst_interpolation_control_source_set_from_list),
1725         (gst_interpolation_control_source_unset),
1726         (gst_interpolation_control_source_unset_all),
1727         (gst_interpolation_control_source_get_all),
1728         (gst_interpolation_control_source_get_count),
1729         (gst_interpolation_control_source_init),
1730         (gst_interpolation_control_source_finalize),
1731         (gst_interpolation_control_source_dispose),
1732         (gst_interpolation_control_source_class_init):
1733         * libs/gst/controller/gstinterpolationcontrolsource.h:
1734         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1735         API: Refactor GstController into the core controller which can take
1736         a GstControlSource for providing actual values for timestamps.
1737         Implement a interpolation control source and use this for backward
1738         compatibility, deprecate a bunch of functions that are now handled
1739         by GstControlSource or GstInterpolationControlSource.
1740         Make it possible to disable the controller completely or only for
1741         specific properties. Fixes #450711.
1742         * docs/libs/gstreamer-libs-docs.sgml:
1743         * docs/libs/gstreamer-libs-sections.txt:
1744         * docs/libs/gstreamer-libs.types:
1745         Add new functions and classes to the docs.
1746         * tests/check/libs/controller.c: (GST_START_TEST),
1747         (gst_controller_suite):
1748         * tests/examples/controller/audio-example.c: (main):
1749         Port unit test and example to the new API and add some new
1750         unit tests.
1752 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
1754         Patch by: Mark Nauwelaerts <manauw at skynet be>
1756         * plugins/elements/gstmultiqueue.c:
1757         (gst_multi_queue_get_internal_links), (apply_buffer),
1758         (single_queue_overrun_cb), (gst_single_queue_new):
1759         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1760         the pipeline layout can be tracked correctly. Fixes #453732.
1762 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
1764         * docs/gst/Makefile.am:
1765         * docs/libs/Makefile.am:
1766         * docs/plugins/Makefile.am:
1767           Simplify --extra-dir as gtkdoc scans recursively.
1769 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1771         * tools/gst-launch.c: (main):
1772         When we got an error, there is no point in waiting for preroll when
1773         shutting down.
1775 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1777         * plugins/elements/gsttee.c: (gst_tee_base_init),
1778         (gst_tee_request_new_pad), (gst_tee_release_pad),
1779         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1780         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1781         (gst_tee_chain):
1782         Be a lot smarter when deciding what srcpad to use for proxying
1783         the buffer_alloc. Also handle pad added/removed when doing so.
1784         Fixes #357959.
1785         Keep track of what pads we already pushed on in case we have pads
1786         added/removed while pushing. Fixes #374639 
1788         * tests/check/Makefile.am:
1789         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1790         (tee_suite):
1791         Added unit test for pad resync.
1793 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1795         * po/nl.po:
1796         * po/sv.po:
1797           Updated translations.
1799 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1801         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1803         * po/LINGUAS:
1804         * po/fi.po:
1805           Added new Finnish translation.
1807 2007-06-28  Wim Taymans  <wim@fluendo.com>
1809         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1810         (single_queue_overrun_cb):
1811         When figuring out when a queue is filled, use our internal time estimate
1812         based on segments, just like check_full does.
1814 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1816         * gst/gstminiobject.c: (gst_mini_object_get_type):
1817           Remove 3 do-nothing methods.
1819 2007-06-27  Wim Taymans  <wim@fluendo.com>
1821         Patch by: Tim Angus <tim at ngus dot net>
1823         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1824         (gst_capsfilter_set_property):
1825         Take a reference instead of a copy when setting "caps".
1826         Fix documentation to clarify this behaviour. Fixes #449414.
1828 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1830         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1831         * gst/gstplugin.c: (gst_plugin_init):
1832         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1833         * gst/gstquery.c: (gst_query_get_type):
1834         * gst/gstregistry.c: (gst_registry_init):
1835         * gst/gsturi.c: (gst_uri_handler_base_init):
1836           Remove empty instance_init() functions to save relocs and lessen the
1837           noise. Remove some of the function prototypes that are doubled by
1838           G_DEFINE_TYPE.
1839           
1840 2007-06-27  Wim Taymans  <wim@fluendo.com>
1842         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1844         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1845         Add peer and direction in the XML serialisation of ghostpads.
1846         Fixes #449226.
1848 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1850         * configure.ac:
1851           Preserve useful information, thanks Tim.
1853 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
1855         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1856         (gst_single_queue_flush), (apply_segment), (apply_buffer),
1857         (gst_single_queue_push_one), (gst_multi_queue_loop),
1858         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1859         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1860         (compute_high_id), (gst_single_queue_new):
1861         * plugins/elements/gstmultiqueue.h:
1862         Take the multiqueue lock when updating the fill level so we don't get
1863         confused. 
1865         After applying a buffer or event on the src pad segment, make sure to
1866         call gst_data_queue_limits_changed() to get the data queue to unblock
1867         and check the filled state again.
1868         
1869         Rework the not-linked pad handling so the logic is that not-linked 
1870         pads can push as fast as they like, but only so they never get 
1871         ahead of any linked pads.
1873         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1874         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1875         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1877         Add a test to check that not-linked pads always stay behind
1878         linked pads.
1880         Fixes: #430682
1882 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
1884         * docs/random/release:
1885           Some updates to the release procedure.
1887 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1889         * gst/gstelementfactory.c: (__gst_element_details_clear):
1890           Microoptimization that saves stunning 80 bytes.
1892 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
1894         * docs/plugins/gstreamer-plugins.args:
1895         * docs/plugins/inspect/plugin-coreelements.xml:
1896         * docs/plugins/inspect/plugin-coreindexers.xml:
1897           Update docs with caps info.
1899 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1901         * po/it.po:
1902           Updated Italian translation.
1904 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1906         * ChangeLog:
1907         * po/vi.po:
1908           Update Vietnamese translations.
1910 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1912         * libs/gst/base/gstbasesink.c:
1913           Remove unused signal enum.
1915 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1917         * docs/gst/gstreamer-sections.txt:
1918         * gst/gstelement.c:
1919         * gst/gstutils.c: (gst_type_register_static_full):
1920         Beef up and include the docs for gst_type_register_static_full and
1921         gst_element_class_set_details_simple and add the API keyword
1922         in the ChangeLog.
1924 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1926         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1927         (update_time_level), (gst_single_queue_push_one),
1928         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1929         (single_queue_overrun_cb), (single_queue_underrun_cb),
1930         (single_queue_check_full):
1931         Fix setting max-* properties after adding queues.
1932         Use IS_FILLED for checking visible items.
1933         Signal overrun if multiple queues overrun.
1934         Add extra debug output.
1935         Patch by: Wim Taymans <wim@fluendo.com>
1937 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
1939         * gst/gstelement.c: (gst_element_class_set_details_simple):
1940         * gst/gstelement.h:
1941         * gst/gstutils.c: (gst_type_register_static_full):
1942         * gst/gstutils.h:
1943         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1944         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1945         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1946         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1947         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1948         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1949         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1950         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1951         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1952         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1953         (apply_buffer), (gst_queue_chain):
1954         * plugins/elements/gsttee.c: (gst_tee_base_init):
1955         * plugins/elements/gsttypefindelement.c:
1956         (gst_type_find_element_base_init),
1957         (gst_type_find_element_class_init):
1958           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1959           API: add gst_type_register_static_full
1960           API: add gst_element_class_set_details_simple
1962 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1964         * docs/pwg/advanced-types.xml:
1965           Fix typo in iana.org URI.
1967 2007-06-19  Andy Wingo  <wingo@pobox.com>
1969         * tests/check/pipelines/simple-launch-lines.c
1970         (test_state_change_returns): Enable pull-mode tests now that
1971         basesink has been fixed.
1973         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1974         Changed from gst_base_sink_is_prerolled, reversing the sense of
1975         the return value. Returns FALSE also if the sink is in pull mode,
1976         in which case it needs no preroll.
1977         (gst_base_sink_query, gst_base_sink_change_state): Update for
1978         needs_preroll change.
1979         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1980         chaining up, in which we return SUCCESS directly if we activated
1981         in pull mode instead of ASYNC. Involves countering an async_start
1982         message sent before chaining up; not sure if this is correct, in
1983         an ideal world we only send async-start when activating in push
1984         mode.
1986         * tests/check/pipelines/simple-launch-lines.c
1987         (test_state_change_returns): New test, partially disabled until
1988         basesink is fixed.
1990 2007-06-19  Wim Taymans  <wim@fluendo.com>
1992         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1993         (gst_multi_queue_sink_event):
1994         Fix event leak.
1996 2007-06-19  Wim Taymans  <wim@fluendo.com>
1998         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1999         (gst_bin_change_state_func), (bin_push_state_continue),
2000         (bin_handle_async_start), (bin_handle_async_done),
2001         (gst_bin_handle_message_func):
2002         Move the common code for posting state-change messages into
2003         one function.
2004         Broadcast the state signal after we posted the messages.
2005         Mark the bin as busy when it's doing a state-change.
2006         Make sure async-start/done messages don't interfere with the bin's
2007         state when it's busy.
2008         After the state change, let the bin check which elements completed the
2009         state change while it was busy so that it can update its state.
2011 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
2013         * docs/random/release:
2014         Add a note about updating the doap file to the release checklist
2016 2007-06-18  Wim Taymans  <wim@fluendo.com>
2018         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2019         (gst_single_queue_push_one), (gst_multi_queue_chain),
2020         (gst_multi_queue_sink_event):
2021         Make sure we don't reference the buffer/event after we have given away
2022         ownership in the queue.
2024 2007-06-18  Wim Taymans  <wim@fluendo.com>
2026         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2027         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2028         Update queue state _after_ adding the item in the queue because else we
2029         could end up being full without the element added yet.
2031 2007-06-18  Wim Taymans  <wim@fluendo.com>
2033         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2034         (gst_bin_remove_func), (gst_bin_get_state_func),
2035         (gst_bin_element_set_state), (gst_bin_continue_func),
2036         (bin_push_state_continue), (bin_handle_async_start),
2037         (bin_handle_async_done), (gst_bin_handle_message_func):
2038         * gst/gstbin.h:
2039         Immediatly commit the toplevel bin state when receiving an async-done
2040         message. This enables us to avoid spawning a thread to commit the state
2041         in some common cases and it also avoids some races.
2042         Avoid spawning a state thread when adding/removing async elements to a
2043         toplevel bin. Instead we immediatly update the bin state.
2044         Get rid of iterating all the children when getting the state in the bin
2045         because it is now always up-to-date.
2046         Fix bug where locked elements would always return _SUCCESS even it they
2047         returned NO_PREROLL before being locked.
2048         Fix the order of the state_change, async-start/done messages that was
2049         sometimes incorrect.
2050         Mark the state_dirty field as deprecated, we don't need it anymore as we
2051         are always up-to-date.
2053         * gst/gstelement.c: (gst_element_get_state_func),
2054         (gst_element_continue_state):
2055         Small debug inprovements.
2056         Return the previous element state return when nothing is pending instead
2057         of blindly returning SUCCESS.
2059         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2060         (gst_sinks_suite):
2061         Add a whole bunch of new testcases.
2063 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2065         * po/uk.po:
2066         * po/vi.po:
2067           Update translations.
2069 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2071         * gst/gstpad.c:
2072         Fix typo in the docs.
2074 2007-06-15  Wim Taymans  <wim@fluendo.com>
2076         * docs/libs/gstreamer-libs-sections.txt:
2077         Add docs for new methods.
2079 2007-06-15  Wim Taymans  <wim@fluendo.com>
2081         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2082         (gst_multi_queue_item_new):
2083         Don't use GSlice because we don't depend on >= 2.10 yet.
2085 2007-06-15  Wim Taymans  <wim@fluendo.com>
2087         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2088         (update_time_level), (apply_segment), (apply_buffer),
2089         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2090         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2091         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2092         (single_queue_underrun_cb), (single_queue_check_full):
2093         Remove debug printf.
2095 2007-06-15  Wim Taymans  <wim@fluendo.com>
2097         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2098         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2099         (gst_data_queue_set_flushing), (gst_data_queue_push),
2100         (gst_data_queue_pop), (gst_data_queue_drop_head),
2101         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2102         * libs/gst/base/gstdataqueue.h:
2103         Various cleanups.
2104         Added methods to get the current levels and to inform the queue that the
2105         'full' limits changed.
2107         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2108         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2109         (gst_single_queue_flush), (update_time_level), (apply_segment),
2110         (apply_buffer), (gst_single_queue_push_one),
2111         (gst_multi_queue_item_steal_object),
2112         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2113         (gst_multi_queue_loop), (gst_multi_queue_chain),
2114         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2115         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2116         (gst_multi_queue_src_query), (single_queue_overrun_cb),
2117         (single_queue_underrun_cb), (single_queue_check_full),
2118         (gst_single_queue_new):
2119         Keep track of time in the queue by measuring the difference between
2120         running_time on input and output. This gives more accurate results and
2121         can compensate for segments correctly.
2122         Make a queue by default only 5 buffers deep. We will now increase the
2123         buffer size depending on the filledness of the other queues.
2124         Factor out commong flush code.
2125         Make sure we don't add additional refcounts to buffers when we can avoid
2126         it.
2127         Propagate GstFlowReturn differently.
2128         Use GSlice for intermediate GstMultiQueueItems.
2129         Keep track of EOS.
2130         Resize queues on over and underruns based on filled level of other
2131         queues.
2132         When checking if the queue is filled, prefer to measure in time if we
2133         can and fall back to bytes when no time is known.
2135         * plugins/elements/gstqueue.c:
2136         Fix return value.
2138 2007-06-15  Wim Taymans  <wim@fluendo.com>
2140         * libs/gst/base/gstbasetransform.c:
2141         (gst_base_transform_sink_event):
2142         Work around the brokenness of the event vmethod in basetransform. Prefer
2143         to return TRUE when the subclass returned FALSE (meaning don't forward
2144         the event). 
2146         * libs/gst/base/gstbasetransform.h:
2147         Clarify the docs.
2149 2007-06-15  Wim Taymans  <wim@fluendo.com>
2151         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2152         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2153         (gst_base_src_default_query), (gst_base_src_get_range),
2154         (gst_base_src_start):
2155         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2156         Improve debugging.
2158 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2160         * docs/pwg/advanced-types.xml:
2161           Added more formats to caps table.
2163 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2165         * tools/gst-launch.c: (main):
2166           Remove crufy code. GOption does not need this workaround.
2168 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2170         * libs/gst/controller/gstcontroller.c:
2171         (gst_controlled_property_set_interpolation_mode):
2172           Fix wrong getter for enums in controller.
2174 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2176         * libs/gst/check/gstcheck.c: (gst_check_init):
2177           Intercept criticals and warnings in the Gst-Phonon log domain, so
2178           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2179           well.
2180         
2181 2007-06-14  Edward Hervey  <edward@fluendo.com>
2183         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2184         Since this file doesn't include "gst.h" it will not go through the
2185         macros that disable GST_LOG if debugging was disabled.
2187 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2189         * libs/gst/check/Makefile.am:
2190         * libs/gst/check/gstcheck.h:
2191         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2192         * pkgconfig/gstreamer-check.pc.in:
2193           Ugly 'fix' for the controller unit test on the p5 bot: in
2194           fail_unless_equals_float() check whether the values are 'almost
2195           equal' by allowing a small absolute error, which should be good
2196           enough for our use cases (normal numbers and values close to 0).
2197           Proper fixage left to floating point arithmetic aficionados.
2199 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2201         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2202         (gst_base_sink_render_object), (gst_base_sink_get_position):
2203           Add two breaks thats where missing.
2205 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2207         * docs/libs/gstreamer-libs-sections.txt:
2208         * libs/gst/check/gstcheck.h:
2209           API: add fail_unless_equals_float() and assert_equals_float().
2210           Add documentation for some of the macros.
2212         * tests/check/libs/controller.c: (GST_START_TEST):
2213           Use newly-added asserts.
2215 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2217         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2218           Show the caps change in the log to help spotting the case of not
2219           exactly matching caps.
2221 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2223         * docs/pwg/building-boiler.xml:
2224           Fix typos, spotted by Thijs Vermeir (#447190).
2226 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2228         * docs/plugins/tmpl/.cvsignore:
2229         Ignore file to keep the buildbots happy
2231 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2233         * docs/plugins/Makefile.am:
2234         * docs/plugins/gstreamer-plugins-docs.sgml:
2235         * docs/plugins/gstreamer-plugins-sections.txt:
2236         Pull fdsink into the docs too.
2238 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2240         * libs/gst/controller/gstinterpolation.c:
2241         Actually use the new functions with min/max checks for the trigger and
2242         none interpolation modes for get() and get_value_array() instead of
2243         just the latter.
2245 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2247         * libs/gst/controller/gstcontroller.c:
2248         (gst_controlled_property_free):
2249         Unset the minimum and maximum GValues when freeing the corresponding
2250         GstControllerProperty struct.
2252 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2254         * libs/gst/controller/gstcontroller.c:
2255         (gst_controlled_property_new):
2256         * libs/gst/controller/gstcontrollerprivate.h:
2257         * libs/gst/controller/gstinterpolation.c:
2258         (gst_controlled_property_find_control_point_node),
2259         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2260         (interpolate_none_get_string_value_array),
2261         (interpolate_trigger_get),
2262         (interpolate_trigger_get_enum_value_array),
2263         (interpolate_trigger_get_string_value_array):
2264         Protect against values larger or smaller than the minimum or maximum
2265         allowed value for the property when using values that can be compared.
2267         Optimize trigger interpolator a bit by taking the last requested value
2268         into account instead of always looping through the complete list.
2270         Fix coding style a bit, everywhere else we use "return foo" instead
2271         of "return (foo)".
2272         
2273         * tests/check/libs/controller.c: (GST_START_TEST),
2274         (gst_controller_suite):
2275         Add unit test for the protection against too large or too small
2276         values.
2278 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2280         * docs/random/slomo/controller.txt:
2281         Add some thoughts about the future of the controller.
2283 2007-06-08  Wim Taymans  <wim@fluendo.com>
2285         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2286         Don't overflow in retimestamping code.
2288 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2290         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2291         Use gst_util_guint64_to_gdouble for conversions.
2292         * win32/common/libgstreamer.def:
2293         Add new exported functions.
2295 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2297         * gst/gstutils.c:
2298           Small docs addition.
2300 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2302         * README:
2303           Remove that test line again.
2305 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2307         * README:
2308           Test commit mail sending.
2310 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2312         * configure.ac:
2313           Fix typo and test commit mail sending.
2315 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2317         * tests/examples/controller/audio-example.c:
2318           Improve comment and test commit mail sending.
2320 2007-06-07  Wim Taymans  <wim@fluendo.com>
2322         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2323         (gst_bin_remove_func), (gst_bin_element_set_state),
2324         (bin_handle_async_start), (bin_handle_async_done),
2325         (gst_bin_handle_message_func):
2326         Add helper function to find messages.
2327         Generate the async-done messages together with the state change
2328         messages.
2329         Small cleanups in handling toplevel bins.
2331 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2333         * libs/gst/base/gstdataqueue.c:
2334         * libs/gst/base/gstdataqueue.h:
2335         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2336         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2337         (gst_multi_queue_sink_event):
2338         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2339           Fix multiqueue leaking buffers and events when downstream or the
2340           queue are flushing. Make refcounting assumptions explicit and
2341           document them (shouldn't break existing code that uses it other than
2342           maybe leak miniobjects, but that already happens anyway). Add unit
2343           test for the most common flushing case. Fixes #423700.
2344           
2345 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2347         * libs/gst/controller/gstcontroller.c:
2348         Clarify docs: The get_all, get_value_array(s) functions
2349         don't modify the GObject properties.
2351 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2353         * libs/gst/controller/gstcontroller.c:
2354         (gst_controlled_property_set_interpolation_mode),
2355         (gst_controlled_property_prepend_default),
2356         (gst_controlled_property_new), (gst_controller_set_unlocked),
2357         (gst_controller_set), (gst_controller_set_from_list),
2358         (gst_controller_unset), (gst_controller_unset_all):
2359         * libs/gst/controller/gstcontrollerprivate.h:
2360         * libs/gst/controller/gstinterpolation.c:
2361         Factor out the 'set' logic into gst_controller_set_unlocked for the
2362         gst_controller_set and gst_controller_set_from_list functions.
2364         To make life of the interpolators easier always add a control point
2365         at timestamp zero with the default value.
2367         In the linear interpolator make things more obvious by better variable
2368         naming (slope).
2370         Implement cubic interpolation mode (by using a natural cubic spline)
2371         and map the quadratic interpolation mode to this too (as quadratic
2372         doesn't make much sense, see discussion on the list).
2374         * tests/check/libs/controller.c: (GST_START_TEST),
2375         (gst_controller_suite):
2376         Add unit test for the cubic interpolation mode and check everywhere
2377         if the interpolation mode could be set as expected.
2379 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2381         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2382           Don't use GLib-2.10 functions, we still depend on
2383           GLib-how-old-is-it-again-2.8.
2385 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2387         * docs/gst/gstreamer-sections.txt:
2388         * gst/Makefile.am:
2389         * gst/gst.c:
2390         * gst/gst.h:
2391         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2392         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2393         (_gst_param_fraction_values_cmp),
2394         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2395         * gst/gstparamspecs.h:
2396         * gst/gstvalue.c:
2397         * tests/check/Makefile.am:
2398         * tests/check/gst/.cvsignore:
2399         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2400         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2401         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2402         (GST_START_TEST), (gst_param_spec_suite):
2403           API: add GstParamSpecFraction, so elements can have fraction
2404           properties without lots of painful string parsing (#444648).
2406 2007-06-05  Wim Taymans  <wim@fluendo.com>
2408         * gst/gstobject.c: (gst_object_class_init):
2409         Fix signal signature.
2411         * gst/gstsegment.c:
2412         Add small clarification in the api docs.
2414         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2415         States are protected with object lock.
2417 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2419         * AUTHORS:
2420         I should probably be listed as an author by now.
2422         * docs/random/release:
2423         Update the release doc
2425 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2427         * gst/gstvalue.c:
2428           Make docs for gst_value_compare() mention return enums that
2429           actually exist.
2431 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2433         * configure.ac:
2434           Back to CVS
2436 === release 0.10.13 ===
2438 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2440         * configure.ac:
2441           releasing 0.10.13, "With or without you"
2443 2007-05-25  Wim Taymans  <wim@fluendo.com>
2445         * gst/gstbin.c: (bin_handle_async_done):
2446         Make sure that the child bin stops after completing the async state
2447         change so that the parent can continue the state change to PLAYING.
2448         Fixes #441159.
2450 2007-05-25  Wim Taymans  <wim@fluendo.com>
2452         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2453         (unref_data), (gst_collect_pads_remove_pad),
2454         (gst_collect_pads_check_pads):
2455         Use additional refcounting to avoid crashes when dynamically adding and
2456         removing pads. Fixes #420206.
2458 2007-05-24  Wim Taymans  <wim@fluendo.com>
2460         * tools/gst-launch.c: (event_loop):
2461         When buffering goes from a two digit to a single digit number, make sure
2462         to remove the old second digit by writing a blank over it.
2464 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2466         * libs/gst/base/gstdataqueue.c:
2467           Eliminate tabs and trailing comma in enum list; fix some typos.
2469 2007-05-24  Wim Taymans  <wim@fluendo.com>
2471         * tests/check/gst/gstbin.c: (GST_START_TEST):
2472         Allow refcount of 3 and 4 because some state thread might still be busy
2473         with it.
2475 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2477         * plugins/elements/Makefile.am:
2478         * plugins/elements/gstmultiqueue.h:
2479         * plugins/elements/gstqueue.h:
2480           These are not installed headers, no need for padding.
2482 2007-05-24  Wim Taymans  <wim@fluendo.com>
2484         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2485         (gst_bin_continue_func):
2486         Enable latency for next release.
2487         Restore STATE_LOCK around recalc_state that was left out during the
2488         rewrite and could result in racy behaviour when _get_state and
2489         recalc_state are run concurrently. See #440463.
2491 2007-05-23  Wim Taymans  <wim@fluendo.com>
2493         * tests/check/gst/gstsystemclock.c: (store_callback),
2494         (GST_START_TEST):
2495         Improve test_async_order to also work when both timers are already
2496         expired when we get scheduled to check it.
2498 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2500         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2501         (gst_bin_set_property), (gst_bin_get_property),
2502         (gst_bin_remove_func), (gst_bin_handle_message_func):
2503         * gst/gstbin.h:
2504           'private' is a c++ keyword, let's not use that in header files,
2505           otherwise c++ compilers will throw a tantrum.
2507 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2509         * plugins/elements/gstelements.c:
2510         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2511         (gst_file_sink_get_current_offset):
2512         * plugins/indexers/gstindexers.c: (plugin_init):
2513           Use #ifdef for HAVE_XYZ for consistency.
2515         * tests/check/Makefile.am:
2516         * tests/check/elements/.cvsignore:
2517         * tests/check/elements/filesink.c: (setup_filesink),
2518         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2519           Add some unit tests for filesink.
2521 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2523         Patch by: Mark Nauwelaerts <manauw at skynet be>
2525         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2526         (gst_file_sink_query), (gst_file_sink_do_seek),
2527         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2528         * plugins/elements/gstfilesink.h:
2529           Fix position reporting; rename data_written member to current_pos to
2530           reflect its real meaning (fixes #412648).
2532 2007-05-22  Edward Hervey  <edward@fluendo.com>
2534         * docs/gst/gstreamer-sections.txt:
2535         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2536         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2537         (gst_bin_remove_func), (gst_bin_handle_message_func):
2538         * gst/gstbin.h:
2539         Add a property for bins that handle the state change of their childs.
2540         Fixes #435880
2542 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2544         * libs/gst/controller/gstinterpolation.c:
2545         Use an array of the correct type when using _get_value_array with
2546         linear interpolation.
2548 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2550         * gst/gstelement.c (gst_element_requires_clock,
2551           gst_element_provides_clock, gst_element_request_pad,
2552           gst_element_class_set_details, gst_element_class_set_details_simple,
2553           gst_element_default_send_event, gst_element_abort_state,
2554           gst_element_continue_state, gst_element_set_state,
2555           gst_element_set_state_func, iterator_activate_fold_with_resync):
2556         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2557           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2558           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2559           gst_pad_get_range, gst_pad_pull_range):
2560         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2561           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2562           GstPadActivateModeFunction, GstPadChainFunction,
2563           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2564           GstPadFixateCapsFunction, GstPadTemplate):
2565         * gst/gstpipeline.c (gst_pipeline_change_state,
2566           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2567           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2568           gst_pipeline_get_delay):
2569           Whitespace and docs fixes.
2571 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2573         * libs/gst/controller/gstinterpolation.c:
2574         (interpolate_trigger_get_enum_value_array),
2575         (interpolate_trigger_get_string_value_array):
2576         Add support for retrieving value arrays when using the trigger
2577         interpolation mode. 
2579 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2581         * libs/gst/controller/gstcontroller.c:
2582         (gst_controller_get_value_array):
2583         * libs/gst/controller/gstcontroller.h:
2584         Clarify the docs of gst_controller_get_value_array(): The array where
2585         the values should be written to must be allocated as there seems to be
2586         no way to get the size of a random GType. This doesn't change any
2587         behaviour. Also fix some typos all over the place and remove an unused,
2588         commented function that is not necessary as g_object_set() could be
2589         used instead.
2590         * tests/check/libs/controller.c: (GST_START_TEST),
2591         (gst_controller_suite):
2592         Add unit test for gst_controller_get_value_array().
2594 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2596         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2598         Disable part of the gst_buffer_try_new_and_alloc test, because
2599         it can happily succeed on 64-bit systems where there's more address
2600         space available.
2602 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2604         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2605         Add unit test for the improved caps checking from bug #421543.
2607 2007-05-21  Wim Taymans  <wim@fluendo.com>
2609         * docs/design/part-synchronisation.txt:
2610         Small addition.
2612         * gst/gstbin.c: (gst_bin_query):
2613         * plugins/elements/gstqueue.c: (apply_segment):
2614         Improve debugging.
2616         * gst/gstmessage.h:
2617         Improve docs.
2619 2007-05-21  Wim Taymans  <wim@fluendo.com>
2621         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2622         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2623         (gst_pad_configure_src):
2624         Added simple version of improved caps checking. It was previously
2625         assumed that a setcaps function would check the validity of the caps but
2626         people prefer us to check caps against the template automatically. 
2627         Fixes #421543.
2629 2007-05-21  Wim Taymans  <wim@fluendo.com>
2631         * libs/gst/base/gstbasetransform.h:
2632         Fix macro for locking/unlocking the transform lock.
2634 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2636         * docs/plugins/tmpl/.cvsignore:
2637           Ignore more.
2639 2007-05-18  Edward Hervey  <edward@fluendo.com>
2641         * plugins/elements/gstqueue.c: (gst_queue_loop):
2642         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2643         for the subtle art of warning a potentially blocking thread that it
2644         should check the source pad return value, and relay the information
2645         upstream.
2647 2007-05-18  Edward Hervey  <edward@fluendo.com>
2649         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2650         Release the queue lock !
2652 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2654         * docs/libs/gstreamer-libs-sections.txt:
2655         Add the two new controller functions to the appropiate places.
2657 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2659         reviewed by: Stefan Kost <ensonic@users.sf.net>
2661         * libs/gst/controller/gstcontroller.c:
2662         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2663         (_gst_controller_get_property), (_gst_controller_set_property),
2664         (_gst_controller_init), (_gst_controller_class_init):
2665         * libs/gst/controller/gstcontroller.h:
2666         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2667         (gst_object_get_control_rate), (gst_object_set_control_rate):
2668         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2669         Add API that provides sync suggestion timestamps for elements that
2670         call gst_object_sync_values() from which those elements can subdivide
2671         their processing loop to get the best results for the controlled
2672         properties. For now it just suggests last_sync + control_rate as
2673         new timestamp but this will be improved in the future.
2675         While doing that change the control-rate property to a GstClockTime
2676         from guint and change it's meaning from samples to nanoseconds as
2677         the GstController doesn't know anything about sampling rate. Strictly
2678         speaking this breaks ABI but as the control-rate property didn't do
2679         anything in the past and as such couldn't be used this should be no
2680         problem.        
2682 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2684         reviewed by: Stefan Kost <ensonic@users.sf.net>
2686         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2687         (gst_controller_unset_all):
2688         * libs/gst/controller/gstcontrollerprivate.h:
2689         * libs/gst/controller/gstinterpolation.c:
2690         (gst_controlled_property_find_control_point_node):
2691         Save last synced value from the list to continue searching from there
2692         in future syncs. This speeds everything up a bit.
2693         
2694 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2696         reviewed by: Stefan Kost <ensonic@users.sf.net>
2698         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2699         (gst_control_point_find), (gst_controlled_property_new),
2700         (gst_control_point_free), (gst_controlled_property_free),
2701         (gst_controller_set), (gst_controller_set_from_list),
2702         (gst_controller_unset), (gst_controller_unset_all),
2703         (gst_controller_sync_values):
2704         * libs/gst/controller/gstcontroller.h:
2705         * libs/gst/controller/gstcontrollerprivate.h:
2706         * libs/gst/controller/gstinterpolation.c:
2707         (gst_controlled_property_find_control_point_node),
2708         (interpolate_none_get), (interpolate_trigger_get):
2709         Add a new private GstControlPoint struct which "inherits" from
2710         GstTimedValue to allow different interpolators to store internal
2711         values next to each control point. From the outside everything is
2712         still a GstControlPoint so we don't loose binary compatibility.
2713         Also fixup all the GValue handling to not leak GValues or list nodes.
2714         * tests/check/libs/controller.c: (GST_START_TEST):
2715         Free the list nodes and GValues in the controller_misc test.
2717 2007-05-17  Edward Hervey  <edward@fluendo.com>
2719         * gst/gstsegment.c:
2720         Small doc fix.
2722 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2724         * gst/gstplugin.c: (gst_plugin_load_file):
2725           If we fail to load a plugin because of unresolved symbols or missing
2726           libraries and spew a warning to stderr, we may just as well mention
2727           which plugin it was that failed to load.
2729 2007-05-13  David Schleef  <ds@schleef.org>
2731         * docs/Makefile.am: the gtk-doc makefile snippet correctly
2732           handles the case when ENABLE_GTK_DOC is false, and installs
2733           the prebuilt documentation.  So gtk-doc subdirs are 
2734           unconditionally enabled.  Fixes: #349099.
2736 2007-05-13  David Schleef  <ds@schleef.org>
2738         * gst/gstutils.h: Reword some documentation.
2740 2007-05-12  David Schleef  <ds@schleef.org>
2742         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2743           do anything with the passed "module" parameter, so remove it.
2744           Allows removal of additional vestigal code.
2746 2007-05-12  David Schleef  <ds@schleef.org>
2748         * gst/gstplugin.c:
2749           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2750           Switch to using g_stat() because it's more portable.
2752 2007-05-12  David Schleef  <ds@schleef.org>
2754         * gst/gst.c:
2755           Add GST_DISABLE_OPTION_PARSING, in order to disable option
2756           parsing for embedded systems.
2757         * gst/gstelementfactory.c:
2758           Allow gst_element_register() to be called with plugin==NULL.
2759           Did nobody notice that static elements were broken?
2761 2007-05-12  Wim Taymans  <wim@fluendo.com>
2763         * tools/gst-launch.c: (event_loop):
2764         Give more interesting info when buffering starts and stops.
2765         Fix case where buffering starts but we fail to update the buffering flag
2766         because the target state is not PLAYING.
2768 2007-05-12  Wim Taymans  <wim@fluendo.com>
2770         * plugins/elements/gstqueue.c: (gst_queue_init),
2771         (gst_queue_finalize), (update_time_level), (apply_segment),
2772         (apply_buffer), (gst_queue_locked_flush),
2773         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2774         (gst_queue_handle_sink_event), (gst_queue_chain),
2775         (gst_queue_push_one), (gst_queue_loop):
2776         * plugins/elements/gstqueue.h:
2777         Refactor an cleanup queue a bit.
2778         Do better time level calculations that also work when the srcpad is not
2779         yet running.
2780         Remove some unneeded debug lines.
2782         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2783         Added testcase for time level measurement.
2784         Try to make some stuff more racefree.
2786 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2788         * gst/gsturi.c: (gst_element_make_from_uri):
2789           Don't leak plugin feature.
2791         * tests/check/Makefile.am:
2792         * tests/check/gst/.cvsignore:
2793         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2794           Add brain-dead unit test.
2796 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2798         Patch by: Jeroen Wouters <woutersj at gmail com>
2800         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2801           Treat protocol strings in a case-insensitive way (#437563).
2803 2007-05-11  Michael Smith <msmith@fluendo.com>
2805         * gst/gstplugin.c: (gst_plugin_load_file):
2806         * gst/gstregistry.c: (gst_registry_scan_path_level):
2807           Don't print a g_warning for any failure to load a shared object.
2808           Instead, push this down into gstplugin.c, and warn _only_ if we
2809           failed to open the module (i.e. failure to link).
2810           Avoids warnings on normal, working, non-plugin .so files.
2812 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
2814         * gst/gstplugin.c (gst_plugin_load_file):
2815         * gst/gstregistry.c (GST_CAT_DEFAULT,
2816           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2817           Print a g_warning if there was an error when loading a plugins during
2818           registry scan. The shuld help beginners starting with gst-plugin
2819           template.
2821 2007-05-10  Wim Taymans  <wim@fluendo.com>
2823         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2824         (update_time_level), (gst_queue_locked_flush),
2825         (gst_queue_handle_sink_event), (gst_queue_chain),
2826         (gst_queue_push_one), (gst_queue_loop):
2827         * plugins/elements/gstqueue.h:
2828         Be smarter when calculating the current amount of data in the queue by
2829         measuring the difference between start and end timestamps (in running
2830         time) inside the queue. Fixes #432876.
2831         API: GstQueue::pushing to notify elements that we are pushing data again
2832         since the running signal is rather broken for this purpose.
2834 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
2836         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2837           gst_queue_base_init, gst_queue_init):
2838           use GST_BOILERPLATE
2840 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
2842         * win32/common/libgstreamer.def:
2843         Add new exported functions.
2844         * win32/vs6/grammar.dsp:
2845         Use grammar pre-generated files.
2847 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2849         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
2851         * gst/Makefile.am:
2852         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2853         * gst/gstparse.h:
2854         * gst/gstutils.c: (gst_parse_bin_from_description):
2855         * gst/gstutils.h:
2856           Maintain API and ABI when --disable-parse is used. Now that
2857           we have an appropriate error code, we can just return NULL and the
2858           appropriate error when gst_parse_launch() is used despite it having
2859           been disabled (#342564).
2861         * tests/check/Makefile.am:
2862         * tests/check/pipelines/.cvsignore:
2863         * tests/check/pipelines/parse-disabled.c:
2864           Make sure these functions exist and return NULL plus a GError when
2865           --disable-parse is used.
2867 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2869         * tests/benchmarks/complexity.c: (main):
2870         * tests/benchmarks/mass-elements.c: (main):
2871           Set a good example and don't leak messages.
2873 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
2875         * docs/gst/Makefile.am:
2876         * docs/libs/Makefile.am:
2877           Correct fixxrefs options.
2879         * docs/plugins/Makefile.am:
2880         * docs/plugins/gstreamer-plugins-docs.sgml:
2881         * docs/plugins/gstreamer-plugins-sections.txt:
2882         * plugins/elements/Makefile.am:
2883         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2884         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2885           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2886           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2887           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2888           _GstCapsFilterClass, trans_class):
2889         * plugins/elements/gstelements.c (name, rank, type, _elements):
2890         * plugins/elements/gstidentity.c
2891           (gst_identity_check_imperfect_timestamp,
2892           gst_identity_check_imperfect_offset):
2893           Document capsfilter and add doc-blurb to identity.
2895 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2897         * libs/gst/controller/gstcontroller.c:
2898         (gst_controlled_property_set_interpolation_mode):
2899         * libs/gst/controller/gstinterpolation.c:
2900           Don't crash if someone tries to set an interpolation mode that
2901           is invalid or that isn't supported yet. Fixes #422295.
2903         * tests/check/libs/controller.c: (GST_START_TEST),
2904         (gst_controller_suite):
2905           Add a test case for the above.
2907 2007-05-03  Edward Hervey  <edward@fluendo.com>
2909         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2910         Properly set the last_stop position on GstSegment. This will only happen
2911         if there is a buffer to push out.
2913 2007-05-03  Wim Taymans  <wim@fluendo.com>
2915         * libs/gst/base/gstbasetransform.c:
2916         (gst_base_transform_buffer_alloc):
2917         always_in_place does not mean that the sink and source caps are the
2918         same! Make sure we don't blindly proxy the buffer_alloc in this case.
2920 2007-05-03  Wim Taymans  <wim@fluendo.com>
2922         * docs/libs/gstreamer-libs-sections.txt:
2923         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2924         (gst_base_src_default_query), (gst_base_src_get_range):
2925         * libs/gst/base/gstbasesrc.h:
2926         API: gst_base_src_query_latency(). Added method so that subclasses can
2927         easily get the latency values of the base source class.
2929 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
2931         * tools/gst-inspect.c (print_implementation_info):
2932         Remove 0.8 cruft.
2934 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2936         * tools/Makefile.am:
2937         * tools/gst-launch.1.in:
2938           Don't create a customised man page based on the host architecture,
2939           describe the default registry path generically. That way the man
2940           page is the same for all architectures and packagers have one
2941           multilib issue less to deal with. Fixes #434926.
2943 2007-05-02  Wim Taymans  <wim@fluendo.com>
2945         * gst/gstpad.c:
2946         Fix documentation as spotted by rg on IRC. 
2948 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2950         * gst/gstutils.c:
2951           Improve docs for gst_element_{link,unlink}.
2953 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2955         * docs/design/part-events.txt:
2956         * docs/design/part-overview.txt:
2957         * gst/gstevent.c:
2958         * gst/gsturi.c:
2959         * gst/gsturi.h:
2960         * libs/gst/base/gstbasesink.c:
2961           Typo fixes; minor docs addition.
2963 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2965         * docs/gst/gstreamer-sections.txt:
2966         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2967         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2968         * gst/gsturi.h:
2969         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2970         or src that supports a given URI protocol exists.
2972 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2974         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2975         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2976         Set the location to NULL if "file://" is set as URI. Otherwise
2977         some random previous URI would still be set if "file://" is
2978         set on an already used filesink/filesrc.
2980 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2982         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2983         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2984         Special case the "file://" URI as as this is used by some
2985         applications to test with gst_element_make_from_uri if there's
2986         an element that supports the URI protocol.
2987         Also move the g_path_is_absolute() check for the location part
2988         of the URI to also check this for "file://localhost/bla" URIs.
2990 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
2992         * docs/gst/gstreamer-sections.txt:
2993         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2994         * gst/gstbuffer.h:
2995         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2996         (gst_buffer_suite):
2997           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2999 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
3001         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3002         (gst_registry_binary_load_pad_template),
3003         (gst_registry_binary_load_plugin),
3004         (gst_registry_binary_read_cache):
3005         * gst/gstregistrybinary.h:
3006           Implement no-mmap alternative for registry reading. Do code cleanups.
3007           Add more comments about avoiding strdups for all text data. Comments
3008           welcome.
3010 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3012         * gst/gstregistrybinary.h (GstBinaryPluginElement,
3013           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3014           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3015           Comment structs and reformat to fix the build (that stuff should go
3016           into a priv. header).
3018 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3020         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3021         (gst_registry_binary_load_feature):
3022         * gst/gstregistrybinary.h:
3023           Refactor so that we can implement multiple features. Add support for
3024           TypeFindFactory features.
3026 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
3028         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3030         * configure.ac:
3031           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3033 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
3035         * gst/gstbin.c: (gst_bin_element_set_state),
3036         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3037         (bin_handle_async_done), (gst_bin_handle_message_func):
3038           Fix build with --gst-disable-gst-debug
3040 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3042         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3043           Make sure streaming has finished before calling the ::stop() vfunc,
3044           since that vfunc might clear state which is being used in the
3045           streaming thread. This fixes a race that caused crashes in
3046           audioresample when shutting down a pipeline (#420106).
3048 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3050         * docs/gst/gstreamer-sections.txt:
3051           That was one byte missing.
3053 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3055         * configure.ac:
3056         * docs/gst/gstreamer-sections.txt:
3057         * gst/Makefile.am:
3058         * gst/gstconfig.h.in:
3059         * gst/gstobject.c: (gst_object_class_init),
3060         (gst_signal_object_class_init):
3061         * gst/gstobject.h:
3062           2nd attempt to have a xml-less build as a joined effort of #413123
3063           and #421480.
3065 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3067         * docs/design/draft-tagreading.txt:
3068           Added open issues/thoughts to draft.
3070 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3072         * gst/parse/grammar.tab.pre.c:
3073         * gst/parse/grammar.tab.pre.h:
3074         * gst/parse/lex._gst_parse_yy.pre.c:
3075         Update the prebuild parser sources.
3077 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3079         * gst/parse/Makefile.am:
3080         And now fix the building of the flex sources. Now everything should
3081         work as expected.
3083 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3085         * gst/parse/Makefile.am:
3086         Now hopefully fix the build failures by setting proper rule
3087         dependencies and moving instead of copying.
3089 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3091         * tests/benchmarks/complexity.gnuplot:
3092         * tests/benchmarks/complexity.scm:
3093         * tests/benchmarks/mass-elements.gnuplot:
3094         * tests/benchmarks/mass-elements.scm:
3095           Total licensification.
3097 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3099         * gst/parse/Makefile.am:
3100           Fix the build by correcting the rule that gave wrong files to flex.
3102 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3104         * tests/benchmarks/complexity.c:
3105         * tests/benchmarks/mass-elements.c:
3106           Change licence to LGPL as granted by Benjamin and Andy.
3108 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3110         * gst/parse/Makefile.am:
3111         Add correct grammar.tab.h dependency if compiling without new enough
3112         flex. Fixes #431150.
3114 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3116         * gst/parse/Makefile.am:
3117         Fix typo and use outdated sources if the flex/bison sources are newer
3118         than the pregenerated ones but flex is too old. Print a warning in
3119         that case. This should fix the build on the build bot.
3121 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3123         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3124         * gst/parse/Makefile.am:
3125         * gst/parse/grammar.y:
3126         * gst/parse/parse.l:
3127         Make the parser reentrant and recursively callable. This requires flex
3128         >= 2.5.31, for older versions pregenerated sources are used as we
3129         can't bump the build dependency. Finally fixes #349180.
3131         * gst/gstparse.c: (gst_parse_launch):
3132         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3133         now anyway.
3135         * docs/gst/Makefile.am:
3136         * docs/gst/Makefile.am:
3137         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3138         (__gst_parse_strfree), (__gst_parse_link_new),
3139         (__gst_parse_link_free), (__gst_parse_chain_new),
3140         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3141         (gst_parse_element_set), (gst_parse_free_link),
3142         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3143         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3144         (_gst_parse_launch):
3145         * gst/parse/grammar.tab.pre.h:
3146         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3147         (yy_get_previous_state), (yy_try_NUL_trans), (input),
3148         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3149         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3150         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3151         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3152         (_gst_parse_yypop_buffer_state),
3153         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3154         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3155         (yy_fatal_error), (_gst_parse_yyget_extra),
3156         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3157         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3158         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3159         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3160         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3161         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3162         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3163         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3164         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3165         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3166         (_gst_parse_yyfree):
3167         If the installed flex version is too old use pre-generated parser
3168         sources. These pre-generated parser sources are always updated when
3169         the actual flex/bison sources change but require everybody who wants
3170         to change something in the parser to have flex >= 2.5.31 installed.
3172 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3174         * common/m4/gst-gettext.m4:
3175         * gst/gst-i18n-lib.h:
3176           Make --disable-nls to work
3178 2007-04-17  Wim Taymans  <wim@fluendo.com>
3180         * gst/gstconfig.h.in:
3181         Revert previous change that broke the build.
3183 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3185         * configure.ac:
3186         * gst/Makefile.am:
3187         * gst/gstconfig.h.in:
3188           Drop libxml2 dependency when building with 
3189           --enable-binary-registry --disable-loadsave
3191 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3193         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3194         (gst_registry_binary_read_cache):
3195         * gst/gstregistrybinary.h:
3196           Remove unnecessary <sys/mman.h> include which broke the win32 build
3197           with MingW; move includes from header file to .c file, even if the
3198           header file isn't installed; use g_strerror() where UTF-8 strings
3199           are expected, such as in GST_DEBUG messages.
3201 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3203         * docs/libs/gstreamer-libs-sections.txt:
3204         Remove bogus addition for API I didn't end up keeping.
3206         * libs/gst/base/gstbasesrc.h:
3207         Mention Since: 0.10.13 in the documentation.
3209         Add the API keyword to the previous ChangeLog entry.
3211 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3213         * docs/libs/gstreamer-libs-sections.txt:
3214         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3215         (gst_base_src_default_prepare_seek_segment),
3216         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3217         * libs/gst/base/gstbasesrc.h:
3218         Allow basesrc derived classes to execute seeks in other formats
3219         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3220         to prepare the GstSegment in any format that their perform_seek method
3221         will be able to understand. The default implementation provides the
3222         old behaviour of attempting to convert the seek offsets to the 
3223         configured native format.
3225         API: basesrc::prepare_seek_segment vmethod.
3227 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3229         * gst/gstelement.c: (gst_element_get_state_func):
3230         Don't output the same debug statement twice.
3232         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3233         (gst_adapter_peek), (gst_adapter_take_buffer):
3234         Optimise the case where we have buffers at the head of the queue that
3235         can be joined quickly (because they're contiguous sub-buffers) by
3236         merging them together rather than copying data out into new memory.
3238         * gst/parse/grammar.y:
3239         * tests/check/pipelines/parse-launch.c:
3240         Fix a leak in an error path for parse_launch, and add a check 
3241         for it to the testsuite.
3243 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3245         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3246           Don't deadlock when releasing a pad - gst_pad_set_active may try
3247           and take the multiqueue lock too.
3249 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3251         * gst/gsterror.c: (_gst_core_errors_init):
3252         * gst/gsterror.h:
3253           API: add GST_CORE_ERROR_DISABLED (#392804).
3255 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3257         * docs/faq/gst-uninstalled:
3258           don't get empty paths on the PATH variables
3259         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3260           Don't format for the uncommon terminal width of 84 characters.
3262 2007-04-06  Wim Taymans  <wim@fluendo.com>
3264         * gst/gstpipeline.c: (reset_stream_time),
3265         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3266         Only try to select a different pipeline clock when we went back to
3267         PAUSED and not when we merely got flushed.
3269 2007-04-05  Michael Smith  <msmith@fluendo.com>
3271         * tools/gst-launch.1.in:
3272           fractions are better supported in gstreamer than ractions, so
3273           suggest using those.
3275 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3277         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3279         * po/LINGUAS:
3280         * po/da.po:
3281           Added Danish translation.
3283 2007-04-05  Wim Taymans  <wim@fluendo.com>
3285         * libs/gst/base/gstbasesink.c:
3286         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3287         Fix leak caused when refusing newsegment after EOS.
3289         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3290         (gst_fake_sink_init), (gst_fake_sink_set_property),
3291         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3292         (gst_fake_sink_render), (gst_fake_sink_change_state):
3293         * plugins/elements/gstfakesink.h:
3294         Add num-buffers property to make the element generate EOS after a
3295         configurable amount of buffers.
3296         API: fakesink::num-buffers property.
3298         * tests/check/elements/fakesink.c: (GST_START_TEST),
3299         (fakesink_suite):
3300         Fix GstBus leak in test.
3301         Test for fakesink num-buffers.
3303 2007-04-05  Wim Taymans  <wim@fluendo.com>
3305         * libs/gst/base/gstbasesink.c:
3306         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3307         (gst_base_sink_change_state):
3308         Don't accept anything after an EOS, return UNEXPECTED instead.
3310         * tests/check/elements/fakesink.c: (GST_START_TEST),
3311         (fakesink_suite):
3312         Unit test for new EOS behaviour.
3314 2007-04-05  Wim Taymans  <wim@fluendo.com>
3316         * gst/gstelement.c: (gst_element_get_request_pad):
3317         Make padtemplates also work when they don't contain %s or %d.
3319 2007-04-05  Wim Taymans  <wim@fluendo.com>
3321         * docs/gst/gstreamer-sections.txt:
3322         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3323         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3324         * gst/gstclock.h:
3325         Improve _adjust_unlocked() so that it overflows less.
3326         Add gst_clock_unadjust_unlocked to convert from external time to
3327         internal time based on calibration.
3328         Add some more debug.
3329         API: GstClock::gst_clock_unadjust_unlocked()
3331 2007-04-03  Wim Taymans  <wim@fluendo.com>
3333         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3335         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3336         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3337         when releasing sink pad. Fixes #425400.
3339 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3341         * docs/random/ensonic/dynlink.txt:
3342           More work on proposal for new core api.
3344         * docs/libs/gstreamer-libs-sections.txt:
3345         * libs/gst/base/gstbasetransform.h:
3346           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3347           
3348         * libs/gst/controller/gstcontroller.c:
3349         (on_object_controlled_property_changed),
3350         (gst_controller_sync_values),
3351         (gst_controller_set_interpolation_mode):
3352         * libs/gst/controller/gstcontroller.h:
3353           Less verbose logging add docs for unimplemented parts and correctly
3354           return when using unavailable parts.
3356 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3358         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3359         Move all the debug to the CLOCK category, and associate it with
3360         the clock object.
3362 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3364         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3365         Make take_buffer a bit quicker by removing redundant checks
3366         caused by calling gst_adapter_take.
3368 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3370         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3371           Don't leak GCond.
3373         * tests/check/Makefile.am:
3374         * tests/check/elements/.cvsignore:
3375         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3376         (GST_START_TEST), (multiqueue_suite):
3377           Add some dead simple unit tests for the 'multiqueue' element
3378           (some bits don't work yet and are disabled for now).
3380 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3382         * gst/gstelement.c: (gst_element_get_request_pad),
3383         (gst_element_class_get_request_pad_template):
3384           Make gst_element_get_request_pad() create request pads only for
3385           request pad templates and not for, say, sometimes pad templates.
3387 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3389         * docs/design/draft-klass.txt:
3390           Add example that needs more thinking.
3391         
3392         * docs/design/draft-missing-plugins.txt:
3393           More thoughts about wrapper plugins.
3394         
3395         * docs/random/ensonic/embedded.txt:
3396         * docs/random/ensonic/profiling.txt:
3397           More design work.
3399 2007-03-25  Wim Taymans  <wim@fluendo.com>
3401         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3402         (gst_base_src_loop):
3403         Only push the segment events in the PLAYING state for live sources.
3405 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3407         * gst/gstpipeline.c: (gst_pipeline_change_state):
3408         Modify the clock distribution path in PAUSED->PLAYING so that we 
3409         never attempt to choose a new clock unless we're actually leaving
3410         the PAUSED state for the first time. This prevents choosing a
3411         different clock when the state_change gets called for a 2nd time due
3412         to some element doing an async state change.
3414 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3416         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3417         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3418         (gst_pad_chain_unchecked), (gst_pad_push):
3419         Revert last commit. This needs some more thoughts.
3421 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3423         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3424         (gst_pad_chain_unchecked), (gst_pad_push):
3425         Check in set_caps if the caps are compatible with the pad and remove
3426         two functions that are redundant now. Fixes #421543.
3428 2007-03-22  Wim Taymans  <wim@fluendo.com>
3430         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3431         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3432         Unref some more to make valgrind happy.
3434 2007-03-22  Wim Taymans  <wim@fluendo.com>
3436         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3437         (gst_system_clock_id_wait_jitter),
3438         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3439         Fix anoying regression that survived a few releases. When adding an
3440         async entry while blocking on a sync entry, the sync entry will unblock
3441         but still be busy, so it should continue to wait instead of returning
3442         _BUSY to the app.
3443         Add some comments here and there.
3445         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3446         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3447         Add testcase for this.
3449 2007-03-22  Wim Taymans  <wim@fluendo.com>
3451         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3452         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3453         WRONG_STATE and can silently pause the task. All other cases should
3454         error out.
3456 2007-03-22  Wim Taymans  <wim@fluendo.com>
3458         Patch by: Ville Syrjala <syrjala at sci dot fi>
3460         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3461         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3462         Improve debugging.
3464 2007-03-21  Michael Smith  <msmith@fluendo.com>
3466         * docs/pwg/advanced-types.xml:
3467           Fix some errors in the typefinding docs pointed out on irc.
3469 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3471         * libs/gst/base/gstbasesrc.c:
3472         Clarify FIXME comment in the face of having added unlock_stop()
3474 2007-03-21  Wim Taymans  <wim@fluendo.com>
3476         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3477         Prepare for release where we warn against possible app breakage in the
3478         case of live pipelines along with an env var to enable/disable live
3479         preroll mode (GST_COMPAT=[no-]live-preroll).
3481 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3483         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3484         So we should use correct constants for checking for None offset.
3486 2007-03-20  Wim Taymans  <wim@fluendo.com>
3488         * docs/design/part-block.txt:
3489         Mention the fact that the newly switched element should be set to at
3490         least PAUSED.
3492 2007-03-20  Wim Taymans  <wim@fluendo.com>
3494         * gst/gst.c:
3495         Fix compilation with registry disabled as spotted by Saur.
3497 2007-03-20  Wim Taymans  <wim@fluendo.com>
3499         Patch by: Olivier Crete <tester at tester dot ca>
3501         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3502         Look at the pending state too when syncing the element state to the
3503         parent. Fixes #420133.
3505 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3507         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3508         (gst_base_sink_change_state):
3509         * libs/gst/base/gstbasesink.h:
3510         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3511         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3512         (gst_base_src_deactivate):
3513         * libs/gst/base/gstbasesrc.h:
3514         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3515         for sub-classes to correctly clear any state they set trying to
3516         unlock, such as clearing out unlock commands from a command fd.
3517         API: basesrc::unlock_stop
3518         API: basesink::unlock_stop
3520         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3521         (gst_fd_sink_render), (gst_fd_sink_unlock),
3522         (gst_fd_sink_unlock_stop):
3523         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3524         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3525         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3527         Implement unlock_stop in fdsrc and fdsink.
3528         Implement seeking in fdsrc when a seekable fd is passed, as in
3529         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3531 2007-03-19  Wim Taymans  <wim@fluendo.com>
3533         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3535         * gst/gstelement.c: (gst_element_class_init):
3536         Fix pad-added and pad-removed signal signatures so that the pad type is
3537         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3539 2007-03-19  Wim Taymans  <wim@fluendo.com>
3541         * docs/gst/gstreamer-sections.txt:
3542         Add new element field and method.
3544         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3545         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3546         (gst_bin_recalc_state), (gst_bin_get_state_func),
3547         (gst_bin_element_set_state), (gst_bin_change_state_func),
3548         (gst_bin_continue_func), (bin_bus_handler),
3549         (bin_push_state_continue), (bin_handle_async_start),
3550         (bin_handle_async_done), (gst_bin_handle_message_func):
3551         Make async state changes a bit smarter by using new ASYNC_START and
3552         ASYNC_DONE messages. This reduces the number of times we run the state
3553         recalculation thread.
3554         Don't change state of element with a pending ASYNC_START message.
3555         Deprecate STATE_DIRTY messages.
3556         
3557         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3558         (gst_element_get_state_func), (gst_element_continue_state),
3559         (gst_element_lost_state), (gst_element_set_state_func),
3560         (gst_element_change_state):
3561         * gst/gstelement.h:
3562         Keep the state that was last set by the app in a new element field.
3563         Don't allow state changes when handling an element event.
3564         Post ASYNC_START and ASYNC_DONE messages.
3565         Change lost_state so that we go to PAUSED and wait for the parent to set
3566         us to PLAYING again (so latency calculation can be performed)
3567         Export gst_element_change_state() method so that subclasses can use it.
3568         API: gst_element_change_state()
3569         API: GST_STATE_TARGET
3571         * gst/gstpipeline.c: (gst_pipeline_class_init),
3572         (reset_stream_time), (gst_pipeline_change_state),
3573         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3574         Using the new ASYNC_START message we can reset the base_time when
3575         needed. This can then be used to implement base_time redistribution in
3576         flushing seeks so that we can remove the explicit seek handling.
3577         Perform latency query and configuration when going to PLAYING.
3579         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3580         (gst_base_sink_query), (gst_base_sink_change_state):
3581         Post new ASYNC_START/ASYNC_DONE messages.
3583         * tests/check/generic/sinks.c: (GST_START_TEST):
3584         Fix test because the bin will not set the async element to PLAYING right
3585         away.
3587         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3588         Make the message check a little stronger.
3589         Handle ASYNC messages.
3591         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3592         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3593         Expect ASYNC_DONE messages.
3595 2007-03-19  Wim Taymans  <wim@fluendo.com>
3597         * docs/gst/gstreamer-sections.txt:
3598         * gst/gstmessage.c: (gst_message_new_async_start),
3599         (gst_message_new_async_done), (gst_message_parse_info),
3600         (gst_message_parse_async_start):
3601         * gst/gstmessage.h:
3602         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3603         support.
3605 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3607         * tools/gst-inspect.c:
3608         (print_plugin_automatic_install_info_codecs):
3609           Now that we don't check for the 'Codec' keyword any longer in the
3610           klass, we shouldn't spew a warning if the klass isn't a decoder or
3611           encoder (since it might be a Source/Network, for example).
3613 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3615         * tools/gst-inspect.c:
3616         (print_plugin_automatic_install_info_codecs):
3617           Don't require decoder/demuxer/depayloader elements or
3618           encoder/muxer/paylader elements to have 'Codec' as part of their
3619           factory class string when introspecting a plugin's capabilities.
3620           draft-klass.txt mentions that it might be removed in future, and
3621           flump3dec doesn't have it as part of its class string, so chances
3622           are others might also not have it.
3624 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3626         * po/af.po:
3627         * po/az.po:
3628         * po/bg.po:
3629         * po/ca.po:
3630         * po/cs.po:
3631         * po/de.po:
3632         * po/en_GB.po:
3633         * po/fr.po:
3634         * po/it.po:
3635         * po/nb.po:
3636         * po/nl.po:
3637         * po/ru.po:
3638         * po/sq.po:
3639         * po/sr.po:
3640         * po/sv.po:
3641         * po/tr.po:
3642         * po/uk.po:
3643         * po/vi.po:
3644         * po/zh_CN.po:
3645         * po/zh_TW.po:
3646           Update translations from translation project
3648 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
3650         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3651         (gst_child_proxy_set_property):
3652           Invert precondition check to be alike the ones in the mimiced gobject
3653           api.
3655 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
3657         * docs/design/draft-tagreading.txt:
3658         * docs/random/ensonic/audiobaseclasses.txt:
3659           Do some Architect work.
3661         * gst/gstobject.c: (gst_object_set_name):
3662           Add a WARNING.
3664         * gst/gstpad.c:
3665           Add docs that point from gst_pad_get_range to gst_pad_pull_range
3667 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
3669         * gst/gstsystemclock.c: (gst_system_clock_init),
3670         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3671         Defer starting the async system clock thread until the first async
3672         wait is scheduled. Fixes #414986.
3674 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3676         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3677         (gst_single_queue_free):
3678           Fix small leak (free GstSingleQueue structure too, not only contents).
3680 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
3682         * gst/gstbin.c:(gst_bin_add):
3683         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3684         * win32/common/libgstbase.def:
3685         * win32/common/libgstreamer.def:
3686         Add new exported functions.
3688 2007-03-09  Wim Taymans  <wim@fluendo.com>
3690         * docs/plugins/gstreamer-plugins-sections.txt:
3691         Fix GstTee docs.
3693 2007-03-09  Wim Taymans  <wim@fluendo.com>
3695         * docs/gst/gstreamer-sections.txt:
3696         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3697         * gst/gstbuffer.h:
3698         Add metadata copy functions. Fixes #393099.
3699         API: gst_buffer_copy_metadata()
3701         * gst/gstutils.c: (gst_buffer_stamp):
3702         * libs/gst/base/gstbasetransform.c:
3703         (gst_base_transform_prepare_output_buffer):
3704         Use new metadata copy functions.
3706 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3708         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3709         (gst_identity_init), (gst_identity_check_perfect),
3710         (gst_identity_check_imperfect_timestamp),
3711         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3712         (gst_identity_set_property), (gst_identity_get_property):
3713         * plugins/elements/gstidentity.h:
3714         Separate out check-imperfect-timestamp and check-imperfect-offset.
3715         Put back check-perfect as it was to keep compatibility.
3717 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
3719         * gst/gstelement.c: (gst_element_dispose):
3720         There's no need to warn if VOID_PENDING is not NONE here, as
3721         long as the state is NULL it's ok, and that's checked immediately
3722         above.
3724 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3726         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3727         Fix check for perfect stream to ignore buffers with -1 
3728         offsets/offset ends when checking data contiguity.
3730 2007-03-08  Wim Taymans  <wim@fluendo.com>
3732         * tools/gst-launch.c: (event_loop):
3733         Print INFO messages.
3735 2007-03-08  Wim Taymans  <wim@fluendo.com>
3737         * libs/gst/base/gstbasetransform.c:
3738         (gst_base_transform_sink_eventfunc),
3739         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3740         (gst_base_transform_activate):
3741         * libs/gst/base/gstbasetransform.h:
3742         Add support for dropping buffers with custom GstFlowReturn.
3743         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3744         buffers or dropped buffers.
3746         * docs/libs/gstreamer-libs-sections.txt:
3747         docs for new custom return code.
3749         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3750         Use drop support in base class to implement drop-probability.
3752 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3754         * gst/gst.c: (load_plugin_func):
3755         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3756         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3757         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3758           Remove newlines at end of debug log strings.
3760 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3762         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3763         Only post bus message at max, once per buffer received.
3765 2007-03-07  Wim Taymans  <wim@fluendo.com>
3767         * docs/design/Makefile.am:
3768         * docs/design/part-synchronisation.txt:
3769         Add doc about synchronisation
3771         * docs/design/draft-latency.txt:
3772         * docs/design/part-TODO.txt:
3773         * docs/design/part-clocks.txt:
3774         * docs/design/part-events.txt:
3775         * docs/design/part-gstbus.txt:
3776         * docs/design/part-gstpipeline.txt:
3777         * docs/design/part-live-source.txt:
3778         * docs/design/part-messages.txt:
3779         * docs/design/part-overview.txt:
3780         * docs/design/part-streams.txt:
3781         * docs/design/part-trickmodes.txt:
3782         Documentation updates.
3784 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3786         * gstreamer.doap:
3787         Update the doap file.
3789 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3791         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3792         Rename non-perfect to imperfect for Mike and for the sanctity of the
3793         language.
3794         Also make sure bus message gets emitted for data-incontiguities.
3796 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3798         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3799         (gst_identity_start):
3800         * plugins/elements/gstidentity.h:
3801         Emit bus message if check-perfect is true and we encounter a
3802         non-perfect stream between 2 consecutive buffers.
3803         Fixes #415394.
3805 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3807         * configure.ac:
3808         Back to CVS
3810 === release 0.10.12 ===
3812 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
3814         * configure.ac:
3815           releasing 0.10.12, "Inevitable Demise"
3817 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
3819         * configure.ac:
3820          Version 0.10.11.2 (0.10.12 pre-release)
3821          Bump libtool versioning.
3823 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
3825         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3826           Log flow-names and not numbers.
3828 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3830         * configure.ac:
3831           Convert to new AG_GST style.
3833 2007-02-28  Wim Taymans  <wim@fluendo.com>
3835         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3836         Don't unref query twice.
3838 2007-02-28  Wim Taymans  <wim@fluendo.com>
3840         * gst/gstvalue.c: (gst_value_transform_object_string),
3841         (_gst_value_initialize):
3842         Implement GstObject -> string transform so we print object names
3843         when serializing GValues containing GstObjects.
3845 2007-02-28  Wim Taymans  <wim@fluendo.com>
3847         * docs/gst/gstreamer-sections.txt:
3848         Add new stuff to docs.
3850 2007-02-28  Wim Taymans  <wim@fluendo.com>
3852         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3853         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3854         (gst_base_sink_change_state):
3855         Improve latency query code.
3856         Don't leak latency events.
3858         * tests/check/gst/gstbin.c: (GST_START_TEST):
3859         Improve debugging.
3861 2007-02-28  Wim Taymans  <wim@fluendo.com>
3863         * gst/gstelement.c: (gst_element_message_full),
3864         (gst_element_get_state_func):
3865         * gst/gstelement.h:
3866         Improve docs a little. Added Since: for new macro.
3868         * gst/gstobject.c: (gst_object_sink):
3869         * gst/gstpipeline.c: (gst_pipeline_change_state),
3870         (gst_pipeline_set_new_stream_time):
3871         * gst/gstpipeline.h:
3872         Improve debugging and docs.
3874         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3875         Improve debugging.
3877 2007-02-28  Wim Taymans  <wim@fluendo.com>
3879         * gst/gstelement.c: (gst_element_message_full),
3880         (gst_element_set_locked_state), (gst_element_get_state_func),
3881         (gst_element_change_state):
3882         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3883         Documentation updates.
3884         Small code cleanups.
3886         * gst/gstmessage.c: (gst_message_new_info),
3887         (gst_message_parse_info):
3888         * gst/gstmessage.h:
3889         API: gst_message_new_info()
3890         API: gst_message_parse_info()
3891         Add INFO message create and parse code.
3893 2007-02-28  Wim Taymans  <wim@fluendo.com>
3895         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3896         (bin_query_latency_done):
3897         Also report the live parameter of a latency query.
3899 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3901         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3902           Copy the current generic/states example from -base and adapt so
3903           we can use the exact same code everywhere.
3904           Check a STATES_IGNORE_ELEMENTS env var which can be used
3905           to ignore certain element factories for this test, which is
3906           what is being done in -base
3907         * tests/check/Makefile.am:
3908           Mention this environment variable.
3910 2007-02-27  Wim Taymans  <wim@fluendo.com>
3912         * docs/gst/gstreamer-sections.txt:
3913         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3914         (gst_bus_timed_pop), (gst_bus_pop):
3915         * gst/gstbus.h:
3916         API: gst_bus_timed_pop()
3917         Implement gst_bus_timed_pop() to do a blocking timed wait for a
3918         message to arrive on the bus.
3920         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3921         (gst_bus_suite):
3922         Two unit tests for new _timed_pop() function.
3924 2007-02-23  Wim Taymans  <wim@fluendo.com>
3926         * gst/gstpipeline.c: (gst_pipeline_change_state),
3927         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3928         Don't ref a NULL clock in _provide_clock_func().
3929         Don't allow an INVALID delay.
3930         Don't try to calculate base_time with an invalid start_time.
3931         Also distribute and notify a NULL clock when it was selected.
3933         * tools/gst-launch.c: (event_loop):
3934         Don't crash when a NULL clock was selected in the pipeline.
3936 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3938         * docs/design/Makefile.am:
3939         * docs/design/draft-missing-plugins.txt:
3940         * docs/random/draft-missing-plugins.txt:
3941           Some small updates: update plugin system identifier prefix
3942           ('gstreamer.net' to 'gstreamer'), mention our new install
3943           API in libgstbaseutils rather than libgimme-codec, add
3944           reference to the online docs.
3946 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3948         * win32/common/config.h:
3949           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
3950           use moap cl ci to only check in what is mentioned in the ChangeLog.
3952 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3954         * docs/gst/gstreamer-sections.txt:
3955         * gst/gstelement.h:
3956           Fix up documentation to link to the correct GstGError section.
3957           Add GST_ELEMENT_INFO macro since someone else added a Info message.
3959 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3961         * tools/gst-launch.c: (event_loop):
3962           Make sure that we actually show the important message part of a
3963           warning message.
3964           No need to check if the gerror is not NULL to free; first of all
3965           g_free accepts NULL; and second the default error handler would
3966           segfault if gerror was NULL.
3968 2007-02-21  Wim Taymans  <wim@fluendo.com>
3970         * docs/gst/gstreamer-sections.txt:
3971         Removed docs as well.
3973 2007-02-21  Wim Taymans  <wim@fluendo.com>
3975         * gst/gstmessage.c: (gst_message_parse_duration):
3976         * gst/gstmessage.h:
3977         Remove new messages for release.
3979 2007-02-20  Wim Taymans  <wim@fluendo.com>
3981         * docs/design/part-gstghostpad.txt:
3982         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3983         (gst_ghost_pad_new_full):
3984         Make the ghostpad a parent of the internal pad again for better backward
3985         compatibility. Don't write code that relies on this however.
3987         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3988         (gst_pad_link_check_hierarchy):
3989         Require that parents should be GstElements in the hierarchy check.
3991 2007-02-20  Wim Taymans  <wim@fluendo.com>
3993         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3994         (gst_bin_change_state_func), (bin_query_min_max_init),
3995         (bin_query_latency_fold), (bin_query_latency_done),
3996         (gst_bin_query):
3997         Improve debug info.
3998         Implement latency query.
4000 2007-02-20  Wim Taymans  <wim@fluendo.com>
4002         * docs/design/part-gstghostpad.txt:
4003         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
4004         (gst_ghost_pad_internal_do_activate_push),
4005         (gst_ghost_pad_internal_do_activate_pull),
4006         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4007         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
4008         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
4009         Do not set the internal pad as a parent anymore so we can avoid
4010         hierarchy linking errors when the ghostpad has no parent yet. This also
4011         fixes failed activation because of unlinked internal pads, which in
4012         turn fixes the impossible case where you have to activate a pad before
4013         you can add it to a running element.
4014         Also fix the docs.
4016         * gst/gstpad.c: (pre_activate), (post_activate),
4017         (gst_pad_set_active), (gst_pad_activate_pull),
4018         (gst_pad_activate_push), (gst_pad_check_pull_range):
4019         Add some more debug info.
4020         Mark activation mode in pre_activate so that we don't try to activate in
4021         endless loops. Fixes #385084.
4023 2007-02-19  Wim Taymans  <wim@fluendo.com>
4025         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4026         (gst_base_transform_check_get_range):
4027         Implement a checkgetrange function instead of relying on the default
4028         core behaviour that assumes we can operate in pull mode if we have a
4029         getrange function. First step at fixing #385084.
4031 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
4033         * gst/gstchildproxy.h:
4034         * libs/gst/base/gstbasesink.h:
4035         * libs/gst/base/gstbasesrc.h:
4036         * libs/gst/base/gstbasetransform.h:
4037         More docs coverage and some ChangeLog surgery (add missing names)
4039 2007-02-15  Wim Taymans  <wim@fluendo.com>
4041         * docs/design/part-TODO.txt:
4042         * docs/design/part-activation.txt:
4043         * docs/design/part-block.txt:
4044         * docs/design/part-buffering.txt:
4045         * docs/design/part-clocks.txt:
4046         * docs/design/part-element-source.txt:
4047         * docs/design/part-events.txt:
4048         * docs/design/part-gstbin.txt:
4049         * docs/design/part-gstbus.txt:
4050         * docs/design/part-gstpipeline.txt:
4051         * docs/design/part-live-source.txt:
4052         * docs/design/part-messages.txt:
4053         * docs/design/part-overview.txt:
4054         * docs/design/part-qos.txt:
4055         * docs/design/part-query.txt:
4056         * docs/design/part-states.txt:
4057         * docs/design/part-trickmodes.txt:
4058         Some doc updates. Start renaming from stream_time to running_time where
4059         it was used wrongly.
4061 2007-02-15  Wim Taymans  <wim@fluendo.com>
4063         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4064         Answer LATENCY query.
4066 2007-02-15  Wim Taymans  <wim@fluendo.com>
4068         * tests/check/gst/gstevent.c: (event_probe), (test_event),
4069         (GST_START_TEST):
4070         Improve debugging.
4072 2007-02-15  Wim Taymans  <wim@fluendo.com>
4074         * gst/gstpad.c: (gst_pad_get_internal_links_default),
4075         (gst_pad_dispatcher):
4076         Improve debugging of default pad dispatcher and query functions.
4078 2007-02-15  Wim Taymans  <wim@fluendo.com>
4080         * docs/gst/gstreamer-sections.txt:
4081         Remove old unused method.
4083 2007-02-13  Wim Taymans  <wim@fluendo.com>
4085         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4086         Fix check
4088 2007-02-13  Wim Taymans  <wim@fluendo.com>
4090         * docs/design/part-seeking.txt:
4091         Some small update.
4093         * gst/gstsegment.c: (gst_segment_set_seek):
4094         Revert old bogus change that should make seeking work again.
4096 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4098         * docs/random/ensonic/dynlink.txt:
4099         * docs/random/ensonic/interfaces.txt:
4100         * docs/random/ensonic/receipies.txt:
4101           Possible dynamic reconnection api, plus some type fixes the other two
4102           docs.
4104 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
4106         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4107         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4108         Also check for an absolute path following file:// in the filesrc
4109         element. Remove redundant check and call g_path_is_absolute() on the
4110         unescaped location.
4112 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4114         * docs/design/draft-klass.txt:
4115           Add existing category analysis.
4116           
4117         * gst/gstcaps.c:
4118           Fix doc example, framerate is a fraction.
4120 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4122         * configure.ac:
4123         * docs/gst/Makefile.am:
4124         * docs/gst/gstreamer-sections.txt:
4125         * docs/libs/Makefile.am:
4126           Erm, forgot a bunch of --extra-dir.
4128 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4130         * configure.ac:
4131         * docs/gst/Makefile.am:
4132         * docs/libs/Makefile.am:
4133         * docs/plugins/Makefile.am:
4134           Add crossreferences to glib/gobject docs.
4136 2007-02-12  Wim Taymans  <wim@fluendo.com>
4138         * docs/design/draft-latency.txt:
4139         Small update.
4141         * docs/libs/gstreamer-libs-sections.txt:
4142         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4143         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
4144         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
4145         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
4146         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
4147         (gst_base_sink_get_position), (gst_base_sink_query),
4148         (gst_base_sink_change_state):
4149         * libs/gst/base/gstbasesink.h:
4150         API: gst_base_sink_query_latency() to let subclasses query the upstream
4151         latency.
4152         API: gst_base_sink_get_latency() to let subclasses query the configured
4153         latency in the sink.
4154         Implement query and set latency.
4155         Update some docs.