MAINTAINERS: Update with new email address.
[glsdk/gstreamer0-10.git] / ChangeLog
1 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3         * MAINTAINERS:
4         Update with new email address.
6         * docs/design/part-TODO.txt:
7         Add some more info about future pad-block and negotiation changes.
9         * docs/design/part-buffering.txt:
10         Add some ideas about buffering reporting.
12 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
14         * tests/check/gst/gstobject.c:
15         Disable silly racy test that always fails on this combination of CPU
16         and kernel.
18 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20         Patch by: Murray Cumming  <murrayc@murrayc.com>
22         * gst/gstobject.c:
23           Corrected the registration of the parent-set and parent-unset
24           signals: The parameter is a GstObject, not a GObject (#493134).
26 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
28         * gst/gst_private.h:
29         * gst/gstbuffer.h:
30         * gst/gstevent.h:
31         * gst/gstformat.h:
32         * gst/gstmessage.h:
33         * gst/gstplugin.h:
34         * gst/gstquery.h:
35         * gst/gsttaglist.h:
36         * gst/gstvalue.h:
37           Move declaration of private _gst_foo_initialize() functions into
38           our private header file where they should have been all along.
40 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
42         * docs/plugins/gstreamer-plugins-sections.txt:
43         * gst/gstdebugutils.h:
44         * gst/gstxml.h:
45         * plugins/elements/gstqueue.c:
46           gtk-doc fixes; trailing-comma-in-enum fix.
48 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
50         * gst/gst.c: (gst_deinit):
51           Clean up on deinit (not the external ones though, doesn't seem to be
52           needed for some reason).
54 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
56         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
57           Remove __declspec(dllimport) for MSVC that was copied over into core
58           from a plugin, obviously without ever having been tested (note the
59           single underscore in _declspec in the initial commit), and that doesn't
60           really make sense.  See #492077.
62 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
64         * gst/gst.c: (init_post):
65         * gst/gstevent.c: (_gst_event_initialize):
66         * gst/gstquery.c: (_gst_query_initialize):
67         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
68           g_type_class_ref() other types as well, see #349410 and #64764.
70         * gst/gstbuffer.c: (_gst_buffer_initialize):
71         * gst/gstmessage.c: (_gst_message_initialize):
72           Simplify existing g_type_class_ref().
74 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
76         * gst/gstformat.c: (_gst_format_initialize):
77           g_type_class_ref() our GstFormat type to make sure we avoid the
78           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
79           bug #64764. Should fix intermittent tee unit test failures (#474823).
81 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
83         * tests/check/elements/tee.c: (test_num_buffers):
84           Simplify, simplify, simplify - or not.  Rewrite unit test
85           not to use gst_parse_launch(); allow N sub-streams. Increasing
86           the number of sub-streams seems to reproduce #474823 more easily.
88 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
90         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
92         * gst/gsttrace.c:
93         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
94         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
95         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
96           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
97           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
98           so use _pipe() directly (#492077).
100         * win32/common/dirent.c: (_treaddir):
101           Add a couple of casts to make it build without warnings with MSVC.
103         * win32/common/libgstreamer.def:
104           Add some more symbols that need to be exported.
106 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
108         * tests/examples/metadata/read-metadata.c: (message_loop):
109           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
110           arriving in a second or third tag message are added to
111           the tag list as well.
113 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
115         * libs/gst/base/gstbasesrc.c:
116           Its "Since:" and not "@Since:". And remove an superflous cast.
118 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
120         * docs/libs/gstreamer-libs-sections.txt:
121         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
122         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
123         (gst_base_sink_get_property), (gst_base_sink_render_object),
124         (gst_base_sink_preroll_object),
125         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
126         (gst_base_sink_change_state):
127         * libs/gst/base/gstbasesink.h:
128         Add a new last-buffer property that contains the last buffer used in
129         basesink for preroll or rendering. useful for making snapshots.
130         API: gst_base_sink_get_last_buffer()
131         API: GstBaseSink::last-buffer
133 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
135         * docs/gst/running.xml:
136         * gst/gst.c:
137         * gst/gstdebugutils.c:
138         * gst/gstdebugutils.h:
139         * tools/gst-launch.c:
140           Improve bin graph dumping, by using the envvar to specify a path.
141           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
143 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
145         * plugins/elements/gsttypefindelement.c:
146           (gst_type_find_element_handle_event),
147           (gst_type_find_element_activate):
148           Post special error message if we can't determine the type of a stream
149           because it's empty.
151 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
153         * docs/gst/running.xml:
154         * gst/gstdebugutils.c:
155           Document new env-var. Add one log-line after dumpng a graph.
157 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
159         * configure.ac:
160           Ugly hack to put the (recently removed and non-portable, apparently)
161           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
162           GNU ld, because without that 'make check' fails miserably on my debian
163           stable box.  Someone with more knowledge of linker intricacies and
164           portability issues than me fix this properly please.
166 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
168         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
169         Reset last seen position after flushing so that we don't report the old
170         position anymore.
172 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
174         * gst/gstelementfactory.c: (gst_element_register):
175         * gst/gsturi.h:
176         Patch from Alessandro Decina adding get_type_full and
177         get_protocols_full private vfuncs to the URIHandler interface
178         to allow bindings to support creating URI handlers. 
179         Partially fixes: #339279
180         API: GstURIHandlerInterface::get_type_full
181         API: GstURIHandlerInterface::get_protocols_full
183 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
185         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
186         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
187         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
188         Make it so that pads are considered linked until a buffer is pushed
189         and discovered otherwise. This avoids problems with decodebin2 hanging
190         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
191         case.
193         Make sure we lock the multiqueue when updating the max-size properties.
194         
195         Fix a crash on Solaris in a debug statement in get_request_pad that
196         passes a NULL string to GST_DEBUG. 
198         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
199         (run_output_order_test):
200         Fix the test to allow the first buffer on not-linked pads to come out
201         of sequence while multiqueue discovers that they are not-linked.
203 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
205         * configure.ac:
206         * libs/gst/check/Makefile.am:
207         Use a custom export symbol regex for libgstcheck, as it needs
208         to export symbols that don't match the standard GStreamer gst_*
209         pattern, and  --export-dynamic is not portable (only works on 
210         GNU ld)
212         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
213         (gst_check_setup_sink_pad):
214         Make sure to pass a message parameter to the fail_* macros.
216         * tests/check/gst/gstinfo.c: (GST_START_TEST):
217         Fix some compiler warnings.
219 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
221         * tests/check/gst/gststructure.c: (test_to_string):
222           Disable test that checks that white spaces are not allowed
223           in structure names or field names, since we need to
224           support that for now for backwards compatibility reasons.
226 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
228         * docs/gst/gstreamer-sections.txt:
229         * gst/gsttaglist.c:
230         * gst/gsttaglist.h:
231           API: add GST_TAG_ARTIST_SORTNAME
232           API: add GST_TAG_ALBUM_SORTNAME
233           API: add GST_TAG_TITLE_SORTNAME
234           Add tag variants for sorting (#414539).
236 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
238         * gst/gststructure.c:
239           Also allow white space for names so we don't break
240           backwards compatibility.
242 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
244         * docs/design/part-TODO.txt:
245         * docs/design/part-segments.txt:
246         * docs/design/part-streams.txt:
247         Small updates.
249 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
251         * docs/gst/gstreamer-sections.txt:
252          Fixed documentation from my previous commit (added new API add
253          gst_value_set_structure(), add gst_value_get_structure() and
254          GST_VALUE_HOLDS_STRUCTURE).
256 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
258         * gst/gstdebugutils.c:
259           Reflow code to fix uninitialized variable warning.
261 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
263         * gst/gstcaps.c: (gst_caps_to_string),
264         (gst_caps_from_string_inplace):
265         * gst/gststructure.c: (gst_structure_get_abbrs),
266         (gst_structure_to_string), (gst_structure_from_string):
267         * gst/gstvalue.c: (gst_value_set_structure),
268         (gst_value_get_structure), (gst_value_serialize_structure),
269         (gst_value_deserialize_structure), (_gst_value_initialize):
270         * gst/gstvalue.h:
271         * tests/check/gst/gststructure.c: (GST_START_TEST),
272         (gst_structure_suite):
273         * tests/check/gst/gstvalue.c: (GST_START_TEST):
274          Added GstStructure to gst_value_table and its related functions.
275          Changed gst_structure_to_string to print ';' in the end.
276          Changed gst_caps_to_string to not print ';' beteween its
277          fields (structures) anymore and remove the lastes ';' from latest
278          structure. Now it is possible to have nested structures.
279          In addition, backward compatibilty is assured by accepting '\0' as
280          end delimiter. Fixes: #487969.
281          API: add gst_value_set_structure()
282          API: add gst_value_get_structure()
283          API: add GST_VALUE_HOLDS_STRUCTURE
285 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
287         * gst/gstbus.c:
288           When no GSource callback has been set up, tell developer
289           to use a function that actually exists.
291 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
293         * docs/gst/gstreamer-sections.txt:
294         * gst/Makefile.am:
295         * gst/gst.c:
296         * gst/gst.h:
297         * gst/gstdebugutils.c:
298         * gst/gstdebugutils.h:
299         * gst/gstinfo.c:
300         * gst/gstinfo.h:
301         * tools/gst-launch.c:
302           Allow dumping pipelines as dot graphs. Fixes #456573.
304 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
306         * gst/gststructure.c:
307           Allow '+' as well, it can be part of media or mime types
308           such as image/svg+xml.
310 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
312         * docs/gst/gstreamer-sections.txt:
313         * gst/gstbus.c:
314         * gst/gstbus.h:
315           API: add gst_bus_pop_filtered
316           API: add gst_bus_timed_pop_filtered
317           Two new functions for waiting for specific message types on the
318           bus for a specified amount of time without iterating any main
319           loops or main contexts.
321         * tests/check/gst/gstbus.c:
322           Some tests for the new functions.
324 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
326         * docs/libs/gstreamer-libs-sections.txt:
327           Make gtk-doc ignore stuff it should ignore.
329 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
331         * libs/gst/check/gstcheck.c:
332         * libs/gst/check/gstcheck.h:
333           Allow runtime selection of unit tests to run via the GST_CHECKS
334           environment variable (test case function names, comma-separated).
336 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
338         * gst/gststructure.c:
339         * tests/check/gst/gststructure.c:
340           Revert serialisation change and constrain structure-names after
341           consensus on irc. Update api documentation to reflect the change.
343 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
345         * gst/gststructure.c:
346           Improve serialization and fix tests.
348         * tests/check/gst/gststructure.c:
349           Add another test that covers why I actually did the previous structure
350           change.
352 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
354         * tools/gst-inspect.c: (print_element_info):
355         Don't crash when inspecting an element.
357 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
359         * tests/check/gst/gststructure.c:
360           Add unit test for escaping of structure name when serialising
361           and deserialising to/from strings.
363 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
365         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
366         (gst_single_queue_new):
367         * plugins/elements/gstqueue.c: (gst_queue_init),
368         (gst_queue_push_one):
369         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
370         upstream is tricked into thinking it can suggest a format downstream
371         while downstream does not support that format. The real problem is that
372         core calls acceptcaps when pushing a buffer with new caps, for which we
373         do a little workaround by setting the caps on the srcpad ourselves
374         before pushing the buffer (until this is figured out). Fixes #486758.
376 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
378         * gst/gststructure.c:
379         * gst/gstvalue.c:
380           Add some more comments and debug output. Quote structure name to fix
381           deserialisation of some strings.
383 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
385         * gst/gstbuffer.h:
386           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
387           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
389 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
391         * tools/gst-inspect.c:
392           Save approx. 400 1 byte allocs when printing. Use API to acces element
393           details.
395         * tools/gst-run.c:
396           Avoid a strdup.
398         * tools/gst-xmlinspect.c:
399           Use API to acces element details.
401 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
403         * gst/gstinfo.c:
404           Fix some spelling errors.
406 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
408         * gst/gstbin.c: (bin_handle_async_done):
409         Correctly set the next state if all of our async children commited their
410         state. This makes sure we can actually cancel the state change in
411         progress. Fixes a regression in Rhythmbox when seeking.
413 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
415         * gst/gstbin.c:
416           Don't shadow local variable.
418         * gst/gstinfo.c:
419           Don't shadow global function name.
421 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
423         * gst/gstelementfactory.c:
424         * gst/gstpluginfeature.c:
425         * gst/gstpluginfeature.h:
426         * gst/gstregistrybinary.c:
427         * gst/gstregistryxml.c:
428         * gst/gsttypefind.c:
429           Use already-interned string for the private GstPluginFeature
430           plugin_name field.
432 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
434         * docs/libs/gstreamer-libs-sections.txt:
435           Add new API to docs; fixes the build.
437 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
438         
439         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
441         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
442         (gst_base_sink_event):
443         * libs/gst/base/gstbasesink.h:
444         Add function to wait for EOS, subclasses can use this to correctly wait
445         for devices to drain before performing the EOS logic. Fixes #485343.
446         API: gst_base_sink_wait_eos()
448 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
450         * gst/gstplugin.h:
451           Cast description string constants in GST_PLUGIN_DEFINE macros
452           to a (gchar*) to make C++ code using these macros compile
453           without warning with g++-4.2 (see #462737).  Even if slightly
454           ugly, this seems preferable to putting the description strings
455           into the GLib quark table or making the structure member a
456           const gchar * and doing casts in core code that allocs and
457           frees these strings, or requiring a cast in the C++ code.
459 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
461         * gst/gstinfo.h:
462           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
463           to print the entire class/function signature into the log
464           file for C++ code.  This only affects C++ code, for C code
465           everything remains the same.
467 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
469         * gst/gstbin.c: (remove_from_queue):
470         Work around a problem with pipelines containing (semi)loops until a
471         proper, more complicated solution is ready. See #475455.
473 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
475         * gst/gstplugin.c:
476         * gst/gstplugin.h:
477         * gst/gstregistrybinary.c:
478         * gst/gstregistryxml.c:
479           Put more strings into the GLib quark table. No need to keep
480           a hundred-something copies of identical version strings,
481           license strings, package name strings and package origin
482           strings around. 
484 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
486         * docs/manual/advanced-dataaccess.xml:
487           Don't imply that it's okay to unconditionally change
488           buffer data or buffer metadata in a pad probe callback,
489           and a bunch of other comments. Fixes #430031.
491 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
493         * win32/common/gstenumtypes.c:
494         * win32/common/gstenumtypes.h:
495         * win32/common/gstversion.h:
496           Update generated files.
498 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
500         * docs/manual/advanced-autoplugging.xml:
501           Prefix section with broken code with a warning (see #342432).
503 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
505         * docs/manual/appendix-integration.xml:
506         * docs/manual/basics-init.xml:
507           Call g_thread_init() before g_option_context_new() to
508           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
510 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
512         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
513         (gst_base_sink_queue_object_unlocked),
514         (gst_base_sink_queue_object), (gst_base_sink_event),
515         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
516         When we received EOS and are waiting for when to post the EOS message,
517         our state is prerolled and we should not return ASYNC.
518         Reorganize some code paths to implement this behavior.
520         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
521         (gst_sinks_suite):
522         Add unit test to verify above EOS fix.
524 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
526         * plugins/elements/gsttypefindelement.c:
527         (gst_type_find_element_have_type), (gst_type_find_element_init),
528         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
529         Move detecting the input caps of the sinkpad to the setcaps function.
530         This allows us to update the output caps when we receive new input caps
531         instead of always using the first detected caps.
533 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
535         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
536         (gst_base_sink_get_position):
537         Don't try to preroll non-async elements after a flush.
538         Subtract latency form clock times when reporting position.
540 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
542         * gst/gstpad.c: (gst_pad_pause_task):
543         * gst/gstutils.c:
544         Small comment and documentation update.
546 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
548         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
549         (gst_base_src_set_live), (gst_base_src_is_live),
550         (gst_base_src_query_latency), (gst_base_src_perform_seek),
551         (gst_base_src_default_event), (gst_base_src_wait),
552         (gst_base_src_do_sync), (gst_base_src_get_range),
553         (gst_base_src_pad_get_range), (gst_base_src_loop),
554         (gst_base_src_unlock), (gst_base_src_unlock_stop),
555         (gst_base_src_set_flushing), (gst_base_src_set_playing),
556         (gst_base_src_activate_push), (gst_base_src_activate_pull),
557         (gst_base_src_change_state):
558         Rework the locking of basesrc in a similar fashion to basesink. We
559         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
560         us to handle live sources and semi live ones much better.
561         Simplify flushing.
562         Fix unlocking when seeking, shutting down and pausing in live sources.
564 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
566         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
567         Fix compilation again.
569 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
571         * gst/gstelement.c:
572           Use meaningful categories for the logs to clean the default one.
574 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
576         * tests/check/pipelines/cleanup.c:
577           Print message name and not just number.
579 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
581         * docs/design/draft-tagreading.txt:
582           Add some more thoughts.
584 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
586         * tests/check/pipelines/simple-launch-lines.c:
587           Print message name and not just number.
589 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
591         * libs/gst/base/gsttypefindhelper.c:
592           Speedup typefinding. This is work in progress (see #459862).
594 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
596         * gst/gstplugin.c:
597           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
598           Spotted by Josep Torra Valles <josep@fluendo.com>.
600 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
602         * gst/gstclock.h:
603           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
604           field has moved to GstObject.
606 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
608         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
609         (gst_base_src_get_range), (gst_base_src_change_state):
610         Call unlock for live sources so that they can't get stuck in _create and
611         produce a buffer before they are set back to PLAYING.
613 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
615         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
616         (gst_queue_locked_dequeue):
617         Comment the segment-related code... in the PROPER function.
618         See #482147 and my commit from yesterday.
620 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
622         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
623         Also initialize the counter that calculates the first timestamp on a
624         buffer correctly for non-live sources.
626 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
628         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
629         Disable code that's breaking the current-time-level reporting.
630         See #482147
632 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
634         * docs/gst/gstreamer-sections.txt:
635         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
636         as they shouldn't show up. Fixes the docs build.
638 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
639         
640         * gst/gstinfo.h:
641         Add an explicit variable importation needed on VS6 (only for MSC_VER)
642         Define M_PI which is used in files which are including gstinfo.h. 
643         VS6 includes doesn't define it.
644         * win32/common/libgstbase.def:
645         * win32/common/libgstcontroller.def:
646         * win32/common/libgstreamer.def:
647         Add new exported functions and variables.
648         * win32/vs6/libgstcontroller.dsp:
649         * win32/vs6/libgstreamer.dsp:
650         Update the list of files to build.
651         
652 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
654         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
656         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
657         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
658         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
659         Improve debugging. Fixes #480858.
661 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
663         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
665         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
666         First patch of code cleanups, use the macros and right arguments in the
667         macros to signal and lock the queue. See #480858.
669 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
671         * gst/gstbus.c: (poll_func):
672         Improve debugging when dealing with _poll().
674 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
676         * gst/gstregistryxml.c:
677           Fix memory leak I introduced a few days ago.
679 2007-09-26  Michael Smith <msmith@fluendo.com>
681         * gst/gstbuffer.c: (gst_buffer_finalize):
682           Make it once again possible to free GstBuffers in the default
683           build.
684           The poisoning scribbles on parts of the miniobject we need in
685           order to free it.
686           Fixes #480341
688 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
690         * docs/gst/gstreamer-sections.txt:
691         * gst/gsttaglist.c:
692         * gst/gsttaglist.h:
693         API: add GST_TAG_COMPOSER, fixes #459809.
695 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
697         * gst/gstplugin.c:
698         * gst/gstplugin.h:
699         Add the 3-clause BSD license and the MIT/X11 license to the license
700         list. Fixes #479784.
702 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
704         * docs/faq/getting.xml:
705           Add Q+A about different GStreamer versions (#364056).
707 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
709         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
710         (gst_base_sink_event), (gst_base_sink_change_state):
711         Return correct gboolean from query function.
713 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
715         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
716         (gst_base_sink_event), (gst_base_sink_query),
717         (gst_base_sink_change_state):
718         Simplify latency query.
719         When not synchronizing, we can report latency without querying the peer
720         element.
722 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
724         * gst/gstobject.h:
725         * gst/gstvalue.c:
726         Fix small typos in the docs.
728 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
730         * docs/design/draft-latency.txt:
731         * docs/design/draft-push-pull.txt:
732         * docs/design/draft-tagreading.txt:
733         * docs/design/part-MT-refcounting.txt:
734         * docs/design/part-activation.txt:
735         * docs/design/part-block.txt:
736         * docs/design/part-element-source.txt:
737         * docs/design/part-events.txt:
738         * docs/design/part-gstbin.txt:
739         * docs/design/part-gstelement.txt:
740         * docs/design/part-gstobject.txt:
741         * docs/design/part-gstpipeline.txt:
742         * docs/design/part-messages.txt:
743         * docs/design/part-preroll.txt:
744         * docs/design/part-push-pull.txt:
745         * docs/design/part-qos.txt:
746         * docs/design/part-query.txt:
747         * docs/design/part-scheduling.txt:
748         * docs/design/part-seeking.txt:
749         * docs/design/part-segments.txt:
750         * docs/design/part-states.txt:
751         Documentation updates and typo fixes.
753 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
755         * plugins/elements/gstfakesink.c:
756           Add some debug text to error message to indicate that
757           we errored out on request.
759         * tools/gst-launch.c:
760           When the state change to PLAYING fails, check for an
761           error message on the bus and print it.
763 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
765         translated by: Jorge González González <aloriel@gmail.com>
767         * po/LINGUAS:
768         * po/es.po:
769           Added Spanish translation.
771 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
773         * plugins/elements/gstqueue.c: (gst_queue_push_one):
774         Fix printf arguments.
776 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
778         * tests/check/generic/states.c:
779           Improved state change unit test.
781 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
783         * gst/gstbin.h:
784           Move priv to the right place.
786         * gst/gstsystemclock.c:
787           Add FIXME: and improve log.
789         * tests/check/Makefile.am:
790         * tests/examples/manual/Makefile.am:
791           Work with all types of registries.
793 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
795         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
796         Don't unref the event after pushing it. Fixes #478401.
798 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
800         * .cvsignore:
801         * tests/examples/manual/.cvsignore:
802           Ignore registries in any format.
804 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
806         * gst/glib-compat-private.h:
807           Add compatibility macro for g_intern_string() for
808           GLib-2.8 (any reason we can't just bump the
809           requirement to at least 2.10?)
811         * gst/gstpadtemplate.h:
812         * gst/gstelementfactory.c:
813         * gst/gstregistryxml.c:
814         * gst/gstregistrybinary.c:
815           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
816           up the internal code accordingly.  This shouldn't be a problem, since
817           there is no reason external code could ever assume the string in such
818           a structure is dynamically allocated unless it did that itself;  the
819           use of g_strdup() is private to element factories.  The new code also
820           saves some memory by putting pad template name strings into the GLib
821           quark table instead of allocating them dynamically.
822           Declaring this field constant fixes warnings with g++-4.2 when using
823           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
825 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
827         * gst/gstelementfactory.c:
828           Release static caps. Fixes #475723.
830 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
832         * gst/gstinfo.c:
833         * gst/gstinfo.h:
834           Make some internal API take const gchar * instead of just
835           gchar * to avoid compiler warnings with g++-4.2.2 when
836           passing string constants (partially fixes #478092).
838 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
840         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
841         A latency query fails when one of the sinks fail.
843         * gst/gstelement.c: (gst_element_set_base_time):
844         Improve debugging.
846 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
848         * gst/gstbin.c: (gst_bin_continue_func):
849         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
850         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
851         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
853         Fix minor compilation warnings shown with Forte.
855 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
857         * plugins/elements/gstqueue.c: (apply_buffer),
858         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
859         Measure queue level based on the diff between head and tail timestamps
860         even when pushing the first buffer.
862 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
864         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
865         (gst_base_sink_event), (gst_base_sink_change_state):
866         Sinks that don't preroll can always be queried for the latency.
867         Don't post ASYNC start when we are not async.
869 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
871         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
872         (gst_queue_handle_sink_event), (gst_queue_chain),
873         (gst_queue_push_one), (gst_queue_handle_src_query),
874         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
875         * plugins/elements/gstqueue.h:
876         When downstream returns UNEXPECTED from pushing a buffer, don't try to
877         push more buffers but allow pushing of EOS and NEWSEGMENT.
878         Add some more debug info here and there. Fixes #476514.
880 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
882         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
883         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
884         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
885         (gst_base_sink_set_flushing), (gst_base_sink_query),
886         (gst_base_sink_change_state):
887         Latency query is allowed after we are prerolled. Introduce a new flag
888         for this and stop abusing other variables.
890 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
892         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
893         Push OOB events downstream when we get them in send_event. This allows
894         the application to insert events in the pipeline.
895         Add some more comments.
897 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
899         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
900         (do_bin_latency), (gst_bin_change_state_func):
901         * gst/gstpipeline.c: (gst_pipeline_change_state):
902         Move latency query from GstPipeline to GstBin so that we can also
903         use it when async-handling is enabled on bins.
905 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
907         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
908         (gst_base_src_do_sync), (gst_base_src_change_state):
909         Update docs.
910         Clean up the timestamping and syncing code for pseudo live sources.
912 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
914         Patch by: Steve Fink  <sphink gmail com>
916         * docs/manual/appendix-checklist.xml:
917           Mention less -R switch in the section about debug output (#474055).
919 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
921         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
922         Queue can latency to the pipeline up to the configured max size in time.
923         Report this fact in the latency query.
925 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
927         Patch by: Sebastien Moutte <sebastien at moutte dot net>
929         * libs/gst/controller/gstinterpolation.c:
930         * libs/gst/controller/gstlfocontrolsource.c:
931         Use gst_guint64_to_gdouble() when converting from a uint64 or
932         GstClockTime to double to fix the build on win32. Fixes #474371.
934 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
936         * gst/gstbuffer.c: (gst_buffer_finalize):
937         Implement poisoning for GstBuffer if --enable-poisoning is specified.
938         When finalizing a buffer the complete struct is filled with 0xff,
939         thus making a use of the buffer after the final unref impossible.
941 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
943         * tests/check/libs/controller.c: (GST_START_TEST):
944         Use fail_unless_equals_int(a, b) instead of
945         fail_unless_equals (a == b) to get better output on failures.
947 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
949         * tests/check/gst/gsturi.c:
950           Also check for the other file URI variant on win32.
952 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
954         * gst/gsturi.c: (gst_uri_get_location):
955           If there's no hostname, we want to return 'c:/foo/bar.txt'
956           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
958         * tests/check/gst/gsturi.c:
959           Unit test for the above and a few more things.
961 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
963         * docs/design/part-live-source.txt:
964         Add docs on how live sources should timestamp.
966         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
967         Add some more debug info.
968         For subclasses that are live and like to sync, add aditional startup
969         latency to sync time and timestamps so that we timstamp according to the
970         design doc.
972 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
974         * gst/gstbuffer.c:
975           Also do a g_type_class_ref() for the subbuffer type in
976           the init function.
978 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
980         * docs/gst/gstreamer-sections.txt:
981         * gst/gstpad.c: (gst_pad_peer_query):
982         * gst/gstpad.h:
983         Add function to perform a query on the peer of a pad.
984         API: gst_pad_peer_query()
986 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
988         * tests/check/gst/gstsystemclock.c:
989           Cleanup the test a little (use gst-logging and not g_message). Improve
990           test to check if a wait reached the target.
992 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
994         * docs/libs/gstreamer-libs-sections.txt:
995           Add new API to docs and fix the build.
997 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
999         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1000         (gst_base_src_init), (gst_base_src_set_do_timestamp),
1001         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
1002         (gst_base_src_get_property), (gst_base_src_do_sync):
1003         * libs/gst/base/gstbasesrc.h:
1004         Add property to make the basesrc timestamp buffers based on the current
1005         running time.
1006         API: GstBaseSrc::do-timestamp
1007         API: gst_base_src_set_do_timestamp()
1008         API: gst_base_src_get_do_timestamp()
1010 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
1012         * docs/random/release:
1013           Really make sure translations are up-to-date before
1014           a release (#465010).
1016 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
1018         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1019         Always destroy the timer, also in error cases.
1021 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1023         * docs/manual/highlevel-xml.xml:
1024         Fix XML example code. Fixes #472714.
1026 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1028         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1029         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1030         (gst_base_sink_query):
1031         Protect eos and have_preroll with the OBJECT lock so we don't need to
1032         take the PREROLL lock when querying the latency. Fixes #473846.
1034 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
1036         * gst/gstelement.c:
1037           Give some log-messages a category.
1039 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
1041         * gst/gststructure.c:
1042         (gst_structure_fixate_field_nearest_fraction):
1043         Fix fraction list fixation code. Take the fraction with the smallest
1044         difference with the target instead of the first one in the list.
1046         * tests/check/gst/gststructure.c: (GST_START_TEST),
1047         (gst_structure_suite):
1048         Added test to verify correct fraction list fixation behaviour.
1050 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
1052         * win32/common/libgstreamer.def:
1053           Export gst_bus_add_signal_watch too.
1055 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1057         * docs/libs/gstreamer-libs-sections.txt:
1058         Add new methods to docs.
1060         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1061         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1062         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1063         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1064         * libs/gst/base/gstbasesink.h:
1065         Add ts-offset property to fine-tune the synchronisation.
1066         API: GstBaseSink::ts-offset property
1067         API: gst_base_sink_set_ts_offset()
1068         API: gst_base_sink_get_ts_offset()
1070 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1072         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1073         (gst_base_sink_init), (gst_base_sink_set_sync),
1074         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1075         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1076         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1077         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1078         (gst_base_sink_get_property), (gst_base_sink_change_state):
1079         * libs/gst/base/gstbasesink.h:
1080         Add async property to instruct the sink never to inform the parent about
1081         ASYNC state changes, update docs.
1082         Check argument with g_return_* for the public functions.
1083         API: GstBaseSink::async property
1084         API: gst_base_sink_set_async_enabled()
1085         API: gst_base_sink_is_async_enabled()
1087 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1089         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1090         Improve debugging.
1092         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1093         (gst_base_src_default_query), (gst_base_src_wait),
1094         (gst_base_src_do_sync), (gst_base_src_change_state):
1095         Rearrange some code so that we can add support for measuring the 
1096         startup latency.
1098 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1100         * docs/random/ensonic/dynlink.txt:
1101           More thoughs on this.
1103         * plugins/elements/gstcapsfilter.c:
1104           Add bugzilla ticket number to FIXME comment.
1106 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1108         * docs/design/part-TODO.txt:
1109         * docs/design/part-block.txt:
1110         Update some docs.
1112 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1114         * gst/Makefile.am:
1115           Revert patch which uses $(gst_headers) instead of $^ because it
1116           breaks make dist.
1118 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1120         * tests/check/gst/gstbin.c: (GST_START_TEST):
1121           Fix leaks in the new unit test.
1123 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
1125         * gst/gst.c:
1126           Don't use GST_INFO before the debug system is actually initialised
1127           (shouldn't do any harm, but won't print anything either, so we can
1128           just as well remove it).
1130         * gst/gstinfo.h:
1131           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1132           compilers that don't support variadic macros (such as MSVC), should
1133           check for debug_level <= __gst_debug_min as well, since that's the
1134           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1135           inline helper functions. Should improve performance a bit, but also
1136           makes sure uses of GST_INFO et.al are ignored if the debugging
1137           system isn't initialised yet (instead of printing an assertion
1138           failure).
1140 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
1142         patch by: David Nečas <yeti@physics.muni.cz>
1144         * gst/Makefile.am:
1145           Replace some non portable makefile constructs.
1147 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
1149         * common/gtk-doc-plugins.mak:
1150           Grrrrr. Don't remove the types file on make clean.
1152 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
1154         * tools/gst-launch.1.in:
1155         Add colorspace to example pipeline. Fixes #458274.
1157 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
1159         * docs/random/release:
1160           The release manager should run 'make download-po' before making a
1161           release to make sure translations are up-to-date.
1163         * po/LINGUAS:
1164         * po/be.po:
1165         * po/pl.po:
1166         * po/rw.po:
1167           Add some new translations.
1169 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
1171         * tools/gst-launch.c: (event_loop), (main):
1172         Don´t try to do any state management when a live pipeline posts
1173         buffering messages.
1174         Also make the buffering string translatable.
1176 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1178         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1179         (bin_handle_async_start), (gst_bin_handle_message_func):
1180         Improve debugging.
1181         When adding elements, insert messages into the bus of the newly added
1182         element and make sure the element is the source of the message. This
1183         allows the parent bin to intercept the message and do the
1184         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1185         messages to the app (which is not allowed).
1186         Update some docs.
1188         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1189         Fix testsuite so that is does not work around messages that should not
1190         have been posted in the first place.
1192 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1194         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1195         (update_degree), (gst_bin_sort_iterator_next):
1196         Fix annoying bug in the sorted iterator where a sink that is not really
1197         a sink (when it has downstream links) screwed up the iterator.
1199         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1200         Unit test to verify the fix.
1202 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1204         * gst/gstmessage.h:
1205         Add some more docs for the messages.
1207         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1208         (gst_base_sink_query):
1209         Add some more debugging.
1211         * tools/gst-launch.c: (event_loop):
1212         When interrupting, don't try to set pipeline to PAUSED twice.
1214 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1216         
1217         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1218         (bin_handle_async_start), (gst_bin_handle_message_func):
1219         Move ASYNC_START message posting to where it belongs, similar to
1220         async_done. 
1221         Don't post ASYNC_START when we are in error. 
1222         Post ASYNC_START when we added an async element to a bin.
1224 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1226         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1227         generation from vargs. Fixes #466595.
1229 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1231         * gst/gstbin.c: (gst_bin_element_set_state):
1232         Always change the state of a NO_PREROLL element even if it has ASYNC
1233         elements inside (in case of a bin).
1235         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1236         Unit test for this case.
1238 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1240         * libs/gst/check/gstbufferstraw.c:
1241         * libs/gst/check/gstcheck.h:
1242         * libs/gst/controller/gstcontroller.c:
1243         * libs/gst/controller/gstcontrolsource.h:
1244         * libs/gst/controller/gstlfocontrolsource.h:
1245         * plugins/elements/gstcapsfilter.h:
1246         * plugins/elements/gstfdsink.h:
1247         * plugins/elements/gstfdsrc.h:
1248           Add more missing docs.
1250 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1252         * gst/gststructure.c:
1253         Add Since tag to docs.
1255 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1257         * docs/gst/gstreamer-sections.txt:
1258         * gst/gststructure.c: (gst_structure_get_uint):
1259         * gst/gststructure.h:
1260         Add function to get uint from a structure.
1261         API: gst_structure_get_uint()
1263 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1265         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1266         (gst_caps_intersect):
1267         Fix proper check for simple caps.
1269 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1271         * docs/gst/Makefile.am:
1272         * docs/libs/Makefile.am:
1273           Remove cruft and do some cleanups.
1275         * docs/gst/gstreamer-docs.sgml:
1276         * docs/libs/gstreamer-libs-docs.sgml:
1277           Prepare for comming gtkdoc features (rebase against online docs).
1279 2007-08-10  Michael Smith <msmith@fluendo.com>
1281         * docs/gst/gstreamer-sections.txt:
1282           Add gst_registry_add_path to docs.
1284 2007-08-10  Michael Smith <msmith@fluendo.com>
1286         * gst/gstregistry.h:
1287           Add gst_registry_add_path, which was missing from this header.
1289 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1291         * libs/gst/controller/gstlfocontrolsource.c:
1292           Printf format fix.
1294 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1296         * libs/gst/base/gstbasesink.c:
1297           Don't send an async_start message during downwards state change if 
1298           target state is less than READY
1300 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1302         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1304         * po/LINGUAS:
1305         * po/hu.po:
1306           Added Hungarian translation.
1308 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1310         * po/fi.po:
1311         * po/it.po:
1312         * po/nl.po:
1313         * po/sv.po:
1314         * po/uk.po:
1315           Updated translations.
1317 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1319         * libs/gst/controller/Makefile.am:
1320         Dist gstlfocontrolsourceprivate.h
1322 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1324         * docs/libs/gstreamer-libs.types:
1325         Don't register the enum type gst_lfo_waveform_get_type() in the
1326         .types file - only GObject derived types belong.
1328 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1330         Patch by: <arenevier at fdn dot fr>
1332         * gst/gstbuffer.h:
1333         Remove comma from last element in enum to avoid compile errors when
1334         using -pendantic. Fixes #464366.
1336 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1338         * docs/design/part-TODO.txt:
1339         Add some more TODO items
1341         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1342         Improve debugging.
1344         * gst/gstcaps.c: (gst_caps_intersect):
1345         Optimize trivial intersection case between identical caps pointers.
1347         * gst/gstelement.c: (gst_element_continue_state),
1348         (gst_element_set_state_func):
1349         * gst/gstpad.c:
1350         Fix spelling and grammar mistakes.
1352 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1354         * po/POTFILES.in:
1355         * po/POTFILES.skip:
1356           Update POTFILES. Fixes #461599.
1358 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1360         * gst/gst.c:
1361         Fix confusing typo in debug output.
1363 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1365         reviewed by: Stefan Kost <ensonic@users.sf.net>
1367         * libs/gst/controller/Makefile.am:
1368         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1369         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1370         (gst_lfo_control_source_new),
1371         (gst_lfo_control_source_set_waveform),
1372         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1373         (gst_lfo_control_source_finalize),
1374         (gst_lfo_control_source_dispose),
1375         (gst_lfo_control_source_set_property),
1376         (gst_lfo_control_source_get_property),
1377         (gst_lfo_control_source_class_init):
1378         * libs/gst/controller/gstlfocontrolsource.h:
1379         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1380         API: Add GstLFOControlSource, a control source that gives values
1381         for specific timestamps based on several periodic waveforms.
1382         Fixes #459717.
1384         * tests/check/libs/controller.c: (GST_START_TEST),
1385         (gst_controller_suite):
1386         * docs/libs/gstreamer-libs-docs.sgml:
1387         * docs/libs/gstreamer-libs-sections.txt:
1388         * docs/libs/gstreamer-libs.types:
1389         Add documentation and unit tests for GstLFOControlSource.
1391 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1393         * configure.ac:
1394         Back to CVS
1396 === release 0.10.14 ===
1398 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1400         * configure.ac:
1401           releasing 0.10.14, "Breathing Vacuum"
1403 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1405         * gst/gstelement.c: (gst_element_class_set_details_simple):
1406         * gst/gstelement.h:
1407           Make strings passed to gst_element_class_set_details_simple()
1408           constant, as they should be (#462752).
1410 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1412         * gst/gstbin.c: (gst_bin_change_state_func),
1413         (bin_handle_async_done), (gst_bin_handle_message_func):
1414         Don't forget about the fact that some element went ASYNC even after a
1415         resync. This makes us post the ASYNC_DONE message correctly.
1416         Fixes #462558.
1418 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1420         * gst/gstregistry.c: (gst_registry_add_feature):
1421         When replacing an existing feature in the registry, make sure to
1422         continue holding a reference until we've replaced the name string
1423         within our feature hash table. Make sure to use g_hash_table_replace
1424         instead of g_hash_table_insert to ensure the new name string is used
1425         as a key instead of the old one that we're about to free.
1426         Fixes: #462085
1428 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1430         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1431         (gst_plugin_feature_set_name):
1432         Revert patch from #459466 until after the release and we can work
1433         out exactly what the problem is (if any).
1435 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1437         * docs/gst/gstreamer-sections.txt:
1438         * gst/gsttaglist.c:
1439         * gst/gsttaglist.h:
1440           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1442 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1444         * docs/libs/Makefile.am:
1445         Include our build-prefix libs and includes before the generic ones to
1446         avoid linking against the installed libs when we want the build-tree
1447         ones.
1449 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1451         Patch by: Steve Fink  <sphink gmail com>
1453         * docs/pwg/building-testapp.xml:
1454           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1455           if people try to build or install the example from the plugin
1456           template against a GStreamer from package using the configure
1457           defaults.
1459 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1461         Patch by: Steve Fink  <sphink gmail com>
1463         * tools/gst-inspect.1.in:
1464           Document --print-all and --print-plugin-auto-install-info command
1465           line options in man page.
1467 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1469         * docs/gst/gstreamer-sections.txt:
1470         Add docs for new api function.
1472 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1474         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1475         * gst/gstelementfactory.h:
1476         API: gst_element_factory_has_interface()
1477         Added method to check if an element factory implements a named
1478         interface.
1480 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1482         * configure.ac:
1483         * docs/gst/gstreamer.types.in:
1484           Another conditional doc check.
1486         * gst/gstmessage.c:
1487         * gst/gstparamspecs.h:
1488         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1489         * gst/gstvalue.c:
1490         * gst/gstxml.h:
1491           API-doc fixes.
1493 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1495         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1496         (gst_registry_binary_load_feature),
1497         (gst_registry_binary_load_plugin),
1498         (gst_registry_binary_read_cache):
1499           Print error just once and with additional info.
1501 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1503         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1504         (helper_find_suggest), (helper_find_get_length),
1505         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1506         (gst_type_find_helper_for_buffer):
1507           Cleanup the typefindhelper code and add private doc comments.
1509 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1511         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1512         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1513         Fix capsfilter for cases where the caps set on capsfilter will provide
1514         additional information.
1515         Fixes #449197
1517 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1519         * gst/gsttypefindfactory.c:
1520           Fix docs that recommened wrong function to use.
1522 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1524         * tools/gst-inspect.c: (print_plugin_features):
1525           Also give media-type for typefinders in element output.
1527 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1529         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1530         (gst_registry_remove_features_for_plugin_unlocked),
1531         (gst_registry_add_feature), (gst_registry_remove_feature),
1532         (gst_registry_lookup_feature_locked):
1533         * gst/gstregistry.h:
1534           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1535           Fixes #459501.
1537 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1539         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1540         (gst_plugin_feature_set_name):
1541           Avoid double memory usage for pluginfeature names. Fixes #459466.
1543 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1545         * gst/gstpad.h:
1546           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1547           driving the pipeline may need to explicitly check for NOT_LINKED as
1548           well, since IS_FATAL doesn't cover that.
1550 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1552         * docs/pwg/advanced-types.xml:
1553           Fix typo and duplicate entry in video formats list.
1555 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1557         * libs/gst/controller/gstinterpolation.c:
1558         Also round to the nearest int when using cubic interpolation.
1560 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1562         * libs/gst/controller/gstinterpolation.c:
1563         When linearly interpolating integer types, round to the nearest int
1564         by adding 0.5. Don't do it for float/double types.
1565         Fixes the failing controller test on my machine, which is somehow
1566         rounding differently than on the buildbots.
1568 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1570         * tools/gst-plot-timeline.py:
1571           Better log parsing (categories can have -). Adjust text vs. lines, so
1572           that they span the same y-range.        
1574 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1576         * docs/random/ensonic/audiobaseclasses.txt:
1577         * docs/random/ensonic/dynlink.txt:
1578         * docs/random/ensonic/profiling.txt:
1579           Save my thoughts.
1581         * docs/random/moving-plugins:
1582           Add note to use g_assert type macros.
1584 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1586         * configure.ac:
1587         * libs/gst/check/Makefile.am:
1588           Add libm check as we use in for plugins.
1590 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1592         * gst/gstbin.c: (gst_bin_continue_func):
1593         Check that the state_cookie hasn't changed since the continue_func
1594         was scheduled. Avoids problems where the state changes back to
1595         something it shouldn't be because it was changed in the meantime.
1597 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1599         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1600         (gst_registry_binary_save_string),
1601         (gst_registry_binary_save_pad_template),
1602         (gst_registry_binary_save_feature),
1603         (gst_registry_binary_save_plugin),
1604         (gst_registry_binary_load_feature),
1605         (gst_registry_binary_load_plugin),
1606         (gst_registry_binary_read_cache):
1607           Fix memory leak. Be less verbose in the log.
1609 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1611         * tests/check/elements/.cvsignore:
1612         Add file to cvsignore as commanded.
1614 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1616         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1617         (mq_dummypad_event), (run_output_order_test):
1618         Use a GStaticMutex to protect all cases where libcheck
1619         fail_if/fail_unless macros might be called from multiple threads
1620         simultaneously to avoid errors like:
1621           "check_pack.c:107: :-1081725400:Bad message type arg"
1623 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1625         * tests/check/pipelines/stress.c: (GST_START_TEST):
1626         Make sure we set the pipeline back to the NULL state before
1627         dropping our final reference.
1629 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1631         * tests/check/elements/tee.c: (GST_START_TEST):
1632         Make the tee stress-test a little less stressful so it doesn't just
1633         time out on slow-machines, and remove a small race when it's starting 
1634         up by adding a get_state() call.
1636 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1638         * gst/gst.c:
1639           Avoid reading registry twice on startup. Fixes #457322.
1641 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1643         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1644         * pkgconfig/gstreamer-check.pc.in:
1645         Substitute the CFLAGS for libcheck into our .pc file too so that
1646         dependent modules will pick it up properly if libcheck is installed
1647         into some other prefix.
1649 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1651         * configure.ac:
1652         Revert the pkg-config check for libcheck, since it pulls in the
1653         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1654         a proper solution, either from the check project, or something else.
1656 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1658         * configure.ac:
1659           Use pkg-config to locate check.
1661 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1663         * gst/gsttaglist.c:
1664           Fix doc syntax.
1666         * gst/gstutils.c:
1667         * gst/gstutils.h:
1668           Add deprecation guards.
1670         * libs/gst/base/gstcollectpads.h:
1671           Don't document object (this is implicitly private).
1673 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1675         * gst/gststructure.c: (gst_structure_parse_value):
1676           When deserialising foo=bar without a type cast, check if it's a
1677           boolean before falling back to a string type, otherwise things like
1678           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1679           because the filtercaps end up having a signed=(string)true field,
1680           which causes problems later when intersection caps.
1682         * tests/check/gst/gststructure.c: (GST_START_TEST):
1683           Add a unit test for this.
1685 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1687         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1689         * libs/gst/controller/Makefile.am:
1690         * libs/gst/controller/gstcontroller.c:
1691         (gst_controlled_property_add_interpolation_control_source),
1692         (gst_controlled_property_new), (gst_controlled_property_free),
1693         (gst_controller_find_controlled_property),
1694         (gst_controller_new_valist), (gst_controller_new_list),
1695         (gst_controller_new), (gst_controller_remove_properties_valist),
1696         (gst_controller_remove_properties_list),
1697         (gst_controller_remove_properties),
1698         (gst_controller_set_property_disabled),
1699         (gst_controller_set_disabled), (gst_controller_set_control_source),
1700         (gst_controller_get_control_source), (gst_controller_get),
1701         (gst_controller_sync_values), (gst_controller_get_value_array),
1702         (_gst_controller_dispose), (gst_controller_get_type),
1703         (gst_controlled_property_set_interpolation_mode),
1704         (gst_controller_set), (gst_controller_set_from_list),
1705         (gst_controller_unset), (gst_controller_unset_all),
1706         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1707         * libs/gst/controller/gstcontroller.h:
1708         * libs/gst/controller/gstcontrollerprivate.h:
1709         * libs/gst/controller/gstcontrolsource.c:
1710         (gst_control_source_class_init), (gst_control_source_init),
1711         (gst_control_source_get_value),
1712         (gst_control_source_get_value_array), (gst_control_source_bind):
1713         * libs/gst/controller/gstcontrolsource.h:
1714         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1715         (gst_object_get_control_source):
1716         * libs/gst/controller/gstinterpolation.c:
1717         (gst_interpolation_control_source_find_control_point_node),
1718         (gst_interpolation_control_source_get_first_value),
1719         (_interpolate_none_get), (interpolate_none_get),
1720         (interpolate_none_get_boolean_value_array),
1721         (interpolate_none_get_enum_value_array),
1722         (interpolate_none_get_string_value_array),
1723         (_interpolate_trigger_get), (interpolate_trigger_get),
1724         (interpolate_trigger_get_boolean_value_array),
1725         (interpolate_trigger_get_enum_value_array),
1726         (interpolate_trigger_get_string_value_array):
1727         * libs/gst/controller/gstinterpolationcontrolsource.c:
1728         (gst_control_point_free), (gst_interpolation_control_source_reset),
1729         (gst_interpolation_control_source_new),
1730         (gst_interpolation_control_source_set_interpolation_mode),
1731         (gst_interpolation_control_source_bind),
1732         (gst_control_point_compare), (gst_control_point_find),
1733         (gst_interpolation_control_source_set_internal),
1734         (gst_interpolation_control_source_set),
1735         (gst_interpolation_control_source_set_from_list),
1736         (gst_interpolation_control_source_unset),
1737         (gst_interpolation_control_source_unset_all),
1738         (gst_interpolation_control_source_get_all),
1739         (gst_interpolation_control_source_get_count),
1740         (gst_interpolation_control_source_init),
1741         (gst_interpolation_control_source_finalize),
1742         (gst_interpolation_control_source_dispose),
1743         (gst_interpolation_control_source_class_init):
1744         * libs/gst/controller/gstinterpolationcontrolsource.h:
1745         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1746         API: Refactor GstController into the core controller which can take
1747         a GstControlSource for providing actual values for timestamps.
1748         Implement a interpolation control source and use this for backward
1749         compatibility, deprecate a bunch of functions that are now handled
1750         by GstControlSource or GstInterpolationControlSource.
1751         Make it possible to disable the controller completely or only for
1752         specific properties. Fixes #450711.
1753         * docs/libs/gstreamer-libs-docs.sgml:
1754         * docs/libs/gstreamer-libs-sections.txt:
1755         * docs/libs/gstreamer-libs.types:
1756         Add new functions and classes to the docs.
1757         * tests/check/libs/controller.c: (GST_START_TEST),
1758         (gst_controller_suite):
1759         * tests/examples/controller/audio-example.c: (main):
1760         Port unit test and example to the new API and add some new
1761         unit tests.
1763 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
1765         Patch by: Mark Nauwelaerts <manauw at skynet be>
1767         * plugins/elements/gstmultiqueue.c:
1768         (gst_multi_queue_get_internal_links), (apply_buffer),
1769         (single_queue_overrun_cb), (gst_single_queue_new):
1770         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1771         the pipeline layout can be tracked correctly. Fixes #453732.
1773 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
1775         * docs/gst/Makefile.am:
1776         * docs/libs/Makefile.am:
1777         * docs/plugins/Makefile.am:
1778           Simplify --extra-dir as gtkdoc scans recursively.
1780 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1782         * tools/gst-launch.c: (main):
1783         When we got an error, there is no point in waiting for preroll when
1784         shutting down.
1786 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1788         * plugins/elements/gsttee.c: (gst_tee_base_init),
1789         (gst_tee_request_new_pad), (gst_tee_release_pad),
1790         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1791         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1792         (gst_tee_chain):
1793         Be a lot smarter when deciding what srcpad to use for proxying
1794         the buffer_alloc. Also handle pad added/removed when doing so.
1795         Fixes #357959.
1796         Keep track of what pads we already pushed on in case we have pads
1797         added/removed while pushing. Fixes #374639 
1799         * tests/check/Makefile.am:
1800         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1801         (tee_suite):
1802         Added unit test for pad resync.
1804 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1806         * po/nl.po:
1807         * po/sv.po:
1808           Updated translations.
1810 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1812         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1814         * po/LINGUAS:
1815         * po/fi.po:
1816           Added new Finnish translation.
1818 2007-06-28  Wim Taymans  <wim@fluendo.com>
1820         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1821         (single_queue_overrun_cb):
1822         When figuring out when a queue is filled, use our internal time estimate
1823         based on segments, just like check_full does.
1825 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1827         * gst/gstminiobject.c: (gst_mini_object_get_type):
1828           Remove 3 do-nothing methods.
1830 2007-06-27  Wim Taymans  <wim@fluendo.com>
1832         Patch by: Tim Angus <tim at ngus dot net>
1834         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1835         (gst_capsfilter_set_property):
1836         Take a reference instead of a copy when setting "caps".
1837         Fix documentation to clarify this behaviour. Fixes #449414.
1839 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1841         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1842         * gst/gstplugin.c: (gst_plugin_init):
1843         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1844         * gst/gstquery.c: (gst_query_get_type):
1845         * gst/gstregistry.c: (gst_registry_init):
1846         * gst/gsturi.c: (gst_uri_handler_base_init):
1847           Remove empty instance_init() functions to save relocs and lessen the
1848           noise. Remove some of the function prototypes that are doubled by
1849           G_DEFINE_TYPE.
1850           
1851 2007-06-27  Wim Taymans  <wim@fluendo.com>
1853         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1855         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1856         Add peer and direction in the XML serialisation of ghostpads.
1857         Fixes #449226.
1859 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1861         * configure.ac:
1862           Preserve useful information, thanks Tim.
1864 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
1866         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1867         (gst_single_queue_flush), (apply_segment), (apply_buffer),
1868         (gst_single_queue_push_one), (gst_multi_queue_loop),
1869         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1870         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1871         (compute_high_id), (gst_single_queue_new):
1872         * plugins/elements/gstmultiqueue.h:
1873         Take the multiqueue lock when updating the fill level so we don't get
1874         confused. 
1876         After applying a buffer or event on the src pad segment, make sure to
1877         call gst_data_queue_limits_changed() to get the data queue to unblock
1878         and check the filled state again.
1879         
1880         Rework the not-linked pad handling so the logic is that not-linked 
1881         pads can push as fast as they like, but only so they never get 
1882         ahead of any linked pads.
1884         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1885         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1886         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1888         Add a test to check that not-linked pads always stay behind
1889         linked pads.
1891         Fixes: #430682
1893 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
1895         * docs/random/release:
1896           Some updates to the release procedure.
1898 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1900         * gst/gstelementfactory.c: (__gst_element_details_clear):
1901           Microoptimization that saves stunning 80 bytes.
1903 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
1905         * docs/plugins/gstreamer-plugins.args:
1906         * docs/plugins/inspect/plugin-coreelements.xml:
1907         * docs/plugins/inspect/plugin-coreindexers.xml:
1908           Update docs with caps info.
1910 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1912         * po/it.po:
1913           Updated Italian translation.
1915 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1917         * ChangeLog:
1918         * po/vi.po:
1919           Update Vietnamese translations.
1921 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1923         * libs/gst/base/gstbasesink.c:
1924           Remove unused signal enum.
1926 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1928         * docs/gst/gstreamer-sections.txt:
1929         * gst/gstelement.c:
1930         * gst/gstutils.c: (gst_type_register_static_full):
1931         Beef up and include the docs for gst_type_register_static_full and
1932         gst_element_class_set_details_simple and add the API keyword
1933         in the ChangeLog.
1935 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1937         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1938         (update_time_level), (gst_single_queue_push_one),
1939         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1940         (single_queue_overrun_cb), (single_queue_underrun_cb),
1941         (single_queue_check_full):
1942         Fix setting max-* properties after adding queues.
1943         Use IS_FILLED for checking visible items.
1944         Signal overrun if multiple queues overrun.
1945         Add extra debug output.
1946         Patch by: Wim Taymans <wim@fluendo.com>
1948 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
1950         * gst/gstelement.c: (gst_element_class_set_details_simple):
1951         * gst/gstelement.h:
1952         * gst/gstutils.c: (gst_type_register_static_full):
1953         * gst/gstutils.h:
1954         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1955         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1956         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1957         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1958         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1959         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1960         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1961         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1962         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1963         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1964         (apply_buffer), (gst_queue_chain):
1965         * plugins/elements/gsttee.c: (gst_tee_base_init):
1966         * plugins/elements/gsttypefindelement.c:
1967         (gst_type_find_element_base_init),
1968         (gst_type_find_element_class_init):
1969           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1970           API: add gst_type_register_static_full
1971           API: add gst_element_class_set_details_simple
1973 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1975         * docs/pwg/advanced-types.xml:
1976           Fix typo in iana.org URI.
1978 2007-06-19  Andy Wingo  <wingo@pobox.com>
1980         * tests/check/pipelines/simple-launch-lines.c
1981         (test_state_change_returns): Enable pull-mode tests now that
1982         basesink has been fixed.
1984         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1985         Changed from gst_base_sink_is_prerolled, reversing the sense of
1986         the return value. Returns FALSE also if the sink is in pull mode,
1987         in which case it needs no preroll.
1988         (gst_base_sink_query, gst_base_sink_change_state): Update for
1989         needs_preroll change.
1990         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1991         chaining up, in which we return SUCCESS directly if we activated
1992         in pull mode instead of ASYNC. Involves countering an async_start
1993         message sent before chaining up; not sure if this is correct, in
1994         an ideal world we only send async-start when activating in push
1995         mode.
1997         * tests/check/pipelines/simple-launch-lines.c
1998         (test_state_change_returns): New test, partially disabled until
1999         basesink is fixed.
2001 2007-06-19  Wim Taymans  <wim@fluendo.com>
2003         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2004         (gst_multi_queue_sink_event):
2005         Fix event leak.
2007 2007-06-19  Wim Taymans  <wim@fluendo.com>
2009         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2010         (gst_bin_change_state_func), (bin_push_state_continue),
2011         (bin_handle_async_start), (bin_handle_async_done),
2012         (gst_bin_handle_message_func):
2013         Move the common code for posting state-change messages into
2014         one function.
2015         Broadcast the state signal after we posted the messages.
2016         Mark the bin as busy when it's doing a state-change.
2017         Make sure async-start/done messages don't interfere with the bin's
2018         state when it's busy.
2019         After the state change, let the bin check which elements completed the
2020         state change while it was busy so that it can update its state.
2022 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
2024         * docs/random/release:
2025         Add a note about updating the doap file to the release checklist
2027 2007-06-18  Wim Taymans  <wim@fluendo.com>
2029         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2030         (gst_single_queue_push_one), (gst_multi_queue_chain),
2031         (gst_multi_queue_sink_event):
2032         Make sure we don't reference the buffer/event after we have given away
2033         ownership in the queue.
2035 2007-06-18  Wim Taymans  <wim@fluendo.com>
2037         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2038         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2039         Update queue state _after_ adding the item in the queue because else we
2040         could end up being full without the element added yet.
2042 2007-06-18  Wim Taymans  <wim@fluendo.com>
2044         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2045         (gst_bin_remove_func), (gst_bin_get_state_func),
2046         (gst_bin_element_set_state), (gst_bin_continue_func),
2047         (bin_push_state_continue), (bin_handle_async_start),
2048         (bin_handle_async_done), (gst_bin_handle_message_func):
2049         * gst/gstbin.h:
2050         Immediatly commit the toplevel bin state when receiving an async-done
2051         message. This enables us to avoid spawning a thread to commit the state
2052         in some common cases and it also avoids some races.
2053         Avoid spawning a state thread when adding/removing async elements to a
2054         toplevel bin. Instead we immediatly update the bin state.
2055         Get rid of iterating all the children when getting the state in the bin
2056         because it is now always up-to-date.
2057         Fix bug where locked elements would always return _SUCCESS even it they
2058         returned NO_PREROLL before being locked.
2059         Fix the order of the state_change, async-start/done messages that was
2060         sometimes incorrect.
2061         Mark the state_dirty field as deprecated, we don't need it anymore as we
2062         are always up-to-date.
2064         * gst/gstelement.c: (gst_element_get_state_func),
2065         (gst_element_continue_state):
2066         Small debug inprovements.
2067         Return the previous element state return when nothing is pending instead
2068         of blindly returning SUCCESS.
2070         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2071         (gst_sinks_suite):
2072         Add a whole bunch of new testcases.
2074 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2076         * po/uk.po:
2077         * po/vi.po:
2078           Update translations.
2080 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2082         * gst/gstpad.c:
2083         Fix typo in the docs.
2085 2007-06-15  Wim Taymans  <wim@fluendo.com>
2087         * docs/libs/gstreamer-libs-sections.txt:
2088         Add docs for new methods.
2090 2007-06-15  Wim Taymans  <wim@fluendo.com>
2092         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2093         (gst_multi_queue_item_new):
2094         Don't use GSlice because we don't depend on >= 2.10 yet.
2096 2007-06-15  Wim Taymans  <wim@fluendo.com>
2098         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2099         (update_time_level), (apply_segment), (apply_buffer),
2100         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2101         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2102         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2103         (single_queue_underrun_cb), (single_queue_check_full):
2104         Remove debug printf.
2106 2007-06-15  Wim Taymans  <wim@fluendo.com>
2108         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2109         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2110         (gst_data_queue_set_flushing), (gst_data_queue_push),
2111         (gst_data_queue_pop), (gst_data_queue_drop_head),
2112         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2113         * libs/gst/base/gstdataqueue.h:
2114         Various cleanups.
2115         Added methods to get the current levels and to inform the queue that the
2116         'full' limits changed.
2118         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2119         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2120         (gst_single_queue_flush), (update_time_level), (apply_segment),
2121         (apply_buffer), (gst_single_queue_push_one),
2122         (gst_multi_queue_item_steal_object),
2123         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2124         (gst_multi_queue_loop), (gst_multi_queue_chain),
2125         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2126         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2127         (gst_multi_queue_src_query), (single_queue_overrun_cb),
2128         (single_queue_underrun_cb), (single_queue_check_full),
2129         (gst_single_queue_new):
2130         Keep track of time in the queue by measuring the difference between
2131         running_time on input and output. This gives more accurate results and
2132         can compensate for segments correctly.
2133         Make a queue by default only 5 buffers deep. We will now increase the
2134         buffer size depending on the filledness of the other queues.
2135         Factor out commong flush code.
2136         Make sure we don't add additional refcounts to buffers when we can avoid
2137         it.
2138         Propagate GstFlowReturn differently.
2139         Use GSlice for intermediate GstMultiQueueItems.
2140         Keep track of EOS.
2141         Resize queues on over and underruns based on filled level of other
2142         queues.
2143         When checking if the queue is filled, prefer to measure in time if we
2144         can and fall back to bytes when no time is known.
2146         * plugins/elements/gstqueue.c:
2147         Fix return value.
2149 2007-06-15  Wim Taymans  <wim@fluendo.com>
2151         * libs/gst/base/gstbasetransform.c:
2152         (gst_base_transform_sink_event):
2153         Work around the brokenness of the event vmethod in basetransform. Prefer
2154         to return TRUE when the subclass returned FALSE (meaning don't forward
2155         the event). 
2157         * libs/gst/base/gstbasetransform.h:
2158         Clarify the docs.
2160 2007-06-15  Wim Taymans  <wim@fluendo.com>
2162         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2163         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2164         (gst_base_src_default_query), (gst_base_src_get_range),
2165         (gst_base_src_start):
2166         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2167         Improve debugging.
2169 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2171         * docs/pwg/advanced-types.xml:
2172           Added more formats to caps table.
2174 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2176         * tools/gst-launch.c: (main):
2177           Remove crufy code. GOption does not need this workaround.
2179 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2181         * libs/gst/controller/gstcontroller.c:
2182         (gst_controlled_property_set_interpolation_mode):
2183           Fix wrong getter for enums in controller.
2185 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2187         * libs/gst/check/gstcheck.c: (gst_check_init):
2188           Intercept criticals and warnings in the Gst-Phonon log domain, so
2189           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2190           well.
2191         
2192 2007-06-14  Edward Hervey  <edward@fluendo.com>
2194         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2195         Since this file doesn't include "gst.h" it will not go through the
2196         macros that disable GST_LOG if debugging was disabled.
2198 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2200         * libs/gst/check/Makefile.am:
2201         * libs/gst/check/gstcheck.h:
2202         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2203         * pkgconfig/gstreamer-check.pc.in:
2204           Ugly 'fix' for the controller unit test on the p5 bot: in
2205           fail_unless_equals_float() check whether the values are 'almost
2206           equal' by allowing a small absolute error, which should be good
2207           enough for our use cases (normal numbers and values close to 0).
2208           Proper fixage left to floating point arithmetic aficionados.
2210 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2212         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2213         (gst_base_sink_render_object), (gst_base_sink_get_position):
2214           Add two breaks thats where missing.
2216 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2218         * docs/libs/gstreamer-libs-sections.txt:
2219         * libs/gst/check/gstcheck.h:
2220           API: add fail_unless_equals_float() and assert_equals_float().
2221           Add documentation for some of the macros.
2223         * tests/check/libs/controller.c: (GST_START_TEST):
2224           Use newly-added asserts.
2226 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2228         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2229           Show the caps change in the log to help spotting the case of not
2230           exactly matching caps.
2232 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2234         * docs/pwg/building-boiler.xml:
2235           Fix typos, spotted by Thijs Vermeir (#447190).
2237 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2239         * docs/plugins/tmpl/.cvsignore:
2240         Ignore file to keep the buildbots happy
2242 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2244         * docs/plugins/Makefile.am:
2245         * docs/plugins/gstreamer-plugins-docs.sgml:
2246         * docs/plugins/gstreamer-plugins-sections.txt:
2247         Pull fdsink into the docs too.
2249 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2251         * libs/gst/controller/gstinterpolation.c:
2252         Actually use the new functions with min/max checks for the trigger and
2253         none interpolation modes for get() and get_value_array() instead of
2254         just the latter.
2256 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2258         * libs/gst/controller/gstcontroller.c:
2259         (gst_controlled_property_free):
2260         Unset the minimum and maximum GValues when freeing the corresponding
2261         GstControllerProperty struct.
2263 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2265         * libs/gst/controller/gstcontroller.c:
2266         (gst_controlled_property_new):
2267         * libs/gst/controller/gstcontrollerprivate.h:
2268         * libs/gst/controller/gstinterpolation.c:
2269         (gst_controlled_property_find_control_point_node),
2270         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2271         (interpolate_none_get_string_value_array),
2272         (interpolate_trigger_get),
2273         (interpolate_trigger_get_enum_value_array),
2274         (interpolate_trigger_get_string_value_array):
2275         Protect against values larger or smaller than the minimum or maximum
2276         allowed value for the property when using values that can be compared.
2278         Optimize trigger interpolator a bit by taking the last requested value
2279         into account instead of always looping through the complete list.
2281         Fix coding style a bit, everywhere else we use "return foo" instead
2282         of "return (foo)".
2283         
2284         * tests/check/libs/controller.c: (GST_START_TEST),
2285         (gst_controller_suite):
2286         Add unit test for the protection against too large or too small
2287         values.
2289 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2291         * docs/random/slomo/controller.txt:
2292         Add some thoughts about the future of the controller.
2294 2007-06-08  Wim Taymans  <wim@fluendo.com>
2296         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2297         Don't overflow in retimestamping code.
2299 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2301         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2302         Use gst_util_guint64_to_gdouble for conversions.
2303         * win32/common/libgstreamer.def:
2304         Add new exported functions.
2306 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2308         * gst/gstutils.c:
2309           Small docs addition.
2311 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2313         * README:
2314           Remove that test line again.
2316 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2318         * README:
2319           Test commit mail sending.
2321 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2323         * configure.ac:
2324           Fix typo and test commit mail sending.
2326 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2328         * tests/examples/controller/audio-example.c:
2329           Improve comment and test commit mail sending.
2331 2007-06-07  Wim Taymans  <wim@fluendo.com>
2333         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2334         (gst_bin_remove_func), (gst_bin_element_set_state),
2335         (bin_handle_async_start), (bin_handle_async_done),
2336         (gst_bin_handle_message_func):
2337         Add helper function to find messages.
2338         Generate the async-done messages together with the state change
2339         messages.
2340         Small cleanups in handling toplevel bins.
2342 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2344         * libs/gst/base/gstdataqueue.c:
2345         * libs/gst/base/gstdataqueue.h:
2346         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2347         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2348         (gst_multi_queue_sink_event):
2349         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2350           Fix multiqueue leaking buffers and events when downstream or the
2351           queue are flushing. Make refcounting assumptions explicit and
2352           document them (shouldn't break existing code that uses it other than
2353           maybe leak miniobjects, but that already happens anyway). Add unit
2354           test for the most common flushing case. Fixes #423700.
2355           
2356 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2358         * libs/gst/controller/gstcontroller.c:
2359         Clarify docs: The get_all, get_value_array(s) functions
2360         don't modify the GObject properties.
2362 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2364         * libs/gst/controller/gstcontroller.c:
2365         (gst_controlled_property_set_interpolation_mode),
2366         (gst_controlled_property_prepend_default),
2367         (gst_controlled_property_new), (gst_controller_set_unlocked),
2368         (gst_controller_set), (gst_controller_set_from_list),
2369         (gst_controller_unset), (gst_controller_unset_all):
2370         * libs/gst/controller/gstcontrollerprivate.h:
2371         * libs/gst/controller/gstinterpolation.c:
2372         Factor out the 'set' logic into gst_controller_set_unlocked for the
2373         gst_controller_set and gst_controller_set_from_list functions.
2375         To make life of the interpolators easier always add a control point
2376         at timestamp zero with the default value.
2378         In the linear interpolator make things more obvious by better variable
2379         naming (slope).
2381         Implement cubic interpolation mode (by using a natural cubic spline)
2382         and map the quadratic interpolation mode to this too (as quadratic
2383         doesn't make much sense, see discussion on the list).
2385         * tests/check/libs/controller.c: (GST_START_TEST),
2386         (gst_controller_suite):
2387         Add unit test for the cubic interpolation mode and check everywhere
2388         if the interpolation mode could be set as expected.
2390 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2392         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2393           Don't use GLib-2.10 functions, we still depend on
2394           GLib-how-old-is-it-again-2.8.
2396 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2398         * docs/gst/gstreamer-sections.txt:
2399         * gst/Makefile.am:
2400         * gst/gst.c:
2401         * gst/gst.h:
2402         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2403         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2404         (_gst_param_fraction_values_cmp),
2405         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2406         * gst/gstparamspecs.h:
2407         * gst/gstvalue.c:
2408         * tests/check/Makefile.am:
2409         * tests/check/gst/.cvsignore:
2410         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2411         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2412         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2413         (GST_START_TEST), (gst_param_spec_suite):
2414           API: add GstParamSpecFraction, so elements can have fraction
2415           properties without lots of painful string parsing (#444648).
2417 2007-06-05  Wim Taymans  <wim@fluendo.com>
2419         * gst/gstobject.c: (gst_object_class_init):
2420         Fix signal signature.
2422         * gst/gstsegment.c:
2423         Add small clarification in the api docs.
2425         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2426         States are protected with object lock.
2428 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2430         * AUTHORS:
2431         I should probably be listed as an author by now.
2433         * docs/random/release:
2434         Update the release doc
2436 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2438         * gst/gstvalue.c:
2439           Make docs for gst_value_compare() mention return enums that
2440           actually exist.
2442 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2444         * configure.ac:
2445           Back to CVS
2447 === release 0.10.13 ===
2449 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2451         * configure.ac:
2452           releasing 0.10.13, "With or without you"
2454 2007-05-25  Wim Taymans  <wim@fluendo.com>
2456         * gst/gstbin.c: (bin_handle_async_done):
2457         Make sure that the child bin stops after completing the async state
2458         change so that the parent can continue the state change to PLAYING.
2459         Fixes #441159.
2461 2007-05-25  Wim Taymans  <wim@fluendo.com>
2463         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2464         (unref_data), (gst_collect_pads_remove_pad),
2465         (gst_collect_pads_check_pads):
2466         Use additional refcounting to avoid crashes when dynamically adding and
2467         removing pads. Fixes #420206.
2469 2007-05-24  Wim Taymans  <wim@fluendo.com>
2471         * tools/gst-launch.c: (event_loop):
2472         When buffering goes from a two digit to a single digit number, make sure
2473         to remove the old second digit by writing a blank over it.
2475 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2477         * libs/gst/base/gstdataqueue.c:
2478           Eliminate tabs and trailing comma in enum list; fix some typos.
2480 2007-05-24  Wim Taymans  <wim@fluendo.com>
2482         * tests/check/gst/gstbin.c: (GST_START_TEST):
2483         Allow refcount of 3 and 4 because some state thread might still be busy
2484         with it.
2486 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2488         * plugins/elements/Makefile.am:
2489         * plugins/elements/gstmultiqueue.h:
2490         * plugins/elements/gstqueue.h:
2491           These are not installed headers, no need for padding.
2493 2007-05-24  Wim Taymans  <wim@fluendo.com>
2495         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2496         (gst_bin_continue_func):
2497         Enable latency for next release.
2498         Restore STATE_LOCK around recalc_state that was left out during the
2499         rewrite and could result in racy behaviour when _get_state and
2500         recalc_state are run concurrently. See #440463.
2502 2007-05-23  Wim Taymans  <wim@fluendo.com>
2504         * tests/check/gst/gstsystemclock.c: (store_callback),
2505         (GST_START_TEST):
2506         Improve test_async_order to also work when both timers are already
2507         expired when we get scheduled to check it.
2509 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2511         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2512         (gst_bin_set_property), (gst_bin_get_property),
2513         (gst_bin_remove_func), (gst_bin_handle_message_func):
2514         * gst/gstbin.h:
2515           'private' is a c++ keyword, let's not use that in header files,
2516           otherwise c++ compilers will throw a tantrum.
2518 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2520         * plugins/elements/gstelements.c:
2521         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2522         (gst_file_sink_get_current_offset):
2523         * plugins/indexers/gstindexers.c: (plugin_init):
2524           Use #ifdef for HAVE_XYZ for consistency.
2526         * tests/check/Makefile.am:
2527         * tests/check/elements/.cvsignore:
2528         * tests/check/elements/filesink.c: (setup_filesink),
2529         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2530           Add some unit tests for filesink.
2532 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2534         Patch by: Mark Nauwelaerts <manauw at skynet be>
2536         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2537         (gst_file_sink_query), (gst_file_sink_do_seek),
2538         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2539         * plugins/elements/gstfilesink.h:
2540           Fix position reporting; rename data_written member to current_pos to
2541           reflect its real meaning (fixes #412648).
2543 2007-05-22  Edward Hervey  <edward@fluendo.com>
2545         * docs/gst/gstreamer-sections.txt:
2546         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2547         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2548         (gst_bin_remove_func), (gst_bin_handle_message_func):
2549         * gst/gstbin.h:
2550         Add a property for bins that handle the state change of their childs.
2551         Fixes #435880
2553 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2555         * libs/gst/controller/gstinterpolation.c:
2556         Use an array of the correct type when using _get_value_array with
2557         linear interpolation.
2559 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2561         * gst/gstelement.c (gst_element_requires_clock,
2562           gst_element_provides_clock, gst_element_request_pad,
2563           gst_element_class_set_details, gst_element_class_set_details_simple,
2564           gst_element_default_send_event, gst_element_abort_state,
2565           gst_element_continue_state, gst_element_set_state,
2566           gst_element_set_state_func, iterator_activate_fold_with_resync):
2567         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2568           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2569           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2570           gst_pad_get_range, gst_pad_pull_range):
2571         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2572           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2573           GstPadActivateModeFunction, GstPadChainFunction,
2574           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2575           GstPadFixateCapsFunction, GstPadTemplate):
2576         * gst/gstpipeline.c (gst_pipeline_change_state,
2577           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2578           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2579           gst_pipeline_get_delay):
2580           Whitespace and docs fixes.
2582 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2584         * libs/gst/controller/gstinterpolation.c:
2585         (interpolate_trigger_get_enum_value_array),
2586         (interpolate_trigger_get_string_value_array):
2587         Add support for retrieving value arrays when using the trigger
2588         interpolation mode. 
2590 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2592         * libs/gst/controller/gstcontroller.c:
2593         (gst_controller_get_value_array):
2594         * libs/gst/controller/gstcontroller.h:
2595         Clarify the docs of gst_controller_get_value_array(): The array where
2596         the values should be written to must be allocated as there seems to be
2597         no way to get the size of a random GType. This doesn't change any
2598         behaviour. Also fix some typos all over the place and remove an unused,
2599         commented function that is not necessary as g_object_set() could be
2600         used instead.
2601         * tests/check/libs/controller.c: (GST_START_TEST),
2602         (gst_controller_suite):
2603         Add unit test for gst_controller_get_value_array().
2605 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2607         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2609         Disable part of the gst_buffer_try_new_and_alloc test, because
2610         it can happily succeed on 64-bit systems where there's more address
2611         space available.
2613 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2615         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2616         Add unit test for the improved caps checking from bug #421543.
2618 2007-05-21  Wim Taymans  <wim@fluendo.com>
2620         * docs/design/part-synchronisation.txt:
2621         Small addition.
2623         * gst/gstbin.c: (gst_bin_query):
2624         * plugins/elements/gstqueue.c: (apply_segment):
2625         Improve debugging.
2627         * gst/gstmessage.h:
2628         Improve docs.
2630 2007-05-21  Wim Taymans  <wim@fluendo.com>
2632         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2633         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2634         (gst_pad_configure_src):
2635         Added simple version of improved caps checking. It was previously
2636         assumed that a setcaps function would check the validity of the caps but
2637         people prefer us to check caps against the template automatically. 
2638         Fixes #421543.
2640 2007-05-21  Wim Taymans  <wim@fluendo.com>
2642         * libs/gst/base/gstbasetransform.h:
2643         Fix macro for locking/unlocking the transform lock.
2645 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2647         * docs/plugins/tmpl/.cvsignore:
2648           Ignore more.
2650 2007-05-18  Edward Hervey  <edward@fluendo.com>
2652         * plugins/elements/gstqueue.c: (gst_queue_loop):
2653         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2654         for the subtle art of warning a potentially blocking thread that it
2655         should check the source pad return value, and relay the information
2656         upstream.
2658 2007-05-18  Edward Hervey  <edward@fluendo.com>
2660         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2661         Release the queue lock !
2663 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2665         * docs/libs/gstreamer-libs-sections.txt:
2666         Add the two new controller functions to the appropiate places.
2668 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2670         reviewed by: Stefan Kost <ensonic@users.sf.net>
2672         * libs/gst/controller/gstcontroller.c:
2673         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2674         (_gst_controller_get_property), (_gst_controller_set_property),
2675         (_gst_controller_init), (_gst_controller_class_init):
2676         * libs/gst/controller/gstcontroller.h:
2677         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2678         (gst_object_get_control_rate), (gst_object_set_control_rate):
2679         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2680         Add API that provides sync suggestion timestamps for elements that
2681         call gst_object_sync_values() from which those elements can subdivide
2682         their processing loop to get the best results for the controlled
2683         properties. For now it just suggests last_sync + control_rate as
2684         new timestamp but this will be improved in the future.
2686         While doing that change the control-rate property to a GstClockTime
2687         from guint and change it's meaning from samples to nanoseconds as
2688         the GstController doesn't know anything about sampling rate. Strictly
2689         speaking this breaks ABI but as the control-rate property didn't do
2690         anything in the past and as such couldn't be used this should be no
2691         problem.        
2693 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2695         reviewed by: Stefan Kost <ensonic@users.sf.net>
2697         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2698         (gst_controller_unset_all):
2699         * libs/gst/controller/gstcontrollerprivate.h:
2700         * libs/gst/controller/gstinterpolation.c:
2701         (gst_controlled_property_find_control_point_node):
2702         Save last synced value from the list to continue searching from there
2703         in future syncs. This speeds everything up a bit.
2704         
2705 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2707         reviewed by: Stefan Kost <ensonic@users.sf.net>
2709         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2710         (gst_control_point_find), (gst_controlled_property_new),
2711         (gst_control_point_free), (gst_controlled_property_free),
2712         (gst_controller_set), (gst_controller_set_from_list),
2713         (gst_controller_unset), (gst_controller_unset_all),
2714         (gst_controller_sync_values):
2715         * libs/gst/controller/gstcontroller.h:
2716         * libs/gst/controller/gstcontrollerprivate.h:
2717         * libs/gst/controller/gstinterpolation.c:
2718         (gst_controlled_property_find_control_point_node),
2719         (interpolate_none_get), (interpolate_trigger_get):
2720         Add a new private GstControlPoint struct which "inherits" from
2721         GstTimedValue to allow different interpolators to store internal
2722         values next to each control point. From the outside everything is
2723         still a GstControlPoint so we don't loose binary compatibility.
2724         Also fixup all the GValue handling to not leak GValues or list nodes.
2725         * tests/check/libs/controller.c: (GST_START_TEST):
2726         Free the list nodes and GValues in the controller_misc test.
2728 2007-05-17  Edward Hervey  <edward@fluendo.com>
2730         * gst/gstsegment.c:
2731         Small doc fix.
2733 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2735         * gst/gstplugin.c: (gst_plugin_load_file):
2736           If we fail to load a plugin because of unresolved symbols or missing
2737           libraries and spew a warning to stderr, we may just as well mention
2738           which plugin it was that failed to load.
2740 2007-05-13  David Schleef  <ds@schleef.org>
2742         * docs/Makefile.am: the gtk-doc makefile snippet correctly
2743           handles the case when ENABLE_GTK_DOC is false, and installs
2744           the prebuilt documentation.  So gtk-doc subdirs are 
2745           unconditionally enabled.  Fixes: #349099.
2747 2007-05-13  David Schleef  <ds@schleef.org>
2749         * gst/gstutils.h: Reword some documentation.
2751 2007-05-12  David Schleef  <ds@schleef.org>
2753         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2754           do anything with the passed "module" parameter, so remove it.
2755           Allows removal of additional vestigal code.
2757 2007-05-12  David Schleef  <ds@schleef.org>
2759         * gst/gstplugin.c:
2760           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2761           Switch to using g_stat() because it's more portable.
2763 2007-05-12  David Schleef  <ds@schleef.org>
2765         * gst/gst.c:
2766           Add GST_DISABLE_OPTION_PARSING, in order to disable option
2767           parsing for embedded systems.
2768         * gst/gstelementfactory.c:
2769           Allow gst_element_register() to be called with plugin==NULL.
2770           Did nobody notice that static elements were broken?
2772 2007-05-12  Wim Taymans  <wim@fluendo.com>
2774         * tools/gst-launch.c: (event_loop):
2775         Give more interesting info when buffering starts and stops.
2776         Fix case where buffering starts but we fail to update the buffering flag
2777         because the target state is not PLAYING.
2779 2007-05-12  Wim Taymans  <wim@fluendo.com>
2781         * plugins/elements/gstqueue.c: (gst_queue_init),
2782         (gst_queue_finalize), (update_time_level), (apply_segment),
2783         (apply_buffer), (gst_queue_locked_flush),
2784         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2785         (gst_queue_handle_sink_event), (gst_queue_chain),
2786         (gst_queue_push_one), (gst_queue_loop):
2787         * plugins/elements/gstqueue.h:
2788         Refactor an cleanup queue a bit.
2789         Do better time level calculations that also work when the srcpad is not
2790         yet running.
2791         Remove some unneeded debug lines.
2793         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2794         Added testcase for time level measurement.
2795         Try to make some stuff more racefree.
2797 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2799         * gst/gsturi.c: (gst_element_make_from_uri):
2800           Don't leak plugin feature.
2802         * tests/check/Makefile.am:
2803         * tests/check/gst/.cvsignore:
2804         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2805           Add brain-dead unit test.
2807 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2809         Patch by: Jeroen Wouters <woutersj at gmail com>
2811         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2812           Treat protocol strings in a case-insensitive way (#437563).
2814 2007-05-11  Michael Smith <msmith@fluendo.com>
2816         * gst/gstplugin.c: (gst_plugin_load_file):
2817         * gst/gstregistry.c: (gst_registry_scan_path_level):
2818           Don't print a g_warning for any failure to load a shared object.
2819           Instead, push this down into gstplugin.c, and warn _only_ if we
2820           failed to open the module (i.e. failure to link).
2821           Avoids warnings on normal, working, non-plugin .so files.
2823 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
2825         * gst/gstplugin.c (gst_plugin_load_file):
2826         * gst/gstregistry.c (GST_CAT_DEFAULT,
2827           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2828           Print a g_warning if there was an error when loading a plugins during
2829           registry scan. The shuld help beginners starting with gst-plugin
2830           template.
2832 2007-05-10  Wim Taymans  <wim@fluendo.com>
2834         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2835         (update_time_level), (gst_queue_locked_flush),
2836         (gst_queue_handle_sink_event), (gst_queue_chain),
2837         (gst_queue_push_one), (gst_queue_loop):
2838         * plugins/elements/gstqueue.h:
2839         Be smarter when calculating the current amount of data in the queue by
2840         measuring the difference between start and end timestamps (in running
2841         time) inside the queue. Fixes #432876.
2842         API: GstQueue::pushing to notify elements that we are pushing data again
2843         since the running signal is rather broken for this purpose.
2845 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
2847         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2848           gst_queue_base_init, gst_queue_init):
2849           use GST_BOILERPLATE
2851 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
2853         * win32/common/libgstreamer.def:
2854         Add new exported functions.
2855         * win32/vs6/grammar.dsp:
2856         Use grammar pre-generated files.
2858 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2860         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
2862         * gst/Makefile.am:
2863         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2864         * gst/gstparse.h:
2865         * gst/gstutils.c: (gst_parse_bin_from_description):
2866         * gst/gstutils.h:
2867           Maintain API and ABI when --disable-parse is used. Now that
2868           we have an appropriate error code, we can just return NULL and the
2869           appropriate error when gst_parse_launch() is used despite it having
2870           been disabled (#342564).
2872         * tests/check/Makefile.am:
2873         * tests/check/pipelines/.cvsignore:
2874         * tests/check/pipelines/parse-disabled.c:
2875           Make sure these functions exist and return NULL plus a GError when
2876           --disable-parse is used.
2878 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2880         * tests/benchmarks/complexity.c: (main):
2881         * tests/benchmarks/mass-elements.c: (main):
2882           Set a good example and don't leak messages.
2884 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
2886         * docs/gst/Makefile.am:
2887         * docs/libs/Makefile.am:
2888           Correct fixxrefs options.
2890         * docs/plugins/Makefile.am:
2891         * docs/plugins/gstreamer-plugins-docs.sgml:
2892         * docs/plugins/gstreamer-plugins-sections.txt:
2893         * plugins/elements/Makefile.am:
2894         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2895         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2896           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2897           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2898           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2899           _GstCapsFilterClass, trans_class):
2900         * plugins/elements/gstelements.c (name, rank, type, _elements):
2901         * plugins/elements/gstidentity.c
2902           (gst_identity_check_imperfect_timestamp,
2903           gst_identity_check_imperfect_offset):
2904           Document capsfilter and add doc-blurb to identity.
2906 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2908         * libs/gst/controller/gstcontroller.c:
2909         (gst_controlled_property_set_interpolation_mode):
2910         * libs/gst/controller/gstinterpolation.c:
2911           Don't crash if someone tries to set an interpolation mode that
2912           is invalid or that isn't supported yet. Fixes #422295.
2914         * tests/check/libs/controller.c: (GST_START_TEST),
2915         (gst_controller_suite):
2916           Add a test case for the above.
2918 2007-05-03  Edward Hervey  <edward@fluendo.com>
2920         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2921         Properly set the last_stop position on GstSegment. This will only happen
2922         if there is a buffer to push out.
2924 2007-05-03  Wim Taymans  <wim@fluendo.com>
2926         * libs/gst/base/gstbasetransform.c:
2927         (gst_base_transform_buffer_alloc):
2928         always_in_place does not mean that the sink and source caps are the
2929         same! Make sure we don't blindly proxy the buffer_alloc in this case.
2931 2007-05-03  Wim Taymans  <wim@fluendo.com>
2933         * docs/libs/gstreamer-libs-sections.txt:
2934         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2935         (gst_base_src_default_query), (gst_base_src_get_range):
2936         * libs/gst/base/gstbasesrc.h:
2937         API: gst_base_src_query_latency(). Added method so that subclasses can
2938         easily get the latency values of the base source class.
2940 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
2942         * tools/gst-inspect.c (print_implementation_info):
2943         Remove 0.8 cruft.
2945 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2947         * tools/Makefile.am:
2948         * tools/gst-launch.1.in:
2949           Don't create a customised man page based on the host architecture,
2950           describe the default registry path generically. That way the man
2951           page is the same for all architectures and packagers have one
2952           multilib issue less to deal with. Fixes #434926.
2954 2007-05-02  Wim Taymans  <wim@fluendo.com>
2956         * gst/gstpad.c:
2957         Fix documentation as spotted by rg on IRC. 
2959 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2961         * gst/gstutils.c:
2962           Improve docs for gst_element_{link,unlink}.
2964 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2966         * docs/design/part-events.txt:
2967         * docs/design/part-overview.txt:
2968         * gst/gstevent.c:
2969         * gst/gsturi.c:
2970         * gst/gsturi.h:
2971         * libs/gst/base/gstbasesink.c:
2972           Typo fixes; minor docs addition.
2974 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2976         * docs/gst/gstreamer-sections.txt:
2977         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2978         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2979         * gst/gsturi.h:
2980         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2981         or src that supports a given URI protocol exists.
2983 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2985         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2986         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2987         Set the location to NULL if "file://" is set as URI. Otherwise
2988         some random previous URI would still be set if "file://" is
2989         set on an already used filesink/filesrc.
2991 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2993         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2994         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2995         Special case the "file://" URI as as this is used by some
2996         applications to test with gst_element_make_from_uri if there's
2997         an element that supports the URI protocol.
2998         Also move the g_path_is_absolute() check for the location part
2999         of the URI to also check this for "file://localhost/bla" URIs.
3001 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
3003         * docs/gst/gstreamer-sections.txt:
3004         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
3005         * gst/gstbuffer.h:
3006         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
3007         (gst_buffer_suite):
3008           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
3010 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
3012         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3013         (gst_registry_binary_load_pad_template),
3014         (gst_registry_binary_load_plugin),
3015         (gst_registry_binary_read_cache):
3016         * gst/gstregistrybinary.h:
3017           Implement no-mmap alternative for registry reading. Do code cleanups.
3018           Add more comments about avoiding strdups for all text data. Comments
3019           welcome.
3021 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3023         * gst/gstregistrybinary.h (GstBinaryPluginElement,
3024           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3025           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3026           Comment structs and reformat to fix the build (that stuff should go
3027           into a priv. header).
3029 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3031         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3032         (gst_registry_binary_load_feature):
3033         * gst/gstregistrybinary.h:
3034           Refactor so that we can implement multiple features. Add support for
3035           TypeFindFactory features.
3037 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
3039         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3041         * configure.ac:
3042           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3044 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
3046         * gst/gstbin.c: (gst_bin_element_set_state),
3047         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3048         (bin_handle_async_done), (gst_bin_handle_message_func):
3049           Fix build with --gst-disable-gst-debug
3051 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3053         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3054           Make sure streaming has finished before calling the ::stop() vfunc,
3055           since that vfunc might clear state which is being used in the
3056           streaming thread. This fixes a race that caused crashes in
3057           audioresample when shutting down a pipeline (#420106).
3059 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3061         * docs/gst/gstreamer-sections.txt:
3062           That was one byte missing.
3064 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3066         * configure.ac:
3067         * docs/gst/gstreamer-sections.txt:
3068         * gst/Makefile.am:
3069         * gst/gstconfig.h.in:
3070         * gst/gstobject.c: (gst_object_class_init),
3071         (gst_signal_object_class_init):
3072         * gst/gstobject.h:
3073           2nd attempt to have a xml-less build as a joined effort of #413123
3074           and #421480.
3076 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3078         * docs/design/draft-tagreading.txt:
3079           Added open issues/thoughts to draft.
3081 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3083         * gst/parse/grammar.tab.pre.c:
3084         * gst/parse/grammar.tab.pre.h:
3085         * gst/parse/lex._gst_parse_yy.pre.c:
3086         Update the prebuild parser sources.
3088 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3090         * gst/parse/Makefile.am:
3091         And now fix the building of the flex sources. Now everything should
3092         work as expected.
3094 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3096         * gst/parse/Makefile.am:
3097         Now hopefully fix the build failures by setting proper rule
3098         dependencies and moving instead of copying.
3100 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3102         * tests/benchmarks/complexity.gnuplot:
3103         * tests/benchmarks/complexity.scm:
3104         * tests/benchmarks/mass-elements.gnuplot:
3105         * tests/benchmarks/mass-elements.scm:
3106           Total licensification.
3108 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3110         * gst/parse/Makefile.am:
3111           Fix the build by correcting the rule that gave wrong files to flex.
3113 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3115         * tests/benchmarks/complexity.c:
3116         * tests/benchmarks/mass-elements.c:
3117           Change licence to LGPL as granted by Benjamin and Andy.
3119 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3121         * gst/parse/Makefile.am:
3122         Add correct grammar.tab.h dependency if compiling without new enough
3123         flex. Fixes #431150.
3125 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3127         * gst/parse/Makefile.am:
3128         Fix typo and use outdated sources if the flex/bison sources are newer
3129         than the pregenerated ones but flex is too old. Print a warning in
3130         that case. This should fix the build on the build bot.
3132 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3134         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3135         * gst/parse/Makefile.am:
3136         * gst/parse/grammar.y:
3137         * gst/parse/parse.l:
3138         Make the parser reentrant and recursively callable. This requires flex
3139         >= 2.5.31, for older versions pregenerated sources are used as we
3140         can't bump the build dependency. Finally fixes #349180.
3142         * gst/gstparse.c: (gst_parse_launch):
3143         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3144         now anyway.
3146         * docs/gst/Makefile.am:
3147         * docs/gst/Makefile.am:
3148         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3149         (__gst_parse_strfree), (__gst_parse_link_new),
3150         (__gst_parse_link_free), (__gst_parse_chain_new),
3151         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3152         (gst_parse_element_set), (gst_parse_free_link),
3153         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3154         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3155         (_gst_parse_launch):
3156         * gst/parse/grammar.tab.pre.h:
3157         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3158         (yy_get_previous_state), (yy_try_NUL_trans), (input),
3159         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3160         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3161         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3162         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3163         (_gst_parse_yypop_buffer_state),
3164         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3165         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3166         (yy_fatal_error), (_gst_parse_yyget_extra),
3167         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3168         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3169         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3170         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3171         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3172         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3173         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3174         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3175         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3176         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3177         (_gst_parse_yyfree):
3178         If the installed flex version is too old use pre-generated parser
3179         sources. These pre-generated parser sources are always updated when
3180         the actual flex/bison sources change but require everybody who wants
3181         to change something in the parser to have flex >= 2.5.31 installed.
3183 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3185         * common/m4/gst-gettext.m4:
3186         * gst/gst-i18n-lib.h:
3187           Make --disable-nls to work
3189 2007-04-17  Wim Taymans  <wim@fluendo.com>
3191         * gst/gstconfig.h.in:
3192         Revert previous change that broke the build.
3194 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3196         * configure.ac:
3197         * gst/Makefile.am:
3198         * gst/gstconfig.h.in:
3199           Drop libxml2 dependency when building with 
3200           --enable-binary-registry --disable-loadsave
3202 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3204         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3205         (gst_registry_binary_read_cache):
3206         * gst/gstregistrybinary.h:
3207           Remove unnecessary <sys/mman.h> include which broke the win32 build
3208           with MingW; move includes from header file to .c file, even if the
3209           header file isn't installed; use g_strerror() where UTF-8 strings
3210           are expected, such as in GST_DEBUG messages.
3212 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3214         * docs/libs/gstreamer-libs-sections.txt:
3215         Remove bogus addition for API I didn't end up keeping.
3217         * libs/gst/base/gstbasesrc.h:
3218         Mention Since: 0.10.13 in the documentation.
3220         Add the API keyword to the previous ChangeLog entry.
3222 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3224         * docs/libs/gstreamer-libs-sections.txt:
3225         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3226         (gst_base_src_default_prepare_seek_segment),
3227         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3228         * libs/gst/base/gstbasesrc.h:
3229         Allow basesrc derived classes to execute seeks in other formats
3230         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3231         to prepare the GstSegment in any format that their perform_seek method
3232         will be able to understand. The default implementation provides the
3233         old behaviour of attempting to convert the seek offsets to the 
3234         configured native format.
3236         API: basesrc::prepare_seek_segment vmethod.
3238 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3240         * gst/gstelement.c: (gst_element_get_state_func):
3241         Don't output the same debug statement twice.
3243         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3244         (gst_adapter_peek), (gst_adapter_take_buffer):
3245         Optimise the case where we have buffers at the head of the queue that
3246         can be joined quickly (because they're contiguous sub-buffers) by
3247         merging them together rather than copying data out into new memory.
3249         * gst/parse/grammar.y:
3250         * tests/check/pipelines/parse-launch.c:
3251         Fix a leak in an error path for parse_launch, and add a check 
3252         for it to the testsuite.
3254 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3256         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3257           Don't deadlock when releasing a pad - gst_pad_set_active may try
3258           and take the multiqueue lock too.
3260 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3262         * gst/gsterror.c: (_gst_core_errors_init):
3263         * gst/gsterror.h:
3264           API: add GST_CORE_ERROR_DISABLED (#392804).
3266 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3268         * docs/faq/gst-uninstalled:
3269           don't get empty paths on the PATH variables
3270         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3271           Don't format for the uncommon terminal width of 84 characters.
3273 2007-04-06  Wim Taymans  <wim@fluendo.com>
3275         * gst/gstpipeline.c: (reset_stream_time),
3276         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3277         Only try to select a different pipeline clock when we went back to
3278         PAUSED and not when we merely got flushed.
3280 2007-04-05  Michael Smith  <msmith@fluendo.com>
3282         * tools/gst-launch.1.in:
3283           fractions are better supported in gstreamer than ractions, so
3284           suggest using those.
3286 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3288         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3290         * po/LINGUAS:
3291         * po/da.po:
3292           Added Danish translation.
3294 2007-04-05  Wim Taymans  <wim@fluendo.com>
3296         * libs/gst/base/gstbasesink.c:
3297         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3298         Fix leak caused when refusing newsegment after EOS.
3300         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3301         (gst_fake_sink_init), (gst_fake_sink_set_property),
3302         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3303         (gst_fake_sink_render), (gst_fake_sink_change_state):
3304         * plugins/elements/gstfakesink.h:
3305         Add num-buffers property to make the element generate EOS after a
3306         configurable amount of buffers.
3307         API: fakesink::num-buffers property.
3309         * tests/check/elements/fakesink.c: (GST_START_TEST),
3310         (fakesink_suite):
3311         Fix GstBus leak in test.
3312         Test for fakesink num-buffers.
3314 2007-04-05  Wim Taymans  <wim@fluendo.com>
3316         * libs/gst/base/gstbasesink.c:
3317         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3318         (gst_base_sink_change_state):
3319         Don't accept anything after an EOS, return UNEXPECTED instead.
3321         * tests/check/elements/fakesink.c: (GST_START_TEST),
3322         (fakesink_suite):
3323         Unit test for new EOS behaviour.
3325 2007-04-05  Wim Taymans  <wim@fluendo.com>
3327         * gst/gstelement.c: (gst_element_get_request_pad):
3328         Make padtemplates also work when they don't contain %s or %d.
3330 2007-04-05  Wim Taymans  <wim@fluendo.com>
3332         * docs/gst/gstreamer-sections.txt:
3333         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3334         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3335         * gst/gstclock.h:
3336         Improve _adjust_unlocked() so that it overflows less.
3337         Add gst_clock_unadjust_unlocked to convert from external time to
3338         internal time based on calibration.
3339         Add some more debug.
3340         API: GstClock::gst_clock_unadjust_unlocked()
3342 2007-04-03  Wim Taymans  <wim@fluendo.com>
3344         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3346         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3347         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3348         when releasing sink pad. Fixes #425400.
3350 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3352         * docs/random/ensonic/dynlink.txt:
3353           More work on proposal for new core api.
3355         * docs/libs/gstreamer-libs-sections.txt:
3356         * libs/gst/base/gstbasetransform.h:
3357           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3358           
3359         * libs/gst/controller/gstcontroller.c:
3360         (on_object_controlled_property_changed),
3361         (gst_controller_sync_values),
3362         (gst_controller_set_interpolation_mode):
3363         * libs/gst/controller/gstcontroller.h:
3364           Less verbose logging add docs for unimplemented parts and correctly
3365           return when using unavailable parts.
3367 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3369         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3370         Move all the debug to the CLOCK category, and associate it with
3371         the clock object.
3373 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3375         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3376         Make take_buffer a bit quicker by removing redundant checks
3377         caused by calling gst_adapter_take.
3379 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3381         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3382           Don't leak GCond.
3384         * tests/check/Makefile.am:
3385         * tests/check/elements/.cvsignore:
3386         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3387         (GST_START_TEST), (multiqueue_suite):
3388           Add some dead simple unit tests for the 'multiqueue' element
3389           (some bits don't work yet and are disabled for now).
3391 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3393         * gst/gstelement.c: (gst_element_get_request_pad),
3394         (gst_element_class_get_request_pad_template):
3395           Make gst_element_get_request_pad() create request pads only for
3396           request pad templates and not for, say, sometimes pad templates.
3398 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3400         * docs/design/draft-klass.txt:
3401           Add example that needs more thinking.
3402         
3403         * docs/design/draft-missing-plugins.txt:
3404           More thoughts about wrapper plugins.
3405         
3406         * docs/random/ensonic/embedded.txt:
3407         * docs/random/ensonic/profiling.txt:
3408           More design work.
3410 2007-03-25  Wim Taymans  <wim@fluendo.com>
3412         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3413         (gst_base_src_loop):
3414         Only push the segment events in the PLAYING state for live sources.
3416 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3418         * gst/gstpipeline.c: (gst_pipeline_change_state):
3419         Modify the clock distribution path in PAUSED->PLAYING so that we 
3420         never attempt to choose a new clock unless we're actually leaving
3421         the PAUSED state for the first time. This prevents choosing a
3422         different clock when the state_change gets called for a 2nd time due
3423         to some element doing an async state change.
3425 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3427         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3428         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3429         (gst_pad_chain_unchecked), (gst_pad_push):
3430         Revert last commit. This needs some more thoughts.
3432 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3434         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3435         (gst_pad_chain_unchecked), (gst_pad_push):
3436         Check in set_caps if the caps are compatible with the pad and remove
3437         two functions that are redundant now. Fixes #421543.
3439 2007-03-22  Wim Taymans  <wim@fluendo.com>
3441         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3442         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3443         Unref some more to make valgrind happy.
3445 2007-03-22  Wim Taymans  <wim@fluendo.com>
3447         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3448         (gst_system_clock_id_wait_jitter),
3449         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3450         Fix anoying regression that survived a few releases. When adding an
3451         async entry while blocking on a sync entry, the sync entry will unblock
3452         but still be busy, so it should continue to wait instead of returning
3453         _BUSY to the app.
3454         Add some comments here and there.
3456         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3457         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3458         Add testcase for this.
3460 2007-03-22  Wim Taymans  <wim@fluendo.com>
3462         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3463         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3464         WRONG_STATE and can silently pause the task. All other cases should
3465         error out.
3467 2007-03-22  Wim Taymans  <wim@fluendo.com>
3469         Patch by: Ville Syrjala <syrjala at sci dot fi>
3471         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3472         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3473         Improve debugging.
3475 2007-03-21  Michael Smith  <msmith@fluendo.com>
3477         * docs/pwg/advanced-types.xml:
3478           Fix some errors in the typefinding docs pointed out on irc.
3480 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3482         * libs/gst/base/gstbasesrc.c:
3483         Clarify FIXME comment in the face of having added unlock_stop()
3485 2007-03-21  Wim Taymans  <wim@fluendo.com>
3487         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3488         Prepare for release where we warn against possible app breakage in the
3489         case of live pipelines along with an env var to enable/disable live
3490         preroll mode (GST_COMPAT=[no-]live-preroll).
3492 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3494         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3495         So we should use correct constants for checking for None offset.
3497 2007-03-20  Wim Taymans  <wim@fluendo.com>
3499         * docs/design/part-block.txt:
3500         Mention the fact that the newly switched element should be set to at
3501         least PAUSED.
3503 2007-03-20  Wim Taymans  <wim@fluendo.com>
3505         * gst/gst.c:
3506         Fix compilation with registry disabled as spotted by Saur.
3508 2007-03-20  Wim Taymans  <wim@fluendo.com>
3510         Patch by: Olivier Crete <tester at tester dot ca>
3512         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3513         Look at the pending state too when syncing the element state to the
3514         parent. Fixes #420133.
3516 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3518         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3519         (gst_base_sink_change_state):
3520         * libs/gst/base/gstbasesink.h:
3521         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3522         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3523         (gst_base_src_deactivate):
3524         * libs/gst/base/gstbasesrc.h:
3525         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3526         for sub-classes to correctly clear any state they set trying to
3527         unlock, such as clearing out unlock commands from a command fd.
3528         API: basesrc::unlock_stop
3529         API: basesink::unlock_stop