gst/gstobject.c: Corrected the registration of the parent-set and parent-unset signal...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2
3         Patch by: Murray Cumming  <murrayc@murrayc.com>
4
5         * gst/gstobject.c:
6           Corrected the registration of the parent-set and parent-unset
7           signals: The parameter is a GstObject, not a GObject.
8
9 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10
11         * gst/gst_private.h:
12         * gst/gstbuffer.h:
13         * gst/gstevent.h:
14         * gst/gstformat.h:
15         * gst/gstmessage.h:
16         * gst/gstplugin.h:
17         * gst/gstquery.h:
18         * gst/gsttaglist.h:
19         * gst/gstvalue.h:
20           Move declaration of private _gst_foo_initialize() functions into
21           our private header file where they should have been all along.
22
23 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
24
25         * docs/plugins/gstreamer-plugins-sections.txt:
26         * gst/gstdebugutils.h:
27         * gst/gstxml.h:
28         * plugins/elements/gstqueue.c:
29           gtk-doc fixes; trailing-comma-in-enum fix.
30
31 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
32
33         * gst/gst.c: (gst_deinit):
34           Clean up on deinit (not the external ones though, doesn't seem to be
35           needed for some reason).
36
37 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
38
39         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
40           Remove __declspec(dllimport) for MSVC that was copied over into core
41           from a plugin, obviously without ever having been tested (note the
42           single underscore in _declspec in the initial commit), and that doesn't
43           really make sense.  See #492077.
44
45 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * gst/gst.c: (init_post):
48         * gst/gstevent.c: (_gst_event_initialize):
49         * gst/gstquery.c: (_gst_query_initialize):
50         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
51           g_type_class_ref() other types as well, see #349410 and #64764.
52
53         * gst/gstbuffer.c: (_gst_buffer_initialize):
54         * gst/gstmessage.c: (_gst_message_initialize):
55           Simplify existing g_type_class_ref().
56
57 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
58
59         * gst/gstformat.c: (_gst_format_initialize):
60           g_type_class_ref() our GstFormat type to make sure we avoid the
61           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
62           bug #64764. Should fix intermittent tee unit test failures (#474823).
63
64 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
65
66         * tests/check/elements/tee.c: (test_num_buffers):
67           Simplify, simplify, simplify - or not.  Rewrite unit test
68           not to use gst_parse_launch(); allow N sub-streams. Increasing
69           the number of sub-streams seems to reproduce #474823 more easily.
70
71 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
72
73         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
74
75         * gst/gsttrace.c:
76         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
77         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
78         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
79           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
80           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
81           so use _pipe() directly (#492077).
82
83         * win32/common/dirent.c: (_treaddir):
84           Add a couple of casts to make it build without warnings with MSVC.
85
86         * win32/common/libgstreamer.def:
87           Add some more symbols that need to be exported.
88
89 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
90
91         * tests/examples/metadata/read-metadata.c: (message_loop):
92           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
93           arriving in a second or third tag message are added to
94           the tag list as well.
95
96 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
97
98         * libs/gst/base/gstbasesrc.c:
99           Its "Since:" and not "@Since:". And remove an superflous cast.
100
101 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
102
103         * docs/libs/gstreamer-libs-sections.txt:
104         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
105         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
106         (gst_base_sink_get_property), (gst_base_sink_render_object),
107         (gst_base_sink_preroll_object),
108         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
109         (gst_base_sink_change_state):
110         * libs/gst/base/gstbasesink.h:
111         Add a new last-buffer property that contains the last buffer used in
112         basesink for preroll or rendering. useful for making snapshots.
113         API: gst_base_sink_get_last_buffer()
114         API: GstBaseSink::last-buffer
115
116 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
117
118         * docs/gst/running.xml:
119         * gst/gst.c:
120         * gst/gstdebugutils.c:
121         * gst/gstdebugutils.h:
122         * tools/gst-launch.c:
123           Improve bin graph dumping, by using the envvar to specify a path.
124           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
125
126 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
127
128         * plugins/elements/gsttypefindelement.c:
129           (gst_type_find_element_handle_event),
130           (gst_type_find_element_activate):
131           Post special error message if we can't determine the type of a stream
132           because it's empty.
133
134 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
135
136         * docs/gst/running.xml:
137         * gst/gstdebugutils.c:
138           Document new env-var. Add one log-line after dumpng a graph.
139
140 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
141
142         * configure.ac:
143           Ugly hack to put the (recently removed and non-portable, apparently)
144           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
145           GNU ld, because without that 'make check' fails miserably on my debian
146           stable box.  Someone with more knowledge of linker intricacies and
147           portability issues than me fix this properly please.
148
149 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
150
151         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
152         Reset last seen position after flushing so that we don't report the old
153         position anymore.
154
155 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
156
157         * gst/gstelementfactory.c: (gst_element_register):
158         * gst/gsturi.h:
159         Patch from Alessandro Decina adding get_type_full and
160         get_protocols_full private vfuncs to the URIHandler interface
161         to allow bindings to support creating URI handlers. 
162         Partially fixes: #339279
163         API: GstURIHandlerInterface::get_type_full
164         API: GstURIHandlerInterface::get_protocols_full
165
166 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
167
168         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
169         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
170         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
171         Make it so that pads are considered linked until a buffer is pushed
172         and discovered otherwise. This avoids problems with decodebin2 hanging
173         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
174         case.
175
176         Make sure we lock the multiqueue when updating the max-size properties.
177         
178         Fix a crash on Solaris in a debug statement in get_request_pad that
179         passes a NULL string to GST_DEBUG. 
180
181         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
182         (run_output_order_test):
183         Fix the test to allow the first buffer on not-linked pads to come out
184         of sequence while multiqueue discovers that they are not-linked.
185
186 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
187
188         * configure.ac:
189         * libs/gst/check/Makefile.am:
190         Use a custom export symbol regex for libgstcheck, as it needs
191         to export symbols that don't match the standard GStreamer gst_*
192         pattern, and  --export-dynamic is not portable (only works on 
193         GNU ld)
194
195         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
196         (gst_check_setup_sink_pad):
197         Make sure to pass a message parameter to the fail_* macros.
198
199         * tests/check/gst/gstinfo.c: (GST_START_TEST):
200         Fix some compiler warnings.
201
202 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
203
204         * tests/check/gst/gststructure.c: (test_to_string):
205           Disable test that checks that white spaces are not allowed
206           in structure names or field names, since we need to
207           support that for now for backwards compatibility reasons.
208
209 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
210
211         * docs/gst/gstreamer-sections.txt:
212         * gst/gsttaglist.c:
213         * gst/gsttaglist.h:
214           API: add GST_TAG_ARTIST_SORTNAME
215           API: add GST_TAG_ALBUM_SORTNAME
216           API: add GST_TAG_TITLE_SORTNAME
217           Add tag variants for sorting (#414539).
218
219 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
220
221         * gst/gststructure.c:
222           Also allow white space for names so we don't break
223           backwards compatibility.
224
225 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
226
227         * docs/design/part-TODO.txt:
228         * docs/design/part-segments.txt:
229         * docs/design/part-streams.txt:
230         Small updates.
231
232 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
233
234         * docs/gst/gstreamer-sections.txt:
235          Fixed documentation from my previous commit (added new API add
236          gst_value_set_structure(), add gst_value_get_structure() and
237          GST_VALUE_HOLDS_STRUCTURE).
238
239 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
240
241         * gst/gstdebugutils.c:
242           Reflow code to fix uninitialized variable warning.
243
244 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
245
246         * gst/gstcaps.c: (gst_caps_to_string),
247         (gst_caps_from_string_inplace):
248         * gst/gststructure.c: (gst_structure_get_abbrs),
249         (gst_structure_to_string), (gst_structure_from_string):
250         * gst/gstvalue.c: (gst_value_set_structure),
251         (gst_value_get_structure), (gst_value_serialize_structure),
252         (gst_value_deserialize_structure), (_gst_value_initialize):
253         * gst/gstvalue.h:
254         * tests/check/gst/gststructure.c: (GST_START_TEST),
255         (gst_structure_suite):
256         * tests/check/gst/gstvalue.c: (GST_START_TEST):
257          Added GstStructure to gst_value_table and its related functions.
258          Changed gst_structure_to_string to print ';' in the end.
259          Changed gst_caps_to_string to not print ';' beteween its
260          fields (structures) anymore and remove the lastes ';' from latest
261          structure. Now it is possible to have nested structures.
262          In addition, backward compatibilty is assured by accepting '\0' as
263          end delimiter. Fixes: #487969.
264          API: add gst_value_set_structure()
265          API: add gst_value_get_structure()
266          API: add GST_VALUE_HOLDS_STRUCTURE
267
268 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
269
270         * gst/gstbus.c:
271           When no GSource callback has been set up, tell developer
272           to use a function that actually exists.
273
274 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
275
276         * docs/gst/gstreamer-sections.txt:
277         * gst/Makefile.am:
278         * gst/gst.c:
279         * gst/gst.h:
280         * gst/gstdebugutils.c:
281         * gst/gstdebugutils.h:
282         * gst/gstinfo.c:
283         * gst/gstinfo.h:
284         * tools/gst-launch.c:
285           Allow dumping pipelines as dot graphs. Fixes #456573.
286
287 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
288
289         * gst/gststructure.c:
290           Allow '+' as well, it can be part of media or mime types
291           such as image/svg+xml.
292
293 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
294
295         * docs/gst/gstreamer-sections.txt:
296         * gst/gstbus.c:
297         * gst/gstbus.h:
298           API: add gst_bus_pop_filtered
299           API: add gst_bus_timed_pop_filtered
300           Two new functions for waiting for specific message types on the
301           bus for a specified amount of time without iterating any main
302           loops or main contexts.
303
304         * tests/check/gst/gstbus.c:
305           Some tests for the new functions.
306
307 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
308
309         * docs/libs/gstreamer-libs-sections.txt:
310           Make gtk-doc ignore stuff it should ignore.
311
312 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
313
314         * libs/gst/check/gstcheck.c:
315         * libs/gst/check/gstcheck.h:
316           Allow runtime selection of unit tests to run via the GST_CHECKS
317           environment variable (test case function names, comma-separated).
318
319 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
320
321         * gst/gststructure.c:
322         * tests/check/gst/gststructure.c:
323           Revert serialisation change and constrain structure-names after
324           consensus on irc. Update api documentation to reflect the change.
325
326 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
327
328         * gst/gststructure.c:
329           Improve serialization and fix tests.
330
331         * tests/check/gst/gststructure.c:
332           Add another test that covers why I actually did the previous structure
333           change.
334
335 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
336
337         * tools/gst-inspect.c: (print_element_info):
338         Don't crash when inspecting an element.
339
340 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
341
342         * tests/check/gst/gststructure.c:
343           Add unit test for escaping of structure name when serialising
344           and deserialising to/from strings.
345
346 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
347
348         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
349         (gst_single_queue_new):
350         * plugins/elements/gstqueue.c: (gst_queue_init),
351         (gst_queue_push_one):
352         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
353         upstream is tricked into thinking it can suggest a format downstream
354         while downstream does not support that format. The real problem is that
355         core calls acceptcaps when pushing a buffer with new caps, for which we
356         do a little workaround by setting the caps on the srcpad ourselves
357         before pushing the buffer (until this is figured out). Fixes #486758.
358
359 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
360
361         * gst/gststructure.c:
362         * gst/gstvalue.c:
363           Add some more comments and debug output. Quote structure name to fix
364           deserialisation of some strings.
365
366 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
367
368         * gst/gstbuffer.h:
369           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
370           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
371
372 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
373
374         * tools/gst-inspect.c:
375           Save approx. 400 1 byte allocs when printing. Use API to acces element
376           details.
377
378         * tools/gst-run.c:
379           Avoid a strdup.
380
381         * tools/gst-xmlinspect.c:
382           Use API to acces element details.
383
384 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
385
386         * gst/gstinfo.c:
387           Fix some spelling errors.
388
389 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
390
391         * gst/gstbin.c: (bin_handle_async_done):
392         Correctly set the next state if all of our async children commited their
393         state. This makes sure we can actually cancel the state change in
394         progress. Fixes a regression in Rhythmbox when seeking.
395
396 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
397
398         * gst/gstbin.c:
399           Don't shadow local variable.
400
401         * gst/gstinfo.c:
402           Don't shadow global function name.
403
404 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
405
406         * gst/gstelementfactory.c:
407         * gst/gstpluginfeature.c:
408         * gst/gstpluginfeature.h:
409         * gst/gstregistrybinary.c:
410         * gst/gstregistryxml.c:
411         * gst/gsttypefind.c:
412           Use already-interned string for the private GstPluginFeature
413           plugin_name field.
414
415 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
416
417         * docs/libs/gstreamer-libs-sections.txt:
418           Add new API to docs; fixes the build.
419
420 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
421         
422         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
423
424         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
425         (gst_base_sink_event):
426         * libs/gst/base/gstbasesink.h:
427         Add function to wait for EOS, subclasses can use this to correctly wait
428         for devices to drain before performing the EOS logic. Fixes #485343.
429         API: gst_base_sink_wait_eos()
430
431 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
432
433         * gst/gstplugin.h:
434           Cast description string constants in GST_PLUGIN_DEFINE macros
435           to a (gchar*) to make C++ code using these macros compile
436           without warning with g++-4.2 (see #462737).  Even if slightly
437           ugly, this seems preferable to putting the description strings
438           into the GLib quark table or making the structure member a
439           const gchar * and doing casts in core code that allocs and
440           frees these strings, or requiring a cast in the C++ code.
441
442 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
443
444         * gst/gstinfo.h:
445           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
446           to print the entire class/function signature into the log
447           file for C++ code.  This only affects C++ code, for C code
448           everything remains the same.
449
450 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
451
452         * gst/gstbin.c: (remove_from_queue):
453         Work around a problem with pipelines containing (semi)loops until a
454         proper, more complicated solution is ready. See #475455.
455
456 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
457
458         * gst/gstplugin.c:
459         * gst/gstplugin.h:
460         * gst/gstregistrybinary.c:
461         * gst/gstregistryxml.c:
462           Put more strings into the GLib quark table. No need to keep
463           a hundred-something copies of identical version strings,
464           license strings, package name strings and package origin
465           strings around. 
466
467 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * docs/manual/advanced-dataaccess.xml:
470           Don't imply that it's okay to unconditionally change
471           buffer data or buffer metadata in a pad probe callback,
472           and a bunch of other comments. Fixes #430031.
473
474 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
475
476         * win32/common/gstenumtypes.c:
477         * win32/common/gstenumtypes.h:
478         * win32/common/gstversion.h:
479           Update generated files.
480
481 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
482
483         * docs/manual/advanced-autoplugging.xml:
484           Prefix section with broken code with a warning (see #342432).
485
486 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
487
488         * docs/manual/appendix-integration.xml:
489         * docs/manual/basics-init.xml:
490           Call g_thread_init() before g_option_context_new() to
491           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
492
493 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
494
495         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
496         (gst_base_sink_queue_object_unlocked),
497         (gst_base_sink_queue_object), (gst_base_sink_event),
498         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
499         When we received EOS and are waiting for when to post the EOS message,
500         our state is prerolled and we should not return ASYNC.
501         Reorganize some code paths to implement this behavior.
502
503         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
504         (gst_sinks_suite):
505         Add unit test to verify above EOS fix.
506
507 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
508
509         * plugins/elements/gsttypefindelement.c:
510         (gst_type_find_element_have_type), (gst_type_find_element_init),
511         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
512         Move detecting the input caps of the sinkpad to the setcaps function.
513         This allows us to update the output caps when we receive new input caps
514         instead of always using the first detected caps.
515
516 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
517
518         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
519         (gst_base_sink_get_position):
520         Don't try to preroll non-async elements after a flush.
521         Subtract latency form clock times when reporting position.
522
523 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
524
525         * gst/gstpad.c: (gst_pad_pause_task):
526         * gst/gstutils.c:
527         Small comment and documentation update.
528
529 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
530
531         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
532         (gst_base_src_set_live), (gst_base_src_is_live),
533         (gst_base_src_query_latency), (gst_base_src_perform_seek),
534         (gst_base_src_default_event), (gst_base_src_wait),
535         (gst_base_src_do_sync), (gst_base_src_get_range),
536         (gst_base_src_pad_get_range), (gst_base_src_loop),
537         (gst_base_src_unlock), (gst_base_src_unlock_stop),
538         (gst_base_src_set_flushing), (gst_base_src_set_playing),
539         (gst_base_src_activate_push), (gst_base_src_activate_pull),
540         (gst_base_src_change_state):
541         Rework the locking of basesrc in a similar fashion to basesink. We
542         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
543         us to handle live sources and semi live ones much better.
544         Simplify flushing.
545         Fix unlocking when seeking, shutting down and pausing in live sources.
546
547 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
548
549         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
550         Fix compilation again.
551
552 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
553
554         * gst/gstelement.c:
555           Use meaningful categories for the logs to clean the default one.
556
557 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
558
559         * tests/check/pipelines/cleanup.c:
560           Print message name and not just number.
561
562 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
563
564         * docs/design/draft-tagreading.txt:
565           Add some more thoughts.
566
567 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
568
569         * tests/check/pipelines/simple-launch-lines.c:
570           Print message name and not just number.
571
572 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
573
574         * libs/gst/base/gsttypefindhelper.c:
575           Speedup typefinding. This is work in progress (see #459862).
576
577 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
578
579         * gst/gstplugin.c:
580           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
581           Spotted by Josep Torra Valles <josep@fluendo.com>.
582
583 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
584
585         * gst/gstclock.h:
586           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
587           field has moved to GstObject.
588
589 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
590
591         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
592         (gst_base_src_get_range), (gst_base_src_change_state):
593         Call unlock for live sources so that they can't get stuck in _create and
594         produce a buffer before they are set back to PLAYING.
595
596 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
597
598         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
599         (gst_queue_locked_dequeue):
600         Comment the segment-related code... in the PROPER function.
601         See #482147 and my commit from yesterday.
602
603 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
604
605         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
606         Also initialize the counter that calculates the first timestamp on a
607         buffer correctly for non-live sources.
608
609 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
610
611         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
612         Disable code that's breaking the current-time-level reporting.
613         See #482147
614
615 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
616
617         * docs/gst/gstreamer-sections.txt:
618         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
619         as they shouldn't show up. Fixes the docs build.
620
621 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
622         
623         * gst/gstinfo.h:
624         Add an explicit variable importation needed on VS6 (only for MSC_VER)
625         Define M_PI which is used in files which are including gstinfo.h. 
626         VS6 includes doesn't define it.
627         * win32/common/libgstbase.def:
628         * win32/common/libgstcontroller.def:
629         * win32/common/libgstreamer.def:
630         Add new exported functions and variables.
631         * win32/vs6/libgstcontroller.dsp:
632         * win32/vs6/libgstreamer.dsp:
633         Update the list of files to build.
634         
635 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
636
637         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
638
639         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
640         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
641         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
642         Improve debugging. Fixes #480858.
643
644 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
645
646         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
647
648         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
649         First patch of code cleanups, use the macros and right arguments in the
650         macros to signal and lock the queue. See #480858.
651
652 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
653
654         * gst/gstbus.c: (poll_func):
655         Improve debugging when dealing with _poll().
656
657 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
658
659         * gst/gstregistryxml.c:
660           Fix memory leak I introduced a few days ago.
661
662 2007-09-26  Michael Smith <msmith@fluendo.com>
663
664         * gst/gstbuffer.c: (gst_buffer_finalize):
665           Make it once again possible to free GstBuffers in the default
666           build.
667           The poisoning scribbles on parts of the miniobject we need in
668           order to free it.
669           Fixes #480341
670
671 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
672
673         * docs/gst/gstreamer-sections.txt:
674         * gst/gsttaglist.c:
675         * gst/gsttaglist.h:
676         API: add GST_TAG_COMPOSER, fixes #459809.
677
678 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
679
680         * gst/gstplugin.c:
681         * gst/gstplugin.h:
682         Add the 3-clause BSD license and the MIT/X11 license to the license
683         list. Fixes #479784.
684
685 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
686
687         * docs/faq/getting.xml:
688           Add Q+A about different GStreamer versions (#364056).
689
690 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
691
692         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
693         (gst_base_sink_event), (gst_base_sink_change_state):
694         Return correct gboolean from query function.
695
696 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
697
698         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
699         (gst_base_sink_event), (gst_base_sink_query),
700         (gst_base_sink_change_state):
701         Simplify latency query.
702         When not synchronizing, we can report latency without querying the peer
703         element.
704
705 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
706
707         * gst/gstobject.h:
708         * gst/gstvalue.c:
709         Fix small typos in the docs.
710
711 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
712
713         * docs/design/draft-latency.txt:
714         * docs/design/draft-push-pull.txt:
715         * docs/design/draft-tagreading.txt:
716         * docs/design/part-MT-refcounting.txt:
717         * docs/design/part-activation.txt:
718         * docs/design/part-block.txt:
719         * docs/design/part-element-source.txt:
720         * docs/design/part-events.txt:
721         * docs/design/part-gstbin.txt:
722         * docs/design/part-gstelement.txt:
723         * docs/design/part-gstobject.txt:
724         * docs/design/part-gstpipeline.txt:
725         * docs/design/part-messages.txt:
726         * docs/design/part-preroll.txt:
727         * docs/design/part-push-pull.txt:
728         * docs/design/part-qos.txt:
729         * docs/design/part-query.txt:
730         * docs/design/part-scheduling.txt:
731         * docs/design/part-seeking.txt:
732         * docs/design/part-segments.txt:
733         * docs/design/part-states.txt:
734         Documentation updates and typo fixes.
735
736 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
737
738         * plugins/elements/gstfakesink.c:
739           Add some debug text to error message to indicate that
740           we errored out on request.
741
742         * tools/gst-launch.c:
743           When the state change to PLAYING fails, check for an
744           error message on the bus and print it.
745
746 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
747
748         translated by: Jorge González González <aloriel@gmail.com>
749
750         * po/LINGUAS:
751         * po/es.po:
752           Added Spanish translation.
753
754 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
755
756         * plugins/elements/gstqueue.c: (gst_queue_push_one):
757         Fix printf arguments.
758
759 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
760
761         * tests/check/generic/states.c:
762           Improved state change unit test.
763
764 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
765
766         * gst/gstbin.h:
767           Move priv to the right place.
768
769         * gst/gstsystemclock.c:
770           Add FIXME: and improve log.
771
772         * tests/check/Makefile.am:
773         * tests/examples/manual/Makefile.am:
774           Work with all types of registries.
775
776 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
777
778         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
779         Don't unref the event after pushing it. Fixes #478401.
780
781 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
782
783         * .cvsignore:
784         * tests/examples/manual/.cvsignore:
785           Ignore registries in any format.
786
787 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
788
789         * gst/glib-compat-private.h:
790           Add compatibility macro for g_intern_string() for
791           GLib-2.8 (any reason we can't just bump the
792           requirement to at least 2.10?)
793
794         * gst/gstpadtemplate.h:
795         * gst/gstelementfactory.c:
796         * gst/gstregistryxml.c:
797         * gst/gstregistrybinary.c:
798           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
799           up the internal code accordingly.  This shouldn't be a problem, since
800           there is no reason external code could ever assume the string in such
801           a structure is dynamically allocated unless it did that itself;  the
802           use of g_strdup() is private to element factories.  The new code also
803           saves some memory by putting pad template name strings into the GLib
804           quark table instead of allocating them dynamically.
805           Declaring this field constant fixes warnings with g++-4.2 when using
806           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
807
808 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
809
810         * gst/gstelementfactory.c:
811           Release static caps. Fixes #475723.
812
813 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
814
815         * gst/gstinfo.c:
816         * gst/gstinfo.h:
817           Make some internal API take const gchar * instead of just
818           gchar * to avoid compiler warnings with g++-4.2.2 when
819           passing string constants (partially fixes #478092).
820
821 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
822
823         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
824         A latency query fails when one of the sinks fail.
825
826         * gst/gstelement.c: (gst_element_set_base_time):
827         Improve debugging.
828
829 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
830
831         * gst/gstbin.c: (gst_bin_continue_func):
832         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
833         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
834         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
835
836         Fix minor compilation warnings shown with Forte.
837
838 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
839
840         * plugins/elements/gstqueue.c: (apply_buffer),
841         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
842         Measure queue level based on the diff between head and tail timestamps
843         even when pushing the first buffer.
844
845 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
846
847         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
848         (gst_base_sink_event), (gst_base_sink_change_state):
849         Sinks that don't preroll can always be queried for the latency.
850         Don't post ASYNC start when we are not async.
851
852 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
853
854         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
855         (gst_queue_handle_sink_event), (gst_queue_chain),
856         (gst_queue_push_one), (gst_queue_handle_src_query),
857         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
858         * plugins/elements/gstqueue.h:
859         When downstream returns UNEXPECTED from pushing a buffer, don't try to
860         push more buffers but allow pushing of EOS and NEWSEGMENT.
861         Add some more debug info here and there. Fixes #476514.
862
863 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
864
865         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
866         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
867         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
868         (gst_base_sink_set_flushing), (gst_base_sink_query),
869         (gst_base_sink_change_state):
870         Latency query is allowed after we are prerolled. Introduce a new flag
871         for this and stop abusing other variables.
872
873 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
874
875         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
876         Push OOB events downstream when we get them in send_event. This allows
877         the application to insert events in the pipeline.
878         Add some more comments.
879
880 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
881
882         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
883         (do_bin_latency), (gst_bin_change_state_func):
884         * gst/gstpipeline.c: (gst_pipeline_change_state):
885         Move latency query from GstPipeline to GstBin so that we can also
886         use it when async-handling is enabled on bins.
887
888 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
889
890         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
891         (gst_base_src_do_sync), (gst_base_src_change_state):
892         Update docs.
893         Clean up the timestamping and syncing code for pseudo live sources.
894
895 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
896
897         Patch by: Steve Fink  <sphink gmail com>
898
899         * docs/manual/appendix-checklist.xml:
900           Mention less -R switch in the section about debug output (#474055).
901
902 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
903
904         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
905         Queue can latency to the pipeline up to the configured max size in time.
906         Report this fact in the latency query.
907
908 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
909
910         Patch by: Sebastien Moutte <sebastien at moutte dot net>
911
912         * libs/gst/controller/gstinterpolation.c:
913         * libs/gst/controller/gstlfocontrolsource.c:
914         Use gst_guint64_to_gdouble() when converting from a uint64 or
915         GstClockTime to double to fix the build on win32. Fixes #474371.
916
917 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
918
919         * gst/gstbuffer.c: (gst_buffer_finalize):
920         Implement poisoning for GstBuffer if --enable-poisoning is specified.
921         When finalizing a buffer the complete struct is filled with 0xff,
922         thus making a use of the buffer after the final unref impossible.
923
924 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
925
926         * tests/check/libs/controller.c: (GST_START_TEST):
927         Use fail_unless_equals_int(a, b) instead of
928         fail_unless_equals (a == b) to get better output on failures.
929
930 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
931
932         * tests/check/gst/gsturi.c:
933           Also check for the other file URI variant on win32.
934
935 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
936
937         * gst/gsturi.c: (gst_uri_get_location):
938           If there's no hostname, we want to return 'c:/foo/bar.txt'
939           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
940
941         * tests/check/gst/gsturi.c:
942           Unit test for the above and a few more things.
943
944 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
945
946         * docs/design/part-live-source.txt:
947         Add docs on how live sources should timestamp.
948
949         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
950         Add some more debug info.
951         For subclasses that are live and like to sync, add aditional startup
952         latency to sync time and timestamps so that we timstamp according to the
953         design doc.
954
955 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
956
957         * gst/gstbuffer.c:
958           Also do a g_type_class_ref() for the subbuffer type in
959           the init function.
960
961 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
962
963         * docs/gst/gstreamer-sections.txt:
964         * gst/gstpad.c: (gst_pad_peer_query):
965         * gst/gstpad.h:
966         Add function to perform a query on the peer of a pad.
967         API: gst_pad_peer_query()
968
969 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
970
971         * tests/check/gst/gstsystemclock.c:
972           Cleanup the test a little (use gst-logging and not g_message). Improve
973           test to check if a wait reached the target.
974
975 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
976
977         * docs/libs/gstreamer-libs-sections.txt:
978           Add new API to docs and fix the build.
979
980 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
981
982         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
983         (gst_base_src_init), (gst_base_src_set_do_timestamp),
984         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
985         (gst_base_src_get_property), (gst_base_src_do_sync):
986         * libs/gst/base/gstbasesrc.h:
987         Add property to make the basesrc timestamp buffers based on the current
988         running time.
989         API: GstBaseSrc::do-timestamp
990         API: gst_base_src_set_do_timestamp()
991         API: gst_base_src_get_do_timestamp()
992
993 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
994
995         * docs/random/release:
996           Really make sure translations are up-to-date before
997           a release (#465010).
998
999 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
1000
1001         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1002         Always destroy the timer, also in error cases.
1003
1004 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1005
1006         * docs/manual/highlevel-xml.xml:
1007         Fix XML example code. Fixes #472714.
1008
1009 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1010
1011         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1012         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1013         (gst_base_sink_query):
1014         Protect eos and have_preroll with the OBJECT lock so we don't need to
1015         take the PREROLL lock when querying the latency. Fixes #473846.
1016
1017 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
1018
1019         * gst/gstelement.c:
1020           Give some log-messages a category.
1021
1022 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
1023
1024         * gst/gststructure.c:
1025         (gst_structure_fixate_field_nearest_fraction):
1026         Fix fraction list fixation code. Take the fraction with the smallest
1027         difference with the target instead of the first one in the list.
1028
1029         * tests/check/gst/gststructure.c: (GST_START_TEST),
1030         (gst_structure_suite):
1031         Added test to verify correct fraction list fixation behaviour.
1032
1033 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * win32/common/libgstreamer.def:
1036           Export gst_bus_add_signal_watch too.
1037
1038 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1039
1040         * docs/libs/gstreamer-libs-sections.txt:
1041         Add new methods to docs.
1042
1043         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1044         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1045         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1046         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1047         * libs/gst/base/gstbasesink.h:
1048         Add ts-offset property to fine-tune the synchronisation.
1049         API: GstBaseSink::ts-offset property
1050         API: gst_base_sink_set_ts_offset()
1051         API: gst_base_sink_get_ts_offset()
1052
1053 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1054
1055         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1056         (gst_base_sink_init), (gst_base_sink_set_sync),
1057         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1058         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1059         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1060         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1061         (gst_base_sink_get_property), (gst_base_sink_change_state):
1062         * libs/gst/base/gstbasesink.h:
1063         Add async property to instruct the sink never to inform the parent about
1064         ASYNC state changes, update docs.
1065         Check argument with g_return_* for the public functions.
1066         API: GstBaseSink::async property
1067         API: gst_base_sink_set_async_enabled()
1068         API: gst_base_sink_is_async_enabled()
1069
1070 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1071
1072         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1073         Improve debugging.
1074
1075         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1076         (gst_base_src_default_query), (gst_base_src_wait),
1077         (gst_base_src_do_sync), (gst_base_src_change_state):
1078         Rearrange some code so that we can add support for measuring the 
1079         startup latency.
1080
1081 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1082
1083         * docs/random/ensonic/dynlink.txt:
1084           More thoughs on this.
1085
1086         * plugins/elements/gstcapsfilter.c:
1087           Add bugzilla ticket number to FIXME comment.
1088
1089 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1090
1091         * docs/design/part-TODO.txt:
1092         * docs/design/part-block.txt:
1093         Update some docs.
1094
1095 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1096
1097         * gst/Makefile.am:
1098           Revert patch which uses $(gst_headers) instead of $^ because it
1099           breaks make dist.
1100
1101 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1102
1103         * tests/check/gst/gstbin.c: (GST_START_TEST):
1104           Fix leaks in the new unit test.
1105
1106 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
1107
1108         * gst/gst.c:
1109           Don't use GST_INFO before the debug system is actually initialised
1110           (shouldn't do any harm, but won't print anything either, so we can
1111           just as well remove it).
1112
1113         * gst/gstinfo.h:
1114           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1115           compilers that don't support variadic macros (such as MSVC), should
1116           check for debug_level <= __gst_debug_min as well, since that's the
1117           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1118           inline helper functions. Should improve performance a bit, but also
1119           makes sure uses of GST_INFO et.al are ignored if the debugging
1120           system isn't initialised yet (instead of printing an assertion
1121           failure).
1122
1123 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
1124
1125         patch by: David Nečas <yeti@physics.muni.cz>
1126
1127         * gst/Makefile.am:
1128           Replace some non portable makefile constructs.
1129
1130 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
1131
1132         * common/gtk-doc-plugins.mak:
1133           Grrrrr. Don't remove the types file on make clean.
1134
1135 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
1136
1137         * tools/gst-launch.1.in:
1138         Add colorspace to example pipeline. Fixes #458274.
1139
1140 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
1141
1142         * docs/random/release:
1143           The release manager should run 'make download-po' before making a
1144           release to make sure translations are up-to-date.
1145
1146         * po/LINGUAS:
1147         * po/be.po:
1148         * po/pl.po:
1149         * po/rw.po:
1150           Add some new translations.
1151
1152 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
1153
1154         * tools/gst-launch.c: (event_loop), (main):
1155         Don´t try to do any state management when a live pipeline posts
1156         buffering messages.
1157         Also make the buffering string translatable.
1158
1159 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1160
1161         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1162         (bin_handle_async_start), (gst_bin_handle_message_func):
1163         Improve debugging.
1164         When adding elements, insert messages into the bus of the newly added
1165         element and make sure the element is the source of the message. This
1166         allows the parent bin to intercept the message and do the
1167         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1168         messages to the app (which is not allowed).
1169         Update some docs.
1170
1171         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1172         Fix testsuite so that is does not work around messages that should not
1173         have been posted in the first place.
1174
1175 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1176
1177         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1178         (update_degree), (gst_bin_sort_iterator_next):
1179         Fix annoying bug in the sorted iterator where a sink that is not really
1180         a sink (when it has downstream links) screwed up the iterator.
1181
1182         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1183         Unit test to verify the fix.
1184
1185 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1186
1187         * gst/gstmessage.h:
1188         Add some more docs for the messages.
1189
1190         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1191         (gst_base_sink_query):
1192         Add some more debugging.
1193
1194         * tools/gst-launch.c: (event_loop):
1195         When interrupting, don't try to set pipeline to PAUSED twice.
1196
1197 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1198
1199         
1200         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1201         (bin_handle_async_start), (gst_bin_handle_message_func):
1202         Move ASYNC_START message posting to where it belongs, similar to
1203         async_done. 
1204         Don't post ASYNC_START when we are in error. 
1205         Post ASYNC_START when we added an async element to a bin.
1206
1207 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1208
1209         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1210         generation from vargs. Fixes #466595.
1211
1212 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1213
1214         * gst/gstbin.c: (gst_bin_element_set_state):
1215         Always change the state of a NO_PREROLL element even if it has ASYNC
1216         elements inside (in case of a bin).
1217
1218         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1219         Unit test for this case.
1220
1221 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1222
1223         * libs/gst/check/gstbufferstraw.c:
1224         * libs/gst/check/gstcheck.h:
1225         * libs/gst/controller/gstcontroller.c:
1226         * libs/gst/controller/gstcontrolsource.h:
1227         * libs/gst/controller/gstlfocontrolsource.h:
1228         * plugins/elements/gstcapsfilter.h:
1229         * plugins/elements/gstfdsink.h:
1230         * plugins/elements/gstfdsrc.h:
1231           Add more missing docs.
1232
1233 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1234
1235         * gst/gststructure.c:
1236         Add Since tag to docs.
1237
1238 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1239
1240         * docs/gst/gstreamer-sections.txt:
1241         * gst/gststructure.c: (gst_structure_get_uint):
1242         * gst/gststructure.h:
1243         Add function to get uint from a structure.
1244         API: gst_structure_get_uint()
1245
1246 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1247
1248         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1249         (gst_caps_intersect):
1250         Fix proper check for simple caps.
1251
1252 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1253
1254         * docs/gst/Makefile.am:
1255         * docs/libs/Makefile.am:
1256           Remove cruft and do some cleanups.
1257
1258         * docs/gst/gstreamer-docs.sgml:
1259         * docs/libs/gstreamer-libs-docs.sgml:
1260           Prepare for comming gtkdoc features (rebase against online docs).
1261
1262 2007-08-10  Michael Smith <msmith@fluendo.com>
1263
1264         * docs/gst/gstreamer-sections.txt:
1265           Add gst_registry_add_path to docs.
1266
1267 2007-08-10  Michael Smith <msmith@fluendo.com>
1268
1269         * gst/gstregistry.h:
1270           Add gst_registry_add_path, which was missing from this header.
1271
1272 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1273
1274         * libs/gst/controller/gstlfocontrolsource.c:
1275           Printf format fix.
1276
1277 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1278
1279         * libs/gst/base/gstbasesink.c:
1280           Don't send an async_start message during downwards state change if 
1281           target state is less than READY
1282
1283 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1284
1285         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1286
1287         * po/LINGUAS:
1288         * po/hu.po:
1289           Added Hungarian translation.
1290
1291 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * po/fi.po:
1294         * po/it.po:
1295         * po/nl.po:
1296         * po/sv.po:
1297         * po/uk.po:
1298           Updated translations.
1299
1300 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1301
1302         * libs/gst/controller/Makefile.am:
1303         Dist gstlfocontrolsourceprivate.h
1304
1305 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1306
1307         * docs/libs/gstreamer-libs.types:
1308         Don't register the enum type gst_lfo_waveform_get_type() in the
1309         .types file - only GObject derived types belong.
1310
1311 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1312
1313         Patch by: <arenevier at fdn dot fr>
1314
1315         * gst/gstbuffer.h:
1316         Remove comma from last element in enum to avoid compile errors when
1317         using -pendantic. Fixes #464366.
1318
1319 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1320
1321         * docs/design/part-TODO.txt:
1322         Add some more TODO items
1323
1324         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1325         Improve debugging.
1326
1327         * gst/gstcaps.c: (gst_caps_intersect):
1328         Optimize trivial intersection case between identical caps pointers.
1329
1330         * gst/gstelement.c: (gst_element_continue_state),
1331         (gst_element_set_state_func):
1332         * gst/gstpad.c:
1333         Fix spelling and grammar mistakes.
1334
1335 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1336
1337         * po/POTFILES.in:
1338         * po/POTFILES.skip:
1339           Update POTFILES. Fixes #461599.
1340
1341 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1342
1343         * gst/gst.c:
1344         Fix confusing typo in debug output.
1345
1346 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1347
1348         reviewed by: Stefan Kost <ensonic@users.sf.net>
1349
1350         * libs/gst/controller/Makefile.am:
1351         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1352         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1353         (gst_lfo_control_source_new),
1354         (gst_lfo_control_source_set_waveform),
1355         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1356         (gst_lfo_control_source_finalize),
1357         (gst_lfo_control_source_dispose),
1358         (gst_lfo_control_source_set_property),
1359         (gst_lfo_control_source_get_property),
1360         (gst_lfo_control_source_class_init):
1361         * libs/gst/controller/gstlfocontrolsource.h:
1362         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1363         API: Add GstLFOControlSource, a control source that gives values
1364         for specific timestamps based on several periodic waveforms.
1365         Fixes #459717.
1366
1367         * tests/check/libs/controller.c: (GST_START_TEST),
1368         (gst_controller_suite):
1369         * docs/libs/gstreamer-libs-docs.sgml:
1370         * docs/libs/gstreamer-libs-sections.txt:
1371         * docs/libs/gstreamer-libs.types:
1372         Add documentation and unit tests for GstLFOControlSource.
1373
1374 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1375
1376         * configure.ac:
1377         Back to CVS
1378
1379 === release 0.10.14 ===
1380
1381 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1382
1383         * configure.ac:
1384           releasing 0.10.14, "Breathing Vacuum"
1385
1386 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1387
1388         * gst/gstelement.c: (gst_element_class_set_details_simple):
1389         * gst/gstelement.h:
1390           Make strings passed to gst_element_class_set_details_simple()
1391           constant, as they should be (#462752).
1392
1393 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1394
1395         * gst/gstbin.c: (gst_bin_change_state_func),
1396         (bin_handle_async_done), (gst_bin_handle_message_func):
1397         Don't forget about the fact that some element went ASYNC even after a
1398         resync. This makes us post the ASYNC_DONE message correctly.
1399         Fixes #462558.
1400
1401 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1402
1403         * gst/gstregistry.c: (gst_registry_add_feature):
1404         When replacing an existing feature in the registry, make sure to
1405         continue holding a reference until we've replaced the name string
1406         within our feature hash table. Make sure to use g_hash_table_replace
1407         instead of g_hash_table_insert to ensure the new name string is used
1408         as a key instead of the old one that we're about to free.
1409         Fixes: #462085
1410
1411 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1412
1413         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1414         (gst_plugin_feature_set_name):
1415         Revert patch from #459466 until after the release and we can work
1416         out exactly what the problem is (if any).
1417
1418 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1419
1420         * docs/gst/gstreamer-sections.txt:
1421         * gst/gsttaglist.c:
1422         * gst/gsttaglist.h:
1423           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1424
1425 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1426
1427         * docs/libs/Makefile.am:
1428         Include our build-prefix libs and includes before the generic ones to
1429         avoid linking against the installed libs when we want the build-tree
1430         ones.
1431
1432 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1433
1434         Patch by: Steve Fink  <sphink gmail com>
1435
1436         * docs/pwg/building-testapp.xml:
1437           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1438           if people try to build or install the example from the plugin
1439           template against a GStreamer from package using the configure
1440           defaults.
1441
1442 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1443
1444         Patch by: Steve Fink  <sphink gmail com>
1445
1446         * tools/gst-inspect.1.in:
1447           Document --print-all and --print-plugin-auto-install-info command
1448           line options in man page.
1449
1450 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1451
1452         * docs/gst/gstreamer-sections.txt:
1453         Add docs for new api function.
1454
1455 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1456
1457         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1458         * gst/gstelementfactory.h:
1459         API: gst_element_factory_has_interface()
1460         Added method to check if an element factory implements a named
1461         interface.
1462
1463 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1464
1465         * configure.ac:
1466         * docs/gst/gstreamer.types.in:
1467           Another conditional doc check.
1468
1469         * gst/gstmessage.c:
1470         * gst/gstparamspecs.h:
1471         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1472         * gst/gstvalue.c:
1473         * gst/gstxml.h:
1474           API-doc fixes.
1475
1476 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1477
1478         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1479         (gst_registry_binary_load_feature),
1480         (gst_registry_binary_load_plugin),
1481         (gst_registry_binary_read_cache):
1482           Print error just once and with additional info.
1483
1484 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1485
1486         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1487         (helper_find_suggest), (helper_find_get_length),
1488         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1489         (gst_type_find_helper_for_buffer):
1490           Cleanup the typefindhelper code and add private doc comments.
1491
1492 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1493
1494         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1495         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1496         Fix capsfilter for cases where the caps set on capsfilter will provide
1497         additional information.
1498         Fixes #449197
1499
1500 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1501
1502         * gst/gsttypefindfactory.c:
1503           Fix docs that recommened wrong function to use.
1504
1505 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1506
1507         * tools/gst-inspect.c: (print_plugin_features):
1508           Also give media-type for typefinders in element output.
1509
1510 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1511
1512         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1513         (gst_registry_remove_features_for_plugin_unlocked),
1514         (gst_registry_add_feature), (gst_registry_remove_feature),
1515         (gst_registry_lookup_feature_locked):
1516         * gst/gstregistry.h:
1517           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1518           Fixes #459501.
1519
1520 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1521
1522         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1523         (gst_plugin_feature_set_name):
1524           Avoid double memory usage for pluginfeature names. Fixes #459466.
1525
1526 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1527
1528         * gst/gstpad.h:
1529           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1530           driving the pipeline may need to explicitly check for NOT_LINKED as
1531           well, since IS_FATAL doesn't cover that.
1532
1533 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1534
1535         * docs/pwg/advanced-types.xml:
1536           Fix typo and duplicate entry in video formats list.
1537
1538 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1539
1540         * libs/gst/controller/gstinterpolation.c:
1541         Also round to the nearest int when using cubic interpolation.
1542
1543 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1544
1545         * libs/gst/controller/gstinterpolation.c:
1546         When linearly interpolating integer types, round to the nearest int
1547         by adding 0.5. Don't do it for float/double types.
1548         Fixes the failing controller test on my machine, which is somehow
1549         rounding differently than on the buildbots.
1550
1551 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1552
1553         * tools/gst-plot-timeline.py:
1554           Better log parsing (categories can have -). Adjust text vs. lines, so
1555           that they span the same y-range.        
1556
1557 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1558
1559         * docs/random/ensonic/audiobaseclasses.txt:
1560         * docs/random/ensonic/dynlink.txt:
1561         * docs/random/ensonic/profiling.txt:
1562           Save my thoughts.
1563
1564         * docs/random/moving-plugins:
1565           Add note to use g_assert type macros.
1566
1567 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1568
1569         * configure.ac:
1570         * libs/gst/check/Makefile.am:
1571           Add libm check as we use in for plugins.
1572
1573 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1574
1575         * gst/gstbin.c: (gst_bin_continue_func):
1576         Check that the state_cookie hasn't changed since the continue_func
1577         was scheduled. Avoids problems where the state changes back to
1578         something it shouldn't be because it was changed in the meantime.
1579
1580 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1581
1582         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1583         (gst_registry_binary_save_string),
1584         (gst_registry_binary_save_pad_template),
1585         (gst_registry_binary_save_feature),
1586         (gst_registry_binary_save_plugin),
1587         (gst_registry_binary_load_feature),
1588         (gst_registry_binary_load_plugin),
1589         (gst_registry_binary_read_cache):
1590           Fix memory leak. Be less verbose in the log.
1591
1592 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1593
1594         * tests/check/elements/.cvsignore:
1595         Add file to cvsignore as commanded.
1596
1597 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1598
1599         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1600         (mq_dummypad_event), (run_output_order_test):
1601         Use a GStaticMutex to protect all cases where libcheck
1602         fail_if/fail_unless macros might be called from multiple threads
1603         simultaneously to avoid errors like:
1604           "check_pack.c:107: :-1081725400:Bad message type arg"
1605
1606 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1607
1608         * tests/check/pipelines/stress.c: (GST_START_TEST):
1609         Make sure we set the pipeline back to the NULL state before
1610         dropping our final reference.
1611
1612 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1613
1614         * tests/check/elements/tee.c: (GST_START_TEST):
1615         Make the tee stress-test a little less stressful so it doesn't just
1616         time out on slow-machines, and remove a small race when it's starting 
1617         up by adding a get_state() call.
1618
1619 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1620
1621         * gst/gst.c:
1622           Avoid reading registry twice on startup. Fixes #457322.
1623
1624 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1625
1626         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1627         * pkgconfig/gstreamer-check.pc.in:
1628         Substitute the CFLAGS for libcheck into our .pc file too so that
1629         dependent modules will pick it up properly if libcheck is installed
1630         into some other prefix.
1631
1632 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1633
1634         * configure.ac:
1635         Revert the pkg-config check for libcheck, since it pulls in the
1636         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1637         a proper solution, either from the check project, or something else.
1638
1639 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1640
1641         * configure.ac:
1642           Use pkg-config to locate check.
1643
1644 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1645
1646         * gst/gsttaglist.c:
1647           Fix doc syntax.
1648
1649         * gst/gstutils.c:
1650         * gst/gstutils.h:
1651           Add deprecation guards.
1652
1653         * libs/gst/base/gstcollectpads.h:
1654           Don't document object (this is implicitly private).
1655
1656 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1657
1658         * gst/gststructure.c: (gst_structure_parse_value):
1659           When deserialising foo=bar without a type cast, check if it's a
1660           boolean before falling back to a string type, otherwise things like
1661           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1662           because the filtercaps end up having a signed=(string)true field,
1663           which causes problems later when intersection caps.
1664
1665         * tests/check/gst/gststructure.c: (GST_START_TEST):
1666           Add a unit test for this.
1667
1668 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1669
1670         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1671
1672         * libs/gst/controller/Makefile.am:
1673         * libs/gst/controller/gstcontroller.c:
1674         (gst_controlled_property_add_interpolation_control_source),
1675         (gst_controlled_property_new), (gst_controlled_property_free),
1676         (gst_controller_find_controlled_property),
1677         (gst_controller_new_valist), (gst_controller_new_list),
1678         (gst_controller_new), (gst_controller_remove_properties_valist),
1679         (gst_controller_remove_properties_list),
1680         (gst_controller_remove_properties),
1681         (gst_controller_set_property_disabled),
1682         (gst_controller_set_disabled), (gst_controller_set_control_source),
1683         (gst_controller_get_control_source), (gst_controller_get),
1684         (gst_controller_sync_values), (gst_controller_get_value_array),
1685         (_gst_controller_dispose), (gst_controller_get_type),
1686         (gst_controlled_property_set_interpolation_mode),
1687         (gst_controller_set), (gst_controller_set_from_list),
1688         (gst_controller_unset), (gst_controller_unset_all),
1689         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1690         * libs/gst/controller/gstcontroller.h:
1691         * libs/gst/controller/gstcontrollerprivate.h:
1692         * libs/gst/controller/gstcontrolsource.c:
1693         (gst_control_source_class_init), (gst_control_source_init),
1694         (gst_control_source_get_value),
1695         (gst_control_source_get_value_array), (gst_control_source_bind):
1696         * libs/gst/controller/gstcontrolsource.h:
1697         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1698         (gst_object_get_control_source):
1699         * libs/gst/controller/gstinterpolation.c:
1700         (gst_interpolation_control_source_find_control_point_node),
1701         (gst_interpolation_control_source_get_first_value),
1702         (_interpolate_none_get), (interpolate_none_get),
1703         (interpolate_none_get_boolean_value_array),
1704         (interpolate_none_get_enum_value_array),
1705         (interpolate_none_get_string_value_array),
1706         (_interpolate_trigger_get), (interpolate_trigger_get),
1707         (interpolate_trigger_get_boolean_value_array),
1708         (interpolate_trigger_get_enum_value_array),
1709         (interpolate_trigger_get_string_value_array):
1710         * libs/gst/controller/gstinterpolationcontrolsource.c:
1711         (gst_control_point_free), (gst_interpolation_control_source_reset),
1712         (gst_interpolation_control_source_new),
1713         (gst_interpolation_control_source_set_interpolation_mode),
1714         (gst_interpolation_control_source_bind),
1715         (gst_control_point_compare), (gst_control_point_find),
1716         (gst_interpolation_control_source_set_internal),
1717         (gst_interpolation_control_source_set),
1718         (gst_interpolation_control_source_set_from_list),
1719         (gst_interpolation_control_source_unset),
1720         (gst_interpolation_control_source_unset_all),
1721         (gst_interpolation_control_source_get_all),
1722         (gst_interpolation_control_source_get_count),
1723         (gst_interpolation_control_source_init),
1724         (gst_interpolation_control_source_finalize),
1725         (gst_interpolation_control_source_dispose),
1726         (gst_interpolation_control_source_class_init):
1727         * libs/gst/controller/gstinterpolationcontrolsource.h:
1728         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1729         API: Refactor GstController into the core controller which can take
1730         a GstControlSource for providing actual values for timestamps.
1731         Implement a interpolation control source and use this for backward
1732         compatibility, deprecate a bunch of functions that are now handled
1733         by GstControlSource or GstInterpolationControlSource.
1734         Make it possible to disable the controller completely or only for
1735         specific properties. Fixes #450711.
1736         * docs/libs/gstreamer-libs-docs.sgml:
1737         * docs/libs/gstreamer-libs-sections.txt:
1738         * docs/libs/gstreamer-libs.types:
1739         Add new functions and classes to the docs.
1740         * tests/check/libs/controller.c: (GST_START_TEST),
1741         (gst_controller_suite):
1742         * tests/examples/controller/audio-example.c: (main):
1743         Port unit test and example to the new API and add some new
1744         unit tests.
1745
1746 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
1747
1748         Patch by: Mark Nauwelaerts <manauw at skynet be>
1749
1750         * plugins/elements/gstmultiqueue.c:
1751         (gst_multi_queue_get_internal_links), (apply_buffer),
1752         (single_queue_overrun_cb), (gst_single_queue_new):
1753         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1754         the pipeline layout can be tracked correctly. Fixes #453732.
1755
1756 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
1757
1758         * docs/gst/Makefile.am:
1759         * docs/libs/Makefile.am:
1760         * docs/plugins/Makefile.am:
1761           Simplify --extra-dir as gtkdoc scans recursively.
1762
1763 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1764
1765         * tools/gst-launch.c: (main):
1766         When we got an error, there is no point in waiting for preroll when
1767         shutting down.
1768
1769 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1770
1771         * plugins/elements/gsttee.c: (gst_tee_base_init),
1772         (gst_tee_request_new_pad), (gst_tee_release_pad),
1773         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1774         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1775         (gst_tee_chain):
1776         Be a lot smarter when deciding what srcpad to use for proxying
1777         the buffer_alloc. Also handle pad added/removed when doing so.
1778         Fixes #357959.
1779         Keep track of what pads we already pushed on in case we have pads
1780         added/removed while pushing. Fixes #374639 
1781
1782         * tests/check/Makefile.am:
1783         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1784         (tee_suite):
1785         Added unit test for pad resync.
1786
1787 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1788
1789         * po/nl.po:
1790         * po/sv.po:
1791           Updated translations.
1792
1793 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1794
1795         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1796
1797         * po/LINGUAS:
1798         * po/fi.po:
1799           Added new Finnish translation.
1800
1801 2007-06-28  Wim Taymans  <wim@fluendo.com>
1802
1803         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1804         (single_queue_overrun_cb):
1805         When figuring out when a queue is filled, use our internal time estimate
1806         based on segments, just like check_full does.
1807
1808 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1809
1810         * gst/gstminiobject.c: (gst_mini_object_get_type):
1811           Remove 3 do-nothing methods.
1812
1813 2007-06-27  Wim Taymans  <wim@fluendo.com>
1814
1815         Patch by: Tim Angus <tim at ngus dot net>
1816
1817         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1818         (gst_capsfilter_set_property):
1819         Take a reference instead of a copy when setting "caps".
1820         Fix documentation to clarify this behaviour. Fixes #449414.
1821
1822 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1823
1824         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1825         * gst/gstplugin.c: (gst_plugin_init):
1826         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1827         * gst/gstquery.c: (gst_query_get_type):
1828         * gst/gstregistry.c: (gst_registry_init):
1829         * gst/gsturi.c: (gst_uri_handler_base_init):
1830           Remove empty instance_init() functions to save relocs and lessen the
1831           noise. Remove some of the function prototypes that are doubled by
1832           G_DEFINE_TYPE.
1833           
1834 2007-06-27  Wim Taymans  <wim@fluendo.com>
1835
1836         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1837
1838         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1839         Add peer and direction in the XML serialisation of ghostpads.
1840         Fixes #449226.
1841
1842 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1843
1844         * configure.ac:
1845           Preserve useful information, thanks Tim.
1846
1847 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
1848
1849         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1850         (gst_single_queue_flush), (apply_segment), (apply_buffer),
1851         (gst_single_queue_push_one), (gst_multi_queue_loop),
1852         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1853         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1854         (compute_high_id), (gst_single_queue_new):
1855         * plugins/elements/gstmultiqueue.h:
1856         Take the multiqueue lock when updating the fill level so we don't get
1857         confused. 
1858
1859         After applying a buffer or event on the src pad segment, make sure to
1860         call gst_data_queue_limits_changed() to get the data queue to unblock
1861         and check the filled state again.
1862         
1863         Rework the not-linked pad handling so the logic is that not-linked 
1864         pads can push as fast as they like, but only so they never get 
1865         ahead of any linked pads.
1866
1867         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1868         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1869         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1870
1871         Add a test to check that not-linked pads always stay behind
1872         linked pads.
1873
1874         Fixes: #430682
1875
1876 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
1877
1878         * docs/random/release:
1879           Some updates to the release procedure.
1880
1881 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1882
1883         * gst/gstelementfactory.c: (__gst_element_details_clear):
1884           Microoptimization that saves stunning 80 bytes.
1885
1886 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
1887
1888         * docs/plugins/gstreamer-plugins.args:
1889         * docs/plugins/inspect/plugin-coreelements.xml:
1890         * docs/plugins/inspect/plugin-coreindexers.xml:
1891           Update docs with caps info.
1892
1893 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1894
1895         * po/it.po:
1896           Updated Italian translation.
1897
1898 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1899
1900         * ChangeLog:
1901         * po/vi.po:
1902           Update Vietnamese translations.
1903
1904 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1905
1906         * libs/gst/base/gstbasesink.c:
1907           Remove unused signal enum.
1908
1909 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1910
1911         * docs/gst/gstreamer-sections.txt:
1912         * gst/gstelement.c:
1913         * gst/gstutils.c: (gst_type_register_static_full):
1914         Beef up and include the docs for gst_type_register_static_full and
1915         gst_element_class_set_details_simple and add the API keyword
1916         in the ChangeLog.
1917
1918 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1919
1920         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1921         (update_time_level), (gst_single_queue_push_one),
1922         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1923         (single_queue_overrun_cb), (single_queue_underrun_cb),
1924         (single_queue_check_full):
1925         Fix setting max-* properties after adding queues.
1926         Use IS_FILLED for checking visible items.
1927         Signal overrun if multiple queues overrun.
1928         Add extra debug output.
1929         Patch by: Wim Taymans <wim@fluendo.com>
1930
1931 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
1932
1933         * gst/gstelement.c: (gst_element_class_set_details_simple):
1934         * gst/gstelement.h:
1935         * gst/gstutils.c: (gst_type_register_static_full):
1936         * gst/gstutils.h:
1937         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1938         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1939         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1940         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1941         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1942         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1943         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1944         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1945         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1946         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1947         (apply_buffer), (gst_queue_chain):
1948         * plugins/elements/gsttee.c: (gst_tee_base_init):
1949         * plugins/elements/gsttypefindelement.c:
1950         (gst_type_find_element_base_init),
1951         (gst_type_find_element_class_init):
1952           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1953           API: add gst_type_register_static_full
1954           API: add gst_element_class_set_details_simple
1955
1956 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1957
1958         * docs/pwg/advanced-types.xml:
1959           Fix typo in iana.org URI.
1960
1961 2007-06-19  Andy Wingo  <wingo@pobox.com>
1962
1963         * tests/check/pipelines/simple-launch-lines.c
1964         (test_state_change_returns): Enable pull-mode tests now that
1965         basesink has been fixed.
1966
1967         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1968         Changed from gst_base_sink_is_prerolled, reversing the sense of
1969         the return value. Returns FALSE also if the sink is in pull mode,
1970         in which case it needs no preroll.
1971         (gst_base_sink_query, gst_base_sink_change_state): Update for
1972         needs_preroll change.
1973         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1974         chaining up, in which we return SUCCESS directly if we activated
1975         in pull mode instead of ASYNC. Involves countering an async_start
1976         message sent before chaining up; not sure if this is correct, in
1977         an ideal world we only send async-start when activating in push
1978         mode.
1979
1980         * tests/check/pipelines/simple-launch-lines.c
1981         (test_state_change_returns): New test, partially disabled until
1982         basesink is fixed.
1983
1984 2007-06-19  Wim Taymans  <wim@fluendo.com>
1985
1986         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1987         (gst_multi_queue_sink_event):
1988         Fix event leak.
1989
1990 2007-06-19  Wim Taymans  <wim@fluendo.com>
1991
1992         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1993         (gst_bin_change_state_func), (bin_push_state_continue),
1994         (bin_handle_async_start), (bin_handle_async_done),
1995         (gst_bin_handle_message_func):
1996         Move the common code for posting state-change messages into
1997         one function.
1998         Broadcast the state signal after we posted the messages.
1999         Mark the bin as busy when it's doing a state-change.
2000         Make sure async-start/done messages don't interfere with the bin's
2001         state when it's busy.
2002         After the state change, let the bin check which elements completed the
2003         state change while it was busy so that it can update its state.
2004
2005 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
2006
2007         * docs/random/release:
2008         Add a note about updating the doap file to the release checklist
2009
2010 2007-06-18  Wim Taymans  <wim@fluendo.com>
2011
2012         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2013         (gst_single_queue_push_one), (gst_multi_queue_chain),
2014         (gst_multi_queue_sink_event):
2015         Make sure we don't reference the buffer/event after we have given away
2016         ownership in the queue.
2017
2018 2007-06-18  Wim Taymans  <wim@fluendo.com>
2019
2020         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2021         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2022         Update queue state _after_ adding the item in the queue because else we
2023         could end up being full without the element added yet.
2024
2025 2007-06-18  Wim Taymans  <wim@fluendo.com>
2026
2027         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2028         (gst_bin_remove_func), (gst_bin_get_state_func),
2029         (gst_bin_element_set_state), (gst_bin_continue_func),
2030         (bin_push_state_continue), (bin_handle_async_start),
2031         (bin_handle_async_done), (gst_bin_handle_message_func):
2032         * gst/gstbin.h:
2033         Immediatly commit the toplevel bin state when receiving an async-done
2034         message. This enables us to avoid spawning a thread to commit the state
2035         in some common cases and it also avoids some races.
2036         Avoid spawning a state thread when adding/removing async elements to a
2037         toplevel bin. Instead we immediatly update the bin state.
2038         Get rid of iterating all the children when getting the state in the bin
2039         because it is now always up-to-date.
2040         Fix bug where locked elements would always return _SUCCESS even it they
2041         returned NO_PREROLL before being locked.
2042         Fix the order of the state_change, async-start/done messages that was
2043         sometimes incorrect.
2044         Mark the state_dirty field as deprecated, we don't need it anymore as we
2045         are always up-to-date.
2046
2047         * gst/gstelement.c: (gst_element_get_state_func),
2048         (gst_element_continue_state):
2049         Small debug inprovements.
2050         Return the previous element state return when nothing is pending instead
2051         of blindly returning SUCCESS.
2052
2053         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2054         (gst_sinks_suite):
2055         Add a whole bunch of new testcases.
2056
2057 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2058
2059         * po/uk.po:
2060         * po/vi.po:
2061           Update translations.
2062
2063 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2064
2065         * gst/gstpad.c:
2066         Fix typo in the docs.
2067
2068 2007-06-15  Wim Taymans  <wim@fluendo.com>
2069
2070         * docs/libs/gstreamer-libs-sections.txt:
2071         Add docs for new methods.
2072
2073 2007-06-15  Wim Taymans  <wim@fluendo.com>
2074
2075         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2076         (gst_multi_queue_item_new):
2077         Don't use GSlice because we don't depend on >= 2.10 yet.
2078
2079 2007-06-15  Wim Taymans  <wim@fluendo.com>
2080
2081         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2082         (update_time_level), (apply_segment), (apply_buffer),
2083         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2084         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2085         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2086         (single_queue_underrun_cb), (single_queue_check_full):
2087         Remove debug printf.
2088
2089 2007-06-15  Wim Taymans  <wim@fluendo.com>
2090
2091         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2092         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2093         (gst_data_queue_set_flushing), (gst_data_queue_push),
2094         (gst_data_queue_pop), (gst_data_queue_drop_head),
2095         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2096         * libs/gst/base/gstdataqueue.h:
2097         Various cleanups.
2098         Added methods to get the current levels and to inform the queue that the
2099         'full' limits changed.
2100
2101         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2102         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2103         (gst_single_queue_flush), (update_time_level), (apply_segment),
2104         (apply_buffer), (gst_single_queue_push_one),
2105         (gst_multi_queue_item_steal_object),
2106         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2107         (gst_multi_queue_loop), (gst_multi_queue_chain),
2108         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2109         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2110         (gst_multi_queue_src_query), (single_queue_overrun_cb),
2111         (single_queue_underrun_cb), (single_queue_check_full),
2112         (gst_single_queue_new):
2113         Keep track of time in the queue by measuring the difference between
2114         running_time on input and output. This gives more accurate results and
2115         can compensate for segments correctly.
2116         Make a queue by default only 5 buffers deep. We will now increase the
2117         buffer size depending on the filledness of the other queues.
2118         Factor out commong flush code.
2119         Make sure we don't add additional refcounts to buffers when we can avoid
2120         it.
2121         Propagate GstFlowReturn differently.
2122         Use GSlice for intermediate GstMultiQueueItems.
2123         Keep track of EOS.
2124         Resize queues on over and underruns based on filled level of other
2125         queues.
2126         When checking if the queue is filled, prefer to measure in time if we
2127         can and fall back to bytes when no time is known.
2128
2129         * plugins/elements/gstqueue.c:
2130         Fix return value.
2131
2132 2007-06-15  Wim Taymans  <wim@fluendo.com>
2133
2134         * libs/gst/base/gstbasetransform.c:
2135         (gst_base_transform_sink_event):
2136         Work around the brokenness of the event vmethod in basetransform. Prefer
2137         to return TRUE when the subclass returned FALSE (meaning don't forward
2138         the event). 
2139
2140         * libs/gst/base/gstbasetransform.h:
2141         Clarify the docs.
2142
2143 2007-06-15  Wim Taymans  <wim@fluendo.com>
2144
2145         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2146         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2147         (gst_base_src_default_query), (gst_base_src_get_range),
2148         (gst_base_src_start):
2149         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2150         Improve debugging.
2151
2152 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2153
2154         * docs/pwg/advanced-types.xml:
2155           Added more formats to caps table.
2156
2157 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2158
2159         * tools/gst-launch.c: (main):
2160           Remove crufy code. GOption does not need this workaround.
2161
2162 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2163
2164         * libs/gst/controller/gstcontroller.c:
2165         (gst_controlled_property_set_interpolation_mode):
2166           Fix wrong getter for enums in controller.
2167
2168 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2169
2170         * libs/gst/check/gstcheck.c: (gst_check_init):
2171           Intercept criticals and warnings in the Gst-Phonon log domain, so
2172           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2173           well.
2174         
2175 2007-06-14  Edward Hervey  <edward@fluendo.com>
2176
2177         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2178         Since this file doesn't include "gst.h" it will not go through the
2179         macros that disable GST_LOG if debugging was disabled.
2180
2181 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2182
2183         * libs/gst/check/Makefile.am:
2184         * libs/gst/check/gstcheck.h:
2185         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2186         * pkgconfig/gstreamer-check.pc.in:
2187           Ugly 'fix' for the controller unit test on the p5 bot: in
2188           fail_unless_equals_float() check whether the values are 'almost
2189           equal' by allowing a small absolute error, which should be good
2190           enough for our use cases (normal numbers and values close to 0).
2191           Proper fixage left to floating point arithmetic aficionados.
2192
2193 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2194
2195         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2196         (gst_base_sink_render_object), (gst_base_sink_get_position):
2197           Add two breaks thats where missing.
2198
2199 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2200
2201         * docs/libs/gstreamer-libs-sections.txt:
2202         * libs/gst/check/gstcheck.h:
2203           API: add fail_unless_equals_float() and assert_equals_float().
2204           Add documentation for some of the macros.
2205
2206         * tests/check/libs/controller.c: (GST_START_TEST):
2207           Use newly-added asserts.
2208
2209 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2210
2211         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2212           Show the caps change in the log to help spotting the case of not
2213           exactly matching caps.
2214
2215 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2216
2217         * docs/pwg/building-boiler.xml:
2218           Fix typos, spotted by Thijs Vermeir (#447190).
2219
2220 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2221
2222         * docs/plugins/tmpl/.cvsignore:
2223         Ignore file to keep the buildbots happy
2224
2225 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2226
2227         * docs/plugins/Makefile.am:
2228         * docs/plugins/gstreamer-plugins-docs.sgml:
2229         * docs/plugins/gstreamer-plugins-sections.txt:
2230         Pull fdsink into the docs too.
2231
2232 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2233
2234         * libs/gst/controller/gstinterpolation.c:
2235         Actually use the new functions with min/max checks for the trigger and
2236         none interpolation modes for get() and get_value_array() instead of
2237         just the latter.
2238
2239 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2240
2241         * libs/gst/controller/gstcontroller.c:
2242         (gst_controlled_property_free):
2243         Unset the minimum and maximum GValues when freeing the corresponding
2244         GstControllerProperty struct.
2245
2246 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2247
2248         * libs/gst/controller/gstcontroller.c:
2249         (gst_controlled_property_new):
2250         * libs/gst/controller/gstcontrollerprivate.h:
2251         * libs/gst/controller/gstinterpolation.c:
2252         (gst_controlled_property_find_control_point_node),
2253         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2254         (interpolate_none_get_string_value_array),
2255         (interpolate_trigger_get),
2256         (interpolate_trigger_get_enum_value_array),
2257         (interpolate_trigger_get_string_value_array):
2258         Protect against values larger or smaller than the minimum or maximum
2259         allowed value for the property when using values that can be compared.
2260
2261         Optimize trigger interpolator a bit by taking the last requested value
2262         into account instead of always looping through the complete list.
2263
2264         Fix coding style a bit, everywhere else we use "return foo" instead
2265         of "return (foo)".
2266         
2267         * tests/check/libs/controller.c: (GST_START_TEST),
2268         (gst_controller_suite):
2269         Add unit test for the protection against too large or too small
2270         values.
2271
2272 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2273
2274         * docs/random/slomo/controller.txt:
2275         Add some thoughts about the future of the controller.
2276
2277 2007-06-08  Wim Taymans  <wim@fluendo.com>
2278
2279         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2280         Don't overflow in retimestamping code.
2281
2282 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2283
2284         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2285         Use gst_util_guint64_to_gdouble for conversions.
2286         * win32/common/libgstreamer.def:
2287         Add new exported functions.
2288
2289 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2290
2291         * gst/gstutils.c:
2292           Small docs addition.
2293
2294 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2295
2296         * README:
2297           Remove that test line again.
2298
2299 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2300
2301         * README:
2302           Test commit mail sending.
2303
2304 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2305
2306         * configure.ac:
2307           Fix typo and test commit mail sending.
2308
2309 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2310
2311         * tests/examples/controller/audio-example.c:
2312           Improve comment and test commit mail sending.
2313
2314 2007-06-07  Wim Taymans  <wim@fluendo.com>
2315
2316         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2317         (gst_bin_remove_func), (gst_bin_element_set_state),
2318         (bin_handle_async_start), (bin_handle_async_done),
2319         (gst_bin_handle_message_func):
2320         Add helper function to find messages.
2321         Generate the async-done messages together with the state change
2322         messages.
2323         Small cleanups in handling toplevel bins.
2324
2325 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2326
2327         * libs/gst/base/gstdataqueue.c:
2328         * libs/gst/base/gstdataqueue.h:
2329         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2330         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2331         (gst_multi_queue_sink_event):
2332         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2333           Fix multiqueue leaking buffers and events when downstream or the
2334           queue are flushing. Make refcounting assumptions explicit and
2335           document them (shouldn't break existing code that uses it other than
2336           maybe leak miniobjects, but that already happens anyway). Add unit
2337           test for the most common flushing case. Fixes #423700.
2338           
2339 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2340
2341         * libs/gst/controller/gstcontroller.c:
2342         Clarify docs: The get_all, get_value_array(s) functions
2343         don't modify the GObject properties.
2344
2345 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2346
2347         * libs/gst/controller/gstcontroller.c:
2348         (gst_controlled_property_set_interpolation_mode),
2349         (gst_controlled_property_prepend_default),
2350         (gst_controlled_property_new), (gst_controller_set_unlocked),
2351         (gst_controller_set), (gst_controller_set_from_list),
2352         (gst_controller_unset), (gst_controller_unset_all):
2353         * libs/gst/controller/gstcontrollerprivate.h:
2354         * libs/gst/controller/gstinterpolation.c:
2355         Factor out the 'set' logic into gst_controller_set_unlocked for the
2356         gst_controller_set and gst_controller_set_from_list functions.
2357
2358         To make life of the interpolators easier always add a control point
2359         at timestamp zero with the default value.
2360
2361         In the linear interpolator make things more obvious by better variable
2362         naming (slope).
2363
2364         Implement cubic interpolation mode (by using a natural cubic spline)
2365         and map the quadratic interpolation mode to this too (as quadratic
2366         doesn't make much sense, see discussion on the list).
2367
2368         * tests/check/libs/controller.c: (GST_START_TEST),
2369         (gst_controller_suite):
2370         Add unit test for the cubic interpolation mode and check everywhere
2371         if the interpolation mode could be set as expected.
2372
2373 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2374
2375         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2376           Don't use GLib-2.10 functions, we still depend on
2377           GLib-how-old-is-it-again-2.8.
2378
2379 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2380
2381         * docs/gst/gstreamer-sections.txt:
2382         * gst/Makefile.am:
2383         * gst/gst.c:
2384         * gst/gst.h:
2385         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2386         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2387         (_gst_param_fraction_values_cmp),
2388         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2389         * gst/gstparamspecs.h:
2390         * gst/gstvalue.c:
2391         * tests/check/Makefile.am:
2392         * tests/check/gst/.cvsignore:
2393         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2394         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2395         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2396         (GST_START_TEST), (gst_param_spec_suite):
2397           API: add GstParamSpecFraction, so elements can have fraction
2398           properties without lots of painful string parsing (#444648).
2399
2400 2007-06-05  Wim Taymans  <wim@fluendo.com>
2401
2402         * gst/gstobject.c: (gst_object_class_init):
2403         Fix signal signature.
2404
2405         * gst/gstsegment.c:
2406         Add small clarification in the api docs.
2407
2408         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2409         States are protected with object lock.
2410
2411 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2412
2413         * AUTHORS:
2414         I should probably be listed as an author by now.
2415
2416         * docs/random/release:
2417         Update the release doc
2418
2419 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2420
2421         * gst/gstvalue.c:
2422           Make docs for gst_value_compare() mention return enums that
2423           actually exist.
2424
2425 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2426
2427         * configure.ac:
2428           Back to CVS
2429
2430 === release 0.10.13 ===
2431
2432 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2433
2434         * configure.ac:
2435           releasing 0.10.13, "With or without you"
2436
2437 2007-05-25  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/gstbin.c: (bin_handle_async_done):
2440         Make sure that the child bin stops after completing the async state
2441         change so that the parent can continue the state change to PLAYING.
2442         Fixes #441159.
2443
2444 2007-05-25  Wim Taymans  <wim@fluendo.com>
2445
2446         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2447         (unref_data), (gst_collect_pads_remove_pad),
2448         (gst_collect_pads_check_pads):
2449         Use additional refcounting to avoid crashes when dynamically adding and
2450         removing pads. Fixes #420206.
2451
2452 2007-05-24  Wim Taymans  <wim@fluendo.com>
2453
2454         * tools/gst-launch.c: (event_loop):
2455         When buffering goes from a two digit to a single digit number, make sure
2456         to remove the old second digit by writing a blank over it.
2457
2458 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * libs/gst/base/gstdataqueue.c:
2461           Eliminate tabs and trailing comma in enum list; fix some typos.
2462
2463 2007-05-24  Wim Taymans  <wim@fluendo.com>
2464
2465         * tests/check/gst/gstbin.c: (GST_START_TEST):
2466         Allow refcount of 3 and 4 because some state thread might still be busy
2467         with it.
2468
2469 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2470
2471         * plugins/elements/Makefile.am:
2472         * plugins/elements/gstmultiqueue.h:
2473         * plugins/elements/gstqueue.h:
2474           These are not installed headers, no need for padding.
2475
2476 2007-05-24  Wim Taymans  <wim@fluendo.com>
2477
2478         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2479         (gst_bin_continue_func):
2480         Enable latency for next release.
2481         Restore STATE_LOCK around recalc_state that was left out during the
2482         rewrite and could result in racy behaviour when _get_state and
2483         recalc_state are run concurrently. See #440463.
2484
2485 2007-05-23  Wim Taymans  <wim@fluendo.com>
2486
2487         * tests/check/gst/gstsystemclock.c: (store_callback),
2488         (GST_START_TEST):
2489         Improve test_async_order to also work when both timers are already
2490         expired when we get scheduled to check it.
2491
2492 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2493
2494         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2495         (gst_bin_set_property), (gst_bin_get_property),
2496         (gst_bin_remove_func), (gst_bin_handle_message_func):
2497         * gst/gstbin.h:
2498           'private' is a c++ keyword, let's not use that in header files,
2499           otherwise c++ compilers will throw a tantrum.
2500
2501 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2502
2503         * plugins/elements/gstelements.c:
2504         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2505         (gst_file_sink_get_current_offset):
2506         * plugins/indexers/gstindexers.c: (plugin_init):
2507           Use #ifdef for HAVE_XYZ for consistency.
2508
2509         * tests/check/Makefile.am:
2510         * tests/check/elements/.cvsignore:
2511         * tests/check/elements/filesink.c: (setup_filesink),
2512         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2513           Add some unit tests for filesink.
2514
2515 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2516
2517         Patch by: Mark Nauwelaerts <manauw at skynet be>
2518
2519         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2520         (gst_file_sink_query), (gst_file_sink_do_seek),
2521         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2522         * plugins/elements/gstfilesink.h:
2523           Fix position reporting; rename data_written member to current_pos to
2524           reflect its real meaning (fixes #412648).
2525
2526 2007-05-22  Edward Hervey  <edward@fluendo.com>
2527
2528         * docs/gst/gstreamer-sections.txt:
2529         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2530         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2531         (gst_bin_remove_func), (gst_bin_handle_message_func):
2532         * gst/gstbin.h:
2533         Add a property for bins that handle the state change of their childs.
2534         Fixes #435880
2535
2536 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2537
2538         * libs/gst/controller/gstinterpolation.c:
2539         Use an array of the correct type when using _get_value_array with
2540         linear interpolation.
2541
2542 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2543
2544         * gst/gstelement.c (gst_element_requires_clock,
2545           gst_element_provides_clock, gst_element_request_pad,
2546           gst_element_class_set_details, gst_element_class_set_details_simple,
2547           gst_element_default_send_event, gst_element_abort_state,
2548           gst_element_continue_state, gst_element_set_state,
2549           gst_element_set_state_func, iterator_activate_fold_with_resync):
2550         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2551           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2552           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2553           gst_pad_get_range, gst_pad_pull_range):
2554         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2555           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2556           GstPadActivateModeFunction, GstPadChainFunction,
2557           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2558           GstPadFixateCapsFunction, GstPadTemplate):
2559         * gst/gstpipeline.c (gst_pipeline_change_state,
2560           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2561           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2562           gst_pipeline_get_delay):
2563           Whitespace and docs fixes.
2564
2565 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2566
2567         * libs/gst/controller/gstinterpolation.c:
2568         (interpolate_trigger_get_enum_value_array),
2569         (interpolate_trigger_get_string_value_array):
2570         Add support for retrieving value arrays when using the trigger
2571         interpolation mode. 
2572
2573 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2574
2575         * libs/gst/controller/gstcontroller.c:
2576         (gst_controller_get_value_array):
2577         * libs/gst/controller/gstcontroller.h:
2578         Clarify the docs of gst_controller_get_value_array(): The array where
2579         the values should be written to must be allocated as there seems to be
2580         no way to get the size of a random GType. This doesn't change any
2581         behaviour. Also fix some typos all over the place and remove an unused,
2582         commented function that is not necessary as g_object_set() could be
2583         used instead.
2584         * tests/check/libs/controller.c: (GST_START_TEST),
2585         (gst_controller_suite):
2586         Add unit test for gst_controller_get_value_array().
2587
2588 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2589
2590         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2591
2592         Disable part of the gst_buffer_try_new_and_alloc test, because
2593         it can happily succeed on 64-bit systems where there's more address
2594         space available.
2595
2596 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2597
2598         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2599         Add unit test for the improved caps checking from bug #421543.
2600
2601 2007-05-21  Wim Taymans  <wim@fluendo.com>
2602
2603         * docs/design/part-synchronisation.txt:
2604         Small addition.
2605
2606         * gst/gstbin.c: (gst_bin_query):
2607         * plugins/elements/gstqueue.c: (apply_segment):
2608         Improve debugging.
2609
2610         * gst/gstmessage.h:
2611         Improve docs.
2612
2613 2007-05-21  Wim Taymans  <wim@fluendo.com>
2614
2615         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2616         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2617         (gst_pad_configure_src):
2618         Added simple version of improved caps checking. It was previously
2619         assumed that a setcaps function would check the validity of the caps but
2620         people prefer us to check caps against the template automatically. 
2621         Fixes #421543.
2622
2623 2007-05-21  Wim Taymans  <wim@fluendo.com>
2624
2625         * libs/gst/base/gstbasetransform.h:
2626         Fix macro for locking/unlocking the transform lock.
2627
2628 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2629
2630         * docs/plugins/tmpl/.cvsignore:
2631           Ignore more.
2632
2633 2007-05-18  Edward Hervey  <edward@fluendo.com>
2634
2635         * plugins/elements/gstqueue.c: (gst_queue_loop):
2636         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2637         for the subtle art of warning a potentially blocking thread that it
2638         should check the source pad return value, and relay the information
2639         upstream.
2640
2641 2007-05-18  Edward Hervey  <edward@fluendo.com>
2642
2643         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2644         Release the queue lock !
2645
2646 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2647
2648         * docs/libs/gstreamer-libs-sections.txt:
2649         Add the two new controller functions to the appropiate places.
2650
2651 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2652
2653         reviewed by: Stefan Kost <ensonic@users.sf.net>
2654
2655         * libs/gst/controller/gstcontroller.c:
2656         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2657         (_gst_controller_get_property), (_gst_controller_set_property),
2658         (_gst_controller_init), (_gst_controller_class_init):
2659         * libs/gst/controller/gstcontroller.h:
2660         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2661         (gst_object_get_control_rate), (gst_object_set_control_rate):
2662         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2663         Add API that provides sync suggestion timestamps for elements that
2664         call gst_object_sync_values() from which those elements can subdivide
2665         their processing loop to get the best results for the controlled
2666         properties. For now it just suggests last_sync + control_rate as
2667         new timestamp but this will be improved in the future.
2668
2669         While doing that change the control-rate property to a GstClockTime
2670         from guint and change it's meaning from samples to nanoseconds as
2671         the GstController doesn't know anything about sampling rate. Strictly
2672         speaking this breaks ABI but as the control-rate property didn't do
2673         anything in the past and as such couldn't be used this should be no
2674         problem.        
2675
2676 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2677
2678         reviewed by: Stefan Kost <ensonic@users.sf.net>
2679
2680         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2681         (gst_controller_unset_all):
2682         * libs/gst/controller/gstcontrollerprivate.h:
2683         * libs/gst/controller/gstinterpolation.c:
2684         (gst_controlled_property_find_control_point_node):
2685         Save last synced value from the list to continue searching from there
2686         in future syncs. This speeds everything up a bit.
2687         
2688 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2689
2690         reviewed by: Stefan Kost <ensonic@users.sf.net>
2691
2692         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2693         (gst_control_point_find), (gst_controlled_property_new),
2694         (gst_control_point_free), (gst_controlled_property_free),
2695         (gst_controller_set), (gst_controller_set_from_list),
2696         (gst_controller_unset), (gst_controller_unset_all),
2697         (gst_controller_sync_values):
2698         * libs/gst/controller/gstcontroller.h:
2699         * libs/gst/controller/gstcontrollerprivate.h:
2700         * libs/gst/controller/gstinterpolation.c:
2701         (gst_controlled_property_find_control_point_node),
2702         (interpolate_none_get), (interpolate_trigger_get):
2703         Add a new private GstControlPoint struct which "inherits" from
2704         GstTimedValue to allow different interpolators to store internal
2705         values next to each control point. From the outside everything is
2706         still a GstControlPoint so we don't loose binary compatibility.
2707         Also fixup all the GValue handling to not leak GValues or list nodes.
2708         * tests/check/libs/controller.c: (GST_START_TEST):
2709         Free the list nodes and GValues in the controller_misc test.
2710
2711 2007-05-17  Edward Hervey  <edward@fluendo.com>
2712
2713         * gst/gstsegment.c:
2714         Small doc fix.
2715
2716 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2717
2718         * gst/gstplugin.c: (gst_plugin_load_file):
2719           If we fail to load a plugin because of unresolved symbols or missing
2720           libraries and spew a warning to stderr, we may just as well mention
2721           which plugin it was that failed to load.
2722
2723 2007-05-13  David Schleef  <ds@schleef.org>
2724
2725         * docs/Makefile.am: the gtk-doc makefile snippet correctly
2726           handles the case when ENABLE_GTK_DOC is false, and installs
2727           the prebuilt documentation.  So gtk-doc subdirs are 
2728           unconditionally enabled.  Fixes: #349099.
2729
2730 2007-05-13  David Schleef  <ds@schleef.org>
2731
2732         * gst/gstutils.h: Reword some documentation.
2733
2734 2007-05-12  David Schleef  <ds@schleef.org>
2735
2736         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2737           do anything with the passed "module" parameter, so remove it.
2738           Allows removal of additional vestigal code.
2739
2740 2007-05-12  David Schleef  <ds@schleef.org>
2741
2742         * gst/gstplugin.c:
2743           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2744           Switch to using g_stat() because it's more portable.
2745
2746 2007-05-12  David Schleef  <ds@schleef.org>
2747
2748         * gst/gst.c:
2749           Add GST_DISABLE_OPTION_PARSING, in order to disable option
2750           parsing for embedded systems.
2751         * gst/gstelementfactory.c:
2752           Allow gst_element_register() to be called with plugin==NULL.
2753           Did nobody notice that static elements were broken?
2754
2755 2007-05-12  Wim Taymans  <wim@fluendo.com>
2756
2757         * tools/gst-launch.c: (event_loop):
2758         Give more interesting info when buffering starts and stops.
2759         Fix case where buffering starts but we fail to update the buffering flag
2760         because the target state is not PLAYING.
2761
2762 2007-05-12  Wim Taymans  <wim@fluendo.com>
2763
2764         * plugins/elements/gstqueue.c: (gst_queue_init),
2765         (gst_queue_finalize), (update_time_level), (apply_segment),
2766         (apply_buffer), (gst_queue_locked_flush),
2767         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2768         (gst_queue_handle_sink_event), (gst_queue_chain),
2769         (gst_queue_push_one), (gst_queue_loop):
2770         * plugins/elements/gstqueue.h:
2771         Refactor an cleanup queue a bit.
2772         Do better time level calculations that also work when the srcpad is not
2773         yet running.
2774         Remove some unneeded debug lines.
2775
2776         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2777         Added testcase for time level measurement.
2778         Try to make some stuff more racefree.
2779
2780 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2781
2782         * gst/gsturi.c: (gst_element_make_from_uri):
2783           Don't leak plugin feature.
2784
2785         * tests/check/Makefile.am:
2786         * tests/check/gst/.cvsignore:
2787         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2788           Add brain-dead unit test.
2789
2790 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2791
2792         Patch by: Jeroen Wouters <woutersj at gmail com>
2793
2794         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2795           Treat protocol strings in a case-insensitive way (#437563).
2796
2797 2007-05-11  Michael Smith <msmith@fluendo.com>
2798
2799         * gst/gstplugin.c: (gst_plugin_load_file):
2800         * gst/gstregistry.c: (gst_registry_scan_path_level):
2801           Don't print a g_warning for any failure to load a shared object.
2802           Instead, push this down into gstplugin.c, and warn _only_ if we
2803           failed to open the module (i.e. failure to link).
2804           Avoids warnings on normal, working, non-plugin .so files.
2805
2806 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
2807
2808         * gst/gstplugin.c (gst_plugin_load_file):
2809         * gst/gstregistry.c (GST_CAT_DEFAULT,
2810           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2811           Print a g_warning if there was an error when loading a plugins during
2812           registry scan. The shuld help beginners starting with gst-plugin
2813           template.
2814
2815 2007-05-10  Wim Taymans  <wim@fluendo.com>
2816
2817         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2818         (update_time_level), (gst_queue_locked_flush),
2819         (gst_queue_handle_sink_event), (gst_queue_chain),
2820         (gst_queue_push_one), (gst_queue_loop):
2821         * plugins/elements/gstqueue.h:
2822         Be smarter when calculating the current amount of data in the queue by
2823         measuring the difference between start and end timestamps (in running
2824         time) inside the queue. Fixes #432876.
2825         API: GstQueue::pushing to notify elements that we are pushing data again
2826         since the running signal is rather broken for this purpose.
2827
2828 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
2829
2830         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2831           gst_queue_base_init, gst_queue_init):
2832           use GST_BOILERPLATE
2833
2834 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
2835
2836         * win32/common/libgstreamer.def:
2837         Add new exported functions.
2838         * win32/vs6/grammar.dsp:
2839         Use grammar pre-generated files.
2840
2841 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
2844
2845         * gst/Makefile.am:
2846         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2847         * gst/gstparse.h:
2848         * gst/gstutils.c: (gst_parse_bin_from_description):
2849         * gst/gstutils.h:
2850           Maintain API and ABI when --disable-parse is used. Now that
2851           we have an appropriate error code, we can just return NULL and the
2852           appropriate error when gst_parse_launch() is used despite it having
2853           been disabled (#342564).
2854
2855         * tests/check/Makefile.am:
2856         * tests/check/pipelines/.cvsignore:
2857         * tests/check/pipelines/parse-disabled.c:
2858           Make sure these functions exist and return NULL plus a GError when
2859           --disable-parse is used.
2860
2861 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2862
2863         * tests/benchmarks/complexity.c: (main):
2864         * tests/benchmarks/mass-elements.c: (main):
2865           Set a good example and don't leak messages.
2866
2867 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
2868
2869         * docs/gst/Makefile.am:
2870         * docs/libs/Makefile.am:
2871           Correct fixxrefs options.
2872
2873         * docs/plugins/Makefile.am:
2874         * docs/plugins/gstreamer-plugins-docs.sgml:
2875         * docs/plugins/gstreamer-plugins-sections.txt:
2876         * plugins/elements/Makefile.am:
2877         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2878         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2879           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2880           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2881           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2882           _GstCapsFilterClass, trans_class):
2883         * plugins/elements/gstelements.c (name, rank, type, _elements):
2884         * plugins/elements/gstidentity.c
2885           (gst_identity_check_imperfect_timestamp,
2886           gst_identity_check_imperfect_offset):
2887           Document capsfilter and add doc-blurb to identity.
2888
2889 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2890
2891         * libs/gst/controller/gstcontroller.c:
2892         (gst_controlled_property_set_interpolation_mode):
2893         * libs/gst/controller/gstinterpolation.c:
2894           Don't crash if someone tries to set an interpolation mode that
2895           is invalid or that isn't supported yet. Fixes #422295.
2896
2897         * tests/check/libs/controller.c: (GST_START_TEST),
2898         (gst_controller_suite):
2899           Add a test case for the above.
2900
2901 2007-05-03  Edward Hervey  <edward@fluendo.com>
2902
2903         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2904         Properly set the last_stop position on GstSegment. This will only happen
2905         if there is a buffer to push out.
2906
2907 2007-05-03  Wim Taymans  <wim@fluendo.com>
2908
2909         * libs/gst/base/gstbasetransform.c:
2910         (gst_base_transform_buffer_alloc):
2911         always_in_place does not mean that the sink and source caps are the
2912         same! Make sure we don't blindly proxy the buffer_alloc in this case.
2913
2914 2007-05-03  Wim Taymans  <wim@fluendo.com>
2915
2916         * docs/libs/gstreamer-libs-sections.txt:
2917         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2918         (gst_base_src_default_query), (gst_base_src_get_range):
2919         * libs/gst/base/gstbasesrc.h:
2920         API: gst_base_src_query_latency(). Added method so that subclasses can
2921         easily get the latency values of the base source class.
2922
2923 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
2924
2925         * tools/gst-inspect.c (print_implementation_info):
2926         Remove 0.8 cruft.
2927
2928 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2929
2930         * tools/Makefile.am:
2931         * tools/gst-launch.1.in:
2932           Don't create a customised man page based on the host architecture,
2933           describe the default registry path generically. That way the man
2934           page is the same for all architectures and packagers have one
2935           multilib issue less to deal with. Fixes #434926.
2936
2937 2007-05-02  Wim Taymans  <wim@fluendo.com>
2938
2939         * gst/gstpad.c:
2940         Fix documentation as spotted by rg on IRC. 
2941
2942 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2943
2944         * gst/gstutils.c:
2945           Improve docs for gst_element_{link,unlink}.
2946
2947 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * docs/design/part-events.txt:
2950         * docs/design/part-overview.txt:
2951         * gst/gstevent.c:
2952         * gst/gsturi.c:
2953         * gst/gsturi.h:
2954         * libs/gst/base/gstbasesink.c:
2955           Typo fixes; minor docs addition.
2956
2957 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2958
2959         * docs/gst/gstreamer-sections.txt:
2960         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2961         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2962         * gst/gsturi.h:
2963         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2964         or src that supports a given URI protocol exists.
2965
2966 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2967
2968         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2969         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2970         Set the location to NULL if "file://" is set as URI. Otherwise
2971         some random previous URI would still be set if "file://" is
2972         set on an already used filesink/filesrc.
2973
2974 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2975
2976         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2977         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2978         Special case the "file://" URI as as this is used by some
2979         applications to test with gst_element_make_from_uri if there's
2980         an element that supports the URI protocol.
2981         Also move the g_path_is_absolute() check for the location part
2982         of the URI to also check this for "file://localhost/bla" URIs.
2983
2984 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
2985
2986         * docs/gst/gstreamer-sections.txt:
2987         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2988         * gst/gstbuffer.h:
2989         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2990         (gst_buffer_suite):
2991           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2992
2993 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
2994
2995         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2996         (gst_registry_binary_load_pad_template),
2997         (gst_registry_binary_load_plugin),
2998         (gst_registry_binary_read_cache):
2999         * gst/gstregistrybinary.h:
3000           Implement no-mmap alternative for registry reading. Do code cleanups.
3001           Add more comments about avoiding strdups for all text data. Comments
3002           welcome.
3003
3004 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3005
3006         * gst/gstregistrybinary.h (GstBinaryPluginElement,
3007           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3008           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3009           Comment structs and reformat to fix the build (that stuff should go
3010           into a priv. header).
3011
3012 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3013
3014         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3015         (gst_registry_binary_load_feature):
3016         * gst/gstregistrybinary.h:
3017           Refactor so that we can implement multiple features. Add support for
3018           TypeFindFactory features.
3019
3020 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
3021
3022         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3023
3024         * configure.ac:
3025           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3026
3027 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
3028
3029         * gst/gstbin.c: (gst_bin_element_set_state),
3030         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3031         (bin_handle_async_done), (gst_bin_handle_message_func):
3032           Fix build with --gst-disable-gst-debug
3033
3034 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3035
3036         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3037           Make sure streaming has finished before calling the ::stop() vfunc,
3038           since that vfunc might clear state which is being used in the
3039           streaming thread. This fixes a race that caused crashes in
3040           audioresample when shutting down a pipeline (#420106).
3041
3042 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3043
3044         * docs/gst/gstreamer-sections.txt:
3045           That was one byte missing.
3046
3047 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3048
3049         * configure.ac:
3050         * docs/gst/gstreamer-sections.txt:
3051         * gst/Makefile.am:
3052         * gst/gstconfig.h.in:
3053         * gst/gstobject.c: (gst_object_class_init),
3054         (gst_signal_object_class_init):
3055         * gst/gstobject.h:
3056           2nd attempt to have a xml-less build as a joined effort of #413123
3057           and #421480.
3058
3059 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3060
3061         * docs/design/draft-tagreading.txt:
3062           Added open issues/thoughts to draft.
3063
3064 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3065
3066         * gst/parse/grammar.tab.pre.c:
3067         * gst/parse/grammar.tab.pre.h:
3068         * gst/parse/lex._gst_parse_yy.pre.c:
3069         Update the prebuild parser sources.
3070
3071 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3072
3073         * gst/parse/Makefile.am:
3074         And now fix the building of the flex sources. Now everything should
3075         work as expected.
3076
3077 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3078
3079         * gst/parse/Makefile.am:
3080         Now hopefully fix the build failures by setting proper rule
3081         dependencies and moving instead of copying.
3082
3083 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3084
3085         * tests/benchmarks/complexity.gnuplot:
3086         * tests/benchmarks/complexity.scm:
3087         * tests/benchmarks/mass-elements.gnuplot:
3088         * tests/benchmarks/mass-elements.scm:
3089           Total licensification.
3090
3091 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3092
3093         * gst/parse/Makefile.am:
3094           Fix the build by correcting the rule that gave wrong files to flex.
3095
3096 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3097
3098         * tests/benchmarks/complexity.c:
3099         * tests/benchmarks/mass-elements.c:
3100           Change licence to LGPL as granted by Benjamin and Andy.
3101
3102 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3103
3104         * gst/parse/Makefile.am:
3105         Add correct grammar.tab.h dependency if compiling without new enough
3106         flex. Fixes #431150.
3107
3108 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3109
3110         * gst/parse/Makefile.am:
3111         Fix typo and use outdated sources if the flex/bison sources are newer
3112         than the pregenerated ones but flex is too old. Print a warning in
3113         that case. This should fix the build on the build bot.
3114
3115 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3116
3117         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3118         * gst/parse/Makefile.am:
3119         * gst/parse/grammar.y:
3120         * gst/parse/parse.l:
3121         Make the parser reentrant and recursively callable. This requires flex
3122         >= 2.5.31, for older versions pregenerated sources are used as we
3123         can't bump the build dependency. Finally fixes #349180.
3124
3125         * gst/gstparse.c: (gst_parse_launch):
3126         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3127         now anyway.
3128
3129         * docs/gst/Makefile.am:
3130         * docs/gst/Makefile.am:
3131         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3132         (__gst_parse_strfree), (__gst_parse_link_new),
3133         (__gst_parse_link_free), (__gst_parse_chain_new),
3134         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3135         (gst_parse_element_set), (gst_parse_free_link),
3136         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3137         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3138         (_gst_parse_launch):
3139         * gst/parse/grammar.tab.pre.h:
3140         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3141         (yy_get_previous_state), (yy_try_NUL_trans), (input),
3142         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3143         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3144         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3145         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3146         (_gst_parse_yypop_buffer_state),
3147         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3148         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3149         (yy_fatal_error), (_gst_parse_yyget_extra),
3150         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3151         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3152         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3153         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3154         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3155         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3156         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3157         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3158         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3159         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3160         (_gst_parse_yyfree):
3161         If the installed flex version is too old use pre-generated parser
3162         sources. These pre-generated parser sources are always updated when
3163         the actual flex/bison sources change but require everybody who wants
3164         to change something in the parser to have flex >= 2.5.31 installed.
3165
3166 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3167
3168         * common/m4/gst-gettext.m4:
3169         * gst/gst-i18n-lib.h:
3170           Make --disable-nls to work
3171
3172 2007-04-17  Wim Taymans  <wim@fluendo.com>
3173
3174         * gst/gstconfig.h.in:
3175         Revert previous change that broke the build.
3176
3177 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3178
3179         * configure.ac:
3180         * gst/Makefile.am:
3181         * gst/gstconfig.h.in:
3182           Drop libxml2 dependency when building with 
3183           --enable-binary-registry --disable-loadsave
3184
3185 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3186
3187         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3188         (gst_registry_binary_read_cache):
3189         * gst/gstregistrybinary.h:
3190           Remove unnecessary <sys/mman.h> include which broke the win32 build
3191           with MingW; move includes from header file to .c file, even if the
3192           header file isn't installed; use g_strerror() where UTF-8 strings
3193           are expected, such as in GST_DEBUG messages.
3194
3195 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3196
3197         * docs/libs/gstreamer-libs-sections.txt:
3198         Remove bogus addition for API I didn't end up keeping.
3199
3200         * libs/gst/base/gstbasesrc.h:
3201         Mention Since: 0.10.13 in the documentation.
3202
3203         Add the API keyword to the previous ChangeLog entry.
3204
3205 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3206
3207         * docs/libs/gstreamer-libs-sections.txt:
3208         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3209         (gst_base_src_default_prepare_seek_segment),
3210         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3211         * libs/gst/base/gstbasesrc.h:
3212         Allow basesrc derived classes to execute seeks in other formats
3213         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3214         to prepare the GstSegment in any format that their perform_seek method
3215         will be able to understand. The default implementation provides the
3216         old behaviour of attempting to convert the seek offsets to the 
3217         configured native format.
3218
3219         API: basesrc::prepare_seek_segment vmethod.
3220
3221 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3222
3223         * gst/gstelement.c: (gst_element_get_state_func):
3224         Don't output the same debug statement twice.
3225
3226         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3227         (gst_adapter_peek), (gst_adapter_take_buffer):
3228         Optimise the case where we have buffers at the head of the queue that
3229         can be joined quickly (because they're contiguous sub-buffers) by
3230         merging them together rather than copying data out into new memory.
3231
3232         * gst/parse/grammar.y:
3233         * tests/check/pipelines/parse-launch.c:
3234         Fix a leak in an error path for parse_launch, and add a check 
3235         for it to the testsuite.
3236
3237 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3238
3239         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3240           Don't deadlock when releasing a pad - gst_pad_set_active may try
3241           and take the multiqueue lock too.
3242
3243 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3244
3245         * gst/gsterror.c: (_gst_core_errors_init):
3246         * gst/gsterror.h:
3247           API: add GST_CORE_ERROR_DISABLED (#392804).
3248
3249 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3250
3251         * docs/faq/gst-uninstalled:
3252           don't get empty paths on the PATH variables
3253         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3254           Don't format for the uncommon terminal width of 84 characters.
3255
3256 2007-04-06  Wim Taymans  <wim@fluendo.com>
3257
3258         * gst/gstpipeline.c: (reset_stream_time),
3259         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3260         Only try to select a different pipeline clock when we went back to
3261         PAUSED and not when we merely got flushed.
3262
3263 2007-04-05  Michael Smith  <msmith@fluendo.com>
3264
3265         * tools/gst-launch.1.in:
3266           fractions are better supported in gstreamer than ractions, so
3267           suggest using those.
3268
3269 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3270
3271         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3272
3273         * po/LINGUAS:
3274         * po/da.po:
3275           Added Danish translation.
3276
3277 2007-04-05  Wim Taymans  <wim@fluendo.com>
3278
3279         * libs/gst/base/gstbasesink.c:
3280         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3281         Fix leak caused when refusing newsegment after EOS.
3282
3283         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3284         (gst_fake_sink_init), (gst_fake_sink_set_property),
3285         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3286         (gst_fake_sink_render), (gst_fake_sink_change_state):
3287         * plugins/elements/gstfakesink.h:
3288         Add num-buffers property to make the element generate EOS after a
3289         configurable amount of buffers.
3290         API: fakesink::num-buffers property.
3291
3292         * tests/check/elements/fakesink.c: (GST_START_TEST),
3293         (fakesink_suite):
3294         Fix GstBus leak in test.
3295         Test for fakesink num-buffers.
3296
3297 2007-04-05  Wim Taymans  <wim@fluendo.com>
3298
3299         * libs/gst/base/gstbasesink.c:
3300         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3301         (gst_base_sink_change_state):
3302         Don't accept anything after an EOS, return UNEXPECTED instead.
3303
3304         * tests/check/elements/fakesink.c: (GST_START_TEST),
3305         (fakesink_suite):
3306         Unit test for new EOS behaviour.
3307
3308 2007-04-05  Wim Taymans  <wim@fluendo.com>
3309
3310         * gst/gstelement.c: (gst_element_get_request_pad):
3311         Make padtemplates also work when they don't contain %s or %d.
3312
3313 2007-04-05  Wim Taymans  <wim@fluendo.com>
3314
3315         * docs/gst/gstreamer-sections.txt:
3316         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3317         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3318         * gst/gstclock.h:
3319         Improve _adjust_unlocked() so that it overflows less.
3320         Add gst_clock_unadjust_unlocked to convert from external time to
3321         internal time based on calibration.
3322         Add some more debug.
3323         API: GstClock::gst_clock_unadjust_unlocked()
3324
3325 2007-04-03  Wim Taymans  <wim@fluendo.com>
3326
3327         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3328
3329         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3330         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3331         when releasing sink pad. Fixes #425400.
3332
3333 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3334
3335         * docs/random/ensonic/dynlink.txt:
3336           More work on proposal for new core api.
3337
3338         * docs/libs/gstreamer-libs-sections.txt:
3339         * libs/gst/base/gstbasetransform.h:
3340           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3341           
3342         * libs/gst/controller/gstcontroller.c:
3343         (on_object_controlled_property_changed),
3344         (gst_controller_sync_values),
3345         (gst_controller_set_interpolation_mode):
3346         * libs/gst/controller/gstcontroller.h:
3347           Less verbose logging add docs for unimplemented parts and correctly
3348           return when using unavailable parts.
3349
3350 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3351
3352         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3353         Move all the debug to the CLOCK category, and associate it with
3354         the clock object.
3355
3356 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3357
3358         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3359         Make take_buffer a bit quicker by removing redundant checks
3360         caused by calling gst_adapter_take.
3361
3362 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3365           Don't leak GCond.
3366
3367         * tests/check/Makefile.am:
3368         * tests/check/elements/.cvsignore:
3369         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3370         (GST_START_TEST), (multiqueue_suite):
3371           Add some dead simple unit tests for the 'multiqueue' element
3372           (some bits don't work yet and are disabled for now).
3373
3374 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3375
3376         * gst/gstelement.c: (gst_element_get_request_pad),
3377         (gst_element_class_get_request_pad_template):
3378           Make gst_element_get_request_pad() create request pads only for
3379           request pad templates and not for, say, sometimes pad templates.
3380
3381 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3382
3383         * docs/design/draft-klass.txt:
3384           Add example that needs more thinking.
3385         
3386         * docs/design/draft-missing-plugins.txt:
3387           More thoughts about wrapper plugins.
3388         
3389         * docs/random/ensonic/embedded.txt:
3390         * docs/random/ensonic/profiling.txt:
3391           More design work.
3392
3393 2007-03-25  Wim Taymans  <wim@fluendo.com>
3394
3395         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3396         (gst_base_src_loop):
3397         Only push the segment events in the PLAYING state for live sources.
3398
3399 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3400
3401         * gst/gstpipeline.c: (gst_pipeline_change_state):
3402         Modify the clock distribution path in PAUSED->PLAYING so that we 
3403         never attempt to choose a new clock unless we're actually leaving
3404         the PAUSED state for the first time. This prevents choosing a
3405         different clock when the state_change gets called for a 2nd time due
3406         to some element doing an async state change.
3407
3408 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3409
3410         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3411         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3412         (gst_pad_chain_unchecked), (gst_pad_push):
3413         Revert last commit. This needs some more thoughts.
3414
3415 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3416
3417         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3418         (gst_pad_chain_unchecked), (gst_pad_push):
3419         Check in set_caps if the caps are compatible with the pad and remove
3420         two functions that are redundant now. Fixes #421543.
3421
3422 2007-03-22  Wim Taymans  <wim@fluendo.com>
3423
3424         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3425         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3426         Unref some more to make valgrind happy.
3427
3428 2007-03-22  Wim Taymans  <wim@fluendo.com>
3429
3430         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3431         (gst_system_clock_id_wait_jitter),
3432         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3433         Fix anoying regression that survived a few releases. When adding an
3434         async entry while blocking on a sync entry, the sync entry will unblock
3435         but still be busy, so it should continue to wait instead of returning
3436         _BUSY to the app.
3437         Add some comments here and there.
3438
3439         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3440         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3441         Add testcase for this.
3442
3443 2007-03-22  Wim Taymans  <wim@fluendo.com>
3444
3445         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3446         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3447         WRONG_STATE and can silently pause the task. All other cases should
3448         error out.
3449
3450 2007-03-22  Wim Taymans  <wim@fluendo.com>
3451
3452         Patch by: Ville Syrjala <syrjala at sci dot fi>
3453
3454         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3455         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3456         Improve debugging.
3457
3458 2007-03-21  Michael Smith  <msmith@fluendo.com>
3459
3460         * docs/pwg/advanced-types.xml:
3461           Fix some errors in the typefinding docs pointed out on irc.
3462
3463 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3464
3465         * libs/gst/base/gstbasesrc.c:
3466         Clarify FIXME comment in the face of having added unlock_stop()
3467
3468 2007-03-21  Wim Taymans  <wim@fluendo.com>
3469
3470         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3471         Prepare for release where we warn against possible app breakage in the
3472         case of live pipelines along with an env var to enable/disable live
3473         preroll mode (GST_COMPAT=[no-]live-preroll).
3474
3475 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3476
3477         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3478         So we should use correct constants for checking for None offset.
3479
3480 2007-03-20  Wim Taymans  <wim@fluendo.com>
3481
3482         * docs/design/part-block.txt:
3483         Mention the fact that the newly switched element should be set to at
3484         least PAUSED.
3485
3486 2007-03-20  Wim Taymans  <wim@fluendo.com>
3487
3488         * gst/gst.c:
3489         Fix compilation with registry disabled as spotted by Saur.
3490
3491 2007-03-20  Wim Taymans  <wim@fluendo.com>
3492
3493         Patch by: Olivier Crete <tester at tester dot ca>
3494
3495         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3496         Look at the pending state too when syncing the element state to the
3497         parent. Fixes #420133.
3498
3499 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3500
3501         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3502         (gst_base_sink_change_state):
3503         * libs/gst/base/gstbasesink.h:
3504         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3505         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3506         (gst_base_src_deactivate):
3507         * libs/gst/base/gstbasesrc.h:
3508         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3509         for sub-classes to correctly clear any state they set trying to
3510         unlock, such as clearing out unlock commands from a command fd.
3511         API: basesrc::unlock_stop
3512         API: basesink::unlock_stop
3513
3514         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3515         (gst_fd_sink_render), (gst_fd_sink_unlock),
3516         (gst_fd_sink_unlock_stop):
3517         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3518         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3519         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3520
3521         Implement unlock_stop in fdsrc and fdsink.
3522         Implement seeking in fdsrc when a seekable fd is passed, as in
3523         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3524
3525 2007-03-19  Wim Taymans  <wim@fluendo.com>
3526
3527         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3528
3529         * gst/gstelement.c: (gst_element_class_init):
3530         Fix pad-added and pad-removed signal signatures so that the pad type is
3531         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3532
3533 2007-03-19  Wim Taymans  <wim@fluendo.com>
3534
3535         * docs/gst/gstreamer-sections.txt:
3536         Add new element field and method.
3537
3538         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3539         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3540         (gst_bin_recalc_state), (gst_bin_get_state_func),
3541         (gst_bin_element_set_state), (gst_bin_change_state_func),
3542         (gst_bin_continue_func), (bin_bus_handler),
3543         (bin_push_state_continue), (bin_handle_async_start),
3544         (bin_handle_async_done), (gst_bin_handle_message_func):
3545         Make async state changes a bit smarter by using new ASYNC_START and
3546         ASYNC_DONE messages. This reduces the number of times we run the state
3547         recalculation thread.
3548         Don't change state of element with a pending ASYNC_START message.
3549         Deprecate STATE_DIRTY messages.
3550         
3551         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3552         (gst_element_get_state_func), (gst_element_continue_state),
3553         (gst_element_lost_state), (gst_element_set_state_func),
3554         (gst_element_change_state):
3555         * gst/gstelement.h:
3556         Keep the state that was last set by the app in a new element field.
3557         Don't allow state changes when handling an element event.
3558         Post ASYNC_START and ASYNC_DONE messages.
3559         Change lost_state so that we go to PAUSED and wait for the parent to set
3560         us to PLAYING again (so latency calculation can be performed)
3561         Export gst_element_change_state() method so that subclasses can use it.
3562         API: gst_element_change_state()
3563         API: GST_STATE_TARGET
3564
3565         * gst/gstpipeline.c: (gst_pipeline_class_init),
3566         (reset_stream_time), (gst_pipeline_change_state),
3567         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3568         Using the new ASYNC_START message we can reset the base_time when
3569         needed. This can then be used to implement base_time redistribution in
3570         flushing seeks so that we can remove the explicit seek handling.
3571         Perform latency query and configuration when going to PLAYING.
3572
3573         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3574         (gst_base_sink_query), (gst_base_sink_change_state):
3575         Post new ASYNC_START/ASYNC_DONE messages.
3576
3577         * tests/check/generic/sinks.c: (GST_START_TEST):
3578         Fix test because the bin will not set the async element to PLAYING right
3579         away.
3580
3581         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3582         Make the message check a little stronger.
3583         Handle ASYNC messages.
3584
3585         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3586         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3587         Expect ASYNC_DONE messages.
3588
3589 2007-03-19  Wim Taymans  <wim@fluendo.com>
3590
3591         * docs/gst/gstreamer-sections.txt:
3592         * gst/gstmessage.c: (gst_message_new_async_start),
3593         (gst_message_new_async_done), (gst_message_parse_info),
3594         (gst_message_parse_async_start):
3595         * gst/gstmessage.h:
3596         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3597         support.
3598
3599 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3600
3601         * tools/gst-inspect.c:
3602         (print_plugin_automatic_install_info_codecs):
3603           Now that we don't check for the 'Codec' keyword any longer in the
3604           klass, we shouldn't spew a warning if the klass isn't a decoder or
3605           encoder (since it might be a Source/Network, for example).
3606
3607 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3608
3609         * tools/gst-inspect.c:
3610         (print_plugin_automatic_install_info_codecs):
3611           Don't require decoder/demuxer/depayloader elements or
3612           encoder/muxer/paylader elements to have 'Codec' as part of their
3613           factory class string when introspecting a plugin's capabilities.
3614           draft-klass.txt mentions that it might be removed in future, and
3615           flump3dec doesn't have it as part of its class string, so chances
3616           are others might also not have it.
3617
3618 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3619
3620         * po/af.po:
3621         * po/az.po:
3622         * po/bg.po:
3623         * po/ca.po:
3624         * po/cs.po:
3625         * po/de.po:
3626         * po/en_GB.po:
3627         * po/fr.po:
3628         * po/it.po:
3629         * po/nb.po:
3630         * po/nl.po:
3631         * po/ru.po:
3632         * po/sq.po:
3633         * po/sr.po:
3634         * po/sv.po:
3635         * po/tr.po:
3636         * po/uk.po:
3637         * po/vi.po:
3638         * po/zh_CN.po:
3639         * po/zh_TW.po:
3640           Update translations from translation project
3641
3642 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
3643
3644         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3645         (gst_child_proxy_set_property):
3646           Invert precondition check to be alike the ones in the mimiced gobject
3647           api.
3648
3649 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
3650
3651         * docs/design/draft-tagreading.txt:
3652         * docs/random/ensonic/audiobaseclasses.txt:
3653           Do some Architect work.
3654
3655         * gst/gstobject.c: (gst_object_set_name):
3656           Add a WARNING.
3657
3658         * gst/gstpad.c:
3659           Add docs that point from gst_pad_get_range to gst_pad_pull_range
3660
3661 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
3662
3663         * gst/gstsystemclock.c: (gst_system_clock_init),
3664         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3665         Defer starting the async system clock thread until the first async
3666         wait is scheduled. Fixes #414986.
3667
3668 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3671         (gst_single_queue_free):
3672           Fix small leak (free GstSingleQueue structure too, not only contents).
3673
3674 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
3675
3676         * gst/gstbin.c:(gst_bin_add):
3677         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3678         * win32/common/libgstbase.def:
3679         * win32/common/libgstreamer.def:
3680         Add new exported functions.
3681
3682 2007-03-09  Wim Taymans  <wim@fluendo.com>
3683
3684         * docs/plugins/gstreamer-plugins-sections.txt:
3685         Fix GstTee docs.
3686
3687 2007-03-09  Wim Taymans  <wim@fluendo.com>
3688
3689         * docs/gst/gstreamer-sections.txt:
3690         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3691         * gst/gstbuffer.h:
3692         Add metadata copy functions. Fixes #393099.
3693         API: gst_buffer_copy_metadata()
3694
3695         * gst/gstutils.c: (gst_buffer_stamp):
3696         * libs/gst/base/gstbasetransform.c:
3697         (gst_base_transform_prepare_output_buffer):
3698         Use new metadata copy functions.
3699
3700 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3701
3702         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3703         (gst_identity_init), (gst_identity_check_perfect),
3704         (gst_identity_check_imperfect_timestamp),
3705         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3706         (gst_identity_set_property), (gst_identity_get_property):
3707         * plugins/elements/gstidentity.h:
3708         Separate out check-imperfect-timestamp and check-imperfect-offset.
3709         Put back check-perfect as it was to keep compatibility.
3710
3711 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
3712
3713         * gst/gstelement.c: (gst_element_dispose):
3714         There's no need to warn if VOID_PENDING is not NONE here, as
3715         long as the state is NULL it's ok, and that's checked immediately
3716         above.
3717
3718 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3719
3720         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3721         Fix check for perfect stream to ignore buffers with -1 
3722         offsets/offset ends when checking data contiguity.
3723
3724 2007-03-08  Wim Taymans  <wim@fluendo.com>
3725
3726         * tools/gst-launch.c: (event_loop):
3727         Print INFO messages.
3728
3729 2007-03-08  Wim Taymans  <wim@fluendo.com>
3730
3731         * libs/gst/base/gstbasetransform.c:
3732         (gst_base_transform_sink_eventfunc),
3733         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3734         (gst_base_transform_activate):
3735         * libs/gst/base/gstbasetransform.h:
3736         Add support for dropping buffers with custom GstFlowReturn.
3737         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3738         buffers or dropped buffers.
3739
3740         * docs/libs/gstreamer-libs-sections.txt:
3741         docs for new custom return code.
3742
3743         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3744         Use drop support in base class to implement drop-probability.
3745
3746 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3747
3748         * gst/gst.c: (load_plugin_func):
3749         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3750         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3751         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3752           Remove newlines at end of debug log strings.
3753
3754 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3755
3756         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3757         Only post bus message at max, once per buffer received.
3758
3759 2007-03-07  Wim Taymans  <wim@fluendo.com>
3760
3761         * docs/design/Makefile.am:
3762         * docs/design/part-synchronisation.txt:
3763         Add doc about synchronisation
3764
3765         * docs/design/draft-latency.txt:
3766         * docs/design/part-TODO.txt:
3767         * docs/design/part-clocks.txt:
3768         * docs/design/part-events.txt:
3769         * docs/design/part-gstbus.txt:
3770         * docs/design/part-gstpipeline.txt:
3771         * docs/design/part-live-source.txt:
3772         * docs/design/part-messages.txt:
3773         * docs/design/part-overview.txt:
3774         * docs/design/part-streams.txt:
3775         * docs/design/part-trickmodes.txt:
3776         Documentation updates.
3777
3778 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3779
3780         * gstreamer.doap:
3781         Update the doap file.
3782
3783 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3784
3785         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3786         Rename non-perfect to imperfect for Mike and for the sanctity of the
3787         language.
3788         Also make sure bus message gets emitted for data-incontiguities.
3789
3790 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3791
3792         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3793         (gst_identity_start):
3794         * plugins/elements/gstidentity.h:
3795         Emit bus message if check-perfect is true and we encounter a
3796         non-perfect stream between 2 consecutive buffers.
3797         Fixes #415394.
3798
3799 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3800
3801         * configure.ac:
3802         Back to CVS
3803
3804 === release 0.10.12 ===
3805
3806 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
3807
3808         * configure.ac:
3809           releasing 0.10.12, "Inevitable Demise"
3810
3811 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
3812
3813         * configure.ac:
3814          Version 0.10.11.2 (0.10.12 pre-release)
3815          Bump libtool versioning.
3816
3817 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
3818
3819         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3820           Log flow-names and not numbers.
3821
3822 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3823
3824         * configure.ac:
3825           Convert to new AG_GST style.
3826
3827 2007-02-28  Wim Taymans  <wim@fluendo.com>
3828
3829         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3830         Don't unref query twice.
3831
3832 2007-02-28  Wim Taymans  <wim@fluendo.com>
3833
3834         * gst/gstvalue.c: (gst_value_transform_object_string),
3835         (_gst_value_initialize):
3836         Implement GstObject -> string transform so we print object names
3837         when serializing GValues containing GstObjects.
3838
3839 2007-02-28  Wim Taymans  <wim@fluendo.com>
3840
3841         * docs/gst/gstreamer-sections.txt:
3842         Add new stuff to docs.
3843
3844 2007-02-28  Wim Taymans  <wim@fluendo.com>
3845
3846         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3847         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3848         (gst_base_sink_change_state):
3849         Improve latency query code.
3850         Don't leak latency events.
3851
3852         * tests/check/gst/gstbin.c: (GST_START_TEST):
3853         Improve debugging.
3854
3855 2007-02-28  Wim Taymans  <wim@fluendo.com>
3856
3857         * gst/gstelement.c: (gst_element_message_full),
3858         (gst_element_get_state_func):
3859         * gst/gstelement.h:
3860         Improve docs a little. Added Since: for new macro.
3861
3862         * gst/gstobject.c: (gst_object_sink):
3863         * gst/gstpipeline.c: (gst_pipeline_change_state),
3864         (gst_pipeline_set_new_stream_time):
3865         * gst/gstpipeline.h:
3866         Improve debugging and docs.
3867
3868         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3869         Improve debugging.
3870
3871 2007-02-28  Wim Taymans  <wim@fluendo.com>
3872
3873         * gst/gstelement.c: (gst_element_message_full),
3874         (gst_element_set_locked_state), (gst_element_get_state_func),
3875         (gst_element_change_state):
3876         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3877         Documentation updates.
3878         Small code cleanups.
3879
3880         * gst/gstmessage.c: (gst_message_new_info),
3881         (gst_message_parse_info):
3882         * gst/gstmessage.h:
3883         API: gst_message_new_info()
3884         API: gst_message_parse_info()
3885         Add INFO message create and parse code.
3886
3887 2007-02-28  Wim Taymans  <wim@fluendo.com>
3888
3889         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3890         (bin_query_latency_done):
3891         Also report the live parameter of a latency query.
3892
3893 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3894
3895         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3896           Copy the current generic/states example from -base and adapt so
3897           we can use the exact same code everywhere.
3898           Check a STATES_IGNORE_ELEMENTS env var which can be used
3899           to ignore certain element factories for this test, which is
3900           what is being done in -base
3901         * tests/check/Makefile.am:
3902           Mention this environment variable.
3903
3904 2007-02-27  Wim Taymans  <wim@fluendo.com>
3905
3906         * docs/gst/gstreamer-sections.txt:
3907         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3908         (gst_bus_timed_pop), (gst_bus_pop):
3909         * gst/gstbus.h:
3910         API: gst_bus_timed_pop()
3911         Implement gst_bus_timed_pop() to do a blocking timed wait for a
3912         message to arrive on the bus.
3913
3914         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3915         (gst_bus_suite):
3916         Two unit tests for new _timed_pop() function.
3917
3918 2007-02-23  Wim Taymans  <wim@fluendo.com>
3919
3920         * gst/gstpipeline.c: (gst_pipeline_change_state),
3921         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3922         Don't ref a NULL clock in _provide_clock_func().
3923         Don't allow an INVALID delay.
3924         Don't try to calculate base_time with an invalid start_time.
3925         Also distribute and notify a NULL clock when it was selected.
3926
3927         * tools/gst-launch.c: (event_loop):
3928         Don't crash when a NULL clock was selected in the pipeline.
3929
3930 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * docs/design/Makefile.am:
3933         * docs/design/draft-missing-plugins.txt:
3934         * docs/random/draft-missing-plugins.txt:
3935           Some small updates: update plugin system identifier prefix
3936           ('gstreamer.net' to 'gstreamer'), mention our new install
3937           API in libgstbaseutils rather than libgimme-codec, add
3938           reference to the online docs.
3939
3940 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3941
3942         * win32/common/config.h:
3943           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
3944           use moap cl ci to only check in what is mentioned in the ChangeLog.
3945
3946 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3947
3948         * docs/gst/gstreamer-sections.txt:
3949         * gst/gstelement.h:
3950           Fix up documentation to link to the correct GstGError section.
3951           Add GST_ELEMENT_INFO macro since someone else added a Info message.
3952
3953 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3954
3955         * tools/gst-launch.c: (event_loop):
3956           Make sure that we actually show the important message part of a
3957           warning message.
3958           No need to check if the gerror is not NULL to free; first of all
3959           g_free accepts NULL; and second the default error handler would
3960           segfault if gerror was NULL.
3961
3962 2007-02-21  Wim Taymans  <wim@fluendo.com>
3963
3964         * docs/gst/gstreamer-sections.txt:
3965         Removed docs as well.
3966
3967 2007-02-21  Wim Taymans  <wim@fluendo.com>
3968
3969         * gst/gstmessage.c: (gst_message_parse_duration):
3970         * gst/gstmessage.h:
3971         Remove new messages for release.
3972
3973 2007-02-20  Wim Taymans  <wim@fluendo.com>
3974
3975         * docs/design/part-gstghostpad.txt:
3976         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3977         (gst_ghost_pad_new_full):
3978         Make the ghostpad a parent of the internal pad again for better backward
3979         compatibility. Don't write code that relies on this however.
3980
3981         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3982         (gst_pad_link_check_hierarchy):
3983         Require that parents should be GstElements in the hierarchy check.
3984
3985 2007-02-20  Wim Taymans  <wim@fluendo.com>
3986
3987         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3988         (gst_bin_change_state_func), (bin_query_min_max_init),
3989         (bin_query_latency_fold), (bin_query_latency_done),
3990         (gst_bin_query):
3991         Improve debug info.
3992         Implement latency query.
3993
3994 2007-02-20  Wim Taymans  <wim@fluendo.com>
3995
3996         * docs/design/part-gstghostpad.txt:
3997         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3998         (gst_ghost_pad_internal_do_activate_push),
3999         (gst_ghost_pad_internal_do_activate_pull),
4000         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4001         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
4002         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
4003         Do not set the internal pad as a parent anymore so we can avoid
4004         hierarchy linking errors when the ghostpad has no parent yet. This also
4005         fixes failed activation because of unlinked internal pads, which in
4006         turn fixes the impossible case where you have to activate a pad before
4007         you can add it to a running element.
4008         Also fix the docs.
4009
4010         * gst/gstpad.c: (pre_activate), (post_activate),
4011         (gst_pad_set_active), (gst_pad_activate_pull),
4012         (gst_pad_activate_push), (gst_pad_check_pull_range):
4013         Add some more debug info.
4014         Mark activation mode in pre_activate so that we don't try to activate in
4015         endless loops. Fixes #385084.
4016
4017 2007-02-19  Wim Taymans  <wim@fluendo.com>
4018
4019         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4020         (gst_base_transform_check_get_range):
4021         Implement a checkgetrange function instead of relying on the default
4022         core behaviour that assumes we can operate in pull mode if we have a
4023         getrange function. First step at fixing #385084.
4024
4025 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
4026
4027         * gst/gstchildproxy.h:
4028         * libs/gst/base/gstbasesink.h:
4029         * libs/gst/base/gstbasesrc.h:
4030         * libs/gst/base/gstbasetransform.h:
4031         More docs coverage and some ChangeLog surgery (add missing names)
4032
4033 2007-02-15  Wim Taymans  <wim@fluendo.com>
4034
4035         * docs/design/part-TODO.txt:
4036         * docs/design/part-activation.txt:
4037         * docs/design/part-block.txt:
4038         * docs/design/part-buffering.txt:
4039         * docs/design/part-clocks.txt:
4040         * docs/design/part-element-source.txt:
4041         * docs/design/part-events.txt:
4042         * docs/design/part-gstbin.txt:
4043         * docs/design/part-gstbus.txt:
4044         * docs/design/part-gstpipeline.txt:
4045         * docs/design/part-live-source.txt:
4046         * docs/design/part-messages.txt:
4047         * docs/design/part-overview.txt:
4048         * docs/design/part-qos.txt:
4049         * docs/design/part-query.txt:
4050         * docs/design/part-states.txt:
4051         * docs/design/part-trickmodes.txt:
4052         Some doc updates. Start renaming from stream_time to running_time where
4053         it was used wrongly.
4054
4055 2007-02-15  Wim Taymans  <wim@fluendo.com>
4056
4057         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4058         Answer LATENCY query.
4059
4060 2007-02-15  Wim Taymans  <wim@fluendo.com>
4061
4062         * tests/check/gst/gstevent.c: (event_probe), (test_event),
4063         (GST_START_TEST):
4064         Improve debugging.
4065
4066 2007-02-15  Wim Taymans  <wim@fluendo.com>
4067
4068         * gst/gstpad.c: (gst_pad_get_internal_links_default),
4069         (gst_pad_dispatcher):
4070         Improve debugging of default pad dispatcher and query functions.
4071
4072 2007-02-15  Wim Taymans  <wim@fluendo.com>
4073
4074         * docs/gst/gstreamer-sections.txt:
4075         Remove old unused method.
4076
4077 2007-02-13  Wim Taymans  <wim@fluendo.com>
4078
4079         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4080         Fix check
4081
4082 2007-02-13  Wim Taymans  <wim@fluendo.com>
4083
4084         * docs/design/part-seeking.txt:
4085         Some small update.
4086
4087         * gst/gstsegment.c: (gst_segment_set_seek):
4088         Revert old bogus change that should make seeking work again.
4089
4090 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4091
4092         * docs/random/ensonic/dynlink.txt:
4093         * docs/random/ensonic/interfaces.txt:
4094         * docs/random/ensonic/receipies.txt:
4095           Possible dynamic reconnection api, plus some type fixes the other two
4096           docs.
4097
4098 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
4099
4100         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4101         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4102         Also check for an absolute path following file:// in the filesrc
4103         element. Remove redundant check and call g_path_is_absolute() on the
4104         unescaped location.
4105
4106 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4107
4108         * docs/design/draft-klass.txt:
4109           Add existing category analysis.
4110           
4111         * gst/gstcaps.c:
4112           Fix doc example, framerate is a fraction.
4113
4114 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4115
4116         * configure.ac:
4117         * docs/gst/Makefile.am:
4118         * docs/gst/gstreamer-sections.txt:
4119         * docs/libs/Makefile.am:
4120           Erm, forgot a bunch of --extra-dir.
4121
4122 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4123
4124         * configure.ac:
4125         * docs/gst/Makefile.am:
4126         * docs/libs/Makefile.am:
4127         * docs/plugins/Makefile.am:
4128           Add crossreferences to glib/gobject docs.
4129
4130 2007-02-12  Wim Taymans  <wim@fluendo.com>
4131
4132         * docs/design/draft-latency.txt:
4133         Small update.
4134
4135         * docs/libs/gstreamer-libs-sections.txt:
4136         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4137         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
4138         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
4139         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
4140         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
4141         (gst_base_sink_get_position), (gst_base_sink_query),
4142         (gst_base_sink_change_state):
4143         * libs/gst/base/gstbasesink.h:
4144         API: gst_base_sink_query_latency() to let subclasses query the upstream
4145         latency.
4146         API: gst_base_sink_get_latency() to let subclasses query the configured
4147         latency in the sink.
4148         Implement query and set latency.
4149         Update some docs.
4150         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
4151         don't continue preroll when we are flushing. Fixes #405284.
4152
4153         * tests/check/pipelines/stress.c: (change_state_timeout),
4154         (quit_timeout), (GST_START_TEST), (stress_suite):
4155         Test for #405284.
4156
4157 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4158
4159         Patch by: René Stadler <mail at renestadler de>
4160
4161         * docs/gst/gstreamer-sections.txt:
4162         * gst/gsttaglist.c: (_gst_tag_initialize):
4163         * gst/gsttaglist.h:
4164           API: add GST_TAG_REFERENCE_LEVEL (#403597).
4165
4166 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
4167
4168         * docs/libs/Makefile.am:
4169           Fix path to core docs.
4170
4171         * gst/gstbin.c: (gst_bin_get_by_interface),
4172         (gst_bin_iterate_all_by_interface):
4173           Refix docs by also renaming 'interface' to 'iface' in implementation.
4174
4175         * docs/gst/gstreamer-sections.txt:
4176         * gst/gstcaps.c:
4177         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
4178         * gst/gstchildproxy.h:
4179         * gst/gstelementfactory.c:
4180         * gst/gstpadtemplate.h:
4181         * libs/gst/controller/gstcontroller.c:
4182         (gst_controlled_property_new):
4183           Document more.
4184
4185 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
4186
4187         * gst/gstbin.h:(gst_bin_get_by_interface),
4188         (gst_bin_iterate_all_by_interface):
4189         Replace interface parameter name by iface as interface is 
4190         a reserved keyword in Visual Studio for C++ projects so it removes
4191         a build error for application developpers using VS.
4192         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
4193         Fix a bug on Windows in uri format check. Now the prefix checked
4194         is file:// and next we check if the path after file:// is absolute.
4195         * win32/common/libgstbase.def:
4196         * win32/common/libgstdataprotocol.def:
4197         * win32/common/libgstgstreamer.def:
4198         Add new exported functions.
4199
4200 2007-02-09  Andy Wingo  <wingo@pobox.com>
4201
4202         * tests/check/pipelines/simple-launch-lines.c
4203         (simple_launch_lines_suite, test_tee): Disable tee test until I
4204         have time to fix it :-(
4205
4206         * tests/check/Makefile.am (noinst_HEADERS): 
4207         * tests/check/libs/libsabi.c: 
4208         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
4209         * tests/check/gst/gstabi.c: 
4210         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
4211
4212         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
4213         tests for push and pull tee behavior.
4214
4215         * plugins/elements/gsttee.h: 
4216         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
4217         mark as deprecated as well as unimplemented. It was a crack idea.
4218         Add support for tee operating in pull mode, off by default.
4219
4220         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4221         normal-case logs down to LOG, raise errors to WARNING.
4222         (gst_registry_xml_read_cache): Don't log before calling a function
4223         that logs.
4224
4225         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4226         exit (registry finalize).
4227         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4228         DEBUG log when we emit signals that people don't even have the
4229         chance to connect to.
4230         (gst_registry_scan_path_level): Less logging in the normal case.
4231
4232 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4233
4234         Patch by: Michal Benes <michal dot benes at itonis dot tv>
4235
4236         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4237         Correctly generate EOS for non-seekable files. We don't have a total
4238         length for them and would get an unexpected end of file if we only
4239         special-cased for regular files. (Fixes: #404569)
4240
4241 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4242
4243         * tests/check/elements/filesrc.c: (GST_START_TEST),
4244         (filesrc_suite):
4245         Add unit test for the GstURIHandler interface in filesrc. This also
4246         tests the newly added file://localhost/foo/bar support.
4247
4248 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4249
4250         * gst/gstelementfactory.h:
4251           The klass string is not a hierarchy. Add reference to the design doc
4252           for more information and common types.
4253
4254 2007-02-02  Wim Taymans  <wim@fluendo.com>
4255
4256         * gst/gstquery.c: (gst_query_new_latency):
4257         Remove old structure field.
4258
4259 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
4260
4261         * tools/gst-launch.1.in:
4262           Give example for network streaming (#351998)
4263
4264 2007-02-02  Wim Taymans  <wim@fluendo.com>
4265
4266         * docs/gst/gstreamer-sections.txt:
4267         Add docs for new methods.
4268
4269         * gst/gstevent.c: (gst_event_new_latency),
4270         (gst_event_parse_latency):
4271         * gst/gstevent.h:
4272         Add new LATENCY event to configure latency in a pipeline.
4273         API: gst_event_new_latency
4274         API: gst_event_parse_latency
4275
4276         * gst/gstmessage.c: (gst_message_new_buffering),
4277         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4278         (gst_message_new_latency), (gst_message_parse_buffering),
4279         (gst_message_parse_lost_preroll):
4280         * gst/gstmessage.h:
4281         Added messages used in draft-latency.
4282         API: gst_message_new_lost_preroll
4283         API: gst_message_parse_lost_preroll
4284         API: gst_message_new_prerolled
4285         API: gst_message_new_latency
4286
4287         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4288         (gst_query_parse_latency):
4289         * gst/gstquery.h:
4290         Implemented new latency query as in design doc.
4291         API: gst_query_new_latency
4292         API: gst_query_set_latency
4293         API: gst_query_parse_latency
4294
4295 2007-02-02  Wim Taymans  <wim@fluendo.com>
4296
4297         * docs/design/draft-latency.txt:
4298         Slight redesign to allow for dynamic latency adjustments.
4299
4300         * docs/design/part-negotiation.txt:
4301         Fix some typos.
4302
4303 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4304
4305         reviewed by: Wim Taymans <wim@fluendo.com>
4306
4307         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4308         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4309         Allow file://localhost/foo/bar URLs and correctly fail for every other
4310         hostname that one sets. This was gnomevfssrc is linked for those if
4311         installed as it can handle it (#403172)
4312
4313 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4314
4315         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4316
4317         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4318         (unref_data), (gst_collect_pads_add_pad_full):
4319         * libs/gst/base/gstcollectpads.h:
4320         Don't put the previously added destroy notify in the GstCollectData
4321         struct as all it's padding is already used and we don't want to break
4322         ABI. Instead put in the pad's GObject data for now. This should be
4323         cleaned up for 0.11 (#402393).
4324
4325 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4326
4327         reviewed by: Wim Taymans <wim@fluendo.com>
4328
4329         * docs/libs/gstreamer-libs-sections.txt:
4330         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4331         (unref_data), (gst_collect_pads_add_pad),
4332         (gst_collect_pads_add_pad_full):
4333         * libs/gst/base/gstcollectpads.h:
4334         API: Add function to specify a destroy notification for custom
4335         GstCollectData when adding new pads in GstCollectPads (#402393).
4336
4337 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
4338
4339         * po/sv.po:
4340           Update Swedish translation (#378255).
4341
4342 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4343
4344         * docs/design/draft-klass.txt:
4345           Fix the previous change, this is a list of categories and not a hierarchy.
4346
4347 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4348
4349         * docs/design/draft-klass.txt:
4350           Add info about how to get a list of used classes.
4351
4352 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
4353
4354         * plugins/elements/gsttypefindelement.c:
4355         (gst_type_find_element_chain_do_typefinding),
4356         (gst_type_find_element_change_state):
4357           Don't leak found caps in chain function (no idea why that never
4358           showed up as a leak anywhere).
4359
4360 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
4361
4362         * gst/gstplugin.h:
4363           Fix and expand GstPluginDesc API docs.
4364
4365 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4366
4367         * gst/gstcaps.c:
4368         * gst/gstelementfactory.c:
4369         * gst/gstpadtemplate.h:
4370           api doc fixes
4371
4372         * libs/gst/controller/gstcontroller.c:
4373         (gst_controlled_property_new):
4374         * tests/examples/controller/audio-example.c:
4375           comment fixes
4376
4377 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4378
4379         * configure.ac:
4380           comment about refining the xml deps
4381
4382         * docs/manuals.mak:
4383           comments about moving away from jade for docs
4384         
4385         * gst/gst.c:
4386           recommit the ifdefs to use the binary registry
4387         
4388         * gst/gstbin.c: (gst_bin_change_state_func):
4389           this break is obsolete
4390
4391         * gst/gstelementfactory.h:
4392           better GST_ELEMENT_DETAILS docs, add comment about translation
4393
4394         * gst/gstinfo.h:
4395           remove eol slash
4396
4397         * gst/gstobject.c: (gst_signal_object_get_type):
4398           add G_UNLIKELY as usual
4399
4400         * gst/gstpad.c: (gst_pad_event_default):
4401           add fall trhu comment
4402
4403         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4404         (gst_registry_binary_initialize_magic),
4405         (gst_registry_binary_save_string),
4406         (gst_registry_binary_save_pad_template),
4407         (gst_registry_binary_save_feature),
4408         (gst_registry_binary_save_plugin),
4409         (gst_registry_binary_write_cache),
4410         (gst_registry_binary_check_magic),
4411         (gst_registry_binary_load_pad_template),
4412         (gst_registry_binary_load_feature),
4413         (gst_registry_binary_load_plugin),
4414         (gst_registry_binary_read_cache):
4415           comment typo and formatting
4416
4417         * gst/gstutils.c: (gst_element_state_get_name),
4418         (gst_element_state_change_return_get_name):
4419           remove obsolete breaks
4420
4421         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4422           add FIXME 0.11 and remove cpp comment
4423
4424 2007-01-29  Edward Hervey  <edward@fluendo.com>
4425
4426         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4427         Fix print statement in an even more portable way.
4428
4429 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
4430
4431         * docs/gst/gstreamer-sections.txt:
4432         * gst/gstutils.h:
4433           API: add GST_ROUND_DOWN_* macros (#401781).
4434
4435 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
4436
4437         * docs/gst/gstreamer.types.in:
4438         * gst/gstregistry.c: (gst_registry_class_init):
4439           Document registry signals and make gtk-doc pick them up (#401381).
4440
4441 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4442
4443         * docs/pwg/building-testapp.xml:
4444           Add some audioconverts and audioresample to the pipeline, and some
4445           more comments and error handling.
4446
4447 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4448
4449         * docs/manual/manual.xml:
4450         * docs/pwg/pwg.xml:
4451           Fix typo (#400987).
4452
4453 2007-01-26  Wim Taymans  <wim@fluendo.com>
4454
4455         * gst/gstcaps.c: (gst_static_caps_get):
4456         Init caps flags too.
4457
4458 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
4459
4460         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4461
4462         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4463         If not using mmap'ed files try to seek to the end instead of the
4464         start to determine whether we can seek at all. This fixes the case
4465         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4466         seeks for everything afterwards fail. Fixes #400656
4467
4468 2007-01-25  Wim Taymans  <wim@fluendo.com>
4469
4470         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4471         Add some refcount debugging.
4472         Make gst_static_caps_get threadsafe, which is needed when autoplugging
4473         in multiple streaming threads.
4474
4475 2007-01-25  Wim Taymans  <wim@fluendo.com>
4476
4477         Patch by: David Schleef <ds at schleef dot org>
4478
4479         * docs/libs/gstreamer-libs-sections.txt:
4480         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4481         * libs/gst/base/gstadapter.h:
4482         API: gst_adapter_copy() that can reduce the amount of memcpy when
4483         getting data from the adapter. Fixes #388201.
4484
4485 2007-01-25  Edward Hervey  <edward@fluendo.com>
4486
4487         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4488         In print statements, "%x" is for guint. Fixes build on macosx.
4489
4490 2007-01-24  Edward Hervey  <edward@fluendo.com>
4491
4492         * plugins/elements/gstmultiqueue.c:
4493         (gst_multi_queue_loop):
4494         Small fix.
4495         (single_queue_overrun_cb), (single_queue_underrun_cb),
4496         (single_queue_check_full), (gst_single_queue_new):
4497         Implement single queue growth system.
4498         This uses the extra-size properties, and will grow single queues by
4499         that much if one goes full whereas there are others empty. This is
4500         called extra-mode in the code.
4501         When a single queue's levels go back below the initial max-size
4502         limits, it is no longer in extra-mode. This is to ensure we don't
4503         consume too much memory.
4504         Fixes #399875
4505
4506 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
4507
4508         * gst/gst.c: (gst_init_get_option_group):
4509           Make warning about late g_thread_init() calls a bit more explicit,
4510           so that it's more obvious to application developers what they need
4511           to do if a user files a bug against their application.
4512
4513 2007-01-22  Edward Hervey  <edward@fluendo.com>
4514
4515         * plugins/elements/gstmultiqueue.c:
4516         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4517         Remove previous hack of unsetting the flushing flag for the source pad
4518         instead of activating it. Instead, fix the source pad activate function
4519         so that it no longer depends on having a parent set or not.
4520
4521 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4524
4525         * docs/manual/basics-bus.xml:
4526           Fix example code, gst_element_unref() doesn't exist any longer.
4527
4528 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
4529
4530         Patch by: Mark Nauwelaerts <manauw at skynet be>
4531
4532         * gst/gstpad.c:
4533           Fix two docs typoes (#399094).
4534
4535 2007-01-19  Edward Hervey  <edward@fluendo.com>
4536
4537         * docs/faq/gst-uninstalled:
4538         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4539         depending on libgstbaseutils can work in uninstalled environment.
4540
4541 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
4542
4543         * gst/gsttaglist.h:
4544         * gst/gsttagsetter.c:
4545         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4546         statement for new tag.
4547
4548 2007-01-17  Edward Hervey  <edward@fluendo.com>
4549
4550         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4551         When dynamically creating single queues, activate sinkpad before adding
4552         it.
4553         We should be doing the same thing for the source pad, but we can't
4554         since it would call a method which needs the parent to be set in order
4555         to work propertly. Instead of activating the source pad, we just unset
4556         the flushing flag, which is the minimal requirement for adding a pad
4557         to an element in a state greater than READY.
4558
4559 2007-01-17  Edward Hervey  <edward@fluendo.com>
4560
4561         * docs/faq/gst-uninstalled:
4562         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4563         Mac OS X.
4564
4565 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4566
4567         * tests/check/gst/gstabi.c:
4568         * tests/check/gst/struct_hppa.h:
4569         * tests/check/libs/libsabi.c:
4570         * tests/check/libs/struct_hppa.h:
4571           Add ABI structs for HPPA (see #393796).
4572
4573 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
4574
4575         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4576           Actually write ABI structs to the file specified in the GST_ABI
4577           environment variable, as the message we print claims we would.
4578
4579 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4580
4581         * tests/check/gst/gsttask.c:
4582           Fix header comment.
4583
4584 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4585
4586         * gst/gsttaglist.c: (_gst_tag_initialize):
4587           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4588           previous two entries.
4589
4590 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4591
4592         * docs/gst/gstreamer-sections.txt:
4593         * gst/gsttaglist.c: (_gst_tag_initialize):
4594         * gst/gsttaglist.h:
4595           Add tag support for beat-per-minute.
4596
4597 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4598
4599         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4600         (gst_registry_binary_initialize_magic),
4601         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4602         (gst_registry_binary_save_pad_template),
4603         (gst_registry_binary_save_feature),
4604         (gst_registry_binary_save_plugin),
4605         (gst_registry_binary_write_cache),
4606         (gst_registry_binary_check_magic),
4607         (gst_registry_binary_load_pad_template),
4608         (gst_registry_binary_load_feature),
4609         (gst_registry_binary_load_plugin),
4610         (gst_registry_binary_read_cache):
4611         * gst/gstregistrybinary.h:
4612           Use glib types, cleanup comments, impement interfaces and uri-types.
4613
4614 2007-01-13  Andy Wingo  <wingo@pobox.com>
4615
4616         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4617         getrange() to return buffers with other caps, while we fix
4618         demuxers and typefind, or otherwise change part-negotiation.txt.
4619
4620 2007-01-12  Andy Wingo  <wingo@pobox.com>
4621
4622         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4623         Factor start/stop into this private function instead of partially
4624         in activate functions and partially in the change_state function.
4625         Fixes setup before the element has changed from READY->PAUSED, as
4626         is the case in pull-mode pipelines.
4627         (gst_base_transform_sink_activate_push)
4628         (gst_base_transform_src_activate_pull): Refactor to use
4629         gst_base_transform_activate().
4630         (gst_base_transform_change_state): Removed, not needed any more.
4631
4632         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4633         Truncate before fixating.
4634         
4635         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4636         Don't set_caps() if the result of fixating is ANY, as it's not
4637         supported, and not necessary in the case of a link with no
4638         template caps on either side. Fixes tests/check/libs/basesrc in
4639         some pull-mode tests.
4640
4641         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4642         (gst_base_transform_init, gst_base_transform_sink_activate_push)
4643         (gst_base_transform_src_activate_pull): 
4644         Track the activation mode.
4645         (gst_base_transform_setcaps): In pull mode, when activating the
4646         src pad, after activating the sink pad, activate the sink pad's
4647         peer, as discussed in part-negotiation.txt.
4648
4649         * libs/gst/base/gstbasesrc.h: 
4650         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4651         vmethod, as in basesink.
4652
4653         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4654
4655         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4656         mode, first proxy the setcaps to the peer pad.
4657         (gst_base_sink_pad_fixate): Add a fixate function that calls the
4658         new fixate vmethod.
4659         (gst_base_sink_default_activate_pull): Rename from
4660         gst_base_sink_activate_pull.
4661         (gst_base_sink_negotiate_pull): New function, performs negotiation
4662         in pull mode before calling ::activate_pull().
4663         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4664         vmethod instead of the default implementation. I have no idea how
4665         this worked before. Negotiate before calling activate_pull.
4666
4667         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4668         sink pads in pull mode. In addition to being correct, fixes
4669         filesrc ! decodebin ! identity ! fakesink.
4670         (gst_pad_get_range, gst_pad_pull_range): Don't call
4671         gst_pad_set_caps() if the caps changes; instead error out with
4672         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4673
4674 2007-01-12  Andy Wingo  <wingo@pobox.com>
4675
4676         * docs/design/part-negotiation.txt: Update with more policy.
4677
4678 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4679
4680         * libs/gst/check/gstbufferstraw.h:
4681         * libs/gst/check/gstcheck.h:
4682           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4683           belongs.
4684
4685 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4686
4687         * tests/check/Makefile.am:
4688         * tests/check/gst/.cvsignore:
4689         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4690         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4691         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4692         (GST_START_TEST), (gst_tag_setter_suite):
4693           Add minimal unit test for beforementioned GstTagSetter bug.
4694
4695 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4696
4697         Patch by: René Stadler <mail at renestadler dot de>
4698
4699         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4700           gst_tag_list_merge() returns a new list, so it's not the best idea
4701           to ingore its return value. Effectively meant that tags could only
4702           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4703           Also add function guard to require a non-NULL taglist as input (has
4704           always been so due to gst_tag_list_copy(), just making it explicit).
4705
4706 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4707
4708         * docs/random/draft-missing-plugins.txt:
4709           Some additions: mention new API that is supposed to be used at the
4710           various stages; short blob about new gst-inspect introspection
4711           option; mention potential future problem with plugins that have
4712           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
4713
4714 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * tools/gst-inspect.c:
4717         (print_plugin_automatic_install_info_codecs),
4718         (print_plugin_automatic_install_info_protocols),
4719         (print_plugin_automatic_install_info), (main):
4720         Add --print-plugin-auto-install-info option to gst-inspect, so we can
4721         introspect plugin files and get machine-parsable output that corresponds
4722         to the last bit of the missing-plugin installer string (small gotcha:
4723         doesn't take into account ranks).
4724
4725 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
4726
4727         * configure.ac:
4728         * docs/gst/gstreamer-sections.txt:
4729         * gst/Makefile.am:
4730         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
4731         (gst_registry_lookup_locked):
4732         * gst/gstregistry.h:
4733         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4734         (gst_registry_binary_initialize_magic),
4735         (gst_registry_binary_save_string),
4736         (gst_registry_binary_save_pad_template),
4737         (gst_registry_binary_save_feature),
4738         (gst_registry_binary_save_plugin),
4739         (gst_registry_binary_write_cache),
4740         (gst_registry_binary_check_magic),
4741         (gst_registry_binary_load_pad_template),
4742         (gst_registry_binary_load_feature),
4743         (gst_registry_binary_load_plugin),
4744         (gst_registry_binary_read_cache):
4745         * gst/gstregistrybinary.h:
4746         * gst/gstregistryxml.c: (load_feature),
4747         (gst_registry_xml_read_cache):
4748           commit binary registry (disabled by default, see #359653)
4749
4750 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4751
4752         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
4753           Fix 'make check' too.
4754
4755 2007-01-10  Andy Wingo  <wingo@pobox.com>
4756
4757         * docs/design/part-negotiation.txt: Fix a typo, add a couple
4758         notes.
4759         
4760         * docs/design/part-negotiation.txt: Update with, um, one way that
4761         pull-mode negotiation might work?
4762
4763         * gst/gstpad.h: 
4764         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
4765         that the pad must be a src pad; makes sense to call it the other
4766         way in pull mode, and the logic is symmetric anyway.
4767
4768 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4769
4770         * plugins/elements/gstfilesink.c:
4771           Include <stdio.h> for fseeko().
4772
4773 2007-01-10  Wim Taymans  <wim@fluendo.com>
4774
4775         * gst/gstevent.c:
4776         * gst/gstevent.h:
4777         Reserve LATENCY event.
4778
4779 2007-01-09  Wim Taymans  <wim@fluendo.com>
4780
4781         * docs/design/draft-latency.txt:
4782         Updates.
4783
4784 2007-01-09  Wim Taymans  <wim@fluendo.com>
4785
4786         * docs/design/draft-latency.txt:
4787         Updates.
4788
4789         * gst/gstelement.h:
4790         * gst/gststructure.c:
4791         * gst/gsttrace.c:
4792         Small typo fixes.
4793
4794 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4795
4796         * tests/check/.cvsignore:
4797           Ignore test-registry.xml as well.
4798
4799 2007-01-09  Wim Taymans  <wim@fluendo.com>
4800
4801         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
4802         unref data at the end when we are done with the pad.
4803
4804 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4805
4806         * docs/gst/gstreamer-sections.txt:
4807         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
4808         (init_post), (gst_deinit), (gst_update_registry):
4809         * gst/gst.h:
4810           API: add gst_update_registry() (#391296).
4811
4812         * tests/check/Makefile.am:
4813         * tests/check/gst/gstregistry.c:
4814         * tests/check/gst/.cvsignore:
4815           Simple unit test for the above.
4816
4817 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4818
4819         * gst/gstregistry.c: (gst_registry_scan_path_level):
4820           Plugin extension on HP-UX is .sl, add that to the list of approved
4821           plugin extensions (see #393796).
4822
4823         * tests/check/gst/gstpad.c: (GST_START_TEST):
4824           ulong => gulong. Fixes compilation with HP-UX compiler.
4825
4826         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4827           Fix compilation if valgrind headers are not available.
4828
4829 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
4830
4831         * win32/common/libgstreamer.def: 
4832           Add new exported function.
4833         * win32/vs6/libgstbase.dsp: 
4834           Add gstdataqueue.c to the build.
4835         * win32/vs6/libgstcoreelements.dsp:
4836           Add gstmultiqueue.c to the build.
4837         
4838 2007-01-06  Andy Wingo  <wingo@pobox.com>
4839
4840         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
4841         activate_pull(), providing for a way to specialize the process of
4842         spawning a thread to pull on the sink pad. There is a default
4843         implementation.
4844
4845         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
4846         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
4847         (gst_base_sink_init): Renamed pad activation functions (inserting
4848         "_pad" in their names). Refactor to use the new activate_pull
4849         vmethod, as appropriate.
4850         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
4851         default activate_pull function to start a task pulling from the
4852         sink pad, as before.
4853
4854         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
4855         on the pads if necessary, as in push()/chain(). Update docs.
4856         Shouldn't affect existing pull() usage as it is currently only
4857         being used on buffers without caps.
4858
4859 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4860
4861         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4862         (init_pre):
4863           Call g_thread_init() first thing in gst_init() / gst_check_init().
4864           When initialisation is done via gst_init_get_option_group() and
4865           GOption parsing, issue a warning if the GLib thread system has not
4866           been initialised yet by the time gst_init_get_option_group() is
4867           called, as it's quite likely other GLib functions such as
4868           g_option_context_new() have been called already then, and
4869           g_thread_init() must be called before any other GLib function. The
4870           application in question must be fixed in that case, since memory
4871           corruption might happen otherwise.
4872           We issue the warning because even if the GLib folks decide to work
4873           around the problem on their end in future, this is still an issue
4874           with all GLib versions >= 2.10.0, so we should warn until we depend
4875           on a GLib version we know to be safe.
4876           Update documentation as well.
4877           Closes bug #391278.
4878
4879 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4880
4881         * tools/gst-inspect.c: (main):
4882         * tools/gst-launch.c: (main):
4883         * tools/gst-typefind.c: (main):
4884         * tools/gst-xmlinspect.c: (main):
4885           Call g_thread_init() really really early, before any other GLib
4886           function (see #342564 and recent discussion on gtk-devel-list).
4887
4888 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
4891
4892         * gst/gst_private.h:
4893         * gst/gstconfig.h.in:
4894         * gst/gstinfo.h:
4895           On win32, all the __declspec stuff for symbol exporting is
4896           apparently only needed with MSVC, but doesn't work with MingW.
4897           Fixes compilation with MingW and #391909.
4898
4899 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4900
4901         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
4902           Change some GST_ERROR_OBJECT that aren't really errors to
4903           GST_WARNING_OBJECT in order to reduce terminal spam.
4904
4905 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4906
4907         * tests/check/Makefile.am:
4908           disable test again, as there seem to be still race problems
4909
4910 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4911
4912         * tests/check/Makefile.am:
4913         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4914         (GST_START_TEST), (queue_suite):
4915           enable queue test again, add tests for the leaky behaviour
4916
4917 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
4918
4919         * configure.ac:
4920         * tests/examples/Makefile.am:
4921           Compile adapter test/example only if the required headers are
4922           available (fixes #391915).
4923
4924 2007-01-01  David Schleef  <ds@schleef.org>
4925
4926         * gst/gstplugin.c:
4927           Restore the previous signal handler for SIGSEGV instead of
4928           setting to default, since we may have stolen it away from
4929           someone.  (i.e., Mono)
4930
4931 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4932
4933         * docs/random/draft-missing-plugins.txt:
4934           Some small additions and clarifications.
4935
4936 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4937
4938         * gst/gstregistryxml.c: (gst_registry_save_escaped):
4939           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4940           since that can lead to random memory corruptions and crashes
4941           (may or may not be related to #383244, #386711, and #386711).
4942
4943 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4944
4945         * tests/check/.cvsignore:
4946         * tests/check/Makefile.am:
4947           sync .cvsignome and CLEANFILES
4948
4949 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4950
4951         * tests/check/Makefile.am:
4952           fix distcheck
4953
4954 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4955
4956         * docs/design/part-states.txt:
4957           two tiny additional comments
4958         
4959         * gst/gststructure.c:
4960           doc fixing
4961
4962         * tests/check/Makefile.am:
4963         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4964         (GST_START_TEST):
4965           disable test for now, unless it gets fixed
4966
4967 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4968
4969         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4970         (GST_START_TEST):
4971           fix race in underrun test
4972
4973 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4974
4975         * tests/check/elements/.cvsignore:
4976           ignore more
4977
4978         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4979         (GST_START_TEST):
4980           try to narrow test failure
4981
4982 2006-12-21  David Schleef  <ds@schleef.org>
4983
4984         * plugins/elements/gstfakesrc.c:
4985           Use g_random_int_range(), since it produces better random
4986           numbers in a range than almost-correct floating point code.
4987
4988 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4989
4990         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4991         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4992         (gst_check_teardown_sink_pad):
4993           do not automatically (de)activate pads
4994
4995         * tests/check/Makefile.am:
4996         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4997         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4998           add new, yet simple tests for queue
4999
5000         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
5001         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
5002         * tests/check/elements/filesrc.c: (cleanup_filesrc),
5003         (GST_START_TEST):
5004         * tests/check/elements/identity.c: (cleanup_identity):
5005           consistent pad (de)activation
5006
5007 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5008
5009         Patch by: Sebastian Dröge  <slomo ubuntu com>
5010
5011         * libs/gst/base/gstcollectpads.c:
5012           Fix two doc typos (#387866).
5013
5014 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5015
5016         * docs/manual/advanced-dparams.xml:
5017           Fix typo (g_object_control_properties() doesn't exist).
5018
5019 2006-12-19  Edward Hervey  <edward@fluendo.com>
5020
5021         * gst/gstsegment.c: (gst_segment_set_seek):
5022         Fine tune the cases where the segment start/stop values are really
5023         updated.
5024         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5025         Add tests for the return values of gst_segment_set_seek().
5026
5027 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5028
5029         * gst/gst.c:
5030           Docs typo fix.
5031
5032         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5033         (gst_queue_init):
5034           Fix incorrect documentation and flesh it out a bit more.
5035           Set default values for the max properties on the GParamSpec as well,
5036           so it shows up correctly in gst-inspect.
5037
5038 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
5039
5040         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5041           Correct docs of queue, add more detail and crosslink it more.
5042
5043 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5044
5045         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5046           Print additional debug info when the stream isn't perfectly
5047           timestamped; don't try to use invalid durations.
5048
5049 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5050
5051         * docs/design/Makefile.am:
5052           Dist new design docs.
5053
5054 2006-12-16  Wim Taymans  <wim@fluendo.com>
5055
5056         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5057
5058         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
5059         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5060         (gst_collect_pads_stop), (gst_collect_pads_event),
5061         (gst_collect_pads_chain):
5062         * libs/gst/base/gstcollectpads.h:
5063         Add refcounting to the collectpads data so we can track when it's safe
5064         to free the data. Fixes #383382.
5065
5066 2006-12-15  Wim Taymans  <wim@fluendo.com>
5067
5068         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5069         (gst_collect_pads_remove_pad):
5070         Automatically activate/deactivate pads when they are added to a
5071         started/stoped collectpads.
5072
5073 2006-12-15  Wim Taymans  <wim@fluendo.com>
5074
5075         * gst/gstelement.c: (gst_element_add_pad):
5076         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5077         * gst/gstpad.c: (gst_pad_init):
5078         Set pads to FLUSHING when they are created. Check, warn and fix when a
5079         demuxer adds an inactive pad to itself when running. Fixes #339326.
5080
5081 2006-12-15  Wim Taymans  <wim@fluendo.com>
5082
5083         * gst/gstelement.c: (gst_element_class_init),
5084         (gst_element_default_send_event), (gst_element_send_event),
5085         (gst_element_default_query), (gst_element_query):
5086         Expose default element send_event and query handling as vmethods that
5087         subclasses can chain up to.
5088
5089 2006-12-15  Wim Taymans  <wim@fluendo.com>
5090
5091         * gst/gstelement.c: (gst_element_set_state_func):
5092         Small documentation fixes.
5093
5094 2006-12-15  Wim Taymans  <wim@fluendo.com>
5095
5096         * docs/design/draft-latency.txt:
5097         Checked in draft for handling latency in pipelines.
5098
5099 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * Makefile.am:
5102         * gstreamer.doap:
5103         * gstreamer.spec.in:
5104           adding .doap file
5105
5106 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
5107
5108         * gst/gst.c: (init_pre), (init_post):
5109           init_pre() and init_post() might be called via our GOptionGroup or
5110           from gst_init(), and we should skip both of them if we've already
5111           been initialised, otherwise we will init some things twice or add
5112           two default log functions.
5113
5114 2006-12-13  Edward Hervey  <edward@fluendo.com>
5115
5116         * docs/manual/basics-bus.xml:
5117         No, gst_main_loop does not exist. Its g_main_loop.
5118         Discovered by somebody who abused the copy-paste technique of coding :)
5119
5120 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5121
5122         * gst/gstghostpad.c:
5123           Log ghostpad debug stuff to the GST_PADS category as well rather
5124           than just to the default category.
5125
5126 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5127
5128         * configure.ac:
5129         * gst/gst.c: (init_pre):
5130           Add some basic system details such as OS and architecture
5131           to the debug output if possible, courtesy of uname().
5132
5133 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5134
5135         * docs/gst/running.xml:
5136           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
5137           environment variables.
5138
5139 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5140
5141         * tests/check/gst/gstbin.c: (GST_START_TEST):
5142         It is acceptable to have a refcount of 2 or 3 at this point in the
5143         test, because the pipeline might be just posting its state_change
5144         message. The next line then waits for that message to appear using
5145         bus_poll, so that should be fine too.
5146
5147 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5148
5149         * gst/gst.c: (ensure_current_registry_forking):
5150         Ignore EINTR when reading from the child registry pipe.
5151         Explicitly ignore the return value from close, since it makes no
5152         difference.
5153
5154         * gst/gstminiobject.c: (gst_mini_object_ref),
5155         (gst_mini_object_unref):
5156         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
5157
5158         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
5159         When removing cached plugins, remove their features too, so they're
5160         not visible after they've disappeared.
5161
5162         * gst/gstutils.c: (prepare_link_maybe_ghosting):
5163         In the unlikely case that we are linking pads with no parents, don't
5164         crash trying to get the non-existent parent bin.
5165
5166         * gst/parse/grammar.y:
5167         Output debug in the PIPELINE category
5168
5169 2005-03-08  Wim Taymans  <wim@fluendo.com>
5170
5171         Patch by: René Stadler <mail at renestadler dot de>
5172
5173         * gst/gstclock.c: (gst_clock_new_periodic_id):
5174         Reject invalid clock times for interval of periodic ids.
5175         Fixes ##383506.
5176
5177 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5178
5179         * gst/gstelementfactory.c: (gst_element_factory_create):
5180         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5181         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5182         * tools/gst-inspect.c: (print_element_info):
5183         Fix refcounting of gst_plugin_feature_load to match the docs. 
5184         Fixes: #380129
5185
5186 2006-12-07  Wim Taymans  <wim@fluendo.com>
5187
5188         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5189         (gst_base_sink_get_position):
5190         Improve debugging of events.
5191
5192 2006-12-07  Wim Taymans  <wim@fluendo.com>
5193
5194         Patch by: René Stadler <mail at renestadler dot de>
5195
5196         * gst/gstclock.c: (gst_clock_id_wait):
5197         Make period ids add the interval to the origial requested time instead
5198         of the possibly updated time which can be wrong when there are multiple
5199         waiters for the same id. Fixes #382592.
5200
5201         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
5202         (gst_system_clock_id_wait_jitter_unlocked),
5203         (gst_system_clock_id_wait_jitter):
5204         Fix restart in the async notify thread when an async entry is added to
5205         the front of the list. Fixes #381492. 
5206
5207         * tests/check/gst/gstsystemclock.c: (store_callback),
5208         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
5209         Added test for multiple async waits.
5210         Added test for async wait order.
5211
5212 2006-12-07  Wim Taymans  <wim@fluendo.com>
5213
5214         * gst/gstbin.c: (gst_bin_query):
5215         Add some more docs about the POSITION query.
5216
5217 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5218
5219         * configure.ac:
5220         Bump version nano - back to CVS.
5221
5222 === release 0.10.11 ===
5223
5224 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
5225
5226         * configure.ac:
5227           releasing 0.10.11, "Love never runs on time"
5228
5229 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
5230
5231         * win32/common/libgstbase.def:
5232         * win32/common/libgstreamer.def:
5233         * win32/vs8/libgstbase.vcproj:
5234         * win32/vs8/libgstcoreelements.vcproj:
5235         * win32/vs8/libgstreamer.vcproj:
5236         Fix compilation on win32 under VS8
5237         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5238         Partially fixes #381175
5239
5240 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5241
5242         * gst/gstvalue.c: (gst_value_compare_fraction):
5243         If someone is foolish enough to compare 2 fractions with denominator =
5244         0, return UNORDERED rather than aborting.
5245
5246 2006-11-28  Edward Hervey  <edward@fluendo.com>
5247
5248         * libs/gst/base/Makefile.am:
5249         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5250         (gst_data_queue_base_init), (gst_data_queue_class_init),
5251         (gst_data_queue_init), (gst_data_queue_new),
5252         (gst_data_queue_cleanup), (gst_data_queue_finalize),
5253         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5254         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5255         (gst_data_queue_is_empty), (gst_data_queue_is_full),
5256         (gst_data_queue_set_flushing), (gst_data_queue_push),
5257         (gst_data_queue_pop), (gst_data_queue_drop_head),
5258         (gst_data_queue_set_property), (gst_data_queue_get_property):
5259         * libs/gst/base/gstdataqueue.h:
5260         New GstDataQueue object for threadsafe queueing. Most useful for
5261         elements that need some queueing functionnality.
5262         * docs/libs/gstreamer-libs-docs.sgml:
5263         * docs/libs/gstreamer-libs-sections.txt:
5264         Insert documentation for GstDataQueue
5265         * plugins/elements/Makefile.am:
5266         * plugins/elements/gstelements.c:
5267         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5268         (gst_multi_queue_class_init), (gst_multi_queue_init),
5269         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5270         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5271         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5272         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5273         (gst_multi_queue_loop), (gst_multi_queue_chain),
5274         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5275         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5276         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5277         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5278         (wake_up_next_non_linked), (compute_next_non_linked),
5279         (single_queue_overrun_cb), (single_queue_underrun_cb),
5280         (single_queue_check_full), (gst_single_queue_new):
5281         * plugins/elements/gstmultiqueue.h:
5282         New multiqueue element, using GstDataQueue. Used for queuing multiple
5283         streams.
5284         Closes #344639 and #347785
5285
5286 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
5287
5288         * docs/pwg/advanced-types.xml:
5289           add more missing type details
5290
5291         * tools/gst-run.c: (main):
5292           remove unused variable
5293
5294 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
5295
5296         * docs/libs/Makefile.am:
5297         * docs/libs/gstreamer-libs.types:
5298           add types of base classes to enable gobject specific stuff in the docs
5299
5300         * docs/random/ensonic/embedded.txt:
5301           more ideas about isolating platform specific things
5302
5303 2006-11-20  Wim Taymans  <wim@fluendo.com>
5304
5305         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5306
5307         * libs/gst/check/gstcheck.h:
5308         Fix compilation and running against 0.9.4. Fixes #377332.
5309
5310 2006-11-20  Wim Taymans  <wim@fluendo.com>
5311
5312         * gst/gstsegment.c: (gst_segment_set_seek),
5313         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5314         (gst_segment_to_running_time):
5315         Fix boundary checking in to_running_time() and to_stream_time().
5316         Fixes #377183.
5317
5318         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5319         stream and running time can now be calculated for the complete
5320         clipped segment.
5321
5322 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
5323
5324         * gst/gstpad.c: (gst_pad_push_event):
5325           Can't access event structure after giving away ownership of
5326           the event.
5327
5328 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
5329
5330         * docs/random/ensonic/embedded.txt:
5331         * docs/random/ensonic/profiling.txt:
5332         * docs/random/ensonic/receipies.txt:
5333           more thinking
5334
5335 2006-11-13  Wim Taymans  <wim@fluendo.com>
5336
5337         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5338
5339         * gst/gstpad.c:
5340         Fix documentation for gst_pad_dispatcher. Fixes #374475.
5341
5342 2006-11-13  Wim Taymans  <wim@fluendo.com>
5343
5344         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5345
5346         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5347         Store new length in segment duration so we don't keep on calling the
5348         potentially expensize get_size() call. Fixes #370865.
5349
5350 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
5351
5352         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
5353
5354         * win32/common/libgstreamer.def:
5355           Add two missing symbols (#366492).
5356
5357 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
5358
5359         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5360         (gst_adapter_take_buffer):
5361         Fix format string to use all its arguments.
5362         Remove useless >= check on a guint
5363
5364 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5365
5366         * tests/examples/adapter/.cvsignore:
5367         Ignore build file as commanded by the build-bot
5368
5369 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5370
5371         * tests/examples/adapter/Makefile.am:
5372         * tests/examples/adapter/adapter_test.c: (run_test_take),
5373         (run_test_take_buffer), (run_tests), (main):
5374
5375         Add new files from the previous commit
5376
5377 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5378
5379         * Makefile.am:
5380         * configure.ac:
5381         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5382         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5383         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5384         * libs/gst/base/gstadapter.h:
5385         * tests/check/libs/adapter.c: (create_and_fill_adapter),
5386         (GST_START_TEST), (gst_adapter_suite):
5387         * tests/examples/Makefile.am:
5388         Do some optimisation work in GstAdapter to avoid copies in more cases.
5389         It could still do slightly better by merging buffers when
5390         gst_buffer_is_span_fast is true, but is already faster. 
5391
5392         Also, avoid traversing a single-linked list to append each incoming 
5393         buffer inside the adapter.
5394
5395         Add simple test app that times the adapter behaviour in different
5396         situations, and extend the unit test to check that bytes enter and
5397         exit the adapter in their original order.
5398
5399 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5400
5401         * docs/random/draft-missing-plugins.txt:
5402           Update: use element message instead of adding a new message
5403           type to the core; don't provide GStreamer API to initiate the
5404           plugin download, just provide API to compose the strings needed
5405           and let an external libgimmestuff handle the rest.
5406
5407 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
5408
5409         * tools/gst-inspect.c: (print_element_properties_info):
5410         Print a string instead of 'unknown type' for GValueArray properties
5411
5412 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
5413
5414         * docs/random/draft-missing-plugins.txt:
5415         More small fixes.
5416
5417 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5418
5419         * tests/examples/typefind/typefind.c: (type_found), (main):
5420           Make typefind element example work again (#371894); add a
5421           license header.
5422
5423 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5424
5425         * docs/random/draft-missing-plugins.txt:
5426           Commit initial draft about how to deal with missing plugins,
5427           needs work (API too).
5428
5429 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
5430
5431         * docs/pwg/advanced-types.xml:
5432           documents the new caps elements (see #363118)
5433
5434 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5435
5436         * gst/gstplugin.c: (gst_plugin_load_file):
5437         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5438         (gst_file_src_map_region), (gst_file_src_start):
5439         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5440         (gst_file_index_commit):
5441           Use g_strerror() instead of strerror() - we want UTF-8.
5442
5443 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5444
5445         Patch by: Peter Kjellerstedt <pkj at axis com>
5446
5447         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5448           Another printf fix (#371493).
5449
5450 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5451
5452         * tests/check/gst/gsttag.c:
5453           relicence (okay with author=company)
5454
5455 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5456
5457         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5458         (gst_pad_push_event):
5459           Enhance debug and improve docs
5460         
5461         * gst/gsturi.c:
5462           Fix docs
5463
5464 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5465
5466         * docs/random/ensonic/distributed.txt:
5467         * docs/random/ensonic/profiling.txt:
5468           more ideas
5469
5470 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5471
5472         * docs/gst/gstreamer-sections.txt:
5473           add new API and fix the build
5474           
5475         * gst/gstbin.c: (gst_bin_recalc_state):
5476         * gst/gstelement.c: (gst_element_message_full),
5477         (gst_element_get_state_func), (gst_element_set_state_func):
5478           use new API and improve logging
5479         
5480         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5481         * gst/gstutils.h:
5482           API: add function to get StateChangereturn names to improve logs 
5483
5484 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5485
5486         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5487           I'm considering shooting the next person to put strerror stuff
5488           in the translateable part of the message.
5489
5490 2006-11-03  Wim Taymans  <wim@fluendo.com>
5491
5492         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5493         Get the type and printf conversion specifiers right.
5494
5495 2006-11-03  Wim Taymans  <wim@fluendo.com>
5496
5497         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5498
5499         * gst/gstpad.c: (gst_pad_init), (pre_activate),
5500         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5501         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5502         Some small cleanups. Improve debugging.
5503         * gst/gstpad.h:
5504         Signal all waiting threads with a broadcast instead of just one.
5505         Fixes #369942.
5506
5507 2006-11-03  Wim Taymans  <wim@fluendo.com>
5508
5509         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5510         (gst_fd_src_create):
5511         Add some debugging. 
5512         Only update fd when it's different from the old.
5513
5514 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5515
5516         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5517           Printf fixes for PPC/OSX, take two (#369366).
5518
5519 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5520
5521         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
5522
5523         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5524         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5525         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5526           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5527           don't cast to long long for portability reasons, but use
5528           GLib's types instead.
5529
5530 2006-10-30  Michael Smith  <msmith@fluendo.com>
5531
5532         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5533           Get the arguments to lseek() the right way around.
5534           Fixes 367677.
5535
5536 2006-10-30  Wim Taymans  <wim@fluendo.com>
5537
5538         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5539
5540         * gst/gstinfo.h:
5541         _declspec should be __declspec (two underscores, not one). Fixes 366572.
5542
5543 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5544
5545         Patch by: Kjartan Maraas  <kmaraas at gnome org>
5546
5547         * docs/design/part-MT-refcounting.txt:
5548         * docs/random/wtay/capsnego2-docs:
5549         * gst/gstclock.c:
5550         * gst/gstxml.c:
5551           Typo fixes (#366212).
5552
5553 2006-10-28  Wim Taymans  <wim@fluendo.com>
5554
5555         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5556
5557         * gst/gst.c:
5558         * win32/common/libgstbase.def:
5559         * win32/common/libgstreamer.def:
5560         * win32/vs8/libgstbase.vcproj:
5561         * win32/vs8/libgstcontroller.vcproj:
5562         Add needed entries in .def files.
5563         Use HAVE_UNISTD_H.
5564         Rearrange def files in vs8 solutions. Fixes #366286.
5565
5566 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5567
5568         * win32/common/gstconfig.h:
5569           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5570           hand-made win32 gstconfig.h. Fixes #366321.
5571
5572 2006-10-27  Wim Taymans  <wim@fluendo.com>
5573
5574         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5575         (gst_ghost_pad_new_full):
5576         Make acceptcaps return TRUE when we don't have a target, just like
5577         setcaps does.
5578
5579 2006-10-27  Wim Taymans  <wim@fluendo.com>
5580
5581         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5582         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5583
5584 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5585
5586         * gst/gststructure.c: (gst_structure_id_set_value):
5587           If someone tries to set a non-UTF8 string field on a structure,
5588           don't just print a warning, but also ignore the request and do
5589           not change/add that field to the structure.
5590
5591         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5592           Test for the above.
5593
5594 2006-10-25  David Schleef  <ds@schleef.org>
5595
5596         * gst/gstinfo.c:
5597           g_hash_table_insert() needs a cast to a non-const pointer duh.
5598
5599 2006-10-25  David Schleef  <ds@schleef.org>
5600
5601         * gst/gstinfo.c:
5602         * gst/gstinfo.h:
5603           Change name parameter of _gst_debug_register_funcptr to const
5604           to reflect the constness of its use in the function as well
5605           as to quiet a gcc warning.
5606
5607 2006-10-25  Edward Hervey  <edward@fluendo.com>
5608
5609         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5610         Don't push the buffer if it's empty.
5611         Closes #363095
5612
5613 2006-10-24  Wim Taymans  <wim@fluendo.com>
5614
5615         * gst/gstevent.h:
5616         Add small comment.
5617
5618         * libs/gst/base/gstbasetransform.c:
5619         (gst_base_transform_sink_eventfunc):
5620         Debug segment values *after* updating them as this is more
5621         interesting.
5622
5623 2006-10-23  Wim Taymans  <wim@fluendo.com>
5624
5625         * docs/design/part-events.txt:
5626         Update some docs.
5627
5628         * docs/design/part-block.txt:
5629         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5630         (gst_pad_push_event):
5631         Revert BLOCKING patch, it tries to be smart without really having a
5632         clear idea what or how. So, now we discard all FLUSHING events again on
5633         a blocking pad. Should fix gnonlin again.
5634
5635 2006-10-23  Wim Taymans  <wim@fluendo.com>
5636
5637         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5638
5639         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5640         (gst_base_src_start), (gst_base_src_activate_push):
5641         Make sure size is always initialized. Fixes #364388.
5642
5643 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
5644
5645         * docs/random/ensonic/distributed.txt:
5646           add some ideas about doing distributed processing
5647
5648         * docs/random/ensonic/profiling.txt:
5649           get_rusage look promising
5650
5651 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5652
5653         * docs/manual/basics-helloworld.xml:
5654           Add a cast in example to fix compile warning
5655
5656 2006-10-18  Wim Taymans  <wim@fluendo.com>
5657
5658         * gst/gstsegment.c: (gst_segment_set_last_stop),
5659         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5660         Relax arg checking again, -1 is allowed.
5661
5662 2006-10-18  Wim Taymans  <wim@fluendo.com>
5663
5664         * gst/gstsegment.c: (gst_segment_set_last_stop),
5665         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5666         _set_last_stop() must be with a value != -1
5667         A _TYPE_SET to -1 means seek to 0.
5668         Calc last_stop correctly for negative rates.
5669         Make sure we work with positive durations when updating a segment.
5670
5671 2006-10-18  Wim Taymans  <wim@fluendo.com>
5672
5673         * docs/design/part-live-source.txt:
5674         * gst/gstclock.h:
5675         Small docs fixes.
5676
5677 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
5678
5679         * gst/gstbuffer.h:
5680           Add an explicit cast to GstBuffer** to keep old code that added an
5681           explicit cast to GstMiniObject** for gst_mini_object_replace()
5682           compiling without warning.
5683
5684 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5685
5686         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5687           check for validity of dates
5688
5689 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5690
5691         * docs/gst/gstreamer-sections.txt:
5692           Forgot this one, makes gtk-doc shut up.
5693
5694 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         Patch by: Peter Kjellerstedt <pkj at axis com>
5697
5698         * gst/gstobject.h:
5699           Don't define xmlNodePtr to gpointer if the core was built with
5700           --disable-loadsave and --disable-registry, this will break
5701           applications that want to use libxml2 but are buildling against a
5702           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5703           instead so we don't have to mess with the libxml2 namespace
5704           (#361675).
5705
5706 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5707
5708         * gst/gstbuffer.h:
5709           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5710           type-punned pointer warnings.
5711
5712 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5713
5714         * gst/gstelement.h:
5715           Add casts to the correct return type to state <=> state transition
5716           macros.
5717
5718 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
5719
5720         * docs/design/part-live-source.txt:
5721           describe howto handle latency
5722         
5723         * docs/random/ensonic/profiling.txt:
5724           more ideas
5725
5726         * tools/gst-plot-timeline.py:
5727           fix log parsing for solaris, remove unused function
5728
5729 2006-10-16  Wim Taymans  <wim@fluendo.com>
5730
5731         * docs/design/part-trickmodes.txt:
5732         * gst/gstevent.c:
5733         Update some docs regarding reverse playback.
5734
5735 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5736
5737         Patch by: Marcus Granado  <mrc dot gran at gmail com>
5738
5739         * win32/vs8/grammar.vcproj:
5740           Error out with a warning if glib-genmarshal.exe is not in path,
5741           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
5742
5743 2006-10-13  Wim Taymans  <wim@fluendo.com>
5744
5745         * gst/gstsegment.c: (gst_segment_set_seek):
5746         When seeking to stop -1, set last_stop (current position) to the
5747         duration of the segment.
5748
5749 2006-10-13  Wim Taymans  <wim@fluendo.com>
5750
5751         * gst/gstelement.h:
5752         Clarify _NO_PREROLL a bit more.
5753
5754         * gst/gstevent.c:
5755         Fix docs.
5756
5757         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
5758         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
5759         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
5760         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
5761         due to wrong locking order. Fixes #361769.
5762         Remove some redundant/misplaced checks in pad_block.
5763
5764         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5765         For negative rates, count backwards from the duration.
5766
5767 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5768
5769         * gst/gsterror.c: (_gst_library_errors_init):
5770           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
5771           up with something better).
5772
5773 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5774
5775         * win32/vs6/libgstreamer.dsp:
5776         * win32/vs7/libgstreamer.vcproj:
5777         * win32/vs8/libgstreamer.vcproj:
5778           Don't reference glib-compat.c which is currently not used and not
5779           disted; add gstquark.c which was recently added. Fixes #361730.
5780
5781 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5782
5783         * win32/common/libgstbase.def:
5784         * win32/common/libgstcontroller.def:
5785         * win32/common/libgstreamer.def:
5786           Add gst_caps_merge() and a bunch of other recently-added functions.
5787           Fixes #361732.
5788
5789 2006-10-11  Wim Taymans  <wim@fluendo.com>
5790
5791         * docs/plugins/gstreamer-plugins.args:
5792         * docs/plugins/inspect/plugin-coreelements.xml:
5793         * docs/plugins/inspect/plugin-coreindexers.xml:
5794         Update element args.
5795
5796         * gst/gstsystemclock.c:
5797         Small comment update.
5798
5799         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5800         (gst_tee_request_new_pad), (gst_tee_release_pad),
5801         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
5802         (gst_tee_sink_activate_pull):
5803         * plugins/elements/gsttee.h:
5804         Some tee loving:
5805         Add default property defines.
5806         Implement release pad function.
5807         Give properties better blubs etc.
5808         Activate pads before adding them to a running tee.
5809         Do simple buffer_alloc on the first requested pad.
5810         Post error when activation fails.
5811
5812 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5813
5814         * gst/gst.c: (ensure_current_registry_forking):
5815           Check return value of write() to make compiler happy.
5816
5817 2006-10-11  Wim Taymans  <wim@fluendo.com>
5818
5819         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5820
5821         * plugins/elements/gstqueue.c: (gst_queue_chain):
5822         Recheck queue filledness after signalling the overrun when we're about
5823         to leak downstream because we released the lock when emitting the signal
5824         and the queue could be empty again. Fixes #352345.
5825
5826 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5827
5828         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5829           Fix refcounting here too, just like we did for _new_valist() a few
5830           days ago (#357180) (thanks to René Stadler). Also remove all those
5831           'Since: 0.9' from the gtk-doc blobs.
5832
5833         * tests/check/libs/controller.c: (controller_refcount_new_list),
5834         (gst_controller_suite):
5835           Unit test for the above.
5836
5837 2006-10-10  Wim Taymans  <wim@fluendo.com>
5838
5839         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
5840
5841         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5842         (gst_pad_save_thyself):
5843         Update some docs.
5844         Write pad direction in XML output. Fixes #345496.
5845
5846 2006-10-10  Wim Taymans  <wim@fluendo.com>
5847
5848         Patch by: René Stadler <mail at renestadler dot de>
5849
5850         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5851         (gst_controller_new_list), (_gst_controller_dispose),
5852         (_gst_controller_finalize), (_gst_controller_class_init):
5853         Take ref to controlled object so that it cannot disappear. 
5854         Fixes #357432.
5855
5856 2006-10-10  Wim Taymans  <wim@fluendo.com>
5857
5858         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5859         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5860         (gst_check_teardown_sink_pad):
5861         Activate/deactivate pads in setup/teardown respectively.
5862
5863 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5864
5865         Patch by: Josep Torre Valles <josep@fluendo.com>
5866
5867         * gst/Makefile.am:
5868         Cast values when making gstenumtypes.h.  This pacifies Forte
5869         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
5870         in the enumeration.
5871
5872 2006-10-09  Wim Taymans  <wim@fluendo.com>
5873
5874         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
5875         Rename some more @cur to @start to fix docs. 
5876
5877         * gst/gstsegment.c: (gst_segment_set_seek):
5878         Fix typo.
5879         time and start must always stay in sync as defined in design doc.
5880
5881         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5882         Rename param to fix docs.
5883
5884         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5885         Check that start and time are in sync.
5886
5887         * tests/check/pipelines/parse-launch.c:
5888         (gst_parse_test_element_change_state):
5889         Activate pad before adding to the element.
5890
5891 2006-10-09  Wim Taymans  <wim@fluendo.com>
5892
5893         * docs/design/part-qos.txt:
5894         Fix typo.
5895
5896         * gst/gstevent.c:
5897         * gst/gstevent.h:
5898         Update seek event docs regarding negative rates.
5899         Rename @cur to @start. 
5900
5901         * gst/gstsegment.c: (gst_segment_set_seek):
5902         * gst/gstsegment.h:
5903         Update set_seek docs regarding negative rates.
5904         Correctly update last_stop to @stop when dealing with negative
5905         rates.
5906         Rename @cur to @start. 
5907
5908         * tests/check/gst/gstpad.c: (GST_START_TEST):
5909         Activate pads before trying to use them.
5910
5911         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5912         (gst_segment_suite):
5913         Add simple check for segments and negative rates.
5914
5915 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5916
5917         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5918         * gst/gsttaglist.h:
5919         * docs/gst/gstreamer-sections.txt:
5920           API: add gst_tag_list_is_empty() (#360467).
5921
5922         * tests/check/gst/gsttag.c: (GST_START_TEST):
5923           And a test case.
5924
5925 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5926
5927         * gst/gstmessage.h:
5928         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
5929         a value that doesn't fit on enumeration.
5930
5931 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5932
5933         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5934         Remove local debugging system and use Gstreamer's instead.
5935
5936 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5937
5938         Patch by: Josep Torre Valles <josep@fluendo.com>
5939
5940         * common/m4/gst-error.m4:
5941         Disable warning of statement not reached on Forte.
5942         * gst/gstmessage.h:
5943         Fix warning on Forte (value doesn't fit on enumeration).
5944         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5945         Fix warning on Forte (value doesn't fit on enumeration).
5946         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5947         DEBUG macro says it takes minimum of 2 args and so Forte
5948         complains about the use with just 1 arg.
5949         * plugins/elements/gstfdsink.c:
5950         * plugins/elements/gstfdsrc.c:
5951         * plugins/elements/gstfilesink.c:
5952         * plugins/elements/gstfilesrc.c:
5953         Use correct return type for the uri handler implementations.
5954
5955         All these fix warnings in Forte.  Fixes bug #360860.
5956
5957 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5958
5959         * gst/gstelement.h:
5960           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5961           format string, so don't use G_GNUC_PRINTF for those versions.
5962
5963 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5964
5965         * gst/gsttaglist.c: (gst_is_tag_list):
5966         * gst/gsttaglist.h:
5967           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5968
5969         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5970           Small test for the above.
5971
5972 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5973
5974         * gst/gsttaglist.h:
5975           Less tabs, more spaces.
5976
5977 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
5978
5979         * gst/gstinfo.h:
5980           Those two function declarations do actually belong there, revert
5981           commit from yesterday that turned them intro macros.
5982
5983 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5984
5985         Patch by: Josep Torre Valles <josep@fluendo.com>
5986
5987         * gst/gst.c: (gst_init_get_option_group):
5988         Fix empty declaration and type mismatch.
5989         * gst/gstbin.c: (gst_bin_change_state_func):
5990         Fix type mismatch.
5991         * gst/gstelement.c: (gst_element_continue_state),
5992         (gst_element_set_state_func), (gst_element_change_state),
5993         (gst_element_change_state_func):
5994         Fix type mismatches.
5995         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5996         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5997         Cast as appropriate.
5998         * gst/gstobject.c: (gst_class_signal_connect):
5999         Cast as appropriate.  The function pointer parameter really
6000         has the wrong type but would break API if we change it.
6001         * gst/gstquery.c:
6002         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
6003         order of including string.h.
6004         * gst/gstutils.c: (gst_element_state_get_name):
6005         Remove unreachable line.
6006         * gst/gstxml.c: (gst_xml_parse_doc):
6007         Fix type mismatch.
6008         All these caught by Forte.
6009
6010 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6011
6012         Patch by: Josep Torre Valles <josep@fluendo.com>
6013
6014         * common/m4/gst-error.m4:
6015         Fixed bug #360151.
6016         We need to disable warnings on Forte for empty declarations
6017         due to gst-indent adding ;s to lines that just use macros
6018         where the macro actually doesn't need a ; at end to end
6019         statement.
6020
6021 2006-10-06  Wim Taymans  <wim@fluendo.com>
6022
6023         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6024         (gst_file_sink_close_file), (gst_file_sink_event),
6025         (gst_file_sink_render):
6026         Add some FIXME for the NEWSEGMENT handling.
6027
6028 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6029
6030         * gst/parse/grammar.y:
6031         Remove static function gst_parse_element_lock as all it does
6032         is return.  Looks like cruft from 0.8.
6033
6034 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6035
6036         Patch by: Josep Torre Valles <josep@fluendo.com>
6037
6038         * common/m4/gst-error.m4:
6039         * configure.ac:
6040         * libs/gst/net/Makefile.am:
6041         Fix a compilation issue with Forte on Solaris.  inet_aton is in
6042         libresolv.
6043
6044 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6045
6046         * gst/gstpad.c: (pre_activate):
6047         * gst/gstregistry.c: (gst_registry_scan_path_level):
6048         * gst/gstregistryxml.c: (load_plugin):
6049         * libs/gst/controller/gstcontroller.c:
6050         (gst_controlled_property_set_interpolation_mode):
6051         * libs/gst/dataprotocol/dataprotocol.c:
6052         (gst_dp_packet_from_event_1_0):
6053         * libs/gst/net/gstnetclientclock.c:
6054         (gst_net_client_clock_observe_times):
6055         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6056           Printf fixes.
6057
6058 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6059
6060         * configure.ac:
6061         * docs/gst/gstreamer-sections.txt:
6062         * gst/gstconfig.h.in:
6063         * gst/gstelement.h:
6064         * gst/gstinfo.h:
6065           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
6066           whether we can use G_GNUC_PRINTF in other header files and at
6067           least check the printf format/arguments of debug messages and
6068           GST_ELEMENT_ERROR messages when the printf extension is not
6069           being used.
6070           Replace more tabs with spaces in gstinfo.h and remove two spurious
6071           function declarations in GST_DISABLE_DEBUG part with macros.
6072
6073 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6074
6075         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
6076           More docs for the sync-message signal (mention that it is not
6077           emitted by default); log message structures of messages posted on
6078           the bus as well.
6079
6080 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
6081
6082         * gst/gst.c: (ensure_current_registry_forking):
6083         Use a pipe pair to receive status results from the forked child, and
6084         ignore the result from waitpid. Fixes #355499
6085
6086 2006-10-02  Wim Taymans  <wim@fluendo.com>
6087
6088         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6089         (gst_ghost_pad_suite):
6090         Fix leak in check.
6091
6092 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * gst/gstpad.c:
6095           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
6096
6097 2006-10-02  Edward Hervey  <edward@fluendo.com>
6098
6099         * docs/design/part-block.txt:
6100         Further explain the use of flushing on blocked pads.
6101         * docs/gst/gstreamer-sections.txt:
6102         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6103         (gst_pad_push_event):
6104         * gst/gstpad.h:
6105         Added new GstPadFlag : GST_PAD_BLOCKING.
6106         Adds the notion of pads really blocking, which enables to properly
6107         handle FLUSH_START/FLUSH_STOP events on blocked pads.
6108         Fixes #358999
6109         API: gst_pad_is_blocking()
6110         API: GST_PAD_IS_BLOCKING() macro
6111         API: GST_PAD_BLOCKING GstPadFlag
6112         
6113 2006-10-02  Wim Taymans  <wim@fluendo.com>
6114
6115         Patch by: mrcgran <mrc.gran at gmail dot com>
6116
6117         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
6118         Filter the proxied caps against the padtemplate if we have one.
6119
6120         * gst/gstquery.c: (gst_query_new_segment):
6121         Add include for gstinfo.h so that compilation with
6122         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
6123
6124 2006-10-02  Wim Taymans  <wim@fluendo.com>
6125
6126         Patch by: Alessandro Decina  <alessandro at nnva org>
6127
6128         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
6129         (gst_file_sink_set_location), (gst_file_sink_open_file),
6130         (gst_file_sink_close_file), (gst_file_sink_event),
6131         (gst_file_sink_render):
6132         Set file to NULL when closing filesink so that we can set a new filename
6133         in READY. Fixes #358613.
6134
6135 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6136
6137         Patch by: Alessandro Decina  <alessandro at nnva org>
6138
6139         * gst/gstevent.c: (_gst_event_copy):
6140           Fix gst_mini_object_make_writable() and gst_event_copy() for events
6141           with event structures by setting the parent refcount address of the
6142           copied structure to the address of the refcount member of the newly
6143           copied event rather than the address of the refcount member of the
6144           original event. Fixes #358737.
6145
6146         * tests/check/gst/gstevent.c: (GST_START_TEST):
6147           Unit test for the above.
6148
6149 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
6150
6151         * docs/design/Makefile.am:
6152           Dist some more files.
6153
6154 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6155
6156         * tests/check/libs/controller.c: (GST_START_TEST),
6157         (gst_controller_suite):
6158           Add test for the previous fix; add some more tests
6159           for correct refcounting behaviour; fix a few leaks
6160           in test cases; call gst_controller_init() at start
6161           of all tests.
6162
6163 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6164
6165         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6166         (gst_controller_set_from_list):
6167           Don't g_return_val_if_fail() on timed values with invalid timestamps
6168           inside a critical section without unlocking the mutex. Spotted by
6169           René Stadler. (#357617)
6170           Also, fix up refcounting properly: when returning an existing
6171           controller, we should increase the reference only once and not
6172           once per property and when trying to control a property again
6173           we should also increase the refcount.
6174
6175 2006-09-29  Wim Taymans  <wim@fluendo.com>
6176
6177         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6178         * libs/gst/net/gstnettimeprovider.c:
6179         (gst_net_time_provider_thread):
6180         Stop reading commands when EOF as well.
6181
6182         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6183         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6184         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6185         Unify description of the dump property.
6186
6187 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6188
6189         * tests/examples/manual/.cvsignore:
6190         OK, so it's actually cvsignore that needs changing. Stop laughing.
6191
6192 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6193
6194         * tests/examples/manual/Makefile.am:
6195         Gah, declare vars *before* using them
6196
6197 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6198
6199         * gst/gst.c: (init_pre), (scan_and_update_registry),
6200         (ensure_current_registry_nonforking),
6201         (ensure_current_registry_forking), (ensure_current_registry),
6202         (init_post), (gst_debug_help), (gst_deinit):
6203         * gst/gst_private.h:
6204         * gst/gstregistry.c: (gst_registry_finalize),
6205         (gst_registry_remove_features_for_plugin_unlocked),
6206         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6207         (gst_registry_scan_path),
6208         (_priv_gst_registry_remove_cache_plugins),
6209         (_priv_gst_registry_cleanup):
6210         * gst/gstregistry.h:
6211         Re-commit the registry changes, along with an extra fix:
6212           When a cached plugin is encountered at a different file path,
6213           update the stored path in the registry cache so that the parent
6214           process knows where it actually is now when it re-reads the registry
6215           cache. Fixes the thing that broke distcheck with the previous commit.
6216
6217         * tests/check/Makefile.am:
6218         Clean up files named 'core' too when running make clean.
6219
6220         * tests/examples/manual/Makefile.am:
6221         Set up a registry path for running these tests, and clean it properly
6222         for distcheck.
6223
6224 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6225
6226         * configure.ac:
6227         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6228         want gmodule-no-export-2.0.pc instead so that we don't drag in
6229         --export-dynamic on every project that links to GStreamer.
6230
6231         Also, make our export regex only match the start of symbols, rather 
6232         than any symbol that contains '_gst' somewhere.
6233
6234         * libs/gst/check/Makefile.am:
6235         The libgstcheck we build does however need export-dynamic, as it
6236         produces some symbols that don't match our _gst... style regex.
6237         Fixes: #318031
6238
6239 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6240
6241         * gst/gst.c: (init_pre), (scan_and_update_registry),
6242         (ensure_current_registry_nonforking),
6243         (ensure_current_registry_forking), (ensure_current_registry),
6244         (init_post), (gst_debug_help), (gst_deinit):
6245         * gst/gst_private.h:
6246         * gst/gstregistry.c: (gst_registry_finalize),
6247         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6248         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6249         (_gst_registry_cleanup):
6250         * gst/gstregistry.h:
6251           Revert previous change until I figure out why it breaks distcheck.
6252
6253 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6254
6255         * gst/gst.c: (init_pre), (scan_and_update_registry),
6256         (ensure_current_registry_nonforking),
6257         (ensure_current_registry_forking), (ensure_current_registry),
6258         (init_post), (gst_debug_help), (gst_deinit):
6259
6260           Make init_pre and init_post take the full complement of GOptionFunc
6261           args so they can return useful GErrors. Make the registry updating
6262           functions do so.
6263
6264           Call _priv_gst_registry_remove_cache_plugins after scanning files to
6265           ensure that the registry we're about to write out doesn't contain
6266           stale information about old-deleted plugin files.
6267
6268           Make _priv_gst_registry_remove_cache_plugins return a boolean so
6269           that deletion of plugin files is considered a registry change.
6270
6271         * gst/gst_private.h:
6272         * gst/gstregistry.c: (gst_registry_finalize),
6273         (gst_registry_remove_features_for_plugin_unlocked),
6274         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6275         (gst_registry_scan_path),
6276         (_priv_gst_registry_remove_cache_plugins),
6277         (_priv_gst_registry_cleanup):
6278         * gst/gstregistry.h:
6279         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6280         by adding _priv prefix, so that they won't appear in the global
6281         symbol table. They still do atm though because of #318031. Move the
6282         prototypes to gst_private.h
6283
6284         When removing a plugin, remove all features for that plugin too. 
6285         Fixes #340878.
6286
6287 2006-09-27  Wim Taymans  <wim@fluendo.com>
6288
6289         * docs/random/moving-plugins:
6290         Make it clear that the "compiled-in descriptions" really mean
6291         the element details.
6292
6293         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6294         (gst_base_sink_wait_preroll):
6295         Update docs.
6296
6297         * docs/libs/gstreamer-libs-sections.txt:
6298         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6299         (gst_base_src_get_range), (gst_base_src_activate_push):
6300         * libs/gst/base/gstbasesrc.h:
6301         Added function to block while waiting for PLAYING, this function
6302         is used by live sources that block on the clock.
6303         API: gst_base_src_wait_playing()
6304
6305 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6306
6307         Patch by: Peter Kjellerstedt <pkj at axis com>
6308
6309         * Makefile.am:
6310           gst-element-check.m4 is generated and should therefore be
6311           copied from the build dir rather than the source dir (#357593).
6312           'make distcheck' hasn't noticed this because we were disting
6313           the file as well, so stop doing that.
6314
6315 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6316
6317         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6318           Add some tests for gst_caps_intersect().
6319
6320         * tools/gst-launch.c: (event_loop):
6321           Print all buffering percentages we get, even the 100% one.
6322
6323 2006-09-26  Wim Taymans  <wim@fluendo.com>
6324
6325         * tools/gst-inspect.c: (print_element_properties_info),
6326         (print_signal_info):
6327         Fix printing of flags to match the look of enums.
6328
6329 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6330
6331         * gst/gstelementfactory.c:
6332           Fix typo in docs blurb.
6333
6334 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6335
6336         * gst/gsturi.c: (search_by_entry):
6337           Don't assert/crash here if a uri handler doesn't return any
6338           supported protocols. The list of protocols could be generated
6339           dynamically at runtime or at plugin registration, and an error
6340           in the underlying library shouldn't be fatal (#353301).
6341
6342 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6343
6344         * gst/gstinfo.c:
6345           Fix warning if HAVE_PRINTF_EXTENSION is undefined
6346           (spotted by Peter Kjellerstedt).
6347
6348 2006-09-23  Wim Taymans  <wim@fluendo.com>
6349
6350         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6351
6352         * libs/gst/base/gstbasesrc.c:
6353         (gst_base_src_default_check_get_range), (gst_base_src_start),
6354         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6355         (gst_base_src_change_state):
6356         Match _start/_stop calls in the activate functions. Remove redundant
6357         _stop call from the state change function. Fixes #356910.
6358         Turn failure DEBUG into ERROR. 
6359
6360 2006-09-22  Wim Taymans  <wim@fluendo.com>
6361
6362         * docs/design/part-buffering.txt:
6363         * gst/gstmessage.c: (gst_message_new_buffering),
6364         (gst_message_parse_buffering):
6365         Update docs about buffering.
6366
6367         * docs/design/part-trickmodes.txt:
6368         Fix typo.
6369
6370 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
6371
6372         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6373         (gst_controller_new_list):
6374           Ref instances when returning them again (fixes #357180)
6375
6376 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6377
6378         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6379           Don't forget to release proxy lock when there's an error.
6380
6381 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
6382
6383         * gst/gstcaps.h:
6384           Add extra initialisers for Caps things, to fix some plugin warnings
6385           when using -Wextra
6386
6387 2006-09-18  Wim Taymans  <wim@fluendo.com>
6388
6389         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6390           Also set template on the internal pad so that a getcaps from the 
6391           target pad returns the template caps.
6392
6393 2006-09-18  Wim Taymans  <wim@fluendo.com>
6394
6395         * gst/gstelement.c: (gst_element_post_message),
6396         (gst_element_dispose):
6397         Use _DEBUG_OBJECT some more.
6398
6399         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6400         Avoid typechecks.
6401
6402         * tools/gst-launch.c: (main):
6403         If the toplevel element is not a GstPipeline, it must be put in a
6404         pipeline so that a bus and clock is selected.
6405
6406 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6407
6408         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6409           JITTER, RATE, and LATENCY query should be handled by the
6410           default case and not by the CONVERT query code.
6411
6412 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * gst/gstformat.c: (gst_format_register):
6415           Fix locking order (must take lock before using n_values).
6416
6417         * gst/gstvalue.c: (gst_value_serialize_enum),
6418         (gst_value_deserialize_enum_iter_cmp),
6419         (gst_value_deserialize_enum):
6420           Fix serialisation/deserialisation of custom registered GstFormats.
6421
6422         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6423           Unit test for custom format serialisation/deserialisation.
6424
6425 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
6426
6427         * docs/pwg/building-boiler.xml:
6428         * plugins/elements/gstcapsfilter.c:
6429         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6430         section.
6431
6432 2006-09-16  Edward Hervey  <edward@fluendo.com>
6433
6434         * libs/gst/base/gstbasetransform.c:
6435         (gst_base_transform_buffer_alloc):
6436         Check if requested caps are the same as the sinks caps IF
6437         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6438         is FALSE.
6439         This fixes the renegotiation issues stated in #352827.
6440
6441 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6442
6443         * configure.ac:
6444         * docs/manual/advanced-autoplugging.xml:
6445         * tests/examples/Makefile.am:
6446         * tests/examples/manual/.cvsignore:
6447         * tests/examples/manual/Makefile.am:
6448         * tests/examples/manual/extract.pl:
6449           Extract the manual examples again like we used to do.
6450           Fix one of them.
6451
6452 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * win32/common/config.h:
6455           update for version
6456
6457 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
6458
6459         * gst/gsterror.c:
6460           Documents how to receive errors.
6461
6462 2006-09-15  Wim Taymans  <wim@fluendo.com>
6463
6464         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6465         (event_loop), (main):
6466         Added some comments here and there.
6467         Post an application message when an interrupt is caught instead of doing
6468         an uncontrolled state change.
6469         Clean up the event loop.
6470         Handle buffering messages, pause/resume the pipeline.
6471         Make shutdown because of an interrupt more reliable.
6472
6473 2006-09-15  Wim Taymans  <wim@fluendo.com>
6474
6475         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6476         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6477         (gst_base_sink_preroll_object):
6478         Make sure that our internal state is correct when we commit our state
6479         asynchronously. This solves a race where a state change to PLAYING
6480         could cause the sink to remain blocked in preroll in some situations.
6481
6482 2006-09-15  Wim Taymans  <wim@fluendo.com>
6483
6484         * tools/gst-inspect.c: (print_element_properties_info),
6485         (print_signal_info):
6486         List flags as hex so it's easier to deal with.
6487
6488 2006-09-15  Wim Taymans  <wim@fluendo.com>
6489
6490         * docs/libs/gstreamer-libs-sections.txt:
6491         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6492         (gst_base_sink_do_sync):
6493         * libs/gst/base/gstbasesink.h:
6494         Expose logic to wait for preroll so that subclasses such as audiosink
6495         can also use this method.
6496         API: gst_base_sink_wait_preroll()
6497
6498 2006-09-15  Wim Taymans  <wim@fluendo.com>
6499
6500         * gst/gstobject.c: (gst_object_set_parent):
6501         * gst/gstpipeline.c: (do_pipeline_seek):
6502         Small cleanups in docs and code.
6503
6504         * gst/gstsegment.c: (gst_segment_clip):
6505         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6506         if stop == start and start is in the segment, no clipping should be
6507         done. Also add a test for this.
6508
6509 2006-09-15  Wim Taymans  <wim@fluendo.com>
6510
6511         * docs/design/part-buffering.txt:
6512         * docs/gst/gstreamer-sections.txt:
6513         * gst/gstmessage.c: (gst_message_new_buffering),
6514         (gst_message_parse_buffering):
6515         * gst/gstmessage.h:
6516         Added methods to create and parse BUFFERING messages.
6517         Added preliminary docs about buffering.
6518         API: gst_message_new_buffering
6519         API: gst_message_parse_buffering
6520
6521 2006-09-06  Wim Taymans  <wim@fluendo.com>
6522
6523         * gst/gstbin.c:
6524         Update documentation.
6525
6526         * gst/gstelement.c: (gst_element_class_init),
6527         (gst_element_release_request_pad), (gst_element_set_clock),
6528         (gst_element_get_index), (gst_element_add_pad),
6529         (gst_element_remove_pad), (gst_element_get_random_pad),
6530         (gst_element_send_event), (gst_element_get_query_types),
6531         (gst_element_query), (gst_element_post_message),
6532         (gst_element_message_full), (gst_element_continue_state),
6533         (gst_element_lost_state), (gst_element_save_thyself),
6534         (gst_element_restore_thyself):
6535         Documentation updates.
6536         Rename last bit of the new-pad -> pad-added signal rename.
6537         Fix the case where an element query would only work if the source
6538         pad was linked.
6539         Avoid some useless type checking in message handling.
6540
6541         * gst/gstevent.c:
6542         * gst/gstevent.h:
6543         * gst/gstutils.c:
6544         Documentation updates.
6545
6546 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6547
6548         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6549           add an INFO line for when we actually update the fd
6550
6551 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6552
6553         * configure.ac:
6554           back to TRUNK
6555
6556 === release 0.10.10 ===
6557
6558 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
6559
6560         * configure.ac:
6561           releasing 0.10.10, "Pais"
6562
6563 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
6564
6565         * docs/manual/advanced-position.xml:
6566           Fix typo in sample code.
6567
6568 2006-09-05  Wim Taymans  <wim@fluendo.com>
6569
6570         * libs/gst/net/gstnetclientclock.c: (inet_aton),
6571         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6572         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6573         * libs/gst/net/gstnetclientclock.h:
6574         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6575         * libs/gst/net/gstnettimepacket.h:
6576         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6577         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6578         (gst_net_time_provider_thread), (gst_net_time_provider_new):
6579         * libs/gst/net/gstnettimeprovider.h:
6580         Make stuff compile on windows. Fixes #345295.
6581
6582 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6583
6584         * gst/gst.c: (ensure_current_registry_forking):
6585           Print better details when child was terminated by signal.
6586
6587 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6588
6589         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6590           Print a warning rather than g_assert() if a plugin feature
6591           is a URI handler but returns no protocols (#353976).
6592
6593 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
6594
6595         * docs/random/moving-plugins:
6596         Fix two typos.         
6597
6598 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6599
6600         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6601           Fix locking order, handle NULL function values properly.
6602
6603         * gst/gstinfo.h:
6604           Fix docs.
6605
6606         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6607           Initialise variable before using it and fix debug statement to
6608           print the address of the function rather than the address of the
6609           variable on the stack holding the address of the function.
6610
6611 2006-09-01  Wim Taymans  <wim@fluendo.com>
6612
6613         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6614         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6615         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6616         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6617         (gst_ghost_pad_parent_unset),
6618         (gst_ghost_pad_internal_do_activate_push),
6619         (gst_ghost_pad_internal_do_activate_pull),
6620         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6621         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6622         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6623         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6624         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6625         (gst_ghost_pad_new_no_target_from_template),
6626         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6627         More cleanups.
6628         Avoid needless typechecking in macros.
6629         Since the internal pad is always present and never changes, there is
6630         no need to locking or ref when retrieving it.
6631         Improve debugging a bit.
6632         Handle link errors when setting the target. Fixes #341029.
6633
6634 2006-09-01  Wim Taymans  <wim@fluendo.com>
6635
6636         * docs/libs/gstreamer-libs-sections.txt:
6637         * docs/plugins/gstreamer-plugins-sections.txt:
6638         Fix docs some more.
6639
6640         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6641         (gst_collect_pads_event):
6642         * libs/gst/base/gstcollectpads.h:
6643         Documentation updates.
6644         Free queued buffer when removing a pad.
6645
6646 2006-08-31  Michael Smith  <msmith@fluendo.com>
6647
6648         * gst/gstutils.c: (gst_element_link_pads),
6649         (gst_element_link_pads_filtered):
6650           Ensure that we set a capsfilter to NULL if we failed to link it
6651           when doing filtered linking, to avoid criticals.
6652
6653           No need to check for unreffing srcpad, which is explicly NULLed
6654           above (a trivial code cleanup).
6655
6656 2006-08-31  Wim Taymans  <wim@fluendo.com>
6657
6658         * docs/design/part-gstghostpad.txt:
6659         Update ascii art in documentation.
6660
6661         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6662         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6663         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6664         (gst_ghost_pad_internal_do_activate_push),
6665         (gst_ghost_pad_internal_do_activate_pull),
6666         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6667         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6668         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6669         (gst_ghost_pad_set_target):
6670         Small cleanups and leak fixes.
6671         Remove some checks now that the internal pad is never NULL.
6672         Fix the case where linking pads without a target would create nasty
6673         criticals. Fixes #341029.
6674         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6675         value of _set_target().
6676
6677         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6678         (gst_ghost_pad_suite):
6679         Some more tests for creating and linking untargeted ghostpads.
6680
6681 2006-08-31  Edward Hervey  <edward@fluendo.com>
6682
6683         * docs/gst/gstreamer-sections.txt:
6684         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6685         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6686         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6687         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6688         (gst_ghost_pad_new_from_template),
6689         (gst_ghost_pad_new_no_target_from_template):
6690         * gst/gstghostpad.h:
6691         Refactored *_new() functions.
6692         Templates are now used as a g_object_new() parameter.
6693         Use template in _do_getcaps() if we don't have a target.
6694         Small documentation cleanups.
6695         Added two new constructors:
6696         gst_ghost_pad_new_from_template()
6697         gst_ghost_pad_new_no_target_from_template()
6698         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6699         (gst_ghost_pad_suite):
6700         Added tests for new ghostpad instanciation functions.
6701
6702         API additions: gst_ghost_pad_new_from_template,
6703         gst_ghost_pad_new_no_target_from_template
6704
6705 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
6706
6707         * docs/random/ensonic/profiling.txt:
6708           Ideas about qos profiling.
6709
6710 2006-08-29  Wim Taymans  <wim@fluendo.com>
6711
6712         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
6713         Code cleanups.
6714         Fix memleak.
6715
6716 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
6717
6718         * gst/gstxml.c:
6719           Improve and detypofy docs.
6720
6721         * tests/check/Makefile.am:
6722         * tests/check/gst/.cvsignore:
6723         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
6724           Add a basic test suite for GstXML.
6725
6726 2006-08-29  Wim Taymans  <wim@fluendo.com>
6727
6728         * gst/gstelement.c: (activate_pads), (clear_caps),
6729         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6730         Clear the pad caps when the element shut down all of the pads and
6731         is not streaming data that could modify the caps. 
6732         Fixes #352958.
6733
6734 2006-08-28  Michael Smith  <msmith@fluendo.com>
6735
6736         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6737           Revert previous change; I misunderstood single-segment mode.
6738
6739 2006-08-28  Michael Smith  <msmith@fluendo.com>
6740
6741         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6742           Unset DISCONT on buffers when using single-segment mode.
6743
6744 2006-08-28  Wim Taymans  <wim@fluendo.com>
6745
6746         * gst/gstcaps.c: (gst_caps_merge_structure):
6747         * gst/gstcaps.h:
6748         Fix docs and indentation again.
6749
6750         * tests/check/gst/gstquery.c: (GST_START_TEST):
6751         Fix leak in tests and add some more tests.
6752
6753 2006-08-28  Edward Hervey  <edward@fluendo.com>
6754
6755         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6756         Inform GstSegment of the last stop position in order for the current
6757         segment to have a proper duration if it doesn't have a specific stop
6758         position from which a duration could be calculated.
6759         This bug was noticeable when a non-flushing, non-update new segment was
6760         followed by another segment (all buffers from the new segment were being
6761         dropped).
6762
6763 2006-08-28  Wim Taymans  <wim@fluendo.com>
6764
6765         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6766         Small comment update.
6767
6768         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6769         (gst_identity_transform_ip):
6770         Drop-probability is broken, mention this in the code with a 
6771         FIXME and also in the property description.
6772         Make silent also be silent about the drop messages.
6773
6774 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
6775
6776         * docs/manual/appendix-win32.xml:
6777           Remove mention of popt, we don't depend on that any
6778           longer (#353136). Add some comments pointing out that
6779           this section is slightly outdated.
6780
6781 2006-08-28  Wim Taymans  <wim@fluendo.com>
6782
6783         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6784
6785         * gst/gstquery.c: (gst_query_new_segment):
6786         * tests/check/gst/gstquery.c: (GST_START_TEST):
6787         Initialize variables when creating a new segment query.
6788         Fixes #353121.
6789
6790 2006-08-28  Wim Taymans  <wim@fluendo.com>
6791
6792         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6793
6794         * gst/gstelement.c: (gst_element_get_bus):
6795         * tests/check/gst/gstelement.c: (GST_START_TEST):
6796         Check for NULL before _reffing the bus. Fixes #353122.
6797
6798 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
6799
6800         * docs/manual/basics-bus.xml:
6801           Docs update: fix wrong callback return value explanation; add
6802           some lines about the implicit relationship between main loop
6803           and main context; remove duplicate main loop variable declaration.
6804
6805 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
6806
6807         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6808           Don't leak caps in unit test; add a few more simple
6809           checks. 
6810
6811 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
6812
6813         * docs/gst/gstreamer-sections.txt:
6814         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
6815         (gst_caps_structure_is_subset), (gst_caps_merge),
6816         (gst_caps_merge_structure):
6817         * gst/gstcaps.h:
6818         * libs/gst/base/gstbasetransform.c:
6819         (gst_base_transform_transform_caps):
6820         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6821           implement caps merging (fixes #352580)
6822
6823 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
6824
6825         * tools/Makefile.am:
6826         * tools/gst-plot-timeline.py:
6827           add debug-log plotting developer tool (#340674)
6828
6829 2006-08-23  Wim Taymans  <wim@fluendo.com>
6830
6831         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
6832         (gst_pad_stop_task):
6833         Improve debugging for task functions.
6834
6835         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
6836         (gst_task_start), (gst_task_pause), (gst_task_join):
6837         Make sure that the task function started and finished after a 
6838         join(). 
6839         Don't try to push the task function on the threadpool multiple
6840         times.
6841         Improve the g_warning message with some useful suggestions
6842         about how to fix the problem. 
6843
6844 2006-08-23  Wim Taymans  <wim@fluendo.com>
6845
6846         * gst/gstutils.c: (gst_pad_proxy_getcaps):
6847         Handle RESYNC correctly in _proxy_getcaps.
6848
6849 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
6850
6851         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
6852         (gst_xml_parse_memory), (gst_xml_get_element):
6853           Chain up to parent class in dispose function and also
6854           unref the elements in the toplevel_elements GList.
6855           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
6856           Always return a reference in gst_xml_get_element() rather
6857           than only sometimes.
6858
6859         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6860           Don't leak GstXml object.
6861
6862 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
6863
6864         * docs/gst/gstreamer-sections.txt:
6865         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
6866         (gst_caps_merge):
6867         * gst/gstcaps.h:
6868         * libs/gst/base/gstbasetransform.c:
6869         (gst_base_transform_transform_caps):
6870           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
6871           in a better way
6872
6873 2006-08-21  Edward Hervey  <edward@fluendo.com>
6874
6875         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
6876         Implement GObject::dispose virtual method in GstXML so we can free the
6877         top_elements GList.
6878
6879 2006-08-21  Wim Taymans  <wim@fluendo.com>
6880
6881         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
6882         (gst_buffer_create_sub):
6883         Copy duration/offset_end/caps when creating a subbuffer of the
6884         complete parent.
6885         Make the subbuffer read-only when we make the metadata writable for
6886         now. Fixes #351768.
6887
6888         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6889         Added check for metadata copy when creating subbuffers.
6890
6891 2006-08-21  Edward Hervey  <edward@fluendo.com>
6892
6893         * libs/gst/base/gstbasetransform.c:
6894         (gst_base_transform_buffer_alloc):
6895         Only call downstream buffer_alloc if transform element is passthrough
6896         or always_in_place. Closes #350449.
6897
6898 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6899
6900         * ChangeLog:
6901           ChangeLog surgery to add comments to previous changes
6902
6903 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6904
6905         * gst/gst.c:
6906           Add comments
6907
6908         * gst/gstpad.c: (gst_pad_set_active):
6909           Be more verbose in the log
6910
6911         * libs/gst/base/gstbasetransform.c:
6912         (gst_base_transform_transform_caps):
6913           Simplify caps to get rid of duplicates, fixes #345444
6914
6915 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6916
6917         * gst/gstvalue.c:
6918         * gst/gstvalue.h:
6919           Use these optimizations only internally.
6920
6921 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6922
6923         * gst/gstvalue.c: (gst_value_compare_list),
6924         (gst_value_compare_fraction_range),
6925         (gst_value_intersect_fraction_fraction_range),
6926         (gst_value_intersect_fraction_range_fraction_range),
6927         (gst_value_subtract_fraction_fraction_range),
6928         (gst_value_subtract_fraction_range_fraction_range),
6929         (gst_value_get_compare_func), (gst_value_compare),
6930         (gst_value_compare_with_func):
6931         * gst/gstvalue.h:
6932           Saves the expensive lookup of the compare function in many cases
6933          (#345444)
6934
6935 2006-08-18  Edward Hervey  <edward@fluendo.com>
6936
6937         * tests/check/gst/gstinfo.c: (gst_info_suite):
6938         Disable test that require gstdebug if it wasn't built in core.
6939
6940 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6941
6942         * docs/random/ensonic/logging.txt:
6943           update ideas
6944           
6945         * gst/gstinfo.c: (gst_debug_log_default):
6946           reorder fields, save some columns, add optional color codes for log
6947           levels
6948
6949 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6950
6951         * docs/random/ensonic/logging.txt:
6952           add ideas about making the logs a bit more useful
6953
6954 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6955
6956         * docs/pwg/advanced-events.xml:
6957         * docs/pwg/titlepage.xml:
6958           Update for 0.10 API (#340627). Add myself
6959           to authors list.
6960
6961 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6962
6963         * docs/libs/gstreamer-libs-docs.sgml:
6964         * docs/libs/gstreamer-libs-sections.txt:
6965         * libs/gst/check/gstbufferstraw.c:
6966           Make gstcheck stuff show up in docs (still needs to
6967           be documented properly though).
6968
6969 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
6970
6971         * docs/gst/gstreamer-sections.txt:
6972         * gst/Makefile.am:
6973         * gst/gst.c: (init_post):
6974         * gst/gst_private.h:
6975         * gst/gstquark.c: (_priv_gst_quarks_initialize):
6976         * gst/gstquark.h:
6977         * gst/gstquery.c: (gst_query_new_position),
6978         (gst_query_set_position), (gst_query_parse_position),
6979         (gst_query_new_duration), (gst_query_set_duration),
6980         (gst_query_parse_duration), (gst_query_new_convert),
6981         (gst_query_set_convert), (gst_query_parse_convert),
6982         (gst_query_new_segment), (gst_query_set_segment),
6983         (gst_query_parse_segment), (gst_query_new_seeking),
6984         (gst_query_set_seeking), (gst_query_parse_seeking):
6985         Add internal helpers for pre-registering quarks from static strings
6986         and using the quark values directly instead of looking them up when
6987         creating and parsing queries. Can be used for event construction too.
6988         Closes #350432.
6989
6990 2006-08-16  Wim Taymans  <wim@fluendo.com>
6991
6992         * gst/gstbin.c:
6993         Fix bogus docs.
6994
6995 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6996
6997         * gst/gstutils.c: (gst_util_set_value_from_string):
6998           Fix memleak (#351502).
6999
7000         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7001           Add unit test for most of gst_util_set_value_from_string()
7002           (not that one would want to encourage use of this function).
7003
7004 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7005
7006         * libs/gst/check/gstcheck.h:
7007           Use const gchar * variables in fail_unless_equals_string
7008           macro to avoid compiler warnings (and don't use tabs for
7009           indenting).
7010
7011 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7012
7013         * tools/gst-launch.c: (print_tag):
7014           More space on the left for the tag names, to cater
7015           for the 'extended comment' tag (not touching the
7016           string for the first line since it's translated).
7017
7018 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7019
7020         * libs/gst/check/gstcheck.h:
7021           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
7022           print something when they fail.
7023
7024 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7025
7026         * docs/gst/gstreamer-sections.txt:
7027         * gst/gsttaglist.c: (_gst_tag_initialize):
7028         * gst/gsttaglist.h:
7029           API: add GST_TAG_EXTENDED_COMMENT (#350935).
7030           Also change merge function for GST_TAG_COMMENT to
7031           use_first.
7032
7033 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7034
7035         * gst/gstinfo.c: (gst_debug_print_object):
7036           Make GST_PTR_FORMAT print messages as well.
7037
7038         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
7039         (GST_START_TEST), (gst_info_suite):
7040           More tests.
7041
7042 2006-08-14  Edward Hervey  <edward@fluendo.com>
7043
7044         * gst/gstelementfactory.c: (gst_element_register):
7045         If the GstElementClass doesn't have a GstElementDetails with all fields
7046         filled up correctly (longname, description AND author), then error out
7047         nicely instead of crashing.
7048
7049 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7050
7051         * gst/gststructure.c:
7052           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
7053
7054         * gst/gstvalue.h:
7055           Expand on the difference between arrays and lists as we use them.
7056           
7057 2006-08-14  Wim Taymans  <wim@fluendo.com>
7058
7059         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
7060         If the parent state change function failed, don't assume we can safely
7061         stop the source, this will be done when the pads are deactivated.
7062
7063 2006-08-14  Wim Taymans  <wim@fluendo.com>
7064
7065         * gst/gstbuffer.c:
7066         * gst/gsttask.c: (gst_task_join):
7067         Small doc updates.
7068
7069         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7070         (gst_pad_stop_task):
7071         When pad (de)activation failed for some reason, restore the old
7072         activation mode and set the pad to flushing instead of assuming the
7073         pad is deactivated.
7074         If the _task_join() failed, reinstall the task on the pad so that it can
7075         be stopped later and return an error.
7076
7077 2006-08-11  Andy Wingo  <wingo@pobox.com>
7078
7079         * configure.ac:
7080         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7081         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
7082         is only for users of API that don't want to see deprecated
7083         functions in the headers; people that want to compile out
7084         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
7085         CFLAGS. Fixes the build of multifdsink, or will soon..
7086
7087 2006-08-11  Wim Taymans  <wim@fluendo.com>
7088
7089         * docs/gst/gstreamer-sections.txt:
7090         Add GstClockClass vmethod docs.
7091
7092         * gst/gstcaps.h:
7093         Mark #endif with comment for associated #if
7094
7095         * gst/gstclock.c: (gst_clock_id_wait):
7096         * gst/gstclock.h:
7097         Add vmethod wait_jitter to avoid an unneeded _get_time() for
7098         most clock implementations.
7099         Document vmethods.
7100         Flesh out docs about resolution methods.
7101         API: GstClockClass::wait_jitter
7102
7103         * gst/gstsystemclock.c: (gst_system_clock_class_init),
7104         (gst_system_clock_async_thread),
7105         (gst_system_clock_id_wait_jitter_unlocked),
7106         (gst_system_clock_id_wait_jitter):
7107         Use base class wait_jitter variant for improved performance
7108         due to less clock polling.
7109
7110 2006-08-11  Edward Hervey  <edward@fluendo.com>
7111
7112         * gst/gst.c: (gst_init_check), (init_post):
7113         Set gst as being initialized before scanning/updating the registry,
7114         since there might be my python plugin loader that calls gst_init() and
7115         we don't want to loop back in.
7116         Closes #350879
7117
7118 2006-08-11  Wim Taymans  <wim@fluendo.com>
7119
7120         * docs/design/part-qos.txt:
7121         Bring docs in line with the code. Mostly the sign of the jitter was
7122         wrong in the docs. Fixes #349943.
7123
7124         * gst/gstclock.c:
7125         Fix the docs for the jitter.
7126
7127         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
7128         (gst_event_parse_tag), (gst_event_new_buffer_size),
7129         (gst_event_parse_buffer_size), (gst_event_parse_qos),
7130         (gst_event_new_seek), (gst_event_parse_seek),
7131         (gst_event_new_navigation):
7132         Make sure the GstStructure has no parent when creating custom
7133         events.
7134         Add some more argument checking so that we avoid 0.0 rates.
7135         Flesh out the docs for the QoS event some more.
7136
7137 2006-08-11  Wim Taymans  <wim@fluendo.com>
7138
7139         * docs/gst/gstreamer-sections.txt:
7140         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7141         (ensure_current_registry_forking), (ensure_current_registry),
7142         (parse_one_option), (parse_goption_arg), (gst_deinit),
7143         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
7144         * gst/gst.h:
7145         Doc updates.
7146         Added API and command line option to disable registry forking in
7147         addition to the environment variable.
7148         Constify some static arrays.
7149         Added some more debug.
7150         Don't deinit twice.
7151         API: gst_registry_fork_is_enabled()
7152         API: gst_registry_fork_set_enabled()
7153         API: --gst-disable-registry-fork command line option
7154         Fixes #348918.
7155
7156 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
7157
7158         * gst/gst.c: (gst_init):
7159           Fix typo in error message.
7160
7161 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7162
7163         * libs/gst/controller/gstcontroller.h:
7164           fix ABI size-correction
7165
7166         * tests/check/libs/gdp.c: (gst_dp_suite):
7167           make tests that use deprecated API conditional
7168
7169 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7170
7171         * docs/libs/gstreamer-libs-sections.txt:
7172         * libs/gst/controller/gstcontroller.c:
7173         (_gst_controller_get_property), (_gst_controller_set_property),
7174         (_gst_controller_init), (_gst_controller_class_init):
7175         * libs/gst/controller/gstcontroller.h:
7176         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
7177         (gst_object_set_control_rate):
7178           API: add gst_object_{s,g}et_control_rate(), add private data section,
7179           fix docs
7180
7181         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7182         * libs/gst/dataprotocol/dataprotocol.h:
7183           add deprecation guards to make gtk-doc happy and allow disabling cruft
7184
7185 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7186
7187         * tests/check/Makefile.am:
7188         * tests/check/gst/.cvsignore:
7189           Let's enable the new unit test as well.
7190
7191 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7192
7193         * configure.ac:
7194         * docs/gst/gstreamer-sections.txt:
7195         * gst/gstconfig.h.in:
7196         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
7197         (_gst_info_printf_extension_ptr),
7198         (_gst_info_printf_extension_segment):
7199           API: add GST_SEGMENT_FORMAT, which is a printf extension we
7200           register that lets us easily dump GstSegments into debug
7201           logs (#350419).
7202
7203         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
7204         (info_segment_format_printf_extension), (gst_info_suite):
7205           Add simple unit test that logs a bunch of different segments (not
7206           valgrinded at the moment because of leaks in
7207           gst_debug_add_log_function).
7208
7209 2006-08-09  Edward Hervey  <edward@fluendo.com>
7210
7211         * libs/gst/base/gstbasetransform.c:
7212         (gst_base_transform_buffer_alloc):
7213         Even if we can't figure out the proper format to request downstream,
7214         call buffer_alloc() downstream with the input parameters without setting
7215         the caps on the srcpad. This will force negotiation in the chain
7216         function.
7217         Closes #350449
7218
7219 2006-08-08  Edward Hervey  <edward@fluendo.com>
7220
7221         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7222         Unlinking from a pad without a target is now a perfectly valid case
7223         which should NOT raise an assertion.
7224         This case would happen if a linked ghostpad its target set to NULL after
7225         it was previously linked.
7226
7227 2006-08-08  Edward Hervey  <edward@fluendo.com>
7228
7229         * tests/check/libs/gdp.c:
7230         Also comment out the test (see below).
7231
7232 2006-08-08  Edward Hervey  <edward@fluendo.com>
7233
7234         * tests/check/libs/gdp.c: (gst_dp_suite):
7235         Use the architecture information from config.h and not gcc macros
7236         in order to properly disable a test that fails on PPC64.
7237
7238 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
7239
7240         * gst/gstelement.c: (gst_element_remove_pad):
7241           Don't crash printing the warning if the pad has no parent.
7242
7243 2006-08-02  Wim Taymans  <wim@fluendo.com>
7244
7245         * libs/gst/dataprotocol/dataprotocol.c:
7246         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7247         (gst_dp_crc), (gst_dp_header_payload_length),
7248         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7249         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7250         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7251         (gst_dp_event_from_packet), (gst_dp_validate_header),
7252         (gst_dp_validate_payload):
7253         Make debug category static
7254         Constify the crc table.
7255         Do some more arg checking in public functions.
7256         Fix some docs and do some small cleanups.
7257
7258         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7259         Add some more checks to see if GDP deals with bogus input.
7260
7261 2006-07-31  Wim Taymans  <wim@fluendo.com>
7262
7263         * gst/gstvalue.c: (gst_value_compare_list):
7264         Fix GstValueList comparison code. Fixes #347293.
7265
7266         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7267         Check to test GstValueList comparison.
7268
7269 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7270
7271         * gst/gstelementfactory.c: (gst_element_factory_create):
7272         Remove unnecessary ref/unref pair
7273
7274         * gst/parse/grammar.y:
7275         Make sure to free the parse buffer on all code paths.
7276         Move a g_free up to the error handler where it's easier to see.
7277
7278         * tests/check/gst/gstevent.c: (test_event):
7279         Extending timeout for downstream travelling events to 10 seconds to
7280         hopefully avoid intermittent failure on the buildbots.
7281
7282         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7283         Don't manually set the state of the src element - it will happen as a
7284         natural consequence of the pipeline changing state, and that way it
7285         will do it in the right order too.
7286
7287 2006-07-31  Wim Taymans  <wim@fluendo.com>
7288
7289         * libs/gst/base/gstbasetransform.c:
7290         (gst_base_transform_buffer_alloc):
7291         Use OBJECT_LOCK and refcounting to get the pad caps in the
7292         buffer_alloc function because the caps could change while we are
7293         busy with them. Fixes #349105
7294
7295 2006-07-31  Wim Taymans  <wim@fluendo.com>
7296
7297         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7298         Protect _PAD_CAPS with OBJECT_LOCK.
7299
7300 2006-07-31  Wim Taymans  <wim@fluendo.com>
7301
7302         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7303         (gst_pad_get_property), (gst_pad_activate_pull),
7304         (gst_pad_activate_push), (gst_pad_set_blocked_async),
7305         (gst_pad_set_activate_function),
7306         (gst_pad_set_activatepull_function),
7307         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7308         (gst_pad_set_getrange_function),
7309         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7310         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7311         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7312         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7313         (gst_pad_set_acceptcaps_function),
7314         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7315         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7316         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7317         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7318         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7319         (gst_pad_configure_sink), (gst_pad_configure_src),
7320         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7321         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7322         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7323         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7324         (gst_pad_send_event):
7325         Use _DEBUG_OBJECT when it makes sense.
7326         Protect GST_PAD_CAPS with the OBJECT_LOCK.
7327         Small cleanups and code reflows.
7328         Avoid caps refcounting in _accept_caps.
7329         Refactor alloc_buffer so that the code performed on the peer is in a
7330         separate function. Also if the pad does not implement a buffer alloc
7331         function, we should still check if the pad is flushing before falling
7332         back to the default allocator.
7333
7334 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7335
7336         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7337         Make all uses of identity and fakesink have silent=true to avoid
7338         serialising every passing data structure, which is breaking tests
7339         on FC4 for some unknown reason.
7340
7341 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7342
7343         * gst/parse/Makefile.am:
7344         * gst/parse/grammar.y:
7345         * gst/parse/parse.l:
7346           Reverted previous patch as it required to bump the flex dependency to
7347           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7348
7349 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7350
7351         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7352
7353         * gst/parse/Makefile.am:
7354         * gst/parse/grammar.y:
7355         * gst/parse/parse.l:
7356           push & pop the state of the lexer for reentrant use case
7357           Fixes #349180
7358
7359 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
7360
7361         * libs/gst/base/gstbasesrc.h:
7362           Note in the docs that the ::newsegment vfunc is not actually used by
7363           GstBaseSrc.
7364
7365 2006-07-28  Wim Taymans  <wim@fluendo.com>
7366
7367         * libs/gst/base/gstcollectpads.c:
7368         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7369         (gst_collect_pads_clear), (gst_collect_pads_flush),
7370         (gst_collect_pads_event), (gst_collect_pads_chain):
7371         When flushing a pad, also clear the queued buffer so that we don't
7372         accidentally use it when we shouldn't.
7373         Fix leaks by inreffing incomming buffer.
7374         Flush out queued buffers in case of errors.
7375         Fixes #347452.
7376
7377 2006-07-28  Wim Taymans  <wim@fluendo.com>
7378
7379         * docs/random/phonon-gst:
7380         Random notes about a Phonon backend.
7381
7382 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7383
7384         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7385         Extra debug output
7386         * tests/check/libs/gdp.c: (gst_dp_suite):
7387         Take a whack at fixing the ppc compile using a different define to
7388         disable the broken test.
7389
7390         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7391         Remove excess g_print()
7392
7393 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7394
7395         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7396         Oops, meant to uncomment this line too to dampen the noise a bit.
7397
7398 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7399
7400         * gst/parse/grammar.y:
7401         * gst/parse/parse.l:
7402         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7403         (GST_START_TEST), (parse_suite):
7404         Fix some of the leaks exposed by extending the parse-launch testsuite,
7405         and move the 3 I can't figure out into a separate test that won't run
7406         the pipelines unless the appropriate line is uncommented.
7407
7408 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7409
7410         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7411           Requesting 0 bytes before the end of the file should result in
7412           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7413           unit test.
7414
7415 2006-07-27  Wim Taymans  <wim@fluendo.com>
7416
7417         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7418         Fix useless assert, a uint is always positive.
7419
7420         * gst/gststructure.c: (gst_structure_nth_field_name),
7421         (gst_structure_foreach), (gst_structure_map_in_place):
7422         Check input arguments for public functions to avoid obvious crashes.
7423
7424         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7425         * plugins/elements/gstfakesink.h:
7426         Do less useless typechecking.
7427
7428 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7429
7430         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7431           Do not use mmap() by default since there are a number of error
7432           conditions that we would like to handle in a non-fatal way that
7433           will result in a SIGBUS if we use mmap(). Examples: external
7434           devices (USB harddrive, portable music player) being unplugged
7435           while in use; file on mounted CD/DVD that can't be read because
7436           the medium is partly damaged. Fixes #348455 and #348475.
7437
7438 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7439
7440         * gst/gstquery.h:
7441         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7442         rates are a gdouble
7443
7444 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
7445
7446         * gst/gstregistry.c:
7447           Move big documentation comment into class section header, so that it
7448           appears in the API docs.
7449
7450 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7451
7452         * docs/gst/gstreamer-sections.txt:
7453         Oops. Commit the docs additions too for new API.
7454         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7455
7456 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7457
7458         * gst/gststructure.c: (gst_structure_id_set),
7459         (gst_structure_id_set_valist):
7460         * gst/gststructure.h:
7461         Add API for setting values into structures without performing
7462         a quark lookup, if the appropriate quark is already known.
7463
7464         API: gst_structure_id_set
7465         API: gst_structure_id_set_valist
7466
7467         * gst/parse/grammar.y:
7468         * gst/parse/parse.l:
7469         Remove some dead code shown by the coverage information.
7470         Don't throw a critical g_warning when encountering a syntax error,
7471         just warn and let the normal error path handle it.
7472
7473         * plugins/elements/gstelements.c:
7474         Bump the rank of filesink up to PRIMARY so that it is preferred over
7475         gnomevfssink for file:// sink uri's
7476
7477         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7478         (GST_START_TEST), (run_delayed_test),
7479         (gst_parse_test_element_base_init),
7480         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7481         (gst_parse_test_element_change_state),
7482         (gst_register_parse_element), (parse_suite):
7483         Beef up the tests for parse syntax to check that more error cases
7484         fail as they are supposed to. Increases the test coverage a bit.
7485
7486 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7487
7488         * docs/manual/basics-elements.xml:
7489           Fix gst_element_link() example.
7490
7491         * gst/gstutils.c:
7492           Mention in API docs that one should usually gst_bin_add()
7493           elements to a bin or pipeline before doing the linking.
7494           
7495 2006-07-26  Wim Taymans  <wim@fluendo.com>
7496
7497         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7498         (gst_subbuffer_get_type), (gst_buffer_create_sub):
7499         Avoid function call for known types by keeping the buffer and
7500         subbuffer GType global.
7501
7502         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7503         Random silly optimisations in read() path.
7504
7505 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7506
7507         * tools/gst-launch.c: (main):
7508           If the top-level of the parse is a normal bin, it doesn't do the
7509           right logic to run as a top-level element, so place it inside a
7510           pipeline.
7511
7512 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7513
7514         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7515           Remove superfluous g_object_notify() calls, GObject does
7516           that for us automatically.
7517
7518 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
7519
7520         * gst/gstinfo.h:
7521           on Win32, use dllspec to export the debug category symbols
7522
7523 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
7524
7525         * gst/gsttaglist.c: (_gst_tag_initialize):
7526           Allow more than one GST_TAG_IMAGE per taglist.
7527
7528 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7529
7530         * gst/gstminiobject.c:
7531           update docs
7532         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7533         (gst_fd_src_create):
7534           log recurring events at LOG level
7535           add more debug for when the fd gets set
7536
7537 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7538
7539         * gst/gstparse.c: (gst_parse_launch):
7540           Also remove reentrance checks if flex is MT safe (#348179)
7541          Fix my empty ChangeLog entry below
7542
7543 2006-07-21  Andy Wingo  <wingo@pobox.com>
7544
7545         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7546
7547         * libs/gst/check/Makefile.am
7548         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7549         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
7550         * libs/gst/check/gstbufferstraw.h:
7551         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7552         functions, thus proving I am still a GStreamer haxor. OK I wrote
7553         them a long time ago, but anyways.
7554
7555 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7556
7557         * configure.ac:
7558         * gst/gstparse.c: (gst_parse_launch):
7559           Check for flex version and omit mutex if we have a MT save flex
7560           (fixes #348179)
7561
7562 2006-07-21  Wim Taymans  <wim@fluendo.com>
7563
7564         * gst/gstparse.c: (gst_parse_launch):
7565         Protect recursive calls to _parse with a recursive mutex
7566         and busy flag.
7567
7568 2006-07-21  Wim Taymans  <wim@fluendo.com>
7569
7570         * tests/check/gst/gstpad.c: (GST_START_TEST):
7571         Fix leak in test.
7572
7573 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
7574
7575         * gst/gstparse.c: (gst_parse_launch):
7576           Do not hang on recursive usage of gst_parse_launch()
7577
7578 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7579
7580         * gst/gsttaglist.c:
7581           Add some more docs, comments and FIXME 0.11s here and there
7582           and also fix some typos.
7583
7584 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7585
7586         * gst/gstsegment.h:
7587           Convert tabs to spaces for better readability. 
7588
7589 2006-07-20  Edward Hervey  <edward@fluendo.com>
7590
7591         * tests/check/libs/gdp.c: (gst_dp_suite):
7592         the test_buffer test fails at line 140 on ppc64 at the following
7593         check:
7594         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7595                 GST_BUFFER_FLAG_IN_CAPS),
7596                 "GST_BUFFER_IN_CAPS flag should have been copied !");
7597         See bug #348114 for more details.
7598
7599 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
7600
7601         * docs/pwg/advanced-scheduling.xml:
7602         * gst/gstpad.c:
7603           Fix typos (#348000).
7604
7605 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
7606
7607         * docs/pwg/intro-basics.xml:
7608           Fix wrong links (#347927).
7609
7610 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
7611
7612         * gst/gstregistry.h:
7613         * gst/gstregistryxml.c: (load_feature),
7614         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7615         * win32/common/config.h:
7616           make --disable-index work (#342564)
7617
7618 2006-07-18  Wim Taymans  <wim@fluendo.com>
7619
7620         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7621
7622         * gst/Makefile.am:
7623         * gst/gsttrace.h:
7624         The attached patch adds two missing defines to gsttrace.h when tracing
7625         is disabled.  It also corrects one existing define.
7626         Fixes #347756.
7627
7628 2006-07-17  Wim Taymans  <wim@fluendo.com>
7629
7630         * docs/gst/gstreamer-sections.txt:
7631         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7632         * gst/gst.h:
7633         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7634         Add two functions to check and change the SIGSEGV behaviour
7635         when loading plugins.
7636         Don't mess with the SIGSEGV handler when we were told not to.
7637         Fixes #347794.
7638         API: gst_segtrap_is_enabled
7639         API: gst_segtrap_set_enabled
7640
7641 2006-07-14  Wim Taymans  <wim@fluendo.com>
7642
7643         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7644         * tests/check/elements/filesrc.c: (GST_START_TEST):
7645         Revert fix for regression in #347408 after release.
7646
7647 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
7648
7649         Patch by: Antoine Tremblay <hexa00 at gmail com>
7650
7651         * gst/gstutils.c: (gst_element_unlink):
7652           Free iterator when done (#347311).
7653
7654         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7655           And add a test case for this.
7656
7657 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
7658
7659         * configure.ac:
7660         Bump nano back to CVS
7661
7662 === release 0.10.9 ===
7663
7664 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
7665
7666         * configure.ac:
7667           releasing 0.10.9, "On the road again"
7668
7669 2006-07-13  Wim Taymans  <wim@fluendo.com>
7670
7671         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7672         * tests/check/elements/filesrc.c: (GST_START_TEST):
7673         Revert pull-0 fix for release. Disable check. Fixes #347408.
7674
7675 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7676
7677         * libs/gst/dataprotocol/dataprotocol.c:
7678         (gst_dp_event_from_packet_1_0):
7679           Fixes #347337: failure to deserialize event packets with
7680           empty payload (only event type)
7681
7682 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7683
7684         * gst/Makefile.am:
7685           do not install a .c file in the header directory
7686
7687 2006-07-13  Edward Hervey  <edward@fluendo.com>
7688
7689         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7690         GhostPad no longer implicitely use the padtemplates of the targets.
7691         Fixes #347384
7692
7693 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
7694
7695         * gst/gstvalue.c: (gst_value_compare_list),
7696         (gst_value_compare_array), (_gst_value_initialize):
7697         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7698         Make GstValueArray comparison be order dependent as designed.
7699         Add checks for value lists and value array comparisons.
7700         Fixes #347221
7701
7702 2006-07-11  Edward Hervey  <edward@fluendo.com>
7703
7704         * gst/gstbin.c: (activate_pads),
7705         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7706         (gst_bin_change_state_func):
7707         (de)activate src pads before calling state_change on the childs.
7708         This is to avoid the case where a src ghostpad is blocked (holding the
7709         stream lock), which would block the deactivation of the ghostpad's
7710         target pad.
7711         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
7712         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
7713         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
7714         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7715         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7716         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7717         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7718         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
7719         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
7720         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7721         (gst_ghost_pad_class_init),
7722         (gst_ghost_pad_internal_do_activate_push),
7723         (gst_ghost_pad_internal_do_activate_pull),
7724         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7725         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7726         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
7727         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
7728         GhostPads now create their internal GstProxyPad at creation (and not
7729         when they're linked, as it was being done previously).
7730         The internal and target pads are linked straight away.
7731         The data will also travel through the other pad in order to make
7732         pad blocking and probes non-hackish (the probe/block now really happens
7733         on the GhostPad and not on the target).
7734         * gst/gstpad.c: (gst_pad_set_blocked_async),
7735         (gst_pad_link_prepare), (gst_pad_push_event):
7736         Remove previous ghostpad cruft.
7737         * gst/gstutils.c: (gst_pad_add_data_probe),
7738         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7739         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7740         (gst_pad_remove_buffer_probe):
7741         Remove previous ghost pad cruft.
7742         Added more detailed debug statements.
7743         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7744         Fix the testsuite for refcounting changes.
7745         The comments about who has references were correct, but the refcount
7746         being checked wasn't the same (!?!).
7747
7748         Fixes #341029
7749
7750 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7751
7752         * docs/gst/gstreamer-sections.txt:
7753         * gst/gstconfig.h.in:
7754         More docs for configuration options, add docs to gtk-doc.
7755
7756 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7757
7758         * gst/Makefile.am:
7759         * gst/gstconfig.h.in:
7760         * win32/common/config.h:
7761         Fix build when disabling tracing (fixes #344016). Also start to document
7762         the defines that disable the sub-systems.
7763
7764 2006-07-10  Edward Hervey  <edward@fluendo.com>
7765
7766         * gst/gst.c: (ensure_current_registry_forking):
7767         let's make valgrind happy...
7768
7769 2006-07-09  Wim Taymans  <wim@fluendo.com>
7770
7771         * gst/gstelement.c: (activate_pads),
7772         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7773         Better pad activation code: Reset the collect value too on resync.
7774         Add some comments.
7775
7776 2006-07-09  Wim Taymans  <wim@fluendo.com>
7777
7778         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
7779         (gst_pad_activate_push):
7780         Use some more macros where it makes sense.
7781         Allow pad mode switching instead of asserting. When a pad
7782         is activated in one mode and we activate it in another, 
7783         deactivate it first before activating it in a different mode.
7784         Fixes #329198.
7785
7786 2006-07-08  Andy Wingo  <wingo@pobox.com>
7787
7788         * tools/gst-launch.c (main): Handle err == NULL.
7789
7790         * gst/gst.c (init_post, ensure_current_registry)
7791         (ensure_current_registry_forking)
7792         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
7793         factoring out the registry scanning into separate functions. Don't
7794         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
7795         Better environment var name/interface suggestions accepted.
7796
7797 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7798
7799         * gst/gstobject.c: (gst_object_set_name_default),
7800         (gst_object_set_name):
7801           Random micro-optimisation: don't use a hash table
7802           with strings as keys and the usual strdup/strcmp
7803           involved, but rather just use the GQuark of the
7804           type name as key, since it needs to be looked up
7805           anyway to get the type name string.
7806
7807         * tests/check/gst/gstobject.c: (GST_START_TEST):
7808           Fix various leaks.
7809
7810 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7811
7812         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
7813         (gst_bin_iterate_all_by_interface):
7814           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
7815           GTypes are gulongs and thus the top 4 bytes might be cut
7816           off on some platforms when doing GPOINTER_TO_INT, leading
7817           to invalid GTypes and bad things happening (see RH bug #179654).
7818           Also add a check to make sure the type passed in is really
7819           an interface type.
7820
7821 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7822
7823         * .cvsignore:
7824           Ignore more.
7825
7826 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7827
7828         * Makefile.am:
7829         * configure.ac:
7830         * gst-element-check.m4:
7831         * gst-element-check.m4.in:
7832           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
7833           instead of the unversioned gst-inspect (#324176, #168659).
7834
7835 2006-07-06  Wim Taymans  <wim@fluendo.com>
7836
7837         * gst/gstmessage.h:
7838         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
7839         warnings.
7840
7841 2006-07-06  Wim Taymans  <wim@fluendo.com>
7842
7843         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7844         (gst_base_src_wait), (gst_base_src_update_length),
7845         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
7846         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
7847         (gst_base_src_loop), (gst_base_src_start),
7848         (gst_base_src_activate_pull):
7849         Update docs.
7850         blocksize == 0 now means the default blocksize when working in push
7851         based mode.
7852         Remove some pointless asserts in _wait function.
7853         Fix offset/length calculations and EOS handling. We can now pull 0
7854         bytes as well, which is allowed.
7855         use _check_get_range() to decide if we can operate in _pull based
7856         mode.
7857         Fix refcounting leak when check_get_range function was not 
7858         implemented.
7859         API GstBaseSrc::blocksize range can be 0 too now (default)
7860
7861         * tests/check/elements/filesrc.c: (GST_START_TEST),
7862         (filesrc_suite):
7863         Added check to test _get_range() behaviour.
7864
7865 2006-07-06  Wim Taymans  <wim@fluendo.com>
7866
7867         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7868         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
7869         (gst_pad_pull_range):
7870         * gst/gstpad.h:
7871         Lots of comments and docs added to the pad functions.
7872         Flesh out the expected behaviour of the get_range() functions.
7873
7874 2006-07-06  Wim Taymans  <wim@fluendo.com>
7875
7876         * gst/gstbus.h:
7877         * gst/gstclock.h:
7878         * gst/gstevent.h:
7879         * gst/gstiterator.h:
7880         * gst/gstpad.h:
7881         * gst/gstplugin.h:
7882         * gst/gsttask.h:
7883         Remove comma at end of enumerator list. 
7884
7885 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
7886
7887         * win32/common/libgstbase.def:
7888         * win32/common/libgstdataprotocol.def:
7889         * win32/common/libsgtreamer.def:
7890         Add new exported functions.
7891
7892 2006-07-05  Wim Taymans  <wim@fluendo.com>
7893
7894         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
7895         Add some more docs here and there.
7896
7897 2006-07-05  Wim Taymans  <wim@fluendo.com>
7898
7899         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
7900         (gst_base_sink_loop), (gst_base_sink_get_position):
7901         When operating in pull mode update the offset so that we
7902         read sequentially.
7903
7904 2006-07-05  Wim Taymans  <wim@fluendo.com>
7905
7906         * gst/gstregistryxml.c: (read_string):
7907         Avoid strdup. (will happen in libxml, but hey!)
7908
7909         * gst/gsturi.c:
7910         Add some more docs.
7911
7912 2006-07-05  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
7915         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7916         (gst_buffer_suite):
7917         No point in checking if the size of the subbuffer > 0, the
7918         code handles it correclty as demonstrated by unit test.
7919         Also add a unit test for the zero sized _new_and_alloc and
7920         _copy. Fixes #346663.
7921
7922 2006-07-05  Wim Taymans  <wim@fluendo.com>
7923
7924         * libs/gst/base/gstbasetransform.c:
7925         (gst_base_transform_prepare_output_buffer),
7926         (gst_base_transform_buffer_alloc),
7927         (gst_base_transform_handle_buffer):
7928         Make sure the buffer we pass to transform_ip has a refcount of
7929         1 and thus is writable. Fixes #343196
7930
7931 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
7932
7933         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7934         (gst_file_src_init), (gst_file_src_set_property),
7935         (gst_file_src_get_property), (gst_file_src_map_region):
7936         * plugins/elements/gstfilesrc.h:
7937         Add "sequential" property, off by default, to use madvise and hint
7938         to the kernel that sequential access is desired.
7939         Touch all retrieved pages by default to ensure they are pulled
7940         into memory. (Closes #345720)
7941
7942 2006-07-03  Wim Taymans  <wim@fluendo.com>
7943
7944         * docs/design/part-block.txt:
7945         * docs/design/part-dynamic.txt:
7946         Small docs updates.
7947
7948 2006-07-03  Wim Taymans  <wim@fluendo.com>
7949
7950         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7951         (gst_caps_unref), (gst_static_caps_get),
7952         (gst_caps_append_structure):
7953         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7954         Use GSlice when the glib we build against is >= 2.10
7955
7956 2006-07-03  Wim Taymans  <wim@fluendo.com>
7957
7958         * gst/gstelement.c: (gst_element_pads_activate):
7959         Small cleanup in pad activation code.
7960
7961 2006-07-03  Wim Taymans  <wim@fluendo.com>
7962
7963         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7964
7965         * gst/gst-i18n-app.h:
7966         * gst/gst-i18n-lib.h:
7967         * tools/gst-inspect.c: (print_signal_info):
7968         The attached patch will make the inclusion of gettext.h unconditional in
7969         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7970         libintl.h in tools/gst-inspect.c.
7971         This allows use of --disable-nls again and fixes #344642.
7972
7973 2006-07-03  Edward Hervey  <edward@fluendo.com>
7974
7975         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7976         Implement pad blocking on events according to part-block.txt.
7977         More comments on behaviour.
7978         * tests/check/gst/gstevent.c: (test_event):
7979         Send event to peer pad of blocked pad (else it will block).
7980
7981 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7982
7983         * libs/gst/check/gstcheck.c: (gst_check_message_error),
7984         (gst_check_run_suite):
7985           if we get the wrong message, give us the types as string
7986         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7987           Fix a translatable
7988         * tests/check/elements/filesrc.c: (GST_START_TEST):
7989           add a test for trying to open a non-existing file
7990
7991 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7992
7993         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7994           add a test for adding self
7995
7996 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7997
7998         * libs/gst/check/gstcheck.h:
7999           add some assert_ as alias for fail_unless_*
8000         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
8001           increase test coverage
8002
8003 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8004
8005         * Makefile.am:
8006           include lcov.mak for lcov coverage generation
8007         * tools/Makefile.am:
8008           add to CLEANFILES
8009
8010 2006-07-02  Edward Hervey  <edward@fluendo.com>
8011
8012         * tests/check/elements/.cvsignore:
8013         moaping
8014
8015 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * configure.ac:
8018           don't set CFLAGS and friends for gcov, done from GST_GCOV now
8019         * tests/check/Makefile.am:
8020           clean up gcov files
8021
8022 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8023
8024         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
8025           remove gst_caps_simplify; it was not declared and not used
8026           and deprecated in 0.8
8027
8028 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8029
8030         * docs/faq/gst-uninstalled:
8031           don't put empty paths on PYTHONPATH
8032         * docs/gst/gstreamer-sections.txt:
8033           remove some symbols that are not there
8034
8035 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8036
8037         * gst/gstcaps.c: (gst_caps_compare_structures):
8038           whitespace fixes
8039         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8040         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8041           add more tests
8042
8043 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8044
8045         * libs/gst/dataprotocol/Makefile.am:
8046           build dataprotocol test by linking to the lib, instead of
8047           compiling the source, so we get coverage
8048         * tests/check/Makefile.am:
8049         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
8050         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
8051           add a test for filesrc
8052
8053 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8054
8055         * tests/check/gst/gststructure.c: (GST_START_TEST),
8056         (gst_structure_suite):
8057           Push coverage from 59.04% to 70.00%
8058
8059 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * tests/check/Makefile.am:
8062           gst-inspect every element; this makes sure that we also get
8063           coverage on element's get/set functions
8064
8065 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8066
8067         * configure.ac:
8068           set CFLAGS and friends to -O0 if gcov is being used
8069           add GCOV LIBS
8070         * gst/Makefile.am:
8071         * libs/gst/base/Makefile.am:
8072         * libs/gst/check/Makefile.am:
8073         * libs/gst/controller/Makefile.am:
8074         * libs/gst/dataprotocol/Makefile.am:
8075         * libs/gst/net/Makefile.am:
8076         * plugins/elements/Makefile.am:
8077         * plugins/indexers/Makefile.am:
8078           add makefile rules to generate gcov data and clean up
8079         * tests/check/Makefile.am:
8080           add a coverage target that generates an html overview
8081           of coverage data
8082
8083 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8084
8085         * tests/check/elements/fakesink.c:
8086         * tests/check/elements/fakesrc.c:
8087         * tests/check/elements/fdsrc.c:
8088         * tests/check/elements/identity.c:
8089         * tests/check/generic/sinks.c: (gst_sinks_suite):
8090         * tests/check/generic/states.c:
8091         * tests/check/gst/gst.c:
8092         * tests/check/gst/gstabi.c:
8093         * tests/check/gst/gstbin.c:
8094         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
8095         * tests/check/gst/gstbus.c: (gst_bus_suite):
8096         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8097         * tests/check/gst/gstelement.c:
8098         * tests/check/gst/gstevent.c: (gst_event_suite):
8099         * tests/check/gst/gstghostpad.c:
8100         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
8101         * tests/check/gst/gstmessage.c: (gst_message_suite):
8102         * tests/check/gst/gstminiobject.c:
8103         * tests/check/gst/gstobject.c:
8104         * tests/check/gst/gstpad.c:
8105         * tests/check/gst/gstpipeline.c:
8106         * tests/check/gst/gstplugin.c:
8107         * tests/check/gst/gstquery.c: (gst_query_suite):
8108         * tests/check/gst/gstsegment.c: (gst_segment_suite):
8109         * tests/check/gst/gststructure.c:
8110         * tests/check/gst/gstsystemclock.c:
8111         * tests/check/gst/gsttag.c:
8112         * tests/check/gst/gsttask.c: (gst_task_suite):
8113         * tests/check/gst/gstutils.c:
8114         * tests/check/gst/gstvalue.c:
8115         * tests/check/libs/adapter.c:
8116         * tests/check/libs/basesrc.c:
8117         * tests/check/libs/collectpads.c:
8118         * tests/check/libs/controller.c:
8119         * tests/check/libs/gdp.c: (gst_dp_suite):
8120         * tests/check/libs/gstnetclientclock.c:
8121         * tests/check/libs/gstnettimeprovider.c:
8122         * tests/check/libs/libsabi.c: (libsabi_suite):
8123         * tests/check/libs/typefindhelper.c:
8124         * tests/check/pipelines/cleanup.c:
8125         * tests/check/pipelines/parse-launch.c:
8126         * tests/check/pipelines/simple-launch-lines.c:
8127         * tests/check/pipelines/stress.c: (stress_suite):
8128           use the new macro
8129
8130 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8131
8132         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
8133         * libs/gst/check/gstcheck.h:
8134           create a macro and function so that the simple unit test
8135           case can be just one macro to create main()
8136
8137 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
8138
8139         * gst/gstbin.c: (gst_bin_restore_thyself):
8140         * gst/gstxml.c: (gst_xml_make_element):
8141           Fix deserialisation from XML. Set parent manually
8142           instead of using gst_bin_add(), since gst_bin_add()
8143           will unlink all pads of the element being added.
8144           Fixes #341667.
8145
8146 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
8147
8148         Patch by: Peter Kjellerstedt <pkj at axis com>
8149
8150         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
8151           Fix missing g_strdup() and double free when using the
8152           --gst-plugin-load command line option (#346097).
8153
8154 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8155
8156         * gst/gstinfo.c:
8157           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
8158
8159         * libs/gst/net/gstnetclientclock.c:
8160         * libs/gst/net/gstnettimeprovider.c:
8161           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
8162
8163 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8164
8165         * docs/manual/advanced-dataaccess.xml:
8166           Fix buffer probe example compilation in
8167           ADM (#345708).
8168         
8169 2006-06-22  Edward Hervey  <edward@fluendo.com>
8170
8171         * gst/gstelement.c: (gst_element_pads_activate):
8172         We need to deactivate src pads first and then sink pads.
8173         The reason is the src pads might be blocking while holding the streaming
8174         lock, so we need to deactivate them first so that deactivating the sink
8175         pads doesn't block (since it will require the streaming lock).
8176
8177 2006-06-22  Wim Taymans  <wim@fluendo.com>
8178
8179         * libs/gst/base/gstbasetransform.c:
8180         (gst_base_transform_buffer_alloc):
8181         Forgot to remove two unneeded unrefs.
8182         Simplify a check _is_equal allready checks the obvious case.
8183
8184 2006-06-22  Wim Taymans  <wim@fluendo.com>
8185
8186         * docs/design/part-block.txt:
8187         Some docs about what pad_block should do.
8188
8189 2006-06-22  Wim Taymans  <wim@fluendo.com>
8190
8191         * gst/gstcaps.c: (gst_caps_replace):
8192         Fix crasher when passed NULL. Doc clarification.
8193         Optimize for the trivial case.
8194
8195         * gst/gstpipeline.c: (gst_pipeline_change_state):
8196         Small cleanups.
8197
8198         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8199         Small documentation cleanup.
8200
8201         * libs/gst/base/gstbasetransform.c:
8202         (gst_base_transform_buffer_alloc):
8203         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
8204         is what we need and it avoids a whole lot of redundant 
8205         refcount operations.
8206
8207 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
8208
8209         Patch by: Philip Jägenstedt  <philip at lysator liu se>
8210
8211         * docs/manual/advanced-dataaccess.xml:
8212           Fix 'Embedding static elements' section to use
8213           GST_PLUGIN_DEFINE_STATIC (#345607).
8214
8215 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8216
8217         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8218           Attempt to 'fix' spuriously failing test case: it seems like the
8219           timeout of half a second is simply too small when the system is under
8220           load otherwise, and the timeout doesn't really seem to serve any
8221           particular purpose here. Give the pipeline a few seconds to preroll
8222           first, and then give it another half a second to go from PAUSED to
8223           PLAYING and marshal the message into the main thread.
8224
8225 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8226
8227         * tools/gst-feedback-m.m:
8228           Don't only use unversioned tools, try versioned tools as well
8229           (#345086).
8230
8231 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8232
8233         * gst/gstbus.c: (gst_bus_class_init):
8234           Fix some typos, make docs more explicit.
8235
8236 2006-06-20  Wim Taymans  <wim@fluendo.com>
8237
8238         * tests/check/gst/gstghostpad.c: (block_callback),
8239         (GST_START_TEST), (gst_ghost_pad_suite):
8240         Added some more ghostpad tests, mainly blocking
8241         and probes.
8242
8243 2006-06-16  Wim Taymans  <wim@fluendo.com>
8244
8245         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8246         (gst_file_sink_close_file), (gst_file_sink_do_seek),
8247         (gst_file_sink_event), (gst_file_sink_render):
8248         * plugins/elements/gstfilesink.h:
8249         Check if we can seek in the file instead of assuming
8250         we always can. Post an error when we are asked to seek in a
8251         non-seekable file (like a fifo). Fixes #343312.
8252         Some cleanups.
8253
8254 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8255
8256         * tools/gst-launch.1.in:
8257           Un-garble (fourcc) bit in filtered caps section.
8258
8259 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8260
8261         * docs/manual/advanced-autoplugging.xml:
8262         * docs/manual/basics-helloworld.xml:
8263         * docs/manual/highlevel-components.xml:
8264           Don't leak bus reference in sample code.
8265
8266 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
8267
8268         * autogen.sh:
8269           Add default for new --enable-plugin-docs switch.
8270
8271         * configure.ac:
8272           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8273           Fixes #344039.
8274
8275         * docs/Makefile.am:
8276           Use new ENABLE_PLUGIN_DOCS conditional.
8277
8278 2006-06-14  Wim Taymans  <wim@fluendo.com>
8279
8280         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8281         Make it clear with a FIXME and a real define what the #if 0
8282         previously disabled.
8283
8284 2006-06-14  Wim Taymans  <wim@fluendo.com>
8285
8286         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8287         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8288         * libs/gst/base/gstbasetransform.c:
8289         (gst_base_transform_sink_eventfunc):
8290         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8291         Don't randomly and silently reset a segment when the format 
8292         changes as this is a bug somewhere upstream. Fixes #330379.
8293
8294 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8295
8296         Patch by: Wouter Paesen  <wouter at kangaroot net>
8297
8298         * libs/gst/controller/gstcontroller.c:
8299         (gst_controlled_property_new):
8300           Fix controlling of float properties (#344849).
8301
8302         * tests/check/libs/controller.c:
8303         (gst_test_mono_source_get_property),
8304         (gst_test_mono_source_set_property),
8305         (gst_test_mono_source_class_init), (GST_START_TEST):
8306           While we're at it, add some float stuff to unit test.
8307
8308 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8309
8310         * docs/README:
8311         * docs/images/gdp-header.svg:
8312           add a gdp image
8313         * docs/libs/Makefile.am:
8314         * docs/libs/gdp-header.png:
8315         * libs/gst/dataprotocol/dataprotocol.c:
8316           add it to the API docs
8317         * docs/manual/intro-motivation.xml:
8318           fix typo
8319
8320 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8321
8322         * gst/gst.c: (scan_and_update_registry), (init_post):
8323           If the fork()'ed child process can't write the updated registry cache
8324           file to disk for some reason, make it exit with a failure exit code,
8325           so that the parent can then re-scan the plugins itself and update the
8326           registry structures in memory and work with that (rather than failing
8327           when creating elements because seemingly no plugins are available).
8328           Refactor registry scanning code into separate function for this and
8329           also separate fork() and non-fork() code paths. Fixes #344748.
8330
8331 2006-06-13  Wim Taymans  <wim@fluendo.com>
8332
8333         * docs/manual/advanced-dataaccess.xml:
8334         Fix wrong PluginDesc. Fixes #344755.
8335
8336 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8337
8338         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8339           Fix silly bug that prevented us from creating
8340           ~/.gstreamer-0.10 and writing the registry in one
8341           go (the first call to g_mkstemp() would overwrite the
8342           placeholder in the template string, so the second call
8343           to g_mkstemp() after creating the missing directory
8344           would then error out with 'invalid argument').
8345
8346 2006-06-13  Edward Hervey  <edward@fluendo.com>
8347
8348         * gst/gst.c: (init_post):
8349         Free string.
8350
8351 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8352
8353         * gst/glib-compat-private.h:
8354         * gst/glib-compat.c:
8355         * gst/glib-compat.h:
8356         * gst/gstvalue.c: (gst_value_serialize_flags):
8357           remove GLib 2.6 compatibility code
8358
8359 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
8360
8361         * gst/parse/Makefile.am:
8362           Fix build with 'make -j N' even more (#340016).
8363
8364 2006-06-12  Wim Taymans  <wim@fluendo.com>
8365
8366         * docs/gst/gstreamer-sections.txt:
8367         Fix docs.
8368
8369 2006-06-12  Wim Taymans  <wim@fluendo.com>
8370
8371         * gst/gstsegment.c: (gst_segment_set_duration),
8372         (gst_segment_set_last_stop), (gst_segment_set_seek),
8373         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8374         (gst_segment_to_running_time), (gst_segment_clip):
8375         Use G_UNLIKELY to help the compiler a bit.
8376
8377 2006-06-12  Wim Taymans  <wim@fluendo.com>
8378
8379         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8380
8381         * gst/gstevent.c: (gst_event_get_type):
8382         * gst/gstmessage.c:
8383         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8384         (gst_pad_push):
8385         constify quark registration strings. Fixes #344115
8386         Avoid unneeded type checking is _pad_push() by internally
8387         calling gst_pad_chain_unchecked().
8388
8389 2006-06-12  Wim Taymans  <wim@fluendo.com>
8390
8391         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8392         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8393         (gst_subbuffer_finalize), (gst_buffer_create_sub),
8394         (gst_buffer_is_span_fast), (gst_buffer_span):
8395         Init _type for consistency.
8396         Use _FLAGS macro to avoid type check.
8397         Avoid unneeded type checks in subbufer code.
8398
8399 2006-06-12  Wim Taymans  <wim@fluendo.com>
8400
8401         * gst/gst.c: (gst_debug_help):
8402         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8403         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8404         (gst_plugin_feature_list_free):
8405         * gst/gstregistry.c: (gst_registry_add_plugin),
8406         (gst_registry_add_feature), (gst_registry_plugin_filter),
8407         (gst_registry_feature_filter), (gst_registry_find_plugin),
8408         (gst_registry_find_feature), (gst_registry_get_plugin_list),
8409         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8410         * gst/gstregistryxml.c: (load_feature),
8411         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8412         * gst/gstminiobject.c: (gst_mini_object_unref),
8413         (gst_mini_object_replace), (gst_value_mini_object_free),
8414         (gst_value_mini_object_copy):
8415         Use _CAST macros to avoid unneeded type checking.
8416         Added some more G_UNLIKELY.
8417
8418 2006-06-12  Wim Taymans  <wim@fluendo.com>
8419
8420         * gst/gstbuffer.h:
8421         Avoid unneeded type checking.
8422         API: GST_BUFFER_IS_DISCONT
8423
8424         * gst/gstminiobject.h:
8425         Avoid type check in flag accessor.
8426
8427         * gst/gstelementfactory.h:
8428         * gst/gstplugin.h:
8429         * gst/gstpluginfeature.h:
8430         Add _CAST macros.
8431         API: GST_ELEMENT_FACTORY_CAST
8432         API: GST_PLUGIN_CAST
8433         API: GST_PLUGIN_FEATURE_CAST
8434
8435 2006-06-12  Wim Taymans  <wim@fluendo.com>
8436
8437         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8438         (gst_object_unref):
8439         Add G_UNLIKELY in type registration.
8440         Avoid type check in _ref/_unref since that is also
8441         done in glib.
8442
8443 2006-06-12  Wim Taymans  <wim@fluendo.com>
8444
8445         * gst/gsterror.c: (gst_g_error_get_type):
8446         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8447         (gst_static_pad_template_get_type):
8448         * gst/gsttaglist.c: (gst_tag_list_get_type):
8449         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8450         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8451         * gst/gsturi.c: (gst_uri_handler_get_type):
8452         * gst/gstvalue.c: (gst_date_get_type):
8453         * gst/gstxml.c: (gst_xml_get_type):
8454         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8455         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8456         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8457         Add G_UNLIKELY in type registration.
8458
8459 2006-06-12  Wim Taymans  <wim@fluendo.com>
8460
8461         * tools/gst-inspect.c: (print_signal_info):
8462         Properly print enum values.
8463
8464 2006-06-12  Wim Taymans  <wim@fluendo.com>
8465
8466         * gst/gstinfo.c: (gst_debug_set_active),
8467         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8468         * gst/gstinfo.h:
8469         Add some G_[UN]LIKELY.
8470         Maintain __gst_debug_min to avoid formatting the arguments of
8471         debug messages that will be dropped anyway to avoid a lot of 
8472         overhead from the debugging system.
8473
8474 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8475
8476         * po/POTFILES.in:
8477         * po/POTFILES.skip:
8478           add missing files containing translatable strings, tell intltool about
8479           one exception
8480
8481 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8482
8483         * tests/check/libs/.cvsignore:
8484         add test-binary to ignore list
8485
8486 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8487
8488         * docs/libs/gstreamer-libs-docs.sgml:
8489         reorder (put dp into a chapter) and indent
8490
8491 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8492
8493         * configure.ac:
8494           back to HEAD
8495
8496 === release 0.10.8 ===
8497
8498 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
8499
8500         * configure.ac:
8501           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8502
8503 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         * gst/gst.c: (init_post):
8506           move pid declaration to declaration block
8507
8508 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8509
8510         * gst/gst.c: (init_post):
8511           use _exit() instead of exit() in our forked child; this ensures
8512           that none of the registered exit handlers from whatever is using
8513           GStreamer get executed.  This fixes gnome-mixer-applet failing
8514           to load, because ORBit would shut down.
8515           Spotted by: Edward Hervey  <edward@fluendo.com>
8516           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
8517           Fixes #344474
8518
8519 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8520
8521         * configure.ac:
8522           back to TRUNK
8523
8524 === release 0.10.7 ===
8525
8526 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
8527
8528         * configure.ac:
8529           releasing 0.10.7, "Soepeke, ik zie ou"
8530
8531 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * configure.ac:
8534         * po/af.po:
8535         * po/az.po:
8536         * po/bg.po:
8537         * po/ca.po:
8538         * po/cs.po:
8539         * po/de.po:
8540         * po/en_GB.po:
8541         * po/fr.po:
8542         * po/it.po:
8543         * po/nb.po:
8544         * po/nl.po:
8545         * po/ru.po:
8546         * po/sq.po:
8547         * po/sr.po:
8548         * po/sv.po:
8549         * po/tr.po:
8550         * po/uk.po:
8551         * po/vi.po:
8552         * po/zh_CN.po:
8553         * po/zh_TW.po:
8554         * win32/common/config.h:
8555           0.10.6.2 prerelease
8556
8557 2006-06-07  Wim Taymans  <wim@fluendo.com>
8558
8559         * gst/gstindex.c: (gst_index_gtype_resolver):
8560         * tools/gst-xmlinspect.c: (print_plugin_info):
8561         Fix leak spotted by coverity checker. Fixes #343827
8562         Fix another other leak found by paolo borelli.
8563
8564 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8565
8566         * libs/gst/dataprotocol/dataprotocol.c:
8567         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8568         (gst_dp_version_get_type), (gst_dp_init),
8569         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8570         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8571         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8572         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8573         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8574         (gst_dp_packetizer_free):
8575         * libs/gst/dataprotocol/dataprotocol.h:
8576           API: add a GstDPPacketizer object, and create/free functions
8577           API: add GstDPVersion enum
8578           Add 1.0 event function that uses the string serialization
8579           Serialize more useful buffer flags
8580           Fixes #343988
8581
8582 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8583
8584         * tests/check/Makefile.am:
8585         * tests/check/gst/gstabi.c:
8586         * tests/check/gst/struct_ppc64.h:
8587         * tests/check/libs/libsabi.c:
8588         * tests/check/libs/struct_ppc64.h:
8589           add ppc64 structure sizes
8590
8591 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * tests/check/Makefile.am:
8594         * tests/check/gst/gstabi.c:
8595         * tests/check/gst/struct_x86_64.h:
8596         * tests/check/libs/libsabi.c:
8597         * tests/check/libs/struct_x86_64.h:
8598           generate and add structure size lists for x86_64
8599
8600 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8601
8602         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8603         * libs/gst/check/gstcheck.h:
8604           factor out the method from tests that checks size of structures,
8605           and add code to generate the header containing these sizes
8606         * tests/check/gst/gstabi.c: (GST_START_TEST):
8607         * tests/check/gst/struct_i386.h:
8608         * tests/check/libs/libsabi.c: (GST_START_TEST):
8609         * tests/check/libs/struct_i386.h:
8610           use it
8611
8612 2006-06-06  Michael Smith  <msmith@fluendo.com>
8613
8614         * gst/gstsegment.h:
8615           Don't use c++-style comments, fixes #343929
8616
8617 2006-06-05  Edward Hervey  <edward@fluendo.com>
8618
8619         * gst/gst.c:
8620         plugin_paths is not used if we build without registry support.
8621
8622         * gst/gstsegment.c: (gst_segment_copy): 
8623         _copy() was always returning NULL...
8624
8625 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8626
8627         * libs/gst/dataprotocol/dataprotocol.c:
8628         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8629         (gst_dp_packet_from_event):
8630           factor out CRC code
8631
8632 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8635           make sure we unset caps
8636
8637 2006-06-02  Michael Smith  <msmith@fluendo.com>
8638
8639         * libs/gst/check/gstcheck.c: (gst_check_init),
8640         (gst_check_chain_func):
8641         * libs/gst/check/gstcheck.h:
8642           Add a cond/mutex to the check support lib, signal this whenever we
8643           add to the buffers list. This will allow tests to not busy-wait on
8644           the buffer-list.
8645
8646 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8647
8648         * libs/gst/dataprotocol/dataprotocol.c:
8649         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8650         (gst_dp_packet_from_event):
8651           factor out some common header init code
8652
8653 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8654
8655         * docs/libs/gstreamer-libs-sections.txt:
8656         * docs/libs/tmpl/gstdataprotocol.sgml:
8657         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8658         * libs/gst/dataprotocol/dataprotocol.h:
8659           API: make gst_dp_crc() public
8660
8661 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8662
8663         * plugins/indexers/gstindexers.c: (plugin_init):
8664         conditionally register fileindexer (fixes #343598)
8665
8666 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8667
8668         * gst/gsttagsetter.h:
8669         Can't cast ifaces to a class
8670
8671         * libs/gst/net/gstnetclientclock.h:
8672         * libs/gst/net/gstnettimeprovider.h:
8673         * plugins/elements/gstfakesink.h:
8674         * plugins/elements/gstfakesrc.h:
8675         * plugins/elements/gstfdsink.h:
8676         * plugins/elements/gstfdsrc.h:
8677         * plugins/elements/gstfilesink.h:
8678         * plugins/elements/gstfilesrc.h:
8679         * plugins/elements/gstidentity.h:
8680         * plugins/elements/gstqueue.h:
8681         * plugins/elements/gsttee.h:
8682         * plugins/indexers/gstfileindex.c:
8683         * plugins/indexers/gstmemindex.c:
8684         * tests/old/examples/plugins/example.h:
8685         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8686
8687 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8688
8689         * libs/gst/dataprotocol/dataprotocol.c:
8690         (gst_dp_header_from_buffer):
8691           make sure we zero the whole ABI-compatible area
8692
8693 2006-06-01  Wim Taymans  <wim@fluendo.com>
8694
8695         Patch by: Alessandro Decina <alessandro at nnva dot org>
8696
8697         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8698         Make sure the EOS flag is cleared from pads after a flush
8699         or stop. Fixes #343538.
8700
8701         * tests/check/libs/collectpads.c: (GST_START_TEST),
8702         (gst_collect_pads_suite):
8703         Added test for collectpads reusage after EOS.
8704
8705 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
8706
8707         * gst/gst.c:
8708          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8709         * win32/common/libgstbase.def:
8710          export gst_collect_pads_set_flushing
8711         * win32/common/libgstreamer.def:
8712          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
8713          gst_value_fraction_multiply
8714         * win32/vs6/gst_inspect.dsp:
8715          add a link to intl.lib
8716
8717 2006-05-30  Wim Taymans  <wim@fluendo.com>
8718
8719         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8720         (gst_collect_pads_chain):
8721         Handle the case where a pad is removed from the collection
8722         that could cause the other pads to become collectable.
8723
8724 2006-05-30  Wim Taymans  <wim@fluendo.com>
8725
8726         * gst/gstelement.c:
8727         Clarify the use of _release_request_pad() and
8728         _get_request_pad() a bit better.
8729
8730         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
8731         (gst_adapter_take_buffer):
8732         Fix some doc and comment typos.
8733
8734 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8735
8736         * docs/gst/gstreamer-sections.txt:
8737         * docs/libs/gstreamer-libs-sections.txt:
8738           add declared symbols
8739
8740 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
8741
8742         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8743         Add debug that can be enabled using a #define at the top of the file,
8744         for dumping stats about how late/early we were when waking up from
8745         waiting on the clock.
8746
8747 2006-05-30  Wim Taymans  <wim@fluendo.com>
8748
8749         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
8750         When rebuilding the pad list, don't leak the previous list.
8751
8752 2006-05-30  Wim Taymans  <wim@fluendo.com>
8753
8754         Patch by: Lutz Mueller <lutz at topfrose dot de>
8755
8756         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8757         (gst_base_src_get_query_types), (gst_base_src_update_length):
8758         Publish supported query types.
8759         Update last_stop field in get_range mode so the position
8760         query works. Fixes #342321.
8761
8762 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
8763
8764         * docs/gst/gstreamer-sections.txt:
8765         * gst/gsttaglist.c: (_gst_tag_initialize):
8766         * gst/gsttaglist.h:
8767           API: add GST_TAG_PREVIEW_IMAGE (#343341).
8768
8769 2006-05-30  Wim Taymans  <wim@fluendo.com>
8770
8771         Patch by: Alessandro Decina <alessandro at nnva dot org>
8772
8773         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8774         Unlock mutex when removing an unknown pad.
8775         Fixes #343334.
8776
8777         * tests/check/Makefile.am:
8778         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
8779         (push_event), (setup), (teardown), (GST_START_TEST),
8780         (gst_collect_pads_suite), (main):
8781         Added collecpads check, disabled for now as check crashes for
8782         some reason.
8783
8784 2006-05-29  Wim Taymans  <wim@fluendo.com>
8785
8786         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
8787         Don't leak pads lists.
8788
8789 2006-05-29  Wim Taymans  <wim@fluendo.com>
8790
8791         * docs/libs/gstreamer-libs-sections.txt:
8792         * libs/gst/base/gstcollectpads.c:
8793         (gst_collect_pads_set_flushing_unlocked),
8794         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8795         (gst_collect_pads_stop):
8796         * libs/gst/base/gstcollectpads.h:
8797         API: gst_collect_pads_set_flushing()
8798         Added api to set the pads to flushing, useful for seeking
8799         code in elements using collectpads.
8800         Clear segment when receiving a flush.
8801
8802 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
8803
8804         * gst/gst.c: (add_path_func), (init_post):
8805           Don't scan registry paths passed via --gst-plugin-path immediately
8806           (will crash, because absolutely nothing is set up and no types are
8807           registered etc.); do this later in init_post(). Fixes #343057.
8808
8809 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8810
8811         * gst/gst.c: (init_post):
8812           if we have fork, fork while reading/rebuilding the registry
8813           so the parent doesn't take the hit of having all plugins loaded
8814           in memory.  Fixes #342777.
8815         * configure.ac:
8816           Check if we have fork()
8817         * win32/common/config.h.in:
8818           no fork() on win32
8819
8820 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8821
8822         * plugins/elements/gstelements.c:
8823         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8824         (gst_file_src_init), (gst_file_src_set_property),
8825         (gst_file_src_get_property), (gst_file_src_start):
8826         * plugins/elements/gstfilesrc.h:
8827           API: GstFileSrc::use-mmap
8828
8829         Add a use-mmap property to enable easier testing of all code paths.
8830         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
8831         in the absence of gnomevfssrc. (Closes #340501)
8832
8833 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8834
8835         * tools/gst-inspect.c:
8836         Add missing include, removes warning of ngettext not being defined on
8837         some arches.
8838
8839 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8840
8841         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8842         Handle NULL input and output pointers silently as a failed conversion,
8843         rather than g_warnings.
8844
8845 2006-05-25  Wim Taymans  <wim@fluendo.com>
8846
8847         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
8848         Initialize variable before using. Fixes #342820.
8849
8850 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8851
8852         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
8853           Fix off-by-one bug that would only allow peeks of N-1 bytes
8854           from the start even if the buffer to typefind on contains
8855           in fact N bytes of data (makes vorbis typefinding from a
8856           vorbis identification header buffer work).
8857
8858         * tests/check/Makefile.am:
8859         * tests/check/libs/.cvsignore:
8860         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
8861         (gst_typefindhelper_suite), (main), (foobar_typefind),
8862         (plugin_init):
8863           Add very basic unit test for gst_type_find_helper_for_buffer()
8864           that checks for the problem fixed above.
8865
8866 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8867
8868         * tools/gst-inspect.c: (print_interfaces),
8869         (print_element_properties_info), (print_element_list), (main):
8870           add more translatable strings
8871
8872 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
8873
8874         Patch by: Julien Moutte  <julien at moutte net>
8875
8876         * docs/gst/gstreamer-sections.txt:
8877           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
8878           
8879         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8880         (gst_fake_sink_preroll):
8881         * plugins/elements/gstfakesink.h:
8882           API: Add new GstFakeSink::preroll-handoff signal (#337100).
8883
8884 2006-05-23  Wim Taymans  <wim@fluendo.com>
8885
8886         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
8887         * gst/gstpad.h:
8888         Added _CUSTOM error and success GstFlowReturn that can be
8889         used be elements internally. 
8890         Added macro to check for SUCCESS flowreturns.
8891         API: GST_FLOW_CUSTOM_SUCCESS
8892         API: GST_FLOW_CUSTOM_ERROR
8893         API: GST_FLOW_IS_SUCCESS
8894
8895         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8896         Added check for GstFlowReturn sanity.
8897
8898 2006-05-23  Wim Taymans  <wim@fluendo.com>
8899
8900         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8901
8902         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8903         (gst_collect_pads_event):
8904         clear/reset segment info in FLUSH_STOP.
8905         Fixes #336929.
8906
8907 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
8908
8909         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
8910         (gst_collect_pads_check_collected):
8911         Flush queued buffer on _stop(), fixes playing again (#342454)
8912
8913 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8914
8915         * tests/check/gst/gststructure.c: (GST_START_TEST),
8916         (gst_structure_suite):
8917           add a test for a complete structure
8918
8919 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8920
8921         * docs/faq/developing.xml:
8922         * docs/faq/faq.xml:
8923         * docs/faq/troubleshooting.xml:
8924         * docs/faq/using.xml:
8925           Some minor FAQ updates that won't change the fact that
8926           our FAQ is badly structured, full of information hardly
8927           anyone new to GStreamer needs to know and lacking lots
8928           of information people constantly ask for.
8929           
8930 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
8931
8932         * gst/gstpad.c: (gst_pad_set_caps):
8933           Short-circuit gst_pad_set_caps if setting the existing
8934           caps pointer again, and avoid printing debug and 
8935           reffing/unreffing the caps.
8936
8937         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8938           There's actually no need to set the caps before pushing -
8939           the acceptcaps method will handle it anyway.
8940
8941 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8942
8943         * docs/gst/gstreamer-sections.txt:
8944         * win32/common/libgstreamer.def:
8945         * gst/gstutils.c: (gst_element_seek_simple):
8946         * gst/gstutils.h:
8947           API: add gst_element_seek_simple() (#342238).
8948
8949 2006-05-18  Edward Hervey  <edward@fluendo.com>
8950
8951         * gst/gsttypefind.c: (gst_type_find_get_type):
8952         * gst/gsttypefind.h:
8953         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8954         registered for GstTypeFind pointers. This allows wrapping the structure
8955         in bindings (i.e. gst-python).
8956
8957 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8958
8959         * gst/gsttagsetter.c:
8960           Docs additions and fixes (see #339918).
8961
8962 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8963
8964         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8965         The caps intersection algorithm can produce multiple copies of the
8966         caps. Until that is fixed, we need to simplify the result to be
8967         sure whether the allowed caps are fixed or not.
8968
8969         * plugins/elements/gstqueue.c: (gst_queue_init),
8970         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8971         (gst_queue_push_one):
8972         Proxied buffer alloc should not set the caps on the source pad.
8973         When pushing buffers, we always accept the caps change that triggers.
8974         This prevents negotiation errors caused by caps changing mid-stream 
8975         and then being refused on our source pad (because upstream is now
8976         refusing those caps).
8977
8978 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8979
8980         * tests/examples/helloworld/helloworld.c: (main):
8981           Must plug audioconvert and audioresample between decoder
8982           and audio sink.
8983
8984 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
8985
8986         * gst/gstregistryxml.c: (read_string), (load_pad_template),
8987         (load_feature), (load_plugin):
8988         Allow empty strings for some of the plugin fields so we don't 
8989         drop valid plugin entries that were written out correctly
8990         (Fixes #341479)
8991
8992 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
8993         
8994         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8995           Use g_remove and g_rename instead of remove and rename that don't 
8996           handle utf8 characters. rename was failing for users who had specific
8997           characters in their name then the registry was built at each 
8998           gstreamer init.
8999         * win32/vs6/gst_inspect.dsp:
9000         * win32/vs6/gst_launch.dsp:
9001         * win32/vs6/libgstbase.dsp:
9002         * win32/vs6/libgstcoreelements.dsp:
9003         * win32/vs6/libgstreamer.dsp:
9004           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
9005           build of libgstreamer and clean unused libraries in projects link 
9006           settings.
9007
9008 2006-05-17  Edward Hervey  <edward@fluendo.com>
9009
9010         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9011         The queue is not responsible for pushing an EOS when receiving a fatal
9012         flow error. It's up to the real element driving the pipeline to do that.
9013
9014 2006-05-16  Edward Hervey  <edward@fluendo.com>
9015
9016         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9017         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
9018         buffer returned a fatal error. It should just send an EOS and stop
9019         its task.
9020         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
9021         when pushing buffers on the queue and will be able to handle the event.
9022
9023 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
9024
9025         * docs/manual/basics-bins.xml:
9026         * docs/manual/basics-init.xml:
9027           Fix typos and minor errors in sample code (#341856).
9028
9029 2006-05-16  Wim Taymans  <wim@fluendo.com>
9030
9031         * docs/design/part-qos.txt:
9032         Fix indexes in formulas to make more sense.
9033
9034 2006-05-15  Wim Taymans  <wim@fluendo.com>
9035
9036         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9037         Don't report POSITION based on clock time if sync is
9038         disabled in a sink.
9039
9040 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
9041
9042         * gst/gstobject.h:
9043           Add cast to make compiler happy - refcount variable was a gint
9044           in GstObject but is a guint in GObject and g_atomic_int_get()
9045           wants a gint *.
9046
9047 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9048
9049         * gst/parse/Makefile.am:
9050           chain commands using &&, which also makes parallel make work
9051
9052 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
9053
9054         * docs/gst/gstreamer-sections.txt:
9055         * gst/gstevent.c:
9056         * gst/gstevent.h:
9057         * gst/gstmessage.h:
9058           Minor docs fixes.
9059
9060 === release 0.10.6 ===
9061
9062 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
9063
9064         * configure.ac:
9065           releasing 0.10.6, "Take the cannoli"
9066
9067 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * tools/gst-launch.c: (print_tag):
9070           Fix use of uninitialized variable in the hypothetical
9071           case that some broken plugin creates a GST_TAG_IMAGE
9072           tag containing a NULL buffer (#341667).
9073
9074 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9075
9076         * tools/gst-launch.c: (print_tag):
9077           Print something more intelligible for image tags when
9078           using the -t switch (#341556).
9079
9080 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9081
9082         * Makefile.am:
9083           updates for win32
9084         * configure.ac:
9085           define GST_MAJORMINOR so we have it available in win32/common/config.h
9086           Possibly remove it from our Makefile.am files later
9087         * win32/common/config.h:
9088         * win32/common/config.h.in:
9089           added GST_MAJORMINOR
9090         * win32/common/gstenumtypes.c: (register_gst_resource_error):
9091         * win32/common/gstversion.h:
9092           updated
9093
9094 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
9095
9096         * win32/MANIFEST:
9097           Update win32 files listing.
9098         * win32/common/gstversion.h:
9099           Add GST_MAJORMINOR definition.
9100         * win32/common/libgstreamer.def:
9101           Add new exported functions.
9102           
9103 2006-05-12  Michael Smith  <msmith@fluendo.com>
9104
9105         * gst/gstplugin.c: (gst_plugin_load_file):
9106           If an so file has no plugin entry point, unload the module.
9107
9108 2006-05-11  Wim Taymans  <wim@fluendo.com>
9109
9110         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
9111         (gst_queue_set_property):
9112         Don't forget to signal the _chain or _loop function 
9113         when the queue size or thresholds change since that might
9114         cause them to make progres again.
9115
9116 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
9117
9118         * gst/gstclock.c: (gst_clock_class_init):
9119         * gst/gstindex.c: (gst_index_class_init):
9120         * gst/gstobject.c: (gst_object_class_init):
9121         * gst/gstpad.c: (gst_pad_class_init):
9122         * gst/gstpipeline.c: (gst_pipeline_class_init):
9123         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9124         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
9125         * libs/gst/base/gstbasetransform.c:
9126         (gst_base_transform_class_init):
9127         * libs/gst/net/gstnetclientclock.c:
9128         (gst_net_client_clock_class_init):
9129         * libs/gst/net/gstnettimeprovider.c:
9130         (gst_net_time_provider_class_init):
9131         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
9132         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9133         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9134         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
9135         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9136         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9137         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9138         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9139         * plugins/elements/gsttee.c: (gst_tee_class_init):
9140         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9141         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9142           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
9143
9144 2006-05-11  Wim Taymans  <wim@fluendo.com>
9145
9146         * gst/gstbuffer.c: (_gst_buffer_initialize):
9147         Register subbufer along with the buffer type so that
9148         it does not accidentally gets registered from N
9149         different streaming threads in a non threadsafe way.
9150
9151 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9152
9153         * gst/gstbuffer.h:
9154         * gst/gstevent.h:
9155         * gst/gstmessage.h:
9156           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
9157           gst_event_ref() and gst_message_ref() functions again
9158           (ugly hack, please do fix if there's a better way besides
9159           overrides.txt, which doesn't seem to work).
9160
9161 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9162
9163         * libs/gst/check/gstcheck.h:
9164           add an assert for setting state to avoid lots of repetitive code
9165           in the future
9166
9167 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9168
9169         * gst/gstvalue.c: (gst_value_serialize_flags):
9170           fix a leak if no flags are set
9171         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9172           fix leak in tests
9173
9174 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9175
9176         * docs/manual/basics-pads.xml:
9177           Expand a bit on caps and filtered links and update
9178           examples that were still using the no longer existing
9179           gst_pad_link_filtered() (#338206).
9180
9181 2006-05-10  Wim Taymans  <wim@fluendo.com>
9182
9183         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9184         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9185         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9186         (gst_collect_pads_stop):
9187         * libs/gst/base/gstcollectpads.h:
9188         No need to call _stop in _finalize.
9189         Iterate the main pad list in _finalize.
9190         Added some more debug.
9191         Free lists and data in the right order.
9192         Also free data whem doing _remove_pad when stopped for
9193         backward compatibility protect ::started with PAD_LOCK as
9194         well.
9195
9196 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9197
9198         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
9199         (gst_structure_parse_value):
9200           add some comments
9201           rename a method so that it actually says what it does better
9202
9203 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9204
9205         * gst/gstevent.c: (_gst_event_initialize):
9206         * gst/gstformat.c: (_gst_format_initialize):
9207           make sure some essential types used by events are registered
9208           as part of gst_init()
9209         * gst/gstvalue.c: (gst_value_serialize_flags):
9210           if no flags are set, serialize them to a value that represents NONE
9211           so that deserializing them works
9212         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9213           add tests for serialization and deserialization of flags
9214
9215 2006-05-10  Wim Taymans  <wim@fluendo.com>
9216
9217         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9218         (gst_collect_pads_collect_range), (gst_collect_pads_available),
9219         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9220         (gst_collect_pads_event), (gst_collect_pads_chain):
9221         Update docs.
9222         Better debug info.
9223         Catch and return errors from the collect function
9224         Refuse data on eos pads.
9225
9226 2006-05-10  Edward Hervey  <edward@fluendo.com>
9227
9228         * gst/gstinterface.h:
9229         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9230         GInterface type checking.
9231         They were previously using non-defined macros.
9232
9233 2006-05-09  Wim Taymans  <wim@fluendo.com>
9234
9235         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9236         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9237         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9238         (gst_collect_pads_start), (gst_collect_pads_stop),
9239         (gst_collect_pads_peek), (gst_collect_pads_pop),
9240         (gst_collect_pads_available), (gst_collect_pads_read),
9241         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9242         (gst_collect_pads_is_collected), (gst_collect_pads_event),
9243         (gst_collect_pads_chain):
9244         * libs/gst/base/gstcollectpads.h:
9245         Clean up the mess that is collectpads, add comments and
9246         FIXMEs where needed.
9247         Maintain a separate pad list so we can add pads while
9248         collecting the other ones. For this we need a new separate 
9249         lock (see comics).
9250         Fix memory leak in finalize.
9251         Refactor some weird code to set/unset pad flushing flags, mark
9252         with comments.
9253         Don't crash in _available, _read, _flush when we're EOS.
9254
9255         * tests/check/libs/.cvsignore:
9256         Ignore adapter check binary.
9257
9258 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9259
9260         * gst/gstindex.c: (gst_index_resolver_get_type):
9261         * plugins/elements/gstfakesink.c:
9262         (gst_fake_sink_state_error_get_type):
9263         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9264         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9265         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9266           Const-ify GEnumValue arrays.
9267
9268 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9269
9270         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9271           Add test case for flags + gst_buffer_make_metadata_writable().
9272
9273 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9274
9275         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9276           gst_buffer_make_metadata_writable() should maintain the
9277           buffer flags (those that make sense at least) (see #340859).
9278
9279 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9280
9281         * tools/gst-inspect.c:
9282         * tools/gst-launch.c:
9283         * tools/gst-typefind.c:
9284         * tools/gst-xmlinspect.c:
9285         * tools/tools.h:
9286           Fix up includes: need to include stdlib.h in tools.h for exit().
9287
9288 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9289
9290         * gst/gsttaglist.c: (_gst_tag_initialize):
9291         * gst/gsttaglist.h:
9292           API: add GST_TAG_IMAGE tag (#340721).
9293
9294 2006-05-08  Wim Taymans  <wim@fluendo.com>
9295
9296         * gst/gstquery.c:
9297         Added some docs for the segment query.
9298
9299 2006-05-08  Wim Taymans  <wim@fluendo.com>
9300
9301         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9302         (gst_base_src_loop), (gst_base_src_change_state):
9303         Always push non-flushing serialized events in the streaming 
9304         thread.
9305
9306 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9307
9308         * gst/gsterror.c: (_gst_stream_errors_init):
9309           Add a missing error string.
9310
9311 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
9312
9313         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9314         Add applied_rate to the debug
9315
9316         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9317         Copy applied_rate into the outgoing NEWSEGMENT event
9318
9319 2006-05-08  Wim Taymans  <wim@fluendo.com>
9320
9321         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9322
9323         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9324         (gst_base_sink_change_state):
9325         call ::unlock before taking the PREROLL_LOCK so we can safely
9326         handle elements that lock in ::render.
9327         Fixes #340174.
9328
9329 2006-05-08  Edward Hervey  <edward@fluendo.com>
9330
9331         * autogen.sh: (CONFIGURE_DEF_OPT): 
9332         Darwin's libtoolize is in fact called glibtoolize.
9333         Adding glibtoolize to the list of accepted names for libtoolize.
9334
9335 2006-05-08  Wim Taymans  <wim@fluendo.com>
9336
9337         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9338         Unify error handling, don't post an error message
9339         when a push() returns EOS but perform our normal EOS
9340         handling code. Fixes #340772.
9341
9342 2006-05-08  Wim Taymans  <wim@fluendo.com>
9343
9344         * docs/design/part-overview.txt:
9345         Make upsteam/downstream concepts more clear.
9346         Give an example of serialized/non-serialized events.
9347
9348         * docs/design/part-events.txt:
9349         * docs/design/part-streams.txt:
9350         Mention applied_rate.
9351
9352         * docs/design/part-trickmodes.txt:
9353         Mention applied rate, flesh out some more use cases.
9354
9355         * gst/gstevent.c: (gst_event_new_new_segment),
9356         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9357         (gst_event_parse_new_segment_full), (gst_event_new_tag),
9358         (gst_event_parse_tag), (gst_event_new_buffer_size),
9359         (gst_event_parse_buffer_size), (gst_event_new_qos),
9360         (gst_event_parse_qos), (gst_event_parse_seek),
9361         (gst_event_new_navigation):
9362         * gst/gstevent.h:
9363         Add applied_rate field to NEWSEGMENT event.
9364         API: gst_event_new_new_segment_full()
9365         API: gst_event_parse_new_segment_full()
9366
9367         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9368         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9369         (gst_segment_to_stream_time), (gst_segment_to_running_time):
9370         * gst/gstsegment.h:
9371         Add applied_rate to GstSegment structure.
9372         Make calculation of stream_time and running_time more correct
9373         wrt rate/applied_rate.
9374         Add some more docs.
9375         API: GstSegment::applied_rate field
9376         API: gst_segment_set_newsegment_full();
9377
9378         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9379         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9380         * libs/gst/base/gstbasetransform.c:
9381         (gst_base_transform_sink_eventfunc),
9382         (gst_base_transform_handle_buffer):
9383         Parse and use applied_rate in the GstSegment field.
9384
9385         * tests/check/gst/gstevent.c: (GST_START_TEST):
9386         Add check for applied_rate field.
9387
9388         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9389         (gstsegments_suite):
9390         Add more checks for various GstSegment operations.
9391
9392 2006-05-08  Wim Taymans  <wim@fluendo.com>
9393
9394         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9395         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9396         (gst_base_sink_get_position), (gst_base_sink_change_state):
9397         Store the sync time of the buffer end position separatly in a
9398         new variable eos_rtime so we can properly sync the EOS event.
9399         Fixes #340697.
9400         Fix the docs for gst_base_sink_set_qos_enabled().
9401         Don't set segment start to invalid value when we receive a 
9402         non TIME newsegment.
9403         get closer to handling position reporting for negative rates 
9404         correctly.
9405
9406 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9407
9408         * gst/gstcaps.c:
9409         Docs about how to print caps for debug purposes.
9410
9411         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9412         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9413
9414 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9415
9416         * gst/gstelement.c:
9417           use full enum names and preprend a '%' in docs strings to make recent 
9418           gtk-doc turn that into a link
9419
9420 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9421
9422         * docs/manual/basics-bins.xml:
9423         * docs/manual/basics-bus.xml:
9424         * docs/manual/basics-pads.xml:
9425           Some typo fixes, some additions, some clarifications. 
9426
9427 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9428
9429         * tools/gst-inspect.c: (main):
9430         * tools/gst-launch.c: (main):
9431         * tools/gst-run.c: (main):
9432         * tools/gst-typefind.c: (main):
9433         * tools/gst-xmlinspect.c: (main):
9434           Use the string passed to g_option_context_new() for
9435           what it's intended for - the program name is already
9436           printed elsewhere.
9437
9438 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9439
9440         * tools/Makefile.am:
9441         * tools/gst-inspect.c: (main):
9442         * tools/gst-launch.c: (main):
9443         * tools/gst-xmlinspect.c: (main):
9444         * tools/tools.h:
9445           Add back --version command line option (#340460).
9446
9447         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9448           Add --version option and use GOption for argument parsing; refactor a
9449           bit; accept directories as arguments and recurse into them; lastly,
9450           print a decent error message when things go wrong.
9451
9452 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9453
9454         * docs/manual/basics-bins.xml:
9455         Don't mention GstThread (#340611)
9456         * docs/manual/basics-elements.xml:
9457         Update link to GObject tutorial (#340607)
9458         
9459 2006-05-05  Wim Taymans  <wim@fluendo.com>
9460
9461         * gst/gstbuffer.h:
9462         * gst/gstminiobject.c:
9463         Add note about refcounting and miniobject/buffer writeability
9464         to docs. Fixes #340604
9465
9466         * gst/gstelementfactory.h:
9467         Added some explanation about @klass.
9468
9469 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9470
9471         * docs/manual/intro-motivation.xml:
9472         * docs/manual/manual.xml:
9473         Avoid CORBA & Bonobo references (#340598)
9474
9475 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9476
9477         * docs/manual/basics-bus.xml:
9478         * docs/manual/basics-pads.xml:
9479         Fix up some inaccuracies and omissions (#340609)
9480         
9481 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9482
9483         * gst/gstghostpad.c:
9484           Small typo in docs (#340625)
9485
9486 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9487
9488         * gst/parse/Makefile.am:
9489           Make 'make -j' proof (see #340698).
9490
9491 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9492
9493         * configure.ac:
9494           Require GLib-2.8 here as well.
9495
9496 2006-05-05  Wim Taymans  <wim@fluendo.com>
9497
9498         * gst/glib-compat.c:
9499         * gst/gst.c: (init_pre):
9500         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9501         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9502         (gst_object_dispatch_properties_changed):
9503         * gst/gstobject.h:
9504         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9505         * gst/gststructure.c: (gst_structure_set_valist):
9506         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9507         Remove pre glib2.8 compatibility, fixes #340508
9508
9509 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9510
9511         * gst/gsttaglist.h:
9512           Mention type of tags in doc blurbs.
9513
9514 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
9515
9516         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9517         (gst_pad_configure_src), (gst_pad_push):
9518         Restore acceptcaps checking behaviour now that good plugins have
9519         been released.
9520
9521 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9522
9523         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9524
9525         * gst/gst.c:
9526         * gst/gstbus.c:
9527         * gst/gstclock.c:
9528         * gst/gstevent.c:
9529         * gst/gstformat.c:
9530         * gst/gstmessage.c:
9531         * gst/gstparse.c:
9532         * gst/gstquery.c:
9533         * gst/gstutils.c:
9534         * gst/parse/Makefile.am:
9535         * libs/gst/base/gstadapter.c:
9536         * libs/gst/base/gstbasesrc.c:
9537         * libs/gst/base/gstpushsrc.c:
9538         * libs/gst/base/gsttypefindhelper.c:
9539         * plugins/elements/gstfakesrc.c:
9540         * plugins/elements/gstidentity.c:
9541           Make sure gstprivate.h and/or config.h are
9542           always included first, otherwise some of our
9543           defines (like _FILE_OFFSET_BITS) might be
9544           redefined in the system headers. Fixes build
9545           on opensolaris (#340016).
9546
9547 2006-05-04  Wim Taymans  <wim@fluendo.com>
9548
9549         * docs/libs/gstreamer-libs-sections.txt:
9550         API: addition: gst_adapter_take_buffer()
9551         
9552         * libs/gst/base/gstadapter.c: (gst_adapter_push),
9553         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9554         (gst_adapter_available_fast):
9555         * libs/gst/base/gstadapter.h:
9556         Prepare for optimizing the hell out of this hugely inefficient
9557         piece of code. 
9558         Added gst_adapter_take_buffer() so we can at least start thinking
9559         about subbuffering and merging.
9560         Added some comments.
9561
9562         * tests/check/Makefile.am:
9563         * tests/check/libs/adapter.c: (GST_START_TEST),
9564         (gst_adapter_suite), (main):
9565         Added GstAdapter check.
9566
9567 2006-05-04  Wim Taymans  <wim@fluendo.com>
9568
9569         * docs/design/part-overview.txt:
9570         Fix some typos, add blurb about buffer flags.
9571
9572 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         * docs/libs/gstreamer-libs-sections.txt:
9575           make sure GstBaseTransformClass shows up in the docs
9576         * libs/gst/base/gstbasetransform.c:
9577         * libs/gst/base/gstbasetransform.h:
9578           move docs so gtk-doc picks it up now
9579
9580 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9581
9582         * docs/libs/gstreamer-libs-sections.txt:
9583           add missing symbols to docs
9584
9585 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9586
9587         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9588           back out the newsegment handling change, see #340060 for ongoing
9589           discussion
9590
9591 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
9592
9593         * tools/gst-run.c: (get_candidates), (main):
9594           Fix wrong g_file_test() usage (see glib docs for why it doesn't
9595           work); fix typo in error message. Fixes #340079.
9596
9597 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9598
9599         * common/Makefile.am:
9600         * docs/Makefile.am:
9601         * docs/faq/Makefile.am:
9602         * docs/gst/Makefile.am:
9603         * docs/libs/Makefile.am:
9604         * docs/manual/Makefile.am:
9605         * docs/plugins/Makefile.am:
9606         * docs/pwg/Makefile.am:
9607         * docs/slides/Makefile.am:
9608         * docs/upload.mak:
9609         * common/upload.mak:
9610           move upload.mak to common
9611
9612 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9613
9614         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9615           add more asserts on refcounts
9616           do more cleanup at end of tests
9617           fix test leaks showing in FC5
9618
9619 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
9620
9621         * plugins/elements/gsttypefindelement.c:
9622         (gst_type_find_element_handle_event):
9623         reverted wrong change and reflowed code to avoid others falling into
9624         this trap
9625
9626 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9627
9628         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9629           fix changelog entry about last collectpads change,
9630           add notes about proper fix
9631
9632 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9633
9634         * gst/gst.c:
9635         * gst/gstregistry.c: (gst_registry_scan_path_level),
9636         (gst_registry_scan_path):
9637         * gst/gstregistry.h:
9638           only write out registry if it has changed, fixes #338339
9639
9640 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9641
9642         * gst/gstbin.c:
9643         * gst/gstpipeline.c:
9644         * plugins/elements/gstcapsfilter.c:
9645         * plugins/elements/gstfakesink.c:
9646         * plugins/elements/gstfakesrc.c:
9647         * plugins/elements/gstfdsink.c:
9648         * plugins/elements/gstfdsrc.c:
9649         * plugins/elements/gstfilesink.c:
9650         * plugins/elements/gstfilesrc.c:
9651         * plugins/elements/gstidentity.c:
9652         * plugins/elements/gstqueue.c:
9653         * plugins/elements/gsttee.c:
9654         * plugins/elements/gsttypefindelement.c:
9655         (gst_type_find_element_handle_event):
9656           make GstElementDetails const
9657
9658 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9659
9660         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9661         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9662         (gst_collect_pads_is_collected), (gst_collect_pads_event):
9663           more detailed debug and formatting cleanup,
9664           forward newsegments to src-pad (so that e.g. adder not eats them)
9665
9666 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9667
9668         * gst/gstutils.c: (gst_element_link_pads):
9669           cleanup double code
9670
9671 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9672
9673         * libs/gst/controller/gstcontroller.c:
9674         (gst_controller_sync_values):
9675           some little tuning
9676         * tests/check/libs/controller.c: (GST_START_TEST),
9677         (gst_controller_suite):
9678           a new test for live value handling
9679
9680 2006-04-28  Wim Taymans  <wim@fluendo.com>
9681
9682         * gst/gstutils.c: (push_and_ref):
9683         Added some more docs.
9684         Fix refcount issue whith gst_element_found_tags() helper 
9685         function. Fixes #338335
9686
9687         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9688         Added testsuite for gst_element_found_tags().
9689
9690 2006-04-28  Michael Smith  <msmith@fluendo.com>
9691
9692         * gst/gstvalue.c: (gst_value_serialize_flags):
9693           Avoid NULL dereference when trying to serialize flags containing
9694           invalid values.
9695
9696 2006-04-28  Michael Smith  <msmith@fluendo.com>
9697
9698         * plugins/elements/gsttypefindelement.c:
9699         (gst_type_find_element_handle_event):
9700           If we get EOS before any data is accumulated, don't use
9701           uninitialised local variables.
9702
9703 2006-04-28  Michael Smith  <msmith@fluendo.com>
9704
9705         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9706         (gst_dp_event_from_packet):
9707           Fixes in reading/writing events over GDP (not currently used?) - 
9708           dereferencing NULL events for unknown/invalid event types, memory
9709           leak, and change g_warning to GST_WARNING.
9710
9711 2006-04-28  Wim Taymans  <wim@fluendo.com>
9712
9713         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
9714         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9715         (gst_base_sink_get_position), (gst_base_sink_change_state):
9716         When frame dropping is enabled, we should not ignore frames
9717         without a duration.
9718         Update some documentation.
9719
9720 2006-04-28  Wim Taymans  <wim@fluendo.com>
9721
9722         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9723         (gst_base_src_send_event), (gst_base_src_change_state):
9724         Documentation updates.
9725
9726 2006-04-28  Wim Taymans  <wim@fluendo.com>
9727
9728         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
9729         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
9730         handle EAGAIN, EINTR and short writes correctly. Also clean
9731         up some error cases, avoid a deadlock on bad file descriptors and
9732         use GST_DEBUG_OBJECT.
9733         Fixes #339843
9734
9735 2006-04-28  Wim Taymans  <wim@fluendo.com>
9736
9737         * gst/gstvalue.c: (gst_value_serialize_buffer),
9738         (gst_value_deserialize_buffer):
9739         Don't try to serialize a GValue with a NULL buffer. 
9740         Fixes #339821.
9741
9742         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9743         Added check for serialisation of NULL buffers.
9744
9745 2006-04-28  Wim Taymans  <wim@fluendo.com>
9746
9747         * gst/gstminiobject.c: (gst_value_take_mini_object):
9748         Taking a NULL miniobject is valid, fix the case where
9749         we try to unref the NULL miniobject.
9750
9751 2006-04-28  Wim Taymans  <wim@fluendo.com>
9752
9753         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9754
9755         * gst/gstbin.c: (gst_bin_handle_message_func):
9756         Update docs.
9757         Don't leak bin refcount when a state recalc is
9758         in progress and we delay another one #339808.
9759
9760 2006-04-28  Wim Taymans  <wim@fluendo.com>
9761
9762         * docs/design/part-TODO.txt:
9763         Mention QoS as an ongoing work item.
9764
9765         * docs/design/part-buffering.txt:
9766         New doc about buffering that needs to be fleshed out
9767         at some point.
9768
9769         * docs/design/part-qos.txt:
9770         More QoS policy for decoders/demuxers/transforms
9771
9772         * docs/design/part-trickmodes.txt:
9773         Small update.
9774
9775 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9776
9777         * configure.ac:
9778           back to HEAD
9779
9780 === release 0.10.5 ===
9781
9782 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
9783
9784         * configure.ac:
9785           releasing 0.10.5, "Fogo"
9786
9787 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9788
9789         patch by: Wim Taymans
9790
9791         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9792         (gst_pad_configure_src), (gst_pad_push):
9793         * gst/gstpipeline.c: (gst_pipeline_init):
9794           Fix internal data flow errors.  Fixes #338711.
9795
9796 2006-04-12  Wim Taymans  <wim@fluendo.com>
9797
9798         * tests/check/gst/gstelement.c: (GST_START_TEST):
9799         Don't leak the factory.
9800
9801 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9802
9803         * configure.ac:
9804         * win32/common/config.h:
9805           prerelease
9806
9807 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9808
9809         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9810         (gst_controller_unset_all):
9811           Free allocated GstTimedValues when freeing list nodes.
9812           Should fix leaks 'make check-valgrind' complains about.
9813
9814         * win32/common/libgstcontroller.def:
9815           Add gst_controller_unset_all.
9816
9817 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
9818
9819         * docs/libs/gstreamer-libs-sections.txt:
9820         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9821         (gst_controller_unset_all):
9822         * libs/gst/controller/gstcontroller.h:
9823         API: Added new method gst_controller_unset_all()
9824         fixed gst_controller_unset()
9825         * tests/check/libs/controller.c: (GST_START_TEST),
9826         (gst_controller_suite):
9827         Added two testcases for new and fixed method
9828
9829 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
9830
9831         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9832           MSG_DONTWAIT is not defined on Cygwin, so work
9833           around that (fixes #317048).
9834           
9835 2006-04-11  Wim Taymans  <wim@fluendo.com>
9836
9837         * gst/gstelementfactory.c: (gst_element_register),
9838         (gst_element_factory_create), (gst_element_factory_make):
9839         Some cleanups.
9840         Fixed a FIXME.
9841         Updated docs (Fixes #131079)
9842
9843         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9844         Small cleanups.
9845
9846         * tests/check/gst/gstelement.c: (GST_START_TEST),
9847         (gst_element_suite):
9848         Added testcase for elementfactory class field.
9849
9850 2006-04-10  Wim Taymans  <wim@fluendo.com>
9851
9852         * gst/gstsegment.c:
9853         Added some more docs.
9854
9855         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
9856         (gst_base_sink_reset_qos):
9857         Calculate more accurate rate values.
9858
9859 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
9860
9861         * gst/gst_private.h:
9862           add a new #ifdef to use __declspec(dllimport) only for
9863           other modules and not for gstreamer core
9864         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
9865           use gst_guint64_to_gdouble for conversion
9866         * win32/common/libgstreamer.def:
9867           add new exported functions
9868         * win32/vs6/gst_inspect.dsp:
9869         * win32/vs6/gst_launch.dsp:
9870         * win32/vs6/libgstbase.dsp:
9871         * win32/vs6/libgstcontroller.dsp:
9872         * win32/vs6/libgstcoreelements.dsp:
9873         * win32/vs6/libgstdataprotocol.dsp:
9874         * win32/vs6/libgstnet.dsp:
9875           update project files
9876
9877 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9878
9879         * gst/gstbuffer.c: (gst_subbuffer_class_init):
9880         * gst/gstclock.c: (gst_clock_class_init):
9881         * gst/gstelement.c: (gst_element_class_init):
9882         * gst/gstindex.c: (gst_index_class_init):
9883         * gst/gstindexfactory.c: (gst_index_factory_class_init):
9884         * gst/gstobject.c: (gst_object_class_init),
9885         (gst_signal_object_class_init):
9886         * gst/gstpad.c: (gst_pad_class_init):
9887         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
9888         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
9889         * gst/gstregistry.c: (gst_registry_class_init):
9890         * gst/gstsystemclock.c: (gst_system_clock_class_init):
9891         * gst/gsttask.c: (gst_task_class_init):
9892         * gst/gstxml.c: (gst_xml_class_init):
9893         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9894         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9895         (gst_base_src_loop):
9896         * libs/gst/controller/gstcontroller.c:/
9897         (_gst_controller_class_init):
9898         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9899         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
9900         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
9901         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9902         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9903         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
9904
9905 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
9906
9907         * gst/gstpad.c: (gst_pad_link):
9908           Must set peer pads before calling the link function, otherwise
9909           a task started from a link function might get a flow-not-linked
9910           result when trying to push because the other thread where the
9911           linking happens hasn't had a chance to set the peers yet. This
9912           might happen for example when a queue gets linked to a downstream
9913           element, as queue starts a streaming task when its source pad
9914           gets linked. Happens in real life when playing back flac/musepack
9915           files in playbin (#332390).
9916           
9917 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9918
9919         * gst/gstindex.h:
9920         * gst/gstxml.h:
9921         * libs/gst/base/gstadapter.h:
9922         * libs/gst/base/gstbasesink.h:
9923         * libs/gst/base/gstbasesrc.h:
9924         * libs/gst/base/gstbasetransform.h:
9925         * libs/gst/base/gstcollectpads.h:
9926         * libs/gst/base/gstpushsrc.h:
9927         Fix broken GObject macros
9928
9929 2006-04-07  Wim Taymans  <wim@fluendo.com>
9930
9931         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9932         Initialize start and stop times, thanks valgrind.
9933
9934 2006-04-07  Wim Taymans  <wim@fluendo.com>
9935
9936         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9937         Be a bit nicer to badly behaving upstream elements that expect
9938         us to deal with non TIME segments and timestamps (such as fakesrc
9939         in the testsuite).
9940
9941 2006-04-07  Wim Taymans  <wim@fluendo.com>
9942
9943         * gst/gstbus.c:
9944         Small documentation clarification about the signal watch.
9945
9946         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9947         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9948         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9949         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9950         (gst_base_sink_get_position_last),
9951         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9952         Convert and store timestamps in stream time and running time, the
9953         raw timestamps are not useful, also document this better.
9954         Use different window sizes for good and bad QoS observations so
9955         we react to badness a little quicker.
9956         Keep track of the amount of rendered and dropped buffers.
9957         Send QoS timestamps in running time.
9958
9959         * libs/gst/base/gstbasetransform.c:
9960         (gst_base_transform_sink_eventfunc),
9961         (gst_base_transform_handle_buffer):
9962         Compare QoS timestamps against running time.
9963
9964 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9965
9966         * gst/gstpad.c:
9967           Typo fixes in docs.
9968
9969 2006-04-06  Michael Smith  <msmith@fluendo.com>
9970
9971         * gst/gstpad.c: (gst_pad_set_property):
9972           Use g_value_get_object() instead of g_value_dup_gst_object(),
9973           to avoid double-reffing the pad template (which we then sink,
9974           so this worked previously if (and only if) the pad template
9975           was floating.
9976
9977         * gst/gstpadtemplate.c: (gst_pad_template_init),
9978         (gst_pad_template_pad_created):
9979           Never return floating references to pad templates, create
9980           them as initially-sunken.
9981
9982           Document an extra function (and make this stop sinking our
9983           pad template, since that is now guaranteed to do nothing,
9984           since we created it sunken).
9985
9986         * gst/gstghostpad.c:
9987           Fix docs typo.
9988
9989 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9990
9991         * gst/gstinfo.c: (__gst_in_valgrind):
9992           Add some newlines.
9993
9994         * plugins/elements/gsttypefindelement.c:
9995         (gst_type_find_element_chain):
9996           Don't leak buffer caps.
9997
9998 2006-04-06  Michael Smith  <msmith@fluendo.com>
9999
10000         * gst/parse/grammar.y:
10001           Fix a leak in parse-launch for any source-or-sink named element 
10002           references used.
10003
10004         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10005           Unref the pipeline if it exists after we've failed parsing.
10006
10007 2006-04-05  Michael Smith  <msmith@fluendo.com>
10008
10009         * gst/gstpipeline.c: (gst_pipeline_init):
10010           When we create a pipeline bus, initially create it in flushing mode.
10011           Fixes leaks in at least one test, and makes a new pipeline work the
10012           same as one that has gone to READY and then back to NULL.
10013
10014         * gst/gstelement.c:
10015           Typo fix in docs.
10016
10017 2006-04-05  Michael Smith  <msmith@fluendo.com>
10018
10019         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10020           Unref a pad we reffed.
10021         * tests/check/gst/gstutils.c: (GST_START_TEST):
10022           Unref bins
10023
10024 2006-04-05  Michael Smith  <msmith@fluendo.com>
10025
10026         * gst/gstquery.c: (gst_query_set_formats),
10027         (gst_query_set_formatsv):
10028           Fix leaking GValues in queries, as shown by valgrind/testsuite.
10029
10030 2006-04-05  Michael Smith  <msmith@fluendo.com>
10031
10032         * tests/check/generic/sinks.c: (GST_START_TEST):
10033           Fix a variety of memleaks in sinks check, which are only sometimes 
10034           shown by running the tests under valgrind (weird?).
10035
10036 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
10037
10038         * docs/version.entities.in:
10039           Fix the substituted entity name after thomas' changes on the
10040           weekend.
10041
10042 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10043
10044         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
10045         VALGRIND_PRINTF
10046         
10047 2006-04-05  Andy Wingo  <wingo@pobox.com>
10048
10049         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
10050
10051         * libs/gst/base/gstbasetransform.c
10052         (gst_base_transform_sink_eventfunc): When resetting our segment on
10053         FLUSH_STOP, also update the flag saying we haven't seen a
10054         newsegment.
10055
10056 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10057
10058         Patch by: Paolo Borelli  <pborelli at katamail dot com>
10059
10060         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10061         (gst_plugin_check_license):
10062           minor clean-ups: G_DEFINE_TYPE already takes care of the
10063           parent_class stuff, no need to do it twice. Mark array of
10064           license strings as constant. (#337103)
10065           
10066 2006-04-04  Michael Smith  <msmith@fluendo.com>
10067
10068         * tools/gst-inspect.c: (print_element_list):
10069           Free the right plugin list; fixes a memory leak.
10070
10071 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10072
10073         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
10074
10075         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10076           Don't error out on empty buffers (#336945).
10077           
10078 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
10079
10080         * docs/libs/gstreamer-libs-sections.txt:
10081         * gst/gsttaglist.c:
10082         * libs/gst/base/gstbasesink.c:
10083         * libs/gst/base/gstbasesink.h:
10084         * libs/gst/base/gstbasesrc.c:
10085         * libs/gst/base/gstbasesrc.h:
10086           Documentation updates. Make BaseSink and BaseSrc docs contain the
10087           class structure so that people can actually see the prototypes for
10088           virtual functions they're supposed to be overriding.
10089
10090 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10091
10092         * plugins/elements/gsttypefindelement.c:
10093         (gst_type_find_element_chain):
10094           More debug info; when skipping typefinding, send cached
10095           events in all cases.
10096
10097 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * configure.ac:
10100           use new AS_VERSION and AS_NANO macros
10101         * gst/gst-i18n-lib.h:
10102         * gst/gst.c:
10103         * gst/gsterror.c:
10104         * gst/gstversion.h.in:
10105         * win32/common/config.h:
10106         * win32/common/config.h.in:
10107           update accordingly
10108
10109 2006-03-31  Michael Smith  <msmith@fluendo.com>
10110
10111         * plugins/elements/gsttypefindelement.c:
10112         (gst_type_find_element_chain):
10113           Do not typefind content if the buffers already have caps.
10114           Neccesary for icydemux (#333657), and the right thing to do anyway.
10115
10116 2006-03-30  Wim Taymans  <wim@fluendo.com>
10117
10118         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10119         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
10120         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
10121         (gst_base_sink_record_qos_observation),
10122         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10123         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10124         (gst_base_sink_change_state):
10125         More QoS measurements as described in the design doc.
10126         Get rid of ringbuffer with observations, running average is
10127         more simple and equally good.
10128         Calculates valid proportion now.
10129         Added beginning of flood measurement.
10130
10131 2006-03-29  Wim Taymans  <wim@fluendo.com>
10132
10133         * docs/design/part-qos.txt:
10134         * gst/gstclock.c:
10135         Small documentation updates and additions.
10136
10137 2006-03-29  Wim Taymans  <wim@fluendo.com>
10138
10139         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10140         (gst_base_src_send_event), (gst_base_src_loop),
10141         (gst_base_src_change_state):
10142         Perform the EOS logic when we reach the segment stop position.
10143         Fix compilation on gcc4.1
10144
10145 2006-03-29  Wim Taymans  <wim@fluendo.com>
10146
10147         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
10148
10149         * plugins/elements/gstqueue.c: (gst_queue_init),
10150         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10151         (gst_queue_set_property):
10152         * plugins/elements/gstqueue.h:
10153         In queue, when EOS is received, if minimum threshold > max_size -
10154         current_level, there is chance that queue blocks forever in conditional
10155         item del wait. This is because the queue is not emptied completely due
10156         to minimum threshold.  Here is another approach. Instead of setting
10157         cur_levels to max in EOS, just zero all minimum threshold levels. This
10158         should make sure that queue gives out all data. When going to READY
10159         (stop) state, just reset the original minimum threshold levels.
10160         Fixes #336336.
10161
10162 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
10163
10164         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
10165         (gst_type_find_element_handle_event),
10166         (gst_type_find_element_send_cached_events),
10167         (gst_type_find_element_change_state):
10168         * plugins/elements/gsttypefindelement.h:
10169           When typefinding is done in push mode, we should cache
10170           events we receive during typefinding instead of just
10171           dropping them (e.g. newsegment, custom events from
10172           dvdreadsrc etc.) and then send them out once we've
10173           determined the type of the stream (and decodebin
10174           has had a chance to plug in a decoder/demuxer).
10175           
10176 2006-03-27  Wim Taymans  <wim@fluendo.com>
10177
10178         * docs/design/part-qos.txt:
10179         First QoS ideas.
10180
10181 2006-03-27  Wim Taymans  <wim@fluendo.com>
10182
10183         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
10184
10185         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10186         (gst_base_src_send_event), (gst_base_src_change_state):
10187         Handle element seek correctly when we are streaming.
10188         Fixes #326998.
10189
10190 2006-03-24  Michael Smith  <msmith@fluendo.com>
10191
10192         * docs/faq/gst-uninstalled:
10193           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
10194           allow you to correctly run intalled applications built against old 
10195           core, using plugins that require updated core (e.g. running
10196           installed totem against a full uninstalled gstreamer stack)
10197
10198 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10199
10200         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10201         more debug details
10202
10203 2006-03-24  Wim Taymans  <wim@fluendo.com>
10204
10205         * docs/gst/gstreamer-sections.txt:
10206         Rearrange the order of the methods so that related methods
10207         are grouped together in sections.
10208
10209 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10210
10211         * gst/gstelement.c:
10212           Little clarification in the docs
10213
10214 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10215
10216         * docs/README:
10217         formatting fix
10218         * plugins/elements/gstidentity.c:
10219         * plugins/elements/gstqueue.c:
10220         * plugins/elements/gsttee.c:
10221         * plugins/elements/gsttypefindelement.c:
10222         GST_ELEMENT_DETAILS formatting
10223
10224 2006-03-24  Wim Taymans  <wim@fluendo.com>
10225
10226         * libs/gst/base/gstbasesink.h:
10227         Only add fields, not insert or we break ABI.
10228
10229 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10230
10231         * win32/common/libgstbase.def:
10232         * win32/common/libgstreamer.def:
10233           Update, add recently added functions.
10234
10235 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10236
10237         * docs/gst/gstreamer-sections.txt:
10238         * gst/gstutils.c: (gst_pad_query_peer_position),
10239         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10240         * gst/gstutils.h:
10241           API: add some new utility functions:
10242            - gst_pad_query_peer_position()
10243            - gst_pad_query_peer_duration()
10244            - gst_pad_query_peer_convert()
10245           
10246 2006-03-23  Wim Taymans  <wim@fluendo.com>
10247
10248         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10249         (gst_base_sink_init), (gst_base_sink_finalize),
10250         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10251         (gst_base_sink_set_property), (gst_base_sink_get_property),
10252         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10253         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10254         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10255         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10256         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10257         (gst_base_sink_preroll_object), (gst_base_sink_event),
10258         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10259         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10260         (gst_base_sink_query), (gst_base_sink_change_state):
10261         Decouple max-lateness and the fact that QoS messages are generated
10262         with a new property (qos).
10263         added API: GstBaseSink::async_play()
10264         Add vmethod so subclasses can be notified of ASYNC playing
10265         state changes.
10266         Collect timestamp start and stop to report better current
10267         position in EOS/PLAYING/PAUSED/READY/NULL.
10268         Refactor QoS/frame dropping and other measurements.
10269         API: GstBaseSrc::qos
10270         Fixes #326311
10271
10272         * libs/gst/base/gstbasesink.h:
10273         Added Private struct.
10274         API: gst_base_sink_set_qos_enabled()
10275         API: gst_base_sink_is_qos_enabled()
10276
10277 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10278
10279         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10280           If compiling against GLib-2.8 or newer, try to read the
10281           registry file using GMappedFile first before falling back
10282           to fopen() + fread() (#332151).
10283
10284 2006-03-22  Wim Taymans  <wim@fluendo.com>
10285
10286         * gst/gstinfo.c: (gst_debug_set_active),
10287         (gst_debug_category_set_threshold):
10288         Disable debugging unless explicitly activated.
10289         Fixes #335480.
10290
10291 2006-03-22  Wim Taymans  <wim@fluendo.com>
10292
10293         * gst/gstelement.c: (gst_element_set_locked_state),
10294         (gst_element_dispose):
10295         Cleanup the error case.
10296
10297         * gst/gstobject.c: (gst_object_dispose):
10298         print a critical when some object was disposed with
10299         a parent, also revive the object since it might
10300         crash the parent.
10301
10302 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
10303
10304         * tools/gst-launch.1.in:
10305           Fix another typo.
10306
10307 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * configure.ac:
10310         * tests/check/Makefile.am:
10311           disable some tests when we don't have a registry
10312         * tests/check/gst/gstutils.c: (gst_utils_suite):
10313           don't build the part that needs parsing
10314
10315 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10316
10317         * gst/Makefile.am
10318         * tests/examples/Makefile.am:
10319           fix --disable-parse build
10320
10321 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10322
10323         * tools/gst-feedback.1.in:
10324           Fix typo: s/feeback/feedback/ (#133494).
10325
10326 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10327
10328         * tools/Makefile.am:
10329         * tools/gst-launch.1.in:
10330           Add FILES section and correct entry about GST_REGISTRY_PATH
10331           environment variable (#133495; #133494).
10332
10333 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10334
10335         * tools/Makefile.am:
10336         * tools/gst-md5sum.1.in:
10337         * tools/gst-md5sum.c:
10338           Remove gst-md5sum and man page (the md5sink element
10339           required was removed ages ago)
10340
10341 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10342
10343         * gst/gststructure.c: (gst_structure_id_set_value):
10344           Make sure that string fields in structures/taglists
10345           contain valid UTF-8 - we don't want to pass rubbish to
10346           applications because of a buggy plugin (cp. #334167).
10347
10348 2006-03-21  Edward Hervey  <edward@fluendo.com>
10349
10350         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10351         (gst_bin_handle_message_func):
10352         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10353         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10354         (gst_element_set_bus_func):
10355         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10356         * gst/gstminiobject.c: (gst_value_set_mini_object),
10357         (gst_value_take_mini_object):
10358         * gst/gstpad.c: (gst_pad_set_pad_template):
10359         * gst/gstpipeline.c: (gst_pipeline_dispose),
10360         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10361         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10362         (gst_collect_pads_chain):
10363         * libs/gst/net/gstnettimeprovider.c:
10364         (gst_net_time_provider_set_property):
10365         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10366         It's in fact all issues with gst_*object_replace().
10367
10368 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10369
10370         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
10371         
10372         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10373         * pkgconfig/gstreamer-check.pc.in:
10374           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10375
10376 2006-03-21  Edward Hervey  <edward@fluendo.com>
10377
10378         * gst/gstbuffer.h:
10379         * gst/gstevent.h:
10380         * gst/gstmessage.h:
10381         gst_[buffer|event|message]_ref() macros are replaced by a static
10382         inline functions because gcc-4.1 will about if the return value
10383         isn't used.
10384         * tests/check/gst/gstevent.c: (event_probe):
10385         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10386
10387 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
10388
10389         * gst/gstutils.h:
10390         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10391         the type' case. (Closes: #335195 for now). In the future, when we
10392         depend on GLib 2.10, we could also intern the type name using
10393         g_intern_static_string()
10394
10395 2006-03-20  Wim Taymans  <wim@fluendo.com>
10396
10397         * gst/gstbin.c: (gst_bin_handle_message_func),
10398         (bin_query_max_init), (bin_query_position_fold),
10399         (bin_query_position_done), (gst_bin_query):
10400         Position query should also take max of all streams.
10401
10402 2006-03-20  Wim Taymans  <wim@fluendo.com>
10403
10404         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10405         (gst_fake_src_finalize):
10406         Fix leaks in fakesrc.
10407
10408         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10409         Fix leaks in the testcase.
10410
10411 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
10412
10413         * gst/gst_private.h:
10414           add win32 specific import decoration(__declspec(dllimport)) 
10415           for all extern GstDebugCategory * variables
10416         * win32/common/libgstbase.def:
10417         * win32/common/libgstcontroller.def:
10418         * win32/common/libgstreamer.def:
10419           Add some exports, remove empty lines
10420         * win32/common/libgstdataprotocol.def:
10421         * win32/common/libgstdataprotocol.dsp:
10422         * win32/common/libgstnet.def:
10423         * win32/common/libgstnet.dsp:
10424           new project files and exportation files added
10425         
10426 2006-03-19  Wim Taymans  <wim@fluendo.com>
10427
10428         * tests/check/libs/basesrc.c: (eos_event_counter):
10429         Use proper return value for probe.
10430
10431 2006-03-17  Wim Taymans  <wim@fluendo.com>
10432
10433         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10434         (gst_pad_push):
10435         Don't leak buffers, caps and pads on negotiation errors.
10436
10437 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
10438
10439         * docs/faq/cvs.xml:
10440         * docs/faq/dependencies.xml:
10441         * docs/faq/developing.xml:
10442         * docs/faq/faq.xml:
10443         * docs/faq/general.xml:
10444         * docs/faq/getting.xml:
10445         * docs/faq/legal.xml:
10446         * docs/faq/troubleshooting.xml:
10447         * docs/faq/using.xml:
10448         Faq review and update.
10449
10450 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
10451
10452         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10453         (gst_pad_push):
10454         Don't pound the cpu to pieces by checking get_caps when accept_caps
10455         is called with the same caps as the pad already has.
10456         Use GST_DEBUG_OBJECT when outputting caps change information.
10457
10458 2006-03-15  Wim Taymans  <wim@fluendo.com>
10459
10460         * gst/gstclock.c: (gst_clock_class_init):
10461         Fix docs.
10462
10463 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
10464
10465         * gst/gstbuffer.h:
10466         Documentation fix.
10467
10468         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10469         (gst_pad_accept_caps), (gst_pad_configure_sink),
10470         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10471         Make the default acceptcaps behaviour be to check the requested 
10472         caps against the gst_pad_get_caps output. 
10473
10474         Ensure that gst_pad_accept_caps is used to check caps when a pad
10475         doesn't have a setcaps function, so that pads automatically refuse 
10476         caps that they don't allow in their pad template. (Fixes #332986)
10477
10478         When a buffer with attached caps is pushed, ensure that the source 
10479         pad receives those caps even if the element didn't call
10480         gst_pad_set_caps first.
10481
10482 2006-03-15  Wim Taymans  <wim@fluendo.com>
10483
10484         * libs/gst/base/gstadapter.c:
10485         Add some docs.
10486
10487 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
10488
10489         * win32/common/libgstbase.def:
10490         * win32/common/libgstcontroller.def:
10491         * win32/common/libgstreamer.def:
10492           Add a whole bunch of missing functions (#334434).
10493
10494 2006-03-14  Wim Taymans  <wim@fluendo.com>
10495
10496         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10497         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10498         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10499         Better debug info when we receive a segment event.
10500         Reorganize a bit so we can pass the get_times() results around.
10501         Use the segment format when calculating the running time.
10502         Don't do QoS is sync is disabled or we have no clock or the
10503         element does not want us to sync to the clock.
10504         Don't drop buffers if QoS is disabled for now.
10505
10506 2006-03-14  Wim Taymans  <wim@fluendo.com>
10507
10508         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10509         Marked the stats property as unimplemented so people don't get
10510         wild ideas.
10511         Add debug message when regression goes wrong.
10512         Added some more docs.
10513
10514 2006-03-14  Wim Taymans  <wim@fluendo.com>
10515
10516         * gst/gstsegment.c: (gst_segment_to_stream_time):
10517         Return correct return type in case of errors.
10518
10519 2006-03-14  Wim Taymans  <wim@fluendo.com>
10520
10521         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10522           Don't segfault on invalid formats.
10523
10524 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10525
10526         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10527           Can't use gst_segment_to_running_time() when the segment
10528           is not in GST_TIME_FORMAT (like with filesink, for example).
10529           Stops flac encoding pipelines from spewing critical warnings
10530           at EOS (#331248).
10531           
10532 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10533
10534         * gst/gstpipeline.c: (gst_pipeline_class_init):
10535           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10536
10537         * plugins/elements/gsttypefindelement.c:
10538         (gst_type_find_element_handle_event):
10539           Don't try to typefind empty streams.
10540
10541 2006-03-14  Wim Taymans  <wim@fluendo.com>
10542
10543         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10544         (gst_base_sink_do_qos):
10545         Separate QoS calculation.
10546         Only drop buffers when lateness is bigger than the 
10547         duration of the buffer.
10548
10549 2006-03-13  Wim Taymans  <wim@fluendo.com>
10550
10551         * gst/gstpipeline.c: (gst_pipeline_set_property),
10552         (gst_pipeline_get_property), (do_pipeline_seek),
10553         (gst_pipeline_change_state), (gst_pipeline_set_delay),
10554         (gst_pipeline_get_delay):
10555         Don't deadlock when reading properties.
10556
10557 2006-03-13  Wim Taymans  <wim@fluendo.com>
10558
10559         * libs/gst/base/gstbasetransform.c:
10560         (gst_base_transform_class_init), (gst_base_transform_init),
10561         (gst_base_transform_sink_event),
10562         (gst_base_transform_sink_eventfunc),
10563         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10564         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10565         (gst_base_transform_set_property),
10566         (gst_base_transform_get_property),
10567         (gst_base_transform_change_state), (gst_base_transform_update_qos),
10568         (gst_base_transform_set_qos_enabled),
10569         (gst_base_transform_is_qos_enabled):
10570         * libs/gst/base/gstbasetransform.h:
10571         Make basetransform virtual method for src events too.
10572         Handle QOS in basetransform.
10573         API: gst_base_transform_update_qos()
10574         API: gst_base_transform_set_qos_enabled()
10575         API: gst_base_transform_is_qos_enabled()
10576
10577 2006-03-13  Wim Taymans  <wim@fluendo.com>
10578
10579         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10580         (gst_base_sink_do_sync):
10581         Small cleanups.
10582         Use QOS debug category.
10583
10584 2006-03-13  Wim Taymans  <wim@fluendo.com>
10585
10586         * plugins/elements/gstqueue.c:
10587         Very small doc update.
10588
10589 2006-03-13  Wim Taymans  <wim@fluendo.com>
10590
10591         * gst/gst_private.h:
10592         * gst/gstinfo.c: (_gst_debug_init):
10593         Added QOS debug category
10594
10595 2006-03-13  Wim Taymans  <wim@fluendo.com>
10596
10597         * docs/gst/gstreamer-sections.txt:
10598         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10599         * gst/gstbin.h:
10600         * gst/gstbus.c: (gst_bus_class_init):
10601         * gst/gstbus.h:
10602         * gst/gstclock.c:
10603         * gst/gstelement.c: (gst_element_set_locked_state):
10604         * gst/gstsegment.c:
10605         Documentation updates.
10606
10607         * gst/gstpipeline.c: (gst_pipeline_get_type),
10608         (gst_pipeline_class_init), (gst_pipeline_init),
10609         (gst_pipeline_dispose), (gst_pipeline_set_property),
10610         (gst_pipeline_get_property), (do_pipeline_seek),
10611         (gst_pipeline_send_event), (gst_pipeline_change_state),
10612         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10613         (gst_pipeline_get_delay):
10614         * gst/gstpipeline.h:
10615         Added methods for setting the delay.
10616         API: gst_pipeline_set_delay()
10617         API: gst_pipeline_get_delay()
10618         Add pipeline debug category
10619         Various cleanups.
10620         Updated docs.
10621         Don't reset stream time when seek failed.
10622
10623 2006-03-13  Wim Taymans  <wim@fluendo.com>
10624
10625         * docs/design/draft-klass.txt:
10626         * docs/design/part-clocks.txt:
10627         * docs/design/part-events.txt:
10628         * docs/design/part-gstbin.txt:
10629         * docs/design/part-gstpipeline.txt:
10630         * docs/design/part-messages.txt:
10631         * docs/design/part-negotiation.txt:
10632         * docs/design/part-overview.txt:
10633         * docs/design/part-preroll.txt:
10634         * docs/design/part-seeking.txt:
10635         * docs/design/part-states.txt:
10636         * docs/design/part-streams.txt:
10637         Documentation updates.
10638
10639 2006-03-12  Julien MOUTTE  <julien@moutte.net>
10640
10641         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10642         us to leak strings...
10643
10644 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10645
10646         * libs/gst/net/gstnettimeprovider.c:
10647           fix docs
10648         * win32/common/config.h:
10649           update
10650
10651 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
10652
10653         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10654
10655         * configure.ac:
10656           Don't check for libgnomeui (leftover from old examples
10657           that aren't built or disted any longer) (#334303).
10658           
10659 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
10660
10661         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10662         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10663           Emit RESOURCE_NO_SPACE_LEFT error here as well when
10664           there's no space left on the device.
10665
10666 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
10667
10668         * gst/gstclock.h:
10669           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10670           to cast the input to GstClockTime before comparing with
10671           another GstClockTime value.
10672
10673 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10674
10675         * configure.ac:
10676           back to trunk
10677
10678 === release 0.10.4 ===
10679
10680 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
10681
10682         * configure.ac:
10683           releasing 0.10.4, "Light"
10684
10685 2006-03-10  Michael Smith  <msmith@fluendo.com>
10686
10687         * libs/gst/dataprotocol/dataprotocol.c:
10688           Fix docs for dataprocotol to not get the return types completely
10689           wrong for a few functions.
10690
10691 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10692
10693         * docs/gst/gstreamer-sections.txt:
10694         * gst/gstpipeline.c: (gst_pipeline_class_init),
10695         (gst_pipeline_init), (gst_pipeline_set_property),
10696         (gst_pipeline_get_property), (gst_pipeline_change_state),
10697         (gst_pipeline_set_auto_flush_bus),
10698         (gst_pipeline_get_auto_flush_bus):
10699         * gst/gstpipeline.h:
10700           Add new API: gst_pipeline_set_auto_flush_bus() and
10701           gst_pipeline_get_auto_flush_bus() to disable automatic
10702           flushing of the pipeline's GstBus when going from READY
10703           to NULL state (#332045).
10704
10705 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10706
10707         * docs/gst/gstreamer-sections.txt:
10708         * gst/gsturi.c: (gst_uri_has_protocol):
10709         * gst/gsturi.h:
10710            Add new API: gst_uri_has_protocol() (#333779).
10711
10712 2006-03-09  Wim Taymans  <wim@fluendo.com>
10713
10714         * gst/gstclock.c: (gst_clock_entry_new),
10715         (gst_clock_id_compare_func), (gst_clock_id_wait),
10716         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
10717         (gst_clock_init), (gst_clock_get_internal_time),
10718         (gst_clock_set_master), (do_linear_regression),
10719         (gst_clock_add_observation), (gst_clock_set_property):
10720         * gst/gstclock.h:
10721         Review docs.
10722         Small cleanups.
10723         Fix a possible segfault when the window-size is made smaller.
10724         Calculate jitter before performing the clock wait. Ideally
10725         the clock implementation should calculate jitter but we need
10726         API breakage for that.
10727
10728         * gst/gstsystemclock.c: (gst_system_clock_init):
10729         Docs review.
10730         
10731         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10732         Remove leftover else
10733
10734         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
10735         (gst_systemclock_suite):
10736         Added check to test GST_CLOCK_DIFF.
10737
10738 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10739
10740         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
10741         (gst_type_find_helper_get_range):
10742           If we are provided with the size, we should implement
10743           GstTypeFind::get_length, so that typefind functions who
10744           want to can actually peek at the middle of a file.
10745
10746 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
10747
10748         * docs/manual/advanced-dataaccess.xml:
10749           Add some very very basic error checking.
10750
10751         * docs/pwg/appendix-checklist.xml:
10752           Some updates to the list of things to check when writing an element.
10753
10754 2006-03-08  Wim Taymans  <wim@fluendo.com>
10755
10756         * docs/design/part-element-transform.txt:
10757         Added some docs about the design of tranform elements.
10758
10759         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10760         (gst_base_src_loop), (gst_base_src_change_state):
10761         Mark buffers with the DISCONT flag.
10762
10763 2006-03-08  Michael Smith  <msmith@fluendo.com>
10764
10765         * gst/gstregistry.h:
10766         * gst/gstregistryxml.c: (gst_registry_save),
10767         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
10768         (gst_registry_xml_save_pad_template),
10769         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
10770         (gst_registry_xml_write_cache):
10771           Rewrite registry-saving to avoid race conditions and check for
10772           failed writes.
10773
10774 2006-03-08  Wim Taymans  <wim@fluendo.com>
10775
10776         * libs/gst/base/gstbasetransform.c:
10777         (gst_base_transform_transform_caps),
10778         (gst_base_transform_transform_size),
10779         (gst_base_transform_prepare_output_buffer),
10780         (gst_base_transform_get_unit_size),
10781         (gst_base_transform_buffer_alloc),
10782         (gst_base_transform_handle_buffer),
10783         (gst_base_transform_change_state):
10784         Cleanups, separate normal flow from errors, add sensible
10785         DEBUG lines.
10786         Don't try to renegotiate when allocating an output buffer.
10787         Also copy DISCONT buffer flag when copying a buffer.
10788         Reset the transform after we finish streaming, not during.
10789
10790 2006-03-08  Wim Taymans  <wim@fluendo.com>
10791
10792         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10793         Use last buffer timestamp in qos message.
10794
10795 2006-03-07  Wim Taymans  <wim@fluendo.com>
10796
10797         Patch by: Christophe Fergeau
10798
10799         * docs/pwg/advanced-tagging.xml:
10800         * docs/pwg/building-pads.xml:
10801           fixes #333416
10802
10803 2006-03-07  Wim Taymans  <wim@fluendo.com>
10804
10805         * docs/libs/gstreamer-libs-sections.txt:
10806         Added basesink new methods.
10807
10808         * gst/gstevent.c:
10809         * gst/gstevent.h:
10810         Docs updates. Flesh out the QoS docs.
10811
10812         * libs/gst/base/gstadapter.c:
10813         Small doc clarification about ownership and flushing.
10814
10815         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
10816         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
10817         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
10818         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10819         * libs/gst/base/gstbasesink.h:
10820         API additions: 
10821         Added new methods to allow subclass to control max-lateness 
10822         and sync.
10823         Generate very basic QoS events based on last sync observation.
10824         Updated docs, fix typo, added some QoS blurb.
10825
10826         * libs/gst/base/gstbasesrc.c:
10827         Remove obsolete _get_state() calls from docs.
10828
10829 2006-03-07  Wim Taymans  <wim@fluendo.com>
10830
10831         * docs/libs/gstreamer-libs-sections.txt:
10832         * libs/gst/base/gstbasetransform.h:
10833         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
10834         Fix docs for GstBaseSrc.
10835
10836 2006-03-07  Wim Taymans  <wim@fluendo.com>
10837
10838         * docs/gst/gstreamer-sections.txt:
10839         * gst/gstbuffer.h:
10840         * gst/gstvalue.c:
10841         * libs/gst/base/gstbasetransform.h:
10842         Small documentation fixes.
10843
10844 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10845
10846         * gst/gstvalue.c:
10847           Document thread-unsafety of gst_value_register_foo_func()
10848           when used at the same time as gst_value_foo() (#322628).
10849
10850 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10851
10852         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
10853         (gst_push_src_check_get_range):
10854           Push sources don't support pull mode by default.
10855
10856 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10857
10858         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10859         (gst_base_src_init), (gst_base_src_pad_check_get_range),
10860         (gst_base_src_default_check_get_range):
10861         * libs/gst/base/gstbasesrc.h:
10862           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
10863           provide default implementation, and rename
10864           gst_base_src_check_get_range() to
10865           gst_base_src_pad_check_get_range() for clarity.
10866
10867 2006-03-06  Wim Taymans  <wim@fluendo.com>
10868
10869         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10870         Make property overridable.
10871
10872 2006-03-06  Wim Taymans  <wim@fluendo.com>
10873
10874         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10875         (gst_base_sink_init), (gst_base_sink_set_property),
10876         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10877         * libs/gst/base/gstbasesink.h:
10878         API addition: Make max-lateness a property.
10879
10880 2006-03-06  Wim Taymans  <wim@fluendo.com>
10881
10882         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
10883         (gst_base_sink_do_sync), (gst_base_sink_render_object):
10884         Don't ever draw a frame that is >10ms late.
10885
10886 2006-03-06  Michael Smith  <msmith@fluendo.com>
10887
10888         * gst/gstmessage.c: (_gst_message_copy):
10889           When copying a message, set the parent_refcount of the enclosed
10890           structure to point at the copy, not the original message.
10891
10892 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10893
10894         Patch by: Christophe Fergeau
10895
10896         * gst/gstutils.h:
10897           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
10898           usable in c++ code (#333417)
10899
10900 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * gst/gstclock.h:
10903           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
10904
10905 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
10906
10907         * libs/gst/base/gstbasetransform.c:
10908         (gst_base_transform_transform_caps):
10909           Make sure caps are writable before passing them to
10910           gst_caps_append().
10911
10912 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10913
10914         * gst/gsterror.h:
10915           Fix some minor docs errors.
10916
10917 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10918
10919           Patch by: Ross Burton <ross at burtonini dot com>
10920
10921         * gst/gsterror.c: (_gst_resource_errors_init):
10922         * gst/gsterror.h:
10923           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
10924
10925 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10926
10927         * gst/gst.c:
10928         Add a check and output a g_warning when GStreamer is built
10929         against GLib 2.6 but running against 2.8 or higher, and vice 
10930         versa. (Closes: #323542)
10931
10932 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10933
10934         * gst/parse/parse.l:
10935           Commit patch for parse_launch syntax from #331255. Removes 
10936           support for quoted strings and mimetypes when writing filtered 
10937           caps. See the bug report for more details - I'm pretty sure this
10938           obscure feature is not in use by _anyone_ anywhere.
10939
10940           With this simple change, the size of the gstreamer.so here 
10941           drops from 2193KB to 1565KB.
10942
10943 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10944
10945         * plugins/elements/gsttypefindelement.h:
10946         * plugins/elements/gsttypefindelement.c:
10947         (gst_type_find_element_src_event), (start_typefinding),
10948         (stop_typefinding), (gst_type_find_element_handle_event),
10949         (gst_type_find_element_chain),
10950         (gst_type_find_element_chain_do_typefinding):
10951           Use gst_type_find_helper_for_buffer() for chain-based
10952           typefinding.
10953
10954 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10955
10956         * plugins/elements/gsttypefindelement.c:
10957         (gst_type_find_element_class_init),
10958         (gst_type_find_element_set_property),
10959         (gst_type_find_element_get_property):
10960           Deprecate "maximum" property (not only was it only taken into
10961           account for typefinding in push-mode anyway, it also was never
10962           actually possible to set it in the first place because the
10963           property was registered with the numeric property ID for the
10964           "minimum" property). Register "maximum" property correctly,
10965           for the sake of future copy'n'pasters. Remove some cruft
10966           from property get/set functions.
10967
10968 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10969
10970         * plugins/elements/gsttypefindelement.c:
10971         (gst_type_find_element_activate):
10972           Use gst_type_find_helper_get_range() here, so we
10973           can honour the "minimum" property and also emit
10974           the signal with the correct probability of the found caps.
10975
10976 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
10977
10978         * docs/libs/gstreamer-libs-sections.txt:
10979         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10980         (helper_find_suggest), (gst_type_find_helper_get_range),
10981         (gst_type_find_helper):
10982         * libs/gst/base/gsttypefindhelper.h:
10983           New API: gst_type_find_helper_get_range() (#333042).
10984
10985 2006-03-02  Michael Smith  <msmith@fluendo.com>
10986
10987         * gst/gstregistryxml.c: (load_feature):
10988           Asserting on a failure to read part of the registry is Not Cool.
10989           Just log a warning and return NULL (which is already handled)
10990
10991 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
10992
10993         * win32/common/libgstbase.def:
10994           added export of gst_type_find_helper_for_buffer
10995         * win32/common/libgstbase.def:
10996           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10997           gst_ghost_pad_get_target
10998
10999 2006-02-28  Wim Taymans  <wim@fluendo.com>
11000
11001         * docs/design/draft-klass.txt:
11002         We use Filter now.
11003         Added Connector to mark elements that are only used to
11004         allow pipeline connections.
11005         Moved Debug to extra feature since most of them are 
11006         functionally something else.
11007
11008 2006-02-28  Wim Taymans  <wim@fluendo.com>
11009
11010         * docs/design/draft-klass.txt:
11011         Some updates and clarifications.
11012
11013 2006-02-28  Wim Taymans  <wim@fluendo.com>
11014
11015         * docs/design/draft-klass.txt:
11016         Proposal for klass field values.
11017
11018         * docs/design/part-streams.txt:
11019         Start of a doc describing stream anatomy.
11020
11021 2006-02-28  Wim Taymans  <wim@fluendo.com>
11022
11023         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
11024         Help the compiler a bit with type registration.
11025         Use existing forward cod path instead of duplicating it when 
11026         handling a message.
11027         
11028         * gst/gstbus.c: (gst_bus_get_type):
11029         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
11030         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
11031         * gst/gstclock.c: (gst_clock_get_type):
11032         * gst/gstelement.c: (gst_element_get_type),
11033         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11034         * gst/gstindexfactory.c: (gst_index_factory_get_type):
11035         * gst/gstminiobject.c: (gst_mini_object_get_type):
11036         * gst/gstpad.c: (gst_pad_get_type):
11037         * gst/gstsegment.c: (gst_segment_get_type):
11038         * gst/gststructure.c: (gst_structure_get_type):
11039         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11040         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
11041         * gst/gstvalue.c:
11042         Help compiler with type registration.
11043
11044         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
11045         Small doc update.
11046
11047 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11048
11049         * plugins/elements/gsttypefindelement.c:
11050         (gst_type_find_element_handle_event):
11051           When we get an EOS event and have not found a type yet
11052           (most likely because we had not yet accumulated
11053           TYPE_FIND_MIN_SIZE of data yet), try to determine the
11054           type given the data we have so far. Fixes typefinding
11055           for very short streams again, most notably quicktime
11056           redirections as used on Apple's trailer site (#331701).
11057
11058 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11059
11060         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
11061         (gst_type_find_helper):
11062           Try typefinding factories with the highest rank first.
11063
11064 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11065
11066         * docs/libs/gstreamer-libs-docs.sgml:
11067         * docs/libs/gstreamer-libs-sections.txt:
11068         * libs/gst/base/gsttypefindhelper.c:
11069           Add section for typefind helper and add documentation
11070           for the old and the new function.
11071
11072 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11073
11074         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
11075         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
11076         (gst_type_find_helper_for_buffer):
11077         * libs/gst/base/gsttypefindhelper.h:
11078           New API: gst_type_find_helper_for_buffer() (#332723).
11079           
11080 2006-02-27  Michael Smith  <msmith@fluendo.com>
11081
11082         Patch by: Loïc Minier
11083
11084         * configure.ac:
11085         * docs/Makefile.am:
11086         * docs/slides/Makefile.am:
11087           prevent CVS directories getting disted.
11088
11089 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11090
11091         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
11092           Use the REFCOUNTING category for caps refcounting.
11093           
11094 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11095
11096         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
11097           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
11098
11099 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11100
11101         * plugins/elements/gsttypefindelement.c:
11102         (gst_type_find_element_activate):
11103           Use gst_pad_check_pull_range() before _activate_pull()
11104           to avoid unnecessary open/close (see #331690).
11105
11106 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11107
11108         * gst/gstutils.c:
11109           Docs enhancement: make it crystal clear what the
11110           gst_pad_add_*_probe() callbacks should look like.
11111
11112 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11113
11114         * libs/gst/base/gstbasesrc.c:
11115           Document how applications can stop recording from
11116           live sources (see #330996).
11117
11118 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11119
11120         * tests/check/Makefile.am:
11121         * tests/check/libs/basesrc.c: (eos_event_counter),
11122         (basesrc_eos_events_pull), (basesrc_eos_events_push),
11123         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
11124         (gst_basesrc_suite), (main):
11125           ... and add some tests for the base source EOS stuff.
11126
11127 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11128
11129         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
11130           Test case originally showed the problem fixed below,
11131           but was then amended. Add checks back at the place
11132           where they used to be.
11133
11134 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11135
11136         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11137         (gst_base_src_init), (gst_base_src_loop),
11138         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11139         (gst_base_src_change_state):
11140         * libs/gst/base/gstbasesrc.h:
11141           Don't unconditionally send EOS when going from PAUSED to
11142           READY state, esp. make sure we don't send two EOS events
11143           in some cases (e.g. one when reaching EOS and one when
11144           going from PAUSED to READY). Also, we don't want to send
11145           EOS events when operating in pull mode. However, we do
11146           want to send an EOS event when shutting down a live
11147           source explicitly, for example (fixes #330996).
11148           
11149 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11150
11151         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11152           Update src->read_position after a seek when not using mmap.
11153           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
11154
11155 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
11156
11157         * gst/Makefile.am:
11158         * gst/gstparse.h:
11159         * gst/gstutils.c:
11160         * gst/gstutils.h:
11161         Make things work with --disable-parse as they do with 
11162         --disable-load-save - the symbols involved disappear, but the
11163         header is still installed and GST_DISABLE_PARSE is included via
11164         gstconfig.h
11165
11166 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11167
11168         * libs/gst/base/gstbasetransform.c:
11169         (gst_base_transform_change_state): Fix a stupid bug. I was 
11170         sure I compiled that.
11171
11172 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11173
11174         * gst/gstpad.c: (gst_pad_set_blocked_async):
11175         * gst/gstutils.c: (gst_pad_add_data_probe),
11176         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11177         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11178         (gst_pad_remove_buffer_probe): Make those function act on the
11179         ghostpad target when it's a ghostpad. (Closes #331727)
11180
11181 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11182
11183         * libs/gst/base/gstbasetransform.c:
11184         (gst_base_transform_change_state): Make basetransform reusable.
11185         (Closes #331898)
11186
11187 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
11188
11189         * docs/random/release:
11190         Move the current documentation of how to do a release to the top
11191         of the file.
11192
11193         * gst/gstbin.c: (gst_bin_class_init),
11194         (gst_bin_handle_message_func):
11195         Allow multiple state-recalculation threads. (Closes #328873)
11196
11197 2006-02-19  Julien MOUTTE  <julien@moutte.net>
11198
11199         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
11200         * gst/gstpad.c: (gst_pad_set_event_function),
11201         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11202         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
11203         2 strings. You can't use the STR_NULL macro on that.
11204
11205 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
11206
11207         * gst/gstpad.c: (gst_pad_set_event_function),
11208         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11209         (gst_pad_set_getcaps_function)
11210         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
11211           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
11212           So now, we can use --gst-debug-level=5 on Windows
11213         * win32/common/libgstcontroller.def:
11214           Added export of gst_controller_init
11215         * win32/vs6/libgstcontroller.dsp:
11216           Fixed Release post build configuration
11217
11218 2006-02-17  Wim Taymans  <wim@fluendo.com>
11219
11220         * tests/check/gst/gstquery.c: (GST_START_TEST):
11221         Added another check.
11222
11223 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
11224
11225         * plugins/elements/gsttypefindelement.c: (find_peek):
11226           We can do peeks at non-zero offsets, as long as they
11227           fall within the buffer we have.
11228
11229 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
11230
11231         * tests/check/Makefile.am:
11232         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11233         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11234         (parse_suite), (main):
11235           Add testsuite for parse launch syntax
11236
11237 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
11238
11239         * plugins/elements/gsttypefindelement.c:
11240         (gst_type_find_element_chain):
11241           When typefinding is unsuccessful in the chain function, don't
11242           error out immediately. Only error out with NO_CAPS_FOUND if
11243           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11244           otherwise simply wait for more data so we can try typefinding
11245           again with more data later. Also, don't attempt to typefind
11246           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11247           this should improve typefinding from network sources where the
11248           size of the first buffer can be somewhat random.
11249
11250 2006-02-14  Wim Taymans  <wim@fluendo.com>
11251
11252         * docs/gst/gstreamer-sections.txt:
11253         * gst/gstpadtemplate.c:
11254         * gst/gstpadtemplate.h:
11255         Fix padtemplate docs, fixes #328805.
11256
11257 2006-02-14  Wim Taymans  <wim@fluendo.com>
11258
11259         * tools/gst-launch.c: (main):
11260         NO_PREROLL is not an ERROR so don't send confusing messages
11261         to the user.
11262
11263 2006-02-14  Wim Taymans  <wim@fluendo.com>
11264
11265         Patch by: Torsten Schoenfeld
11266
11267         * gst/gstregistry.c: (gst_registry_get_default),
11268         (_gst_registry_cleanup):
11269         Protect default registry with lock and ref/sink it.
11270         Fixes #324818
11271
11272 2006-02-14  Wim Taymans  <wim@fluendo.com>
11273
11274         * gst/gstbuffer.c:
11275         * gst/gstquery.c: (gst_query_list_add_format),
11276         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11277         (gst_query_parse_formats_nth):
11278         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11279         Docs fixes.
11280
11281 2006-02-14  Wim Taymans  <wim@fluendo.com>
11282
11283         * docs/gst/gstreamer-sections.txt:
11284         Reworked query docs.
11285
11286         * gst/gstquery.c: (gst_query_new_formats),
11287         (gst_query_list_add_format), (gst_query_set_formats),
11288         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11289         (gst_query_parse_formats_nth):
11290         * gst/gstquery.h:
11291         Flesh out formats query, added some new methods.
11292         Fix part of #324398.
11293
11294         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11295         Added query creation tests.
11296
11297 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
11298
11299         * gst/gstpad.c: (fixate_value):
11300         Add a default fixation for fraction lists.
11301
11302 2006-02-13  Wim Taymans  <wim@fluendo.com>
11303
11304         * gst/gsttask.c: (gst_task_init), (gst_task_func),
11305         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11306         (gst_task_join):
11307         * gst/gsttask.h:
11308         Detect and warn for obvious deadlocks. fixes #320340
11309         Fix error case where lock was not released.
11310
11311         * tests/check/Makefile.am:
11312         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11313         (task_func), (gst_element_suite), (main):
11314         Add task check.
11315
11316 2006-02-13  Wim Taymans  <wim@fluendo.com>
11317
11318         * docs/gst/gstreamer-sections.txt:
11319         * gst/gstbus.c:
11320         Add new functions to docs.
11321
11322 2006-02-13  Wim Taymans  <wim@fluendo.com>
11323
11324         * docs/design/part-TODO.txt:
11325         Updated TODO list, basesrc supports seeking to non-bytes
11326         formats.
11327
11328         * docs/design/part-element-sink.txt:
11329         Update docs.
11330
11331         * gst/gstbin.c: (bin_replace_message),
11332         (gst_bin_handle_message_func):
11333         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11334         * gst/gstevent.c: (gst_event_finalize):
11335         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11336         (gst_pad_send_event):
11337         Use shiny new _TYPE_NAME macros.
11338
11339         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11340         Move debug statement up.
11341
11342         * gst/gstelement.c: (gst_element_set_locked_state):
11343         Add some debugging.
11344
11345 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
11346
11347         * docs/gst/gstreamer-sections.txt:
11348         * gst/gstmessage.h:
11349         * gst/gstquery.h:
11350           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11351           macros (#330906). Also, document the already existing
11352           GST_QUERY_TYPE macro.
11353
11354 2006-02-13  Wim Taymans  <wim@fluendo.com>
11355
11356         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11357         (event_probe), (GST_START_TEST):
11358         Only events up to the pipeline EOS are counted, there are
11359         some more when going to NULL currently which we don't care
11360         about for now.
11361
11362 2006-02-13  Wim Taymans  <wim@fluendo.com>
11363
11364         * gst/gstpad.c: (gst_pad_send_event):
11365         Correctly check flushing and emit probes. fixes #330125
11366
11367 2006-02-10  Andy Wingo  <wingo@pobox.com>
11368
11369         * gst/gstbus.c (gst_bus_class_init): Declare our private data
11370         structure.
11371         (gst_bus_init): Cache the location of the private data in the
11372         instance structure.
11373         (gst_bus_enable_sync_message_emission) 
11374         (gst_bus_disable_sync_message_emission): Implement new public
11375         functions.
11376         (gst_bus_post): Emit the sync-message signal if the user asked for
11377         it. Fixes #330684.
11378
11379         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11380         location of the bus-private structure.
11381         (gst_bus_enable_sync_message_emission)
11382         (gst_bus_disable_sync_message_emission): API addition
11383
11384 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
11385
11386         Patch by: Vincent Torri
11387
11388         * docs/pwg/building-boiler.xml:
11389         PWG patch from #326800
11390
11391 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
11392
11393         * configure.ac:
11394         * docs/Makefile.am:
11395         * docs/design/Makefile.am:
11396           Dist design docs.
11397
11398 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11399
11400         * configure.ac:
11401           back to CVS
11402
11403 === release 0.10.3 ===
11404
11405 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
11406
11407         * configure.ac:
11408           releasing 0.10.3, "Like a virgin"
11409
11410 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11411
11412         * configure.ac:
11413           2nd prerelease of 0.10.3
11414           Bump libtool versioning.
11415
11416 2006-02-07  Andy Wingo  <wingo@pobox.com>
11417
11418         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11419         update last_stop if we're in TIME format and the timestamp is
11420         valid.
11421
11422         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
11423         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
11424         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11425         If we get a new newsegment with a different format, adapt
11426         accordingly.
11427
11428         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11429         of 0. Not a problem, really.
11430
11431         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11432         warn if sync=true.
11433
11434 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
11435
11436         * configure.ac:
11437           Prelease of 0.10.3
11438
11439 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
11440
11441         * win32/vs7:
11442           project files updated to the default vs7 configuration
11443         * win32/common/libgstbase.def:
11444         * win32/common/libgstreamer.def:
11445           added new symbols,
11446           removed empty lines,
11447           sorted all exported symbols alphabetically
11448         * win32/common/dirent.c:
11449         * win32/common/dirent.h:
11450         * win32/common/gchar.h:
11451           use windows line end.
11452           
11453 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11454
11455         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11456           Send EOS event when stopping.
11457
11458 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11459
11460         * docs/README:
11461           Tell folks what to do if the plugin-foobar.xml file
11462           hasn't been generated for a newly-added plugin.
11463
11464 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11465
11466         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11467         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11468         (gst_collect_pads_start), (gst_collect_pads_stop),
11469         (gst_collect_pads_event): Collectpads now holds a reference
11470         to the GstPad that was added. Indeed we don't want to look
11471         at pads that might just go away with no warning...
11472
11473 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11474
11475         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11476         (gst_collect_pads_start), (gst_collect_pads_stop),
11477         (gst_collect_pads_event), (gst_collect_pads_chain):
11478         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11479         Mark Nauwelaerts's patch on bug #328491.
11480
11481 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11482
11483         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11484         (gst_utils_suite):
11485           Add some simple tests for gst_parse_bin_from_description() and
11486           gst_bin_find_unconnected_pad() (#329069).
11487
11488 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11489
11490         * tools/gst-launch.c: (event_loop), (main):
11491           Catch errors during preroll (#320084).
11492
11493 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
11494
11495         * plugins/elements/gsttypefindelement.c:
11496         (gst_type_find_element_activate):
11497           Post TYPE_NOT_FOUND error message when typefinding
11498           is unsuccessful in the activate function as well.
11499
11500 2006-02-02  Wim Taymans  <wim@fluendo.com>
11501
11502         * docs/design/part-element-sink.txt:
11503         Updated doc.
11504
11505 2006-02-02  Wim Taymans  <wim@fluendo.com>
11506
11507         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11508         (gst_base_sink_render_object),
11509         (gst_base_sink_queue_object_unlocked):
11510         Only keep track of prerollable items when we are 
11511         prerolling.
11512         Before rendering after preroll, always check if we
11513         have queued items.
11514         Added some more debugging.
11515
11516 2006-02-02  Wim Taymans  <wim@fluendo.com>
11517
11518         * gst/gstelement.c: (gst_element_continue_state),
11519         (gst_element_set_state_func), (gst_element_change_state):
11520         Fixed #326576, been running this for quite some time with
11521         no regressions at all.
11522
11523 2006-02-02  Wim Taymans  <wim@fluendo.com>
11524
11525         * common/gst.supp:
11526         Added more suppressions
11527
11528 2006-02-02  Wim Taymans  <wim@fluendo.com>
11529
11530         * docs/design/part-element-sink.txt:
11531         Updated document.
11532
11533         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11534         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11535         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11536         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11537         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11538         (gst_base_sink_preroll_object),
11539         (gst_base_sink_queue_object_unlocked),
11540         (gst_base_sink_queue_object), (gst_base_sink_event),
11541         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11542         (gst_base_sink_loop), (gst_base_sink_activate_pull),
11543         (gst_base_sink_get_position), (gst_base_sink_change_state):
11544         * libs/gst/base/gstbasesink.h:
11545         Totally refactored matching the design doc.
11546         Use two segments, one to clip incomming buffers and another to
11547         perform sync.
11548         Handle queueing correctly, bypass the queue when playing.
11549         Make EOS cancelable.
11550         Handle errors correctly when operating in pull based mode.
11551
11552         * tests/check/elements/fakesink.c: (GST_START_TEST),
11553         (fakesink_suite):
11554         Added new check for sinks.
11555
11556 2006-02-02  Wim Taymans  <wim@fluendo.com>
11557
11558         * gst/gstsegment.c: (gst_segment_clip):
11559         No reason to refuse to clip when start == -1
11560
11561 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
11562
11563         * docs/README:
11564         * docs/manual/intro-basics.xml:
11565         * docs/manual/intro-preface.xml:
11566         * docs/manual/manual.xml:
11567         * docs/pwg/advanced-dparams.xml:
11568         * docs/pwg/intro-basics.xml:
11569         * docs/pwg/intro-preface.xml:
11570         * docs/pwg/pwg.xml:
11571           describe dparams (controller) for plugins
11572           unify docs a little more
11573
11574 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
11575
11576         * docs/gst/gstreamer-sections.txt:
11577         * gst/gstutils.c: (element_find_unconnected_pad),
11578         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11579         * gst/gstutils.h:
11580           Add new API: gst_parse_bin_from_description() and
11581           gst_bin_find_unconnected_pad() (#329069).
11582
11583 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
11584
11585         * docs/manual/README:
11586           uncover a nasty detail of the docs build
11587
11588 2006-01-31  Wim Taymans  <wim@fluendo.com>
11589
11590         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11591         Don't cache duration messages if we're not going to use or
11592         free them.
11593
11594 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
11595
11596         * docs/manual/advanced-dparams.xml:
11597         * docs/pwg/advanced-dparams.xml:
11598           more dparam docs
11599         * gst/gstindex.c:
11600           fix docs
11601         * libs/gst/controller/lib.c: (gst_controller_init):
11602           init just once
11603
11604 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11605
11606         * gst/gstelement.c: (gst_element_message_full):
11607           also show file/line/func if no additional debug was given
11608
11609 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
11610         
11611         * win32/vs7/grammar.vcproj:
11612           activate copy of autogenerated files for Release mode
11613
11614 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11615         
11616         * win32/common/libgstreamer.def:
11617           export gst_value_compare
11618
11619 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
11620
11621         * plugins/elements/Makefile.am:
11622         * plugins/elements/gstelements.c:
11623         * plugins/elements/gstfdsink.c: (_do_init),
11624         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11625         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11626         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11627         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11628         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11629         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11630         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11631         * plugins/elements/gstfdsink.h:
11632         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11633
11634 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
11635
11636         * docs/manual/advanced-dparams.xml:
11637           describe controller
11638         * docs/manual/advanced-position.xml:
11639         * docs/manual/basics-init.xml:
11640         * docs/manual/manual.xml:
11641         * docs/manual/titlepage.xml:
11642         * docs/pwg/pwg.xml:
11643         * docs/pwg/titlepage.xml:
11644           cleanup xml (more to come)
11645         * libs/gst/controller/gstcontroller.c:
11646           fix typo
11647
11648 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11649         
11650         * win32/vs6/grammar.dsp:
11651           add autogen of gstmarshal.c,h for Release mode
11652                 
11653 2006-01-30  Wim Taymans  <wim@fluendo.com>
11654
11655         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11656         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11657         (gst_base_sink_handle_object), (gst_base_sink_event),
11658         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11659         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11660         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11661         (gst_base_sink_deactivate), (gst_base_sink_activate),
11662         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11663         (gst_base_sink_query), (gst_base_sink_change_state):
11664         Basesink cleanups, remove some old code.
11665         Handle the case where a subclass can preroll in the render
11666         method (mostly audiosinks).
11667         Handle more events.
11668         Remove some locks around variables that are now protected
11669         with the PREROLL_LOCK (clock_id, flushing, ..).
11670         Optimize position query some more, do correct locking.
11671         Remove old code to push queue in state change, this is not
11672         needed anymore since preroll blocks on all prerollable items 
11673         now.
11674         Almost implemented as described in design doc.
11675
11676 2006-01-30  Wim Taymans  <wim@fluendo.com>
11677
11678         * tests/check/gst/gstbin.c: (GST_START_TEST):
11679         Wait for refcount to settle down before checking.
11680
11681 2006-01-30  Wim Taymans  <wim@fluendo.com>
11682
11683         * docs/design/part-element-sink.txt:
11684         Pseudo code overview of desired sink behaviour regarding
11685         preroll.
11686
11687 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11688         * win32/vs6/grammar.dsp:
11689           fix some bugs in Release mode for autogenerated files
11690                 
11691 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11692         * win32/common/libgstbase.def:
11693         * win32/common/libgstreamer.def:
11694           export some new symbols: gst_base_src_set_format,
11695           gst_iterator_next, gst_structure_set_valist
11696
11697 2006-01-29  Julien MOUTTE  <julien@moutte.net>
11698
11699         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11700         Set pad functions unconditionally. Fixes #329105.
11701
11702 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11703         * win32/vs8:
11704           add vs8 project files created by Sergey Scobich
11705
11706 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
11707
11708         * gst/gstutils.c: (gst_element_unlink_pads):
11709         Don't leak pad references.
11710
11711         * tests/check/elements/fakesink.c: (GST_START_TEST):
11712         * tests/check/generic/sinks.c: (GST_START_TEST):
11713         * tests/check/generic/states.c: (GST_START_TEST):
11714         * tests/check/gst/gstbin.c: (GST_START_TEST):
11715         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11716         * tests/check/gst/gstelement.c: (GST_START_TEST):
11717         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11718         * tests/check/gst/gstiterator.c: (GST_START_TEST):
11719         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11720         Fix a bunch of leaks. Make generic/sinks.c
11721         use a bit less cpu by slowing the buffer rate
11722         between fakesrc and fakesink.
11723         
11724 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
11725         * gst/gstcaps.c:
11726         * gst/gstelement.c: (gst_element_send_event):
11727         * gst/gstevent.c:
11728         * gst/gstinfo.c:
11729         * gst/gstiterator.c:
11730         * gst/gstiterator.h:
11731         * gst/gstpad.c: (gst_pad_send_event):
11732         * gst/gststructure.c:
11733         * gst/gsturi.c:
11734         * gst/gstutils.c:
11735         * gst/gstvalue.c:
11736         * libs/gst/base/gstadapter.c:
11737           doc fixes, to link to function, just write gst_cool_function(), don't
11738           prefix with '#'
11739
11740 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11741
11742         * plugins/elements/gsttee.c: (gst_tee_do_push),
11743         (gst_tee_handle_buffer):
11744         Always prefer an actual return value from a src
11745         pad in place of NOT_LINKED. This means we return
11746         WRONG_STATE when all src pads are WRONG_STATE
11747         instead of NOT_LINKED.
11748
11749         Lock when replacing the last message to prevent
11750         racing with the get_property method.
11751
11752         Add debug output
11753
11754 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11755
11756         * tests/check/Makefile.am:
11757         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
11758         (main):
11759         Add a very simple check that should have caught the memleak I fixed
11760         last night (if not for the slice allocator hiding it)
11761
11762 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11763
11764         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11765         (gst_bin_remove_func), (gst_bin_handle_message_func),
11766         (bin_query_duration_fold), (bin_query_generic_fold):
11767         Clean up references to the clock provider when disposed or when
11768         handling a clock-lost message from it.
11769
11770         Unref sinks when performing a query via gst_iterator_fold, as the
11771         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
11772
11773         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
11774         (gst_clock_set_master):
11775         Drop our reference to the master clock, if any, when we are disposed.
11776
11777         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
11778         Chain up in dispose. 
11779
11780 2006-01-26  Wim Taymans  <wim@fluendo.com>
11781
11782         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11783         Add some debugging.
11784
11785 2006-01-26  Julien MOUTTE  <julien@moutte.net>
11786
11787         * plugins/elements/gsttee.c: (gst_tee_do_push),
11788         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
11789         handles pad being NOT_LINKED or in WRONG_STATE.
11790
11791 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11792
11793         * win32/MANIFEST:
11794           more updating
11795
11796 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11797
11798         * win32/MANIFEST:
11799           remove obsolete entry
11800
11801 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11802
11803         * docs/gst/gstreamer-sections.txt:
11804         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
11805         (gst_bin_iterate_sources), (gst_bin_send_event):
11806         * gst/gstbin.h:
11807         * gst/gstelement.c: (gst_element_send_event):
11808         * gst/gstevent.c:
11809         * gst/gstpad.c: (gst_pad_send_event):
11810           added code for downstream events, reviewed docs in gstevent.c
11811
11812 2006-01-25  Julien MOUTTE  <julien@moutte.net>
11813
11814         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11815         We only query position using the clock in the playing state.
11816         Query peer in the other cases.
11817         * win32/common/config.h: Updates.
11818
11819 2006-01-24  Wim Taymans  <wim@fluendo.com>
11820
11821         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11822         A clock entry that is scheduled for the exact time of the
11823         clock is still in time.
11824
11825         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11826         (gst_base_sink_do_sync):
11827         Add some more debug info.
11828
11829 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11830
11831         * win32/vs7:
11832           Add new vs7 project files and solution.
11833
11834 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11835
11836         * win32/vs7:
11837           all files removed as they were out-dated.
11838
11839 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11840
11841         * docs/random/release:
11842           update notes
11843         * gst/gstbin.c: (gst_bin_init):
11844         * gst/gstbus.c: (gst_bus_new):
11845         * gst/gstbus.h:
11846         * gst/gstpipeline.c: (gst_pipeline_init):
11847           use gst_bus_new(), improve logging, fix docs
11848         * win32/common/config.h:
11849           update for cvs build
11850
11851 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11852
11853         * autogen.sh:
11854           up required version of automake to 1.7
11855
11856 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
11857
11858         * win32/common/libgstreamer.def:
11859           export gst_buffer_is_metadata_writable
11860
11861 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
11862
11863         * docs/gst/gstreamer-sections.txt:
11864         * gst/gstevent.h:
11865           Add gst_event_replace() (#327001)
11866
11867 2006-01-20  Wim Taymans  <wim@fluendo.com>
11868
11869         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11870         Make it actually compile too..
11871
11872 2006-01-20  Wim Taymans  <wim@fluendo.com>
11873
11874         * gst/gstcaps.c:
11875         Clarify behaviour of _is_equal() when passing NULL parameters.
11876
11877         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11878         (gst_pad_set_caps):
11879         Cleanups. Don't unref NULL caps.
11880         When setting the same caps, protect caps of the pad with
11881         proper lock.
11882         Use full functionality of _is_equal() when comparing caps.
11883
11884 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11885
11886         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11887         Don't loop infinitely if there are no buffers to present. Partially
11888         fixes #327197, but collectpads is just broken for reusing elements
11889         to do multiple encodes atm.
11890
11891 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11892
11893         * tools/gst-inspect.c: (print_element_features):
11894         * tools/gst-xmlinspect.c: (main):
11895         URL_HANDLER is not a plugin feature we can search for in
11896         the registry.
11897
11898 2006-01-19  Edward Hervey  <edward@fluendo.com>
11899
11900         * gst/gstelement.c: (gst_element_pads_activate): 
11901         When activating, do src pads first, then sink pads.
11902         When de-activating, do sink pads first, then src pads.
11903
11904 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11905
11906         * docs/gst/gstreamer-sections.txt:
11907         Add gst_index_add_associationv to the docs
11908
11909 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11910
11911         * gst/gstevent.c:
11912           Fix docs typo
11913
11914         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
11915         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
11916           Do some refactoring. Doesn't actually change functionality,
11917           but makes landing the DRAIN event easier later.
11918
11919 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
11920
11921         * docs/pwg/advanced-scheduling.xml:
11922           Update from 0.9.x to 0.10 API and make example a bit
11923           clearer.
11924
11925 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11926
11927         * docs/gst/gstreamer-sections.txt:
11928         Add gst_buffer_(is|make)_metadata_writable methods.
11929
11930 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11931
11932         * docs/design/part-sparsestreams.txt:
11933         Update sparse streams doc, hopefully for greater clarity
11934
11935 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
11936
11937         * docs/design/part-events.txt:
11938         Remove mention of FILLER events.
11939         Add DRAIN event.
11940
11941         * docs/design/part-sparsestreams.txt:
11942         Write some things about using NEWSEGMENT to keep sparse streams
11943         flowing.
11944
11945 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11946
11947         * gst/gstbin.c: (gst_bin_dispose):
11948           Guard gst_object_unref call against a NULL object (dispose
11949           can theoretically be called multiple times).
11950           
11951 2006-01-18  Wim Taymans  <wim@fluendo.com>
11952
11953         * gst/gstbin.c: (gst_bin_element_set_state):
11954         * gst/gstclock.c: (gst_clock_id_wait):
11955         Added some more debug info.
11956
11957         * libs/gst/base/gstadapter.c:
11958         Added more docs.
11959
11960         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11961         (gst_base_sink_do_sync), (gst_base_sink_chain):
11962         Added some comments.
11963
11964 2006-01-18  Wim Taymans  <wim@fluendo.com>
11965
11966         * tests/check/Makefile.am:
11967         * tests/check/elements/fakesink.c: (chain_async_buffer),
11968         (chain_async), (chain_async_return), (GST_START_TEST),
11969         (fakesink_suite), (main):
11970         Added fakesink test that checks prerolling and clipping
11971         behaviour.
11972
11973         * tests/check/gst/gstutils.c: (GST_START_TEST):
11974         Make check run faster so that buildbots don't timeout.
11975
11976 2006-01-18  Wim Taymans  <wim@fluendo.com>
11977
11978         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11979         (gst_base_sink_do_sync):
11980         Some cleanups.
11981         When the sink finishes blocking on the preroll buffer, it can
11982         immediatly render it instead of rendering when the next buffer
11983         arrives.
11984
11985 2006-01-18  Wim Taymans  <wim@fluendo.com>
11986
11987         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11988         (gst_base_sink_get_property), (gst_base_sink_do_sync),
11989         (gst_base_sink_chain):
11990         Small cleanups.
11991         GST_ELEMENT_CLOCK and sync are protected with LOCK.
11992         Don't store _last_stop if the buffer is dropped.
11993
11994 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11995
11996         * plugins/elements/gsttypefindelement.c:
11997         (gst_type_find_element_class_init):
11998           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11999           object method handler that sets the caps on the pad and we want
12000           that to happen before we emit the signal (fixes e.g. feeding a
12001           plain text file to decodebin).
12002
12003 2006-01-18  Christian Schaller  <Christian@fluendo.com>
12004
12005         * gst/gstplugin.c: Add MPL and Proprietary as license options
12006
12007 2006-01-18  Andy Wingo  <wingo@pobox.com>
12008
12009         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
12010         symbol was exported before, it appears this was just an oversight.
12011         Fixes #168703.
12012         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
12013
12014         * gst/gstindex.c (gst_index_add_associationv): Changed int in
12015         prototype to gint. OK since this prototype was not in the header.
12016
12017 2006-01-17  Andy Wingo  <wingo@pobox.com>
12018
12019         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
12020         registry while we remove plugins.
12021
12022         * tools/gst-inspect.c (print_element_info): Don't unref the
12023         factory arg, that should be the responsibility of whatever code
12024         received the ref. Fixes a double-free when called from
12025         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
12026         (main): Unref the factory if we have one.
12027         (print_element_list): No change -- relies on the
12028         plugin_feature_list_free to free the list of features.
12029
12030 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
12031
12032         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12033         (gst_buffer_make_metadata_writable):
12034         * gst/gstbuffer.h:
12035         * libs/gst/base/gstbasetransform.c:
12036         (gst_base_transform_prepare_output_buf):
12037         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12038         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12039           Replace gst_buffer_(make|is)_metadata_writable patch now
12040           that the release is out.
12041
12042 2006-01-17  Andy Wingo  <wingo@pobox.com>
12043
12044         * gst/gstregistry.c: Reflow design comment. Update so as to speak
12045         in the present tense without reference to versions.
12046
12047         * gst/gstregistry.c (gst_registry_add_plugin)
12048         (gst_registry_remove_plugin, gst_registry_remove_feature)
12049         (gst_registry_find_feature, gst_registry_get_feature_list)
12050         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
12051         (gst_registry_lookup, gst_registry_scan_path)
12052         (_gst_registry_remove_cache_plugins)
12053         (gst_registry_get_feature_list_by_plugin): Add argument
12054         validation.
12055
12056 === release 0.10.2 ===
12057
12058 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
12059
12060         * configure.ac:
12061           releasing 0.10.2, "If man is five"
12062
12063 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12064
12065         * gst/gstbuffer.c:
12066         * gst/gstbuffer.h:
12067         * libs/gst/base/gstbasetransform.c:
12068         (gst_base_transform_prepare_output_buf):
12069         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12070         * tests/check/gst/gstbuffer.c: (gst_test_suite):
12071           Back out patch until after the release.
12072
12073 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12074
12075         * gst/gstminiobject.c:
12076           Spelling fix in docs.
12077         * ChangeLog - remove conflict indicator
12078
12079 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12080
12081         Reviewed By: Andy Wingo
12082
12083         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12084         (gst_buffer_make_metadata_writable):
12085         * gst/gstbuffer.h:
12086           Add gst_buffer_(is|make)_metadata_writable as analogues of
12087           gst_buffer_(is|make)_writable.
12088
12089         * libs/gst/base/gstbasetransform.c:
12090         (gst_base_transform_prepare_output_buf):
12091         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12092           Use name gst_buffer_(is|make)_metadata_writable functions.
12093
12094         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12095           Test gst_buffer_(is|make)_metadata_writable
12096         
12097           (Closes: #324162)
12098
12099 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12100
12101         * docs/manual/Makefile.am:
12102           don't do parallel make
12103         * configure.ac:
12104           AC_SUBST HOST_CPU
12105         * win32/common/config.h.in:
12106           add generations for HOST_CPU and GST_MAJORMINOR
12107         * win32/common/config.h:
12108           commit generated result
12109
12110 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
12111
12112         * docs/manual/appendix-integration.xml:
12113           Update GNOME integration section to use gst_init_get_option_group()
12114           instead of the old popt stuff (#322911). Also, GNOME applications
12115           should  now use gconf*sink and gconf*src instead of the old gconf
12116           helper lib we had.
12117
12118 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
12119
12120
12121         * docs/gst/gstreamer-docs.sgml:
12122         * docs/gst/gstreamer-sections.txt:
12123         * docs/libs/gstreamer-libs-sections.txt:
12124           add new API entries to the docs
12125         * libs/gst/controller/Makefile.am:
12126         * libs/gst/controller/gstcontroller.c:
12127         * libs/gst/controller/gstcontroller.h:
12128         * libs/gst/controller/gstcontrollerprivate.h:
12129         * libs/gst/controller/gsthelper.c:
12130         * libs/gst/controller/gstinterpolation.c:
12131           move private structs to private header
12132         * po/README:
12133           gstreamer-0.7 -> gstreamer-0.10
12134         * tests/check/libs/struct_i386.h:
12135           remove private structs
12136
12137 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12138
12139         * plugins/indexers/Makefile.am:
12140           Fixes as part of #317048
12141
12142 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12143
12144         * plugins/indexers/Makefile.am:
12145           fix #316086 - compilation when mmap is missing
12146
12147 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
12148
12149         * libs/gst/base/gstbasesink.c:
12150           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
12151           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
12152         * win32/common/config.h:
12153           added some defines GST_MAJORMINOR and HOST_CPU
12154         * win32/common/libgstbase.def:
12155         * win32/common/libgstreamer.def:
12156           added some exported functions.
12157
12158 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12159
12160         * libs/gst/controller/gstcontroller.c:
12161         (gst_controlled_property_set_interpolation_mode),
12162         (gst_controlled_property_new):
12163         * libs/gst/controller/gstcontroller.h:
12164         * libs/gst/controller/gstinterpolation.c:
12165         (interpolate_none_get_string_value_array):
12166           make G_TYPE_STRING controlable
12167
12168 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12169
12170         * tools/README:
12171         * tools/gst-feedback.1.in:
12172         * tools/gst-inspect.1.in:
12173         * tools/gst-launch.1.in:
12174         * tools/gst-md5sum.1.in:
12175         * tools/gst-typefind.1.in:
12176         * tools/gst-xmlinspect.1.in:
12177         * tools/gst-xmllaunch.1.in:
12178           cleanup man-pages, remove reference to gst-register, document env-vars
12179
12180 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
12181
12182         * gst/gstbuffer.c: (gst_buffer_span):
12183           gst_buffer_span should copy the timestamp of the first buffer
12184           if they were both originally overlapping subbuffers of the 
12185           same parent, using the same logic as the 'slow copy' case.
12186
12187 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
12188
12189         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
12190           Need to awaken ALL the pads when we pop a buffer, otherwise
12191           collectpads only works when there is 2 input streams.
12192
12193 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
12194
12195         * docs/random/ensonic/media-device-daemon.txt:
12196           more ideas (dbus)
12197         * gst/gstbuffer.c:
12198           fix doc example, add clarification
12199         * tools/gst-launch.1.in:
12200           add initial info about GST_PLUGIN_PATH, needs more work
12201
12202 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
12203
12204         * docs/manual/basics-bins.xml:
12205         * docs/manual/basics-elements.xml:
12206         * docs/manual/intro-basics.xml:
12207           Some more minor docs additions and updates.
12208
12209 2006-01-11  Wim Taymans  <wim@fluendo.com>
12210
12211         * docs/manual/basics-bins.xml:
12212         * docs/manual/basics-elements.xml:
12213         Some small fixes as pointed out by Ser-ver on IRC.
12214
12215 2006-01-10  Edward Hervey  <edward@fluendo.com>
12216
12217         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12218         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12219         the single-segment mode.
12220
12221 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
12222
12223         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12224
12225         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12226         (gst_base_src_perform_seek), (gst_base_src_send_event),
12227         (gst_base_src_set_property), (gst_base_src_get_property),
12228         (gst_base_src_loop), (gst_base_src_start),
12229         (gst_base_src_activate_push):
12230         * libs/gst/base/gstbasesrc.h:
12231           Name (private) union; makes Sun's Forte compiler happy (#324900).
12232
12233 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
12234
12235         * README:
12236           gst-register is gone.
12237
12238 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12239
12240         * gst/gstvalue.c: (_gst_value_initialize):
12241           make the G_TYPE_DATE instantiation work if debug is disabled
12242
12243 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
12244
12245         * gst/gstmessage.c: (gst_message_parse_tag),
12246         (gst_message_parse_error), (gst_message_parse_warning):
12247           Don't crash when return location for error/warning debug
12248           string is NULL; add fact that return locations can be
12249           NULL to docs where appropriate.
12250
12251 2006-01-05  Wim Taymans  <wim@fluendo.com>
12252
12253         * gst/gstplugin.c: (gst_plugin_load_file):
12254         Replace strdup by g_strdup.
12255
12256 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12257
12258         * docs/pwg/advanced-types.xml:
12259           fix doc borkage
12260
12261 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         submitted by: Abel Cheung
12264
12265         * po/LINGUAS:
12266         * po/zh_TW.po:
12267           Added Chinese (traditional) translation
12268
12269 2006-01-04  Wim Taymans  <wim@fluendo.com>
12270
12271         * docs/manual/basics-pads.xml:
12272         * docs/plugins/Makefile.am:
12273         * docs/plugins/gstreamer-plugins-docs.sgml:
12274         * docs/plugins/gstreamer-plugins-sections.txt:
12275         * docs/pwg/advanced-clock.xml:
12276         * docs/pwg/advanced-scheduling.xml:
12277         * docs/pwg/advanced-types.xml:
12278         * plugins/elements/gstfdsink.c:
12279         * plugins/elements/gstfdsrc.c:
12280         * plugins/elements/gstfdsrc.h:
12281         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12282         * plugins/elements/gstidentity.h:
12283         * plugins/elements/gstqueue.h:
12284         * plugins/elements/gsttee.c:
12285         * plugins/elements/gsttee.h:
12286         * plugins/elements/gsttypefindelement.c:
12287         (gst_type_find_element_class_init):
12288         * plugins/elements/gsttypefindelement.h:
12289         Small updates to various docs.
12290         Added core plugins to docs.
12291
12292 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12293
12294         * common/gst.supp:
12295           add a suppression for liboil's uninitialized variable
12296
12297 2006-01-02  James Livingston  <jrl at ids dot org dot au>
12298
12299         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12300
12301         * gst/gstutils.h:
12302           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12303           macro, so that gcc doesn't complain if the -Wmissing-prototypes
12304           compiler switch is being used (#325429).
12305
12306 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
12307
12308         * gst/gstbin.c: (gst_bin_query):
12309           Disable duration query caching in bins until it gets
12310           fixed (see #324807).
12311
12312 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12313
12314         * tools/gst-inspect.c: (print_element_properties_info):
12315           Handle properties of POINTER and BOXED type.
12316
12317 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12318
12319         * gst/gst.c: (init_post):
12320           Init tags stuff and some other things before loading
12321           any static plugins (there may be other static plugins
12322           than just the GStreamer ones, and they may want to
12323           register their own tags or formats or whatever, and
12324           preferably without segfaulting).
12325
12326         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12327           Print at least a warning in the debug logs if we drop a
12328           query just because we don't know how to adjust the value
12329           in the particular format.
12330
12331 2005-12-24  David Schleef  <ds@schleef.org>
12332
12333         * tools/gstreamer-completion:
12334           Replacement for gst-complete written in sh and sed.  Only
12335           completes names of features, but that's 90% of what I want
12336           it for.  Properties are not available in registry.xml.  (Maybe
12337           they should be...)
12338
12339 === release 0.10.1 ===
12340
12341 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
12342
12343         * configure.ac:
12344           releasing 0.10.1, "Nollaig chridheil"
12345
12346 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
12347
12348         * docs/faq/cvs.xml:
12349           Add missing quote, should be make ERROR_CFLAGS="".
12350
12351 2005-12-20  Wim Taymans  <wim@fluendo.com>
12352
12353         * docs/design/part-trickmodes.txt:
12354         More documentation on trickmodes.
12355
12356 2005-12-20  Edward Hervey  <edward@fluendo.com>
12357
12358         * gst/gstcaps.c: (gst_static_caps_get_type):
12359         * gst/gstcaps.h:
12360           API addition: GST_TYPE_STATIC_CAPS
12361         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12362         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12363         * gst/gstpadtemplate.h:
12364           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12365         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12366         bindings.
12367
12368 2005-12-18  Wim Taymans  <wim@fluendo.com>
12369
12370         * libs/gst/base/gstadapter.c:
12371         * libs/gst/base/gstadapter.h:
12372         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12373         (gst_base_sink_get_position):
12374         * libs/gst/base/gstbasesink.h:
12375         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12376         (gst_base_src_default_query), (gst_base_src_default_do_seek),
12377         (gst_base_src_do_seek), (gst_base_src_perform_seek),
12378         (gst_base_src_send_event), (gst_base_src_update_length),
12379         (gst_base_src_get_range), (gst_base_src_loop),
12380         (gst_base_src_start):
12381         * libs/gst/base/gstbasesrc.h:
12382         * libs/gst/base/gstbasetransform.h:
12383         * libs/gst/base/gstcollectpads.h:
12384         * libs/gst/base/gstpushsrc.c:
12385         * libs/gst/base/gstpushsrc.h:
12386         * libs/gst/dataprotocol/dataprotocol.c:
12387         * libs/gst/dataprotocol/dataprotocol.h:
12388         * libs/gst/net/gstnetclientclock.h:
12389         * libs/gst/net/gstnettimeprovider.h:
12390         Documentation updates.
12391
12392 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
12393
12394         * docs/manual/basics-helloworld.xml:
12395           Remove superfluous closing bracket in helloworld example.
12396
12397 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
12398
12399         * tools/gst-launch.1.in:
12400           Update gst-launch man page; add a section with useful
12401           environment variables. Fixes #323882.
12402
12403 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
12404
12405         * gst/gst.c:
12406         * gst/gst_private.h:
12407           change some char* into char[]
12408
12409 2005-12-16  Wim Taymans  <wim@fluendo.com>
12410
12411         * gst/gstregistryxml.c: (load_feature):
12412         Cleanups.
12413         Don't use g_object_unref on GstObjects so that we avoid
12414         leaks on unsafe glibs.
12415
12416 2005-12-16  Wim Taymans  <wim@fluendo.com>
12417
12418         * gst/gstbin.c: (gst_bin_recalc_state):
12419         Small doc updates.
12420
12421 2005-12-16  Wim Taymans  <wim@fluendo.com>
12422
12423         * common/check.mak:
12424         Added make forever target for check.
12425
12426 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12427
12428         * gst/gst.c: (init_post):
12429           make the registry cache file HOST_CPU-dependent
12430
12431 2005-12-16  Andy Wingo  <wingo@pobox.com>
12432
12433         * plugins/elements/gstbufferstore.c
12434         (gst_buffer_store_cleared_func): Pay attention to g_list_append
12435         return value.
12436
12437         * tests/check/gst/gstobject.c
12438         (test_fake_object_name_threaded_unique): Pay attention to
12439         g_list_sort return value.
12440
12441 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12442
12443         * tools/gst-feedback-m.m:
12444           Update for 0.9/0.10 (fixes #323870).
12445
12446 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
12447
12448         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12449           Fix lcopy for mini objects, the mini object needs to be ref'ed.
12450           
12451         * tests/check/gst/gstminiobject.c: (my_foo_init),
12452         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12453         (test_value_collection), (gst_mini_object_suite):
12454           Add test to ensure refcounts end up as expected when passing
12455           GstMiniObjects through g_object_get() and g_object_set().
12456
12457 2005-12-14  Julien MOUTTE  <julien@moutte.net>
12458
12459         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12460         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12461         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12462         of collectpads. This version removes a lot of races without
12463         touching API/ABI. Yay !
12464
12465 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
12466
12467         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12468           Don't allow activation of a srcpad in pull_range if it has no
12469           getrange function.
12470           Change some debug statements to be a little clearer
12471
12472         * plugins/elements/gsttypefindelement.c:
12473         (gst_type_find_handle_src_query):
12474           Check that we have a peer before executing queries thereupon.
12475
12476         * tests/examples/metadata/read-metadata.c: (message_loop):
12477           Use gst_bus_pop instead of gst_bus_poll when we just want it to
12478           immediately return us any available message with 0 timeout.
12479
12480 2005-12-12  Michael Smith  <msmith@fluendo.com>
12481
12482         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12483           Don't unref factories after calling them.
12484         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12485         * plugins/elements/gsttypefindelement.c:
12486         (gst_type_find_element_chain):
12487           Free lists of factories after using them. Fixing typefinding memory
12488           leaks.
12489
12490 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12491
12492         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12493         (gst_plugin_feature_load):
12494           more meaningful debug output
12495         * configure.ac:
12496         * tests/Makefile.am:
12497         * tests/old/examples/Makefile.am:
12498           make make distcheck happy again
12499
12500 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12501
12502         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12503           Catch the special case where we are operating chain-based,
12504           but the downstream peer pad has no chain function. Emit a
12505           custom error message in this case instead of letting the
12506           core generate one implying that this is some sort of core
12507           bug. It's not, it just means that whatever got plugged
12508           into the pipeline downstream when we announced the type
12509           can only operate pull-based, while our source can only
12510           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12511           Error string has not been marked for translation yet, as
12512           it probably needs some more work first.
12513
12514         (gst_type_find_element_get_best_possibility):
12515           Add helper function to find the best of all available
12516           found possibilities that qualify given the min. threshold.
12517
12518         (gst_type_find_element_handle_event):
12519           Fix the case where we get an EOS while still in TYPEFIND
12520           mode (we want to chose the best of all possible types,
12521           not just the first type that happens to be in our unsorted
12522           list of possible types).
12523
12524         (gst_type_find_element_chain):
12525           Make sure we return GST_FLOW_ERROR when we errored out
12526           in stop_typefinding(); also, don't just find the best of
12527           all found type entries and then use the last examined
12528           type entry, but actually use the best entry.
12529
12530 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12531
12532         * tests/examples/typefind/typefind.c: (type_found):
12533         * tests/examples/xml/runxml.c: (xml_loaded):
12534           More gcc4 fixes and a mem leak fix.
12535
12536 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12537
12538         * tests/examples/xml/createxml.c: (object_saved):
12539           gcc 4 fixes
12540
12541 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12542
12543         * tests/Makefile.am:
12544           enable the examples even more
12545
12546 2005-12-12  Andy Wingo  <wingo@pobox.com>
12547
12548         * libs/gst/net/gstnettimeprovider.c
12549         (gst_net_time_provider_class_init, gst_net_time_provider_init)
12550         (gst_net_time_provider_set_property)
12551         (gst_net_time_provider_get_property):
12552         API addition: Export "active" as a GObject property.
12553         (gst_net_time_provider_thread): Only respond to time queries if
12554         the time provider is active.
12555
12556         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12557         NetTimeProvider, preserving binary compat.
12558
12559 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12560
12561         * tests/examples/controller/audio-example.c: (main):
12562         * tests/examples/launch/Makefile.am:
12563           convert comments again
12564
12565 2005-12-12  Wim Taymans  <wim@fluendo.com>
12566
12567         * libs/gst/base/gstpushsrc.c:
12568         Fix typo.
12569
12570 2005-12-12  Wim Taymans  <wim@fluendo.com>
12571
12572         * docs/libs/gstreamer-libs-sections.txt:
12573         Added new symbol to docs.
12574
12575         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12576         (gst_base_src_init), (gst_base_src_set_format),
12577         (gst_base_src_default_query), (gst_base_src_query),
12578         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12579         (gst_base_src_perform_seek), (gst_base_src_send_event),
12580         (gst_base_src_default_event), (gst_base_src_event_handler),
12581         (gst_base_src_set_property), (gst_base_src_get_property),
12582         (gst_base_src_wait), (gst_base_src_do_sync),
12583         (gst_base_src_update_length), (gst_base_src_get_range),
12584         (gst_base_src_check_get_range), (gst_base_src_loop),
12585         (gst_base_src_default_negotiate), (gst_base_src_start),
12586         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12587         (gst_base_src_change_state):
12588         * libs/gst/base/gstbasesrc.h:
12589         Implement seeking to other formats than _BYTES.
12590         Implement more seeking methods correctly.
12591         Doc updates.
12592         Added query vmethod.
12593         Added do_seek vmethod to make life easier for subclasses
12594         when seeking.
12595         API addition: gst_base_src_set_format()
12596
12597 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12598
12599         * tests/examples/Makefile.am:
12600           added that too
12601
12602 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12603
12604         * configure.ac:
12605         * docs/random/ensonic/media-device-daemon.txt:
12606         * tests/examples/controller/.cvsignore:
12607         * tests/examples/controller/Makefile.am:
12608         * tests/examples/controller/audio-example.c: (main):
12609         * tests/examples/helloworld/.cvsignore:
12610         * tests/examples/helloworld/Makefile.am:
12611         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12612         * tests/examples/launch/.cvsignore:
12613         * tests/examples/launch/Makefile.am:
12614         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12615         * tests/examples/metadata/.cvsignore:
12616         * tests/examples/metadata/Makefile.am:
12617         * tests/examples/metadata/read-metadata.c: (message_loop),
12618         (make_pipeline), (print_tag), (main):
12619         * tests/examples/queue/.cvsignore:
12620         * tests/examples/queue/Makefile.am:
12621         * tests/examples/queue/queue.c: (event_loop), (main):
12622         * tests/examples/typefind/.cvsignore:
12623         * tests/examples/typefind/Makefile.am:
12624         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12625         (main):
12626         * tests/examples/xml/.cvsignore:
12627         * tests/examples/xml/Makefile.am:
12628         * tests/examples/xml/createxml.c: (object_saved), (main):
12629         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12630         * tests/old/examples/Makefile.am:
12631         * tests/old/examples/TODO:
12632         * tests/old/examples/controller/.cvsignore:
12633         * tests/old/examples/controller/Makefile.am:
12634         * tests/old/examples/controller/audio-example.c:
12635         * tests/old/examples/helloworld/.cvsignore:
12636         * tests/old/examples/helloworld/Makefile.am:
12637         * tests/old/examples/helloworld/helloworld.c:
12638         * tests/old/examples/launch/.cvsignore:
12639         * tests/old/examples/launch/Makefile.am:
12640         * tests/old/examples/launch/mp3parselaunch.c:
12641         * tests/old/examples/launch/mp3play:
12642         * tests/old/examples/manual/Makefile.am:
12643         * tests/old/examples/metadata/Makefile.am:
12644         * tests/old/examples/metadata/read-metadata.c:
12645         * tests/old/examples/queue/.cvsignore:
12646         * tests/old/examples/queue/Makefile.am:
12647         * tests/old/examples/queue/queue.c:
12648         * tests/old/examples/typefind/.cvsignore:
12649         * tests/old/examples/typefind/Makefile.am:
12650         * tests/old/examples/typefind/typefind.c:
12651         * tests/old/examples/xml/.cvsignore:
12652         * tests/old/examples/xml/Makefile.am:
12653         * tests/old/examples/xml/createxml.c:
12654         * tests/old/examples/xml/runxml.c:
12655           applied some simple fixing to some examples
12656           re-enabled the working examples
12657
12658 2005-12-12  Wim Taymans  <wim@fluendo.com>
12659
12660         * gst/gstsegment.c: (gst_segment_init),
12661         (gst_segment_set_last_stop), (gst_segment_set_seek),
12662         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12663         (gst_segment_to_running_time):
12664         Added more documentation.
12665         Make sure the last_pos value is updated properly.
12666         Make sure to_stream_time and to_running_time don't
12667         operate on wrong values.
12668
12669         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12670         Update check.
12671
12672 2005-12-12  Michael Smith  <msmith@fluendo.com>
12673
12674         * plugins/elements/gsttypefindelement.c: (free_entry),
12675         (gst_type_find_element_chain):
12676           Now that we're not leaking factories, make sure we keep references
12677           to them while we need them.
12678
12679 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12680
12681         * tests/check/gst/struct_i386.h:
12682           ifdef out the XML structs
12683
12684 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * gst/gstvalue.c: (gst_value_transform_double_fraction):
12687           floor is not needed, F is always positive; this obviates the
12688           need for adding -lm when building without libxml
12689
12690 2005-12-12  Wim Taymans  <wim@fluendo.com>
12691
12692         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12693         Take current playback rate into account when reporting
12694         the position.
12695
12696 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12697
12698         * docs/manual/mime-world.fig:
12699           Let's try this again, this time with a file that is
12700           actually in XFig format.
12701
12702 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12703
12704         * docs/manual/mime-world.fig:
12705           Add audioconvert element to diagram so that it
12706           matches the text and the code (fixes #319526).
12707
12708 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12709
12710         * docs/pwg/building-chainfn.xml:
12711         * docs/pwg/building-pads.xml:
12712         * docs/pwg/building-state.xml:
12713         * docs/pwg/other-source.xml:
12714           Update state change stuff for 0.10 (fixes #322969).
12715
12716 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12717
12718         * docs/manual/advanced-dataaccess.xml:
12719         * docs/manual/appendix-checklist.xml:
12720         * docs/manual/appendix-programs.xml:
12721         * docs/manual/basics-pads.xml:
12722         * docs/manual/highlevel-components.xml:
12723         * docs/manual/manual.xml:
12724           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
12725           add converters in front of pipelines; remove curly
12726           brackets for threads stuff, they no longer exist; use
12727           GST_TYPE_FRACTION for framerates; update some pieces of
12728           code to 0.10, but there's plenty more to do.
12729
12730         * docs/manual/appendix-porting.xml:
12731           Expand on asynchroneous state changes; s/0.9/0.10/;
12732           mention disappearance of gst_init_get_popt_table()
12733           (fixes #322916).
12734
12735 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12736
12737         * docs/faq/using.xml:
12738           Spider no longer exists, and neither does gst-launch-ext.
12739           Update examples to use decodebin and playbin and put
12740           converters in front of sinks (fixes #323726).
12741
12742 2005-12-09  Michael Smith  <msmith@fluendo.com>
12743
12744         * plugins/elements/gsttypefindelement.c: (find_peek),
12745         (gst_type_find_element_chain):
12746           Fix leaking element factories in typefinding.
12747           Fix problem where we forgot about a probable type on non-seekable
12748           files, and thus later mis-typefound it.
12749
12750 2005-12-09  Michael Smith  <msmith@fluendo.com>
12751
12752         * common/m4/gst-makecontext.m4:
12753         * common/m4/gst-mcsc.m4:
12754         * configure.ac:
12755         * win32/common/config.h:
12756         * win32/common/config.h.in:
12757           Remove makecontext stuff; not used in 0.10 and causes problems on
12758           HPUX according to bug #322441
12759
12760 2005-12-07  Wim Taymans  <wim@fluendo.com>
12761
12762         * tests/check/Makefile.am:
12763         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
12764         (main):
12765         * tests/check/libs/struct_i386.h:
12766         Added ABI check for libs
12767
12768 2005-12-07  Wim Taymans  <wim@fluendo.com>
12769
12770         * tests/check/Makefile.am:
12771         And add the struct_i386.h to dist.
12772
12773 2005-12-07  Wim Taymans  <wim@fluendo.com>
12774
12775         * tests/check/Makefile.am:
12776         * tests/check/gst/.cvsignore:
12777         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
12778         (main):
12779         * tests/check/gst/struct_i386.h:
12780         Added check for ABI compatibility.
12781
12782 2005-12-07  Wim Taymans  <wim@fluendo.com>
12783
12784         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12785         (gst_fake_src_get_times), (gst_fake_src_create):
12786         Fix broken sync option, fixes #323259
12787
12788 2005-12-07  Wim Taymans  <wim@fluendo.com>
12789
12790         * gst/gstbuffer.c:
12791         Small docs update.
12792
12793         * gst/gstcaps.c: (gst_caps_is_equal):
12794         Don't assert on NULL <--> X. Fixes #323260
12795
12796         * gst/gstminiobject.c: (gst_mini_object_replace):
12797         If we're doing atomic operations, we might just as well use
12798         the proper way to get an atomic pointer.
12799
12800         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12801         Clean up debugging.
12802
12803 2005-12-07  Michael Smith  <msmith@fluendo.com>
12804
12805         * gst/parse/grammar.y:
12806           Remove handling of { } for threads.
12807
12808 2005-12-06  David Schleef  <ds@schleef.org>
12809
12810         * libs/gst/base/gstbasetransform.c: speling fix.
12811
12812 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12813
12814         * docs/libs/tmpl/gstdataprotocol.sgml:
12815         * docs/random/omega/testing/gstobject.c:
12816         * gst/gst.c:
12817         * gst/gstclock.c:
12818         * gst/gstelement.c:
12819         * gst/gstelementfactory.c:
12820         * gst/gsterror.c:
12821         * gst/gstevent.c:
12822         * gst/gstghostpad.c:
12823         * gst/gstinfo.c:
12824         * gst/gstpadtemplate.c:
12825         * gst/gstregistryxml.c:
12826         * gst/gsttaglist.c:
12827         * gst/gsttagsetter.c:
12828         * gst/gsttypefind.c:
12829         * gst/gstvalue.c:
12830         * libs/gst/base/gstbasesrc.c:
12831         * libs/gst/net/gstnetclientclock.c:
12832         * libs/gst/net/gstnettimeprovider.c:
12833         * plugins/elements/gstfakesrc.c:
12834         * plugins/elements/gstfdsrc.c:
12835         * plugins/elements/gstfilesrc.c:
12836         * plugins/elements/gstidentity.c:
12837         * plugins/elements/gstqueue.c:
12838         * plugins/elements/gsttypefindelement.c:
12839         * plugins/indexers/gstfileindex.c:
12840         * plugins/indexers/gstmemindex.c:
12841         * tests/check/gst/gsttag.c:
12842         * tests/old/examples/cutter/cutter.c:
12843         * tests/old/examples/mixer/mixer.c:
12844         * tests/old/examples/xml/runxml.c: (main):
12845         * tests/old/testsuite/caps/normalisation.c:
12846         * tests/old/testsuite/debug/global.c:
12847         * tests/old/testsuite/parse/parse1.c:
12848         * tools/gst-xmlinspect.c:
12849         * win32/common/dirent.c:
12850           expand tabs
12851
12852 === release 0.10.0 ===
12853
12854 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12855
12856         * configure.ac:
12857           releasing 0.10.0, "Maroilles"
12858
12859 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12860
12861         submitted by: Funda Wang <fundawang@linux.net.cn>
12862
12863         * po/LINGUAS:
12864         * po/zh_CN.po:
12865           added Chinese (Traditional) translation
12866
12867 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12868
12869         * docs/gst/gstreamer-sections.txt:
12870         * docs/libs/tmpl/gstdataprotocol.sgml:
12871         * docs/random/thomasvs/TODO:
12872         * gst/gstutils.c:
12873         * gst/gstutils.h:
12874           fix docs
12875
12876 2005-12-05  Andy Wingo  <wingo@pobox.com>
12877
12878         patch by: Wim Taymans <wim@fluendo.com>
12879
12880         * libs/gst/base/gstbasetransform.c
12881         (gst_base_transform_prepare_output_buf)
12882         (gst_base_transform_buffer_alloc):
12883         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
12884         alloc_buffer_and_set_caps.
12885
12886         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
12887         set_caps on the source pad.
12888         (gst_pad_alloc_buffer_and_set_caps): New function, does what
12889         alloc_buffer used to do. Fixes #322874.
12890
12891         * docs/gst/gstreamer-sections.txt: 
12892         * docs/design/part-negotiation.txt: 
12893         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
12894         changes.
12895
12896 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12897
12898         patch by: Sebastien Moutte
12899
12900         * win32/MANIFEST:
12901         * win32/common/config.h.in:
12902         * win32/vs6/libgstcontroller.dsp:
12903           win32 build fixes
12904
12905 2005-12-05  Wim Taymans  <wim@fluendo.com>
12906
12907         * gst/gstcaps.c: (gst_caps_is_equal):
12908         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12909         (gst_fake_src_create):
12910         Back out previous code changes, leave doc updates, file bugs 
12911         instead. 
12912
12913 2005-12-05  Wim Taymans  <wim@fluendo.com>
12914
12915         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12916         (gst_fake_src_get_times), (gst_fake_src_create):
12917         * plugins/elements/gstfakesrc.h:
12918         Fix broken sync code.
12919
12920 2005-12-05  Wim Taymans  <wim@fluendo.com>
12921
12922         * gst/gstcaps.c: (gst_caps_is_equal):
12923         Comparing NULL against !NULL yields different caps, not a
12924         failure.
12925
12926 2005-12-05  Wim Taymans  <wim@fluendo.com>
12927
12928         * gst/gstpipeline.c:
12929         Fix small typo in docs.
12930
12931 2005-12-05  Andy Wingo  <wingo@pobox.com>
12932
12933         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
12934
12935         * gst/gst.c (init_post): remove hard-coded 0.9 location for
12936         registries/plugins with a MAJORMINOR one.
12937         (plugin_desc): Rename library from gstcoreleements to
12938         staticelements. Fixes #323222.
12939
12940 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
12941
12942         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12943           Change debug category to 'collectpads' from 'collect_pads'
12944           (fixes #323250).
12945
12946 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12947
12948         patch by: Sebastien Moutte
12949
12950         * libs/gst/controller/gstinterpolation.c:
12951           use convert function for uint64/double
12952         * win32/vs6/libgstcontroller.dsp:
12953           link to GLib
12954
12955 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12956
12957         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12958         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12959         * gst/gstutils.h:
12960         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12961           add tests that seem to show that the guint64/gdouble conversions
12962           are correct.
12963
12964 2005-12-02  Wim Taymans  <wim@fluendo.com>
12965
12966         * gst/gstregistry.c: (gst_registry_add_path):
12967         * gst/gstregistry.h:
12968         * gst/gstregistryxml.c:
12969         Fix docs again.
12970
12971 2005-12-02  Wim Taymans  <wim@fluendo.com>
12972
12973         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12974         (gst_util_uint64_scale_int):
12975         Small cleanup.
12976
12977         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12978         Add debug log line.
12979
12980         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12981         Add FIXME.
12982
12983 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12984
12985         * win32/MANIFEST:
12986         * win32/common/config.h:
12987         * win32/vs6/gstreamer.dsw:
12988         * win32/vs6/libgstcoreelements.dsp:
12989         * win32/vs6/libgstelements.dsp:
12990           renamed core elements plugin
12991
12992 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12993
12994         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12995         (get_candidates):
12996           do piece-wise major/minor comparison so 0.9 < 0.10
12997           also allow .exe extensions for tools
12998
12999 2005-12-02  Michael Smith  <msmith@fluendo.com>
13000
13001         * gst/gst.c:
13002           Escape a % to make gtkdoc happier; bug 322958.
13003
13004 === release 0.9.7 ===
13005
13006 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13007
13008         * configure.ac:
13009           releasing 0.9.7, "My Dog Has No Nose"
13010
13011 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13012
13013         * common/gst-xmlinspect.py:
13014         * configure.ac:
13015         * docs/libs/tmpl/gstdataprotocol.sgml:
13016         * docs/random/release:
13017         * po/af.po:
13018         * po/az.po:
13019         * po/bg.po:
13020         * po/ca.po:
13021         * po/cs.po:
13022         * po/de.po:
13023         * po/en_GB.po:
13024         * po/fr.po:
13025         * po/it.po:
13026         * po/nb.po:
13027         * po/nl.po:
13028         * po/ru.po:
13029         * po/sq.po:
13030         * po/sr.po:
13031         * po/sv.po:
13032         * po/tr.po:
13033         * po/uk.po:
13034         * po/vi.po:
13035         * win32/common/config.h:
13036         * win32/common/config.h.in:
13037         * win32/vs6/gst_inspect.dsp:
13038         * win32/vs6/gst_launch.dsp:
13039         * win32/vs6/libgstbase.dsp:
13040         * win32/vs6/libgstelements.dsp:
13041         * win32/vs6/libgstreamer.dsp:
13042         * win32/vs7/GStreamer.vcproj:
13043         * win32/vs7/gst-inspect.vcproj:
13044         * win32/vs7/gst-launch.vcproj:
13045         * win32/vs7/libgstbase.vcproj:
13046           bump GST_MAJORMINOR to 0.10
13047           reset libtool version
13048
13049 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13050
13051         * po/LINGUAS:
13052         * po/bg.po:
13053           Added Bulgarian translation by (Alexander Shopov)
13054
13055 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13056
13057         * tests/check/gst/gstplugin.c:
13058           fix test
13059
13060 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13061
13062         * common/gst-xmlinspect.py:
13063         * common/gtk-doc-plugins.mak:
13064         * configure.ac:
13065         * docs/Makefile.am:
13066         * docs/gst/Makefile.am:
13067         * docs/gst/gstreamer-docs.sgml:
13068         * docs/gst/gstreamer-sections.txt:
13069         * docs/gst/gstreamer.types:
13070         * docs/gst/gstreamer.types.in:
13071         * docs/plugins/Makefile.am:
13072         * docs/plugins/gstreamer-plugins-docs.sgml:
13073         * docs/plugins/gstreamer-plugins-sections.txt:
13074         * docs/plugins/gstreamer-plugins.types:
13075         * docs/plugins/inspect.stamp:
13076         * docs/plugins/inspect/plugin-coreelements.xml:
13077         * docs/plugins/inspect/plugin-coreindexers.xml:
13078         * docs/plugins/scanobj-build.stamp:
13079         * gstreamer.spec.in:
13080         * plugins/elements/Makefile.am:
13081         * plugins/elements/gstelements.c:
13082         * plugins/elements/gstfakesink.c:
13083         * plugins/elements/gstfakesrc.c:
13084         * plugins/elements/gstfilesink.c:
13085         * plugins/elements/gstfilesrc.c:
13086         * plugins/elements/gstqueue.c:
13087         * plugins/indexers/Makefile.am:
13088         * plugins/indexers/gstindexers.c:
13089           document core plugins in a separate document just like all the
13090           others
13091           rename these plugins to something starting with core
13092
13093 2005-12-01  Andy Wingo  <wingo@pobox.com>
13094
13095         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
13096         padding here before, but it missed the commit.
13097
13098 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13099
13100         * libs/gst/controller/gstinterpolation.c:
13101           whitespace prices have crashed, we should feel free to use some now
13102           use gst_guint64_to_gdouble
13103
13104 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13105
13106         * libs/gst/controller/gstcontroller.c:
13107         * libs/gst/controller/gsthelper.c:
13108         * libs/gst/controller/gstinterpolation.c:
13109         * libs/gst/controller/lib.c:
13110           wrap config.h include
13111
13112 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13113
13114         * docs/gst/gstreamer-sections.txt:
13115           update docs
13116
13117 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13118
13119         * plugins/elements/gstelements.c:
13120         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
13121         (gst_fd_sink__class_init), (gst_fd_sink__init),
13122         (gst_fd_sink__chain), (gst_fd_sink__set_property),
13123         (gst_fd_sink__get_property):
13124         * plugins/elements/gstfdsink.h:
13125         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
13126         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
13127         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
13128         (gst_fd_src_unlock), (gst_fd_src_set_property),
13129         (gst_fd_src_get_property), (gst_fd_src_create),
13130         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
13131         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
13132         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
13133         (gst_fd_src_uri_handler_init):
13134         * plugins/elements/gstfdsrc.h:
13135         * plugins/elements/gstqueue.c: (gst_queue_get_type):
13136           more anal cleanup
13137
13138 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13139
13140         * docs/gst/Makefile.am:
13141         * docs/gst/gstreamer.types.in:
13142         * gst/Makefile.am:
13143           fix the docs build
13144
13145 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13146
13147         * configure.ac:
13148         * gst/Makefile.am:
13149         * gst/gst.c:
13150         * gst/gstplugin.h:
13151         * gst/gstregistry.h:
13152         * tests/benchmarks/complexity.c:
13153         * tests/benchmarks/mass-elements.c:
13154         * tests/check/Makefile.am:
13155         * tools/Makefile.am:
13156         * tools/gst-inspect.c:
13157         * tools/gst-xmlinspect.c:
13158           various fixes to make
13159           --disable-nls --disable-registry --disable-loadsave
13160           --disable-parse --disable-gst-debug
13161           work and get the core .so down to 360444 bytes after stripping
13162
13163 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13164
13165         * Makefile.am:
13166         * configure.ac:
13167           descend into tests
13168         * docs/random/thomasvs/TODO:
13169         * tests/Makefile.am:
13170         * tests/README:
13171           add a README
13172
13173 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13174
13175         * win32/GStreamer.vcproj:
13176         * win32/MANIFEST:
13177         * win32/Makefile:
13178         * win32/Makefile.inspect:
13179         * win32/Makefile.launch:
13180         * win32/Makefile.register:
13181         * win32/README.txt:
13182         * win32/gst-inspect.vcproj:
13183         * win32/gst-launch.vcproj:
13184         * win32/gst-register.vcproj:
13185         * win32/gstelements.vcproj:
13186         * win32/gstgetbits.def:
13187         * win32/gstgetbits.vcproj:
13188         * win32/gstreamer-dbg.def:
13189         * win32/gstreamer.def:
13190         * win32/libgstbase.def:
13191         * win32/libgstbase.vcproj:
13192         * win32/link_oldruntime.c:
13193         * win32/mman.c:
13194         * win32/mman.h:
13195         * win32/mman.inl:
13196         * win32/msvc71.sln:
13197           move even more stuff, win32/ is nice and clean now
13198
13199 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13200
13201         * libs/gst/control/.cvsignore:
13202         * win32/MANIFEST:
13203         * win32/config.h:
13204         * win32/dirent.c:
13205         * win32/dirent.h:
13206         * win32/gstbytestream.def:
13207         * win32/gstbytestream.vcproj:
13208         * win32/gstconfig.h:
13209         * win32/gstenumtypes.c:
13210         * win32/gstenumtypes.h:
13211         * win32/gstoptimalscheduler.vcproj:
13212         * win32/gstversion.h:
13213         * win32/gtchar.h:
13214         * win32/testsuite/bins.vcproj:
13215         * win32/testsuite/bytestream.vcproj:
13216         * win32/testsuite/caps.vcproj:
13217         * win32/testsuite/cleanup.vcproj:
13218         * win32/testsuite/clock.vcproj:
13219         * win32/testsuite/debug.vcproj:
13220         * win32/testsuite/dlopen.vcproj:
13221         * win32/testsuite/dynparams.vcproj:
13222         * win32/testsuite/elements.vcproj:
13223         * win32/testsuite/ghostpads.vcproj:
13224         * win32/testsuite/indexers.vcproj:
13225         * win32/testsuite/negotiation.vcproj:
13226         * win32/testsuite/parse.vcproj:
13227         * win32/testsuite/plugin.vcproj:
13228         * win32/testsuite/refcounting.vcproj:
13229         * win32/testsuite/schedulers.vcproj:
13230         * win32/testsuite/states.vcproj:
13231         * win32/testsuite/tags.vcproj:
13232         * win32/testsuite/threads.vcproj:
13233           remove old win32 stuff that isn't maintained and should be
13234           reorganized
13235
13236 2005-11-30  Andy Wingo  <wingo@pobox.com>
13237
13238         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13239         loading the gst.interfaces python module bork.
13240
13241         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13242         available since GLib 2.2. Fixes #318031.
13243
13244 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13245
13246         * Makefile.am:
13247         * check/.cvsignore:
13248         * check/Makefile.am:
13249         * check/elements/.cvsignore:
13250         * check/elements/fakesrc.c:
13251         * check/elements/fdsrc.c:
13252         * check/elements/identity.c:
13253         * check/generic/.cvsignore:
13254         * check/generic/states.c:
13255         * check/gst-libs/.cvsignore:
13256         * check/gst-libs/controller.c:
13257         * check/gst-libs/gdp.c:
13258         * check/gst/.cvsignore:
13259         * check/gst/capslist.h:
13260         * check/gst/gst.c:
13261         * check/gst/gstbin.c:
13262         * check/gst/gstbuffer.c:
13263         * check/gst/gstbus.c:
13264         * check/gst/gstcaps.c:
13265         * check/gst/gstelement.c:
13266         * check/gst/gstevent.c:
13267         * check/gst/gstghostpad.c:
13268         * check/gst/gstiterator.c:
13269         * check/gst/gstmessage.c:
13270         * check/gst/gstminiobject.c:
13271         * check/gst/gstobject.c:
13272         * check/gst/gstpad.c:
13273         * check/gst/gstpipeline.c:
13274         * check/gst/gstplugin.c:
13275         * check/gst/gstsegment.c:
13276         * check/gst/gststructure.c:
13277         * check/gst/gstsystemclock.c:
13278         * check/gst/gsttag.c:
13279         * check/gst/gstutils.c:
13280         * check/gst/gstvalue.c:
13281         * check/net/.cvsignore:
13282         * check/net/gstnetclientclock.c:
13283         * check/net/gstnettimeprovider.c:
13284         * check/pipelines/.cvsignore:
13285         * check/pipelines/cleanup.c:
13286         * check/pipelines/simple_launch_lines.c:
13287         * check/pipelines/stress.c:
13288         * check/states/.cvsignore:
13289         * check/states/sinks.c:
13290         * configure.ac:
13291         * examples/Makefile.am:
13292         * examples/appreader/.cvsignore:
13293         * examples/appreader/Makefile.am:
13294         * examples/appreader/appreader.c:
13295         * examples/controller/.cvsignore:
13296         * examples/controller/Makefile.am:
13297         * examples/controller/audio-example.c:
13298         * examples/cutter/.cvsignore:
13299         * examples/cutter/Makefile.am:
13300         * examples/cutter/cutter.c:
13301         * examples/cutter/cutter.h:
13302         * examples/events/Makefile.am:
13303         * examples/events/seek.c:
13304         * examples/helloworld/.cvsignore:
13305         * examples/helloworld/Makefile.am:
13306         * examples/helloworld/helloworld.c:
13307         * examples/helloworld2/.cvsignore:
13308         * examples/helloworld2/Makefile.am:
13309         * examples/helloworld2/helloworld2.c:
13310         * examples/launch/.cvsignore:
13311         * examples/launch/Makefile.am:
13312         * examples/launch/mp3parselaunch.c:
13313         * examples/launch/mp3play:
13314         * examples/manual/.cvsignore:
13315         * examples/manual/Makefile.am:
13316         * examples/manual/extract.pl:
13317         * examples/metadata/Makefile.am:
13318         * examples/metadata/read-metadata.c:
13319         * examples/mixer/.cvsignore:
13320         * examples/mixer/Makefile.am:
13321         * examples/mixer/mixer.c:
13322         * examples/mixer/mixer.h:
13323         * examples/pingpong/.cvsignore:
13324         * examples/pingpong/Makefile.am:
13325         * examples/pingpong/pingpong.c:
13326         * examples/plugins/.cvsignore:
13327         * examples/plugins/Makefile.am:
13328         * examples/plugins/example.c:
13329         * examples/plugins/example.h:
13330         * examples/pwg/.cvsignore:
13331         * examples/pwg/Makefile.am:
13332         * examples/pwg/extract.pl:
13333         * examples/queue/.cvsignore:
13334         * examples/queue/Makefile.am:
13335         * examples/queue/queue.c:
13336         * examples/queue2/.cvsignore:
13337         * examples/queue2/Makefile.am:
13338         * examples/queue2/queue2.c:
13339         * examples/queue3/.cvsignore:
13340         * examples/queue3/Makefile.am:
13341         * examples/queue3/queue3.c:
13342         * examples/queue4/.cvsignore:
13343         * examples/queue4/Makefile.am:
13344         * examples/queue4/queue4.c:
13345         * examples/retag/.cvsignore:
13346         * examples/retag/Makefile.am:
13347         * examples/retag/retag.c:
13348         * examples/retag/transcode.c:
13349         * examples/thread/.cvsignore:
13350         * examples/thread/Makefile.am:
13351         * examples/thread/thread.c:
13352         * examples/typefind/.cvsignore:
13353         * examples/typefind/Makefile.am:
13354         * examples/typefind/typefind.c:
13355         * examples/xml/.cvsignore:
13356         * examples/xml/Makefile.am:
13357         * examples/xml/createxml.c:
13358         * examples/xml/runxml.c:
13359         * tests/Makefile.am:
13360         * tests/check/Makefile.am:
13361         * testsuite/.cvsignore:
13362         * testsuite/Makefile.am:
13363         * testsuite/Rules:
13364         * testsuite/caps/.cvsignore:
13365         * testsuite/caps/Makefile.am:
13366         * testsuite/caps/app_fixate.c:
13367         * testsuite/caps/audioscale.c:
13368         * testsuite/caps/caps.c:
13369         * testsuite/caps/caps.h:
13370         * testsuite/caps/caps_strings:
13371         * testsuite/caps/compatibility.c:
13372         * testsuite/caps/deserialize.c:
13373         * testsuite/caps/enumcaps.c:
13374         * testsuite/caps/eratosthenes.c:
13375         * testsuite/caps/filtercaps.c:
13376         * testsuite/caps/fixed.c:
13377         * testsuite/caps/fraction-convert.c:
13378         * testsuite/caps/fraction-multiply-and-zero.c:
13379         * testsuite/caps/intersect2.c:
13380         * testsuite/caps/intersection.c:
13381         * testsuite/caps/normalisation.c:
13382         * testsuite/caps/random.c:
13383         * testsuite/caps/renegotiate.c:
13384         * testsuite/caps/sets.c:
13385         * testsuite/caps/simplify.c:
13386         * testsuite/caps/string-conversions.c:
13387         * testsuite/caps/structure.c:
13388         * testsuite/caps/subtract.c:
13389         * testsuite/caps/union.c:
13390         * testsuite/debug/.cvsignore:
13391         * testsuite/debug/Makefile.am:
13392         * testsuite/debug/category.c:
13393         * testsuite/debug/commandline.c:
13394         * testsuite/debug/global.c:
13395         * testsuite/debug/output.c:
13396         * testsuite/debug/printf_extension.c:
13397         * testsuite/dlopen/.cvsignore:
13398         * testsuite/dlopen/Makefile.am:
13399         * testsuite/dlopen/dlopen_gst.c:
13400         * testsuite/dlopen/loadgst.c:
13401         * testsuite/elements/.cvsignore:
13402         * testsuite/elements/Makefile.am:
13403         * testsuite/elements/gst-inspect-check.in:
13404         * testsuite/elements/struct_i386.h:
13405         * testsuite/elements/struct_size.c:
13406         * testsuite/indexers/.cvsignore:
13407         * testsuite/indexers/Makefile.am:
13408         * testsuite/indexers/cache1.c:
13409         * testsuite/indexers/indexdump.c:
13410         * testsuite/parse/.cvsignore:
13411         * testsuite/parse/Makefile.am:
13412         * testsuite/parse/parse1.c:
13413         * testsuite/parse/parse2.c:
13414         * testsuite/plugin/.cvsignore:
13415         * testsuite/plugin/Makefile.am:
13416         * testsuite/plugin/README:
13417         * testsuite/plugin/dynamic.c:
13418         * testsuite/plugin/linked.c:
13419         * testsuite/plugin/loading.c:
13420         * testsuite/plugin/registry.c:
13421         * testsuite/plugin/static.c:
13422         * testsuite/plugin/static2.c:
13423         * testsuite/plugin/testplugin.c:
13424         * testsuite/plugin/testplugin2.c:
13425         * testsuite/plugin/testplugin2_s.c:
13426         * testsuite/plugin/testplugin_s.c:
13427         * testsuite/refcounting/.cvsignore:
13428         * testsuite/refcounting/Makefile.am:
13429         * testsuite/refcounting/bin.c:
13430         * testsuite/refcounting/element.c:
13431         * testsuite/refcounting/element_pad.c:
13432         * testsuite/refcounting/mainloop.c:
13433         * testsuite/refcounting/mem.c:
13434         * testsuite/refcounting/mem.h:
13435         * testsuite/refcounting/object.c:
13436         * testsuite/refcounting/pad.c:
13437         * testsuite/refcounting/sched.c:
13438         * testsuite/refcounting/thread.c:
13439         * testsuite/states/.cvsignore:
13440         * testsuite/states/Makefile.am:
13441         * testsuite/states/bin.c:
13442         * testsuite/states/locked.c:
13443         * testsuite/states/parent.c:
13444         * testsuite/threads/.cvsignore:
13445         * testsuite/threads/159566.c:
13446         * testsuite/threads/159852.c:
13447         * testsuite/threads/Makefile.am:
13448         * testsuite/threads/queue.c:
13449         * testsuite/threads/signals.c:
13450         * testsuite/threads/staticrec.c:
13451         * testsuite/threads/thread.c:
13452         * testsuite/threads/threadb.c:
13453         * testsuite/threads/threadc.c:
13454         * testsuite/threads/threadd.c:
13455         * testsuite/threads/threade.c:
13456         * testsuite/threads/threadf.c:
13457         * testsuite/threads/threadg.c:
13458         * testsuite/threads/threadh.c:
13459         * testsuite/threads/threadi.c:
13460           move all of these under tests
13461
13462 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13463
13464         * configure.ac:
13465         * tests/Makefile.am:
13466           fix distcheck
13467
13468 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13469
13470         * docs/gst/gstreamer-sections.txt:
13471         * tests/sched/.cvsignore:
13472         * tests/sched/Makefile.am:
13473         * tests/sched/cases/(fs-fs).xml:
13474         * tests/sched/cases/(fs-i-fs).xml:
13475         * tests/sched/cases/(fs-i-i-fs).xml:
13476         * tests/sched/cases/(fs-i-q[i-fs]).xml:
13477         * tests/sched/dynamic-pipeline.c:
13478         * tests/sched/interrupt1.c:
13479         * tests/sched/interrupt2.c:
13480         * tests/sched/interrupt3.c:
13481         * tests/sched/runtestcases:
13482         * tests/sched/runxml.c:
13483         * tests/sched/sched-stress.c:
13484         * tests/sched/sort.c:
13485         * tests/sched/testcases:
13486         * tests/sched/testcases1.tc:
13487         * tests/seeking/.cvsignore:
13488         * tests/seeking/Makefile.am:
13489         * tests/seeking/seeking1.c:
13490         * tests/threadstate/.cvsignore:
13491         * tests/threadstate/Makefile.am:
13492         * tests/threadstate/test1.c:
13493         * tests/threadstate/test2.c:
13494         * tests/threadstate/threadstate1.c:
13495         * tests/threadstate/threadstate2.c:
13496         * tests/threadstate/threadstate3.c:
13497         * tests/threadstate/threadstate4.c:
13498         * tests/threadstate/threadstate5.c:
13499           remove obsolete tests
13500         * configure.ac:
13501         * tests/bench-complexity.scm:
13502         * tests/bench-mass_elements.scm:
13503         * tests/complexity.c:
13504         * tests/complexity.gnuplot:
13505         * tests/instantiate/.cvsignore:
13506         * tests/instantiate/Makefile.am:
13507         * tests/instantiate/caps.c:
13508         * tests/mass_elements.c:
13509         * tests/network-clock-utils.scm:
13510         * tests/network-clock.scm:
13511         * tests/plot-data:
13512         First pass at cleaning up tests/ dir before moving the rest
13513         Combined with CVS surgery
13514
13515 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13516
13517         * po/POTFILES.in:
13518           queue has moved, update
13519
13520 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13521
13522         * docs/gst/gstreamer-sections.txt:
13523           remove double entries from the docs
13524         * gst/gst_private.h:
13525         * gst/gstinfo.c: (_gst_debug_init):
13526           remove the THREAD debug category
13527         * gst/Makefile.am:
13528         * gst/gstqueue.c:
13529         * gst/gstqueue.h:
13530         * docs/gst/gstreamer.types:
13531         * plugins/elements/gstqueue.c: (gst_queue_get_type),
13532         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13533           completely move queue and fix up debugging categories
13534
13535 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13536
13537         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13538           make initialization portable, using LL is not
13539
13540 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13541
13542         * win32/common/gstconfig.h:
13543           add large padding
13544
13545 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13546
13547         * win32/common/libgstreamer.def:
13548           rename symbols; sort base section
13549
13550 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13551
13552         * gst/gstclock.c: (do_linear_regression):
13553           remove crack non-portable handrolled DEBUG macro
13554
13555 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13556
13557         * docs/random/release:
13558           update notes
13559         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13560         (gst_object_flags_get_type), (register_gst_bin_flags),
13561         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13562         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13563         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13564         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13565         (gst_caps_flags_get_type), (register_gst_clock_return),
13566         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13567         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13568         (gst_clock_flags_get_type), (register_gst_state),
13569         (gst_state_get_type), (register_gst_state_change_return),
13570         (gst_state_change_return_get_type), (register_gst_state_change),
13571         (gst_state_change_get_type), (register_gst_element_flags),
13572         (gst_element_flags_get_type), (register_gst_core_error),
13573         (gst_core_error_get_type), (register_gst_library_error),
13574         (gst_library_error_get_type), (register_gst_resource_error),
13575         (gst_resource_error_get_type), (register_gst_stream_error),
13576         (gst_stream_error_get_type), (register_gst_event_type_flags),
13577         (gst_event_type_flags_get_type), (register_gst_event_type),
13578         (gst_event_type_get_type), (register_gst_seek_type),
13579         (gst_seek_type_get_type), (register_gst_seek_flags),
13580         (gst_seek_flags_get_type), (register_gst_format),
13581         (gst_format_get_type), (register_gst_index_certainty),
13582         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13583         (gst_index_entry_type_get_type),
13584         (register_gst_index_lookup_method),
13585         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13586         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13587         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13588         (gst_index_flags_get_type), (register_gst_debug_level),
13589         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13590         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13591         (gst_iterator_result_get_type), (register_gst_iterator_item),
13592         (gst_iterator_item_get_type), (register_gst_message_type),
13593         (gst_message_type_get_type), (register_gst_mini_object_flags),
13594         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13595         (gst_pad_link_return_get_type), (register_gst_flow_return),
13596         (gst_flow_return_get_type), (register_gst_activate_mode),
13597         (gst_activate_mode_get_type), (register_gst_pad_direction),
13598         (gst_pad_direction_get_type), (register_gst_pad_flags),
13599         (gst_pad_flags_get_type), (register_gst_pad_presence),
13600         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13601         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13602         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13603         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13604         (gst_plugin_flags_get_type), (register_gst_rank),
13605         (gst_rank_get_type), (register_gst_query_type),
13606         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13607         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13608         (gst_tag_flag_get_type), (register_gst_task_state),
13609         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13610         (gst_alloc_trace_flags_get_type),
13611         (register_gst_type_find_probability),
13612         (gst_type_find_probability_get_type), (register_gst_uri_type),
13613         (gst_uri_type_get_type), (register_gst_parse_error),
13614         (gst_parse_error_get_type):
13615         * win32/common/gstenumtypes.h:
13616         * win32/common/gstversion.h:
13617           update visual studio generated files
13618
13619 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13620
13621         * win32/vs6/libgstbase.dsp:
13622         * win32/vs6/libgstelements.dsp:
13623           update project files for new locations
13624
13625 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13626
13627         * Makefile.am:
13628           remove some files
13629         * README:
13630           reinstate and update
13631         * DEVEL:
13632         * REQUIREMENTS:
13633           removed
13634         * LICENSE:
13635         * docs/random/LICENSE:
13636           moved to random
13637
13638 2005-11-30  Edward Hervey  <edward@fluendo.com>
13639
13640         * gst/gsttypefind.c: (gst_type_find_register):
13641         * gst/gsttypefind.h:
13642         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13643         (gst_type_find_factory_dispose):
13644         * gst/gsttypefindfactory.h:
13645         Fix memory leak in GstTypeFindFactory.
13646
13647 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13648
13649         * gst/gst.c:
13650         * plugins/elements/Makefile.am:
13651         * plugins/elements/gstelements.c:
13652         * plugins/elements/gstqueue.c:
13653           move queue from core to the elements plugin
13654
13655 2005-11-29  Andy Wingo  <wingo@pobox.com>
13656
13657         * libs/gst/base/gstbasetransform.h: 
13658         * libs/gst/base/gstbasesrc.h: 
13659         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13660
13661         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13662         of pointers by which to pad very extensible base classes (like the
13663         ones in libs/gst/base).
13664
13665 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13666
13667         * docs/gst/gstreamer-docs.sgml:
13668         * docs/gst/gstreamer-sections.txt:
13669         * docs/libs/gstreamer-libs-docs.sgml:
13670         * docs/libs/gstreamer-libs-sections.txt:
13671           moving documentation from core to lib
13672
13673 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13674
13675         * check/Makefile.am:
13676         * configure.ac:
13677         * docs/gst/Makefile.am:
13678         * gst/Makefile.am:
13679         * gst/base/.cvsignore:
13680         * gst/base/Makefile.am:
13681         * gst/base/README:
13682         * gst/base/gstadapter.c:
13683         * gst/base/gstadapter.h:
13684         * gst/base/gstbasesink.c:
13685         * gst/base/gstbasesink.h:
13686         * gst/base/gstbasesrc.c:
13687         * gst/base/gstbasesrc.h:
13688         * gst/base/gstbasetransform.c:
13689         * gst/base/gstbasetransform.h:
13690         * gst/base/gstcollectpads.c:
13691         * gst/base/gstcollectpads.h:
13692         * gst/base/gstpushsrc.c:
13693         * gst/base/gstpushsrc.h:
13694         * gst/base/gsttypefindhelper.c:
13695         * gst/base/gsttypefindhelper.h:
13696         * gst/check/Makefile.am:
13697         * gst/check/gstcheck.c:
13698         * gst/check/gstcheck.h:
13699         * gst/net/Makefile.am:
13700         * gst/net/gstnet.h:
13701         * gst/net/gstnetclientclock.c:
13702         * gst/net/gstnetclientclock.h:
13703         * gst/net/gstnettimepacket.c:
13704         * gst/net/gstnettimepacket.h:
13705         * gst/net/gstnettimeprovider.c:
13706         * gst/net/gstnettimeprovider.h:
13707         * libs/gst/Makefile.am:
13708         * libs/gst/base/Makefile.am:
13709         * libs/gst/base/gstbasetransform.c:
13710         * libs/gst/check/Makefile.am:
13711         * plugins/elements/Makefile.am:
13712         * po/POTFILES.in:
13713           CVS surgery + support to move base, check, and net out of gst
13714           and into libs/gst
13715
13716 2005-11-29  Andy Wingo  <wingo@pobox.com>
13717
13718         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
13719
13720         * gst/gststructure.h (struct _GstStructure): Only one pointer of
13721         padding.
13722
13723         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
13724
13725         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
13726
13727         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
13728
13729         * gst/gstobject.h: (struct _GstObject): Only one pointer of
13730         padding; reduces object size by about 30%. We don't expect
13731         anything else to go into gstobject.
13732
13733         * gst/gstminiobject.h (struct _GstMiniObject)
13734         (struct _GstMiniObjectClass): Only one pointer of padding; the
13735         payload is only a pointer and two ints anyway. For the class there
13736         are only two methods as well.
13737         
13738         * gst/gstelement.h (struct _GstElementClass): Removed
13739         the state_changed signal callback, it is not used.
13740
13741 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13742
13743         * docs/gst/gstreamer.types:
13744           fix includes, though they are a little dinky
13745
13746 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13747
13748         * check/Makefile.am:
13749           look in the right place for elements, a lot more chance of
13750           success
13751         * gst/Makefile.am:
13752           remove indexers and elements subdirs
13753         * plugins/Makefile.am:
13754           make indexers conditional
13755
13756 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13757
13758         * Makefile.am:
13759         * configure.ac:
13760         * plugins/elements/Makefile.am:
13761         * plugins/elements/gstcapsfilter.c:
13762         * plugins/elements/gstfilesink.c:
13763         * plugins/elements/gstfilesrc.c:
13764         * plugins/elements/gstidentity.c:
13765         * plugins/indexers/Makefile.am:
13766           do CVS surgery and related build fixery to move elements
13767           and indexers in a new gstreamer/plugins directory, out of the
13768           gst/ directory
13769
13770 2005-11-29  Andy Wingo  <wingo@pobox.com>
13771
13772         * check/Makefile.am:
13773         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13774         * pkgconfig/gstreamer-net.pc.in:
13775         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
13776         #322257.
13777
13778 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13779
13780         * tools/Makefile.am:
13781         * tools/gst-complete.1.in:
13782         * tools/gst-complete.c:
13783         * tools/gst-compprep.1.in:
13784         * tools/gst-compprep.c:
13785           removing -compprep and -complete
13786
13787 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13788
13789         * gst/gstevent.c: (gst_event_new_new_segment),
13790         (gst_event_parse_new_segment):
13791         * gst/gstevent.h:
13792           fix #320529 - clean up new_segment API and structure.
13793           Let's hope everyone was using the methods, and not the structure.
13794
13795 2005-11-29  Edward Hervey  <edward@fluendo.com>
13796
13797         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13798         (gst_base_sink_event), (gst_base_sink_do_sync),
13799         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13800         Properly handle non GST_FORMAT_TIME segment
13801         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13802         Properly handle non GST_FORMAT_TIME segment
13803         * gst/gstsegment.c:
13804         This function is valid if the accumulator is 0 and the format
13805         is different from the requested format.
13806         
13807 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13808
13809         * docs/gst/gstreamer-sections.txt:
13810         Add gst_query_new_seeking and gst_query_parse_seeking to the
13811         docs.
13812
13813 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13814
13815         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13816           Treat a pad alloc with new caps the same as if we were not
13817           negotiated, in order to allow a changing upstream output
13818           to produce a new format of data.
13819
13820 2005-11-29  Edward Hervey  <edward@fluendo.com>
13821
13822         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13823         (gst_base_transform_event), (gst_base_transform_eventfunc):
13824         The event virtual method is now properly implemented, with a default
13825         handler
13826         Sub classes should call the parent_class event method. They should
13827         return FALSE if they had a problem handling the given event, or don't
13828         want GstBaseTransform to send that even downstream
13829         * gst/elements/gstidentity.c: (gst_identity_class_init),
13830         (gst_identity_init), (gst_identity_event),
13831         (gst_identity_transform_ip), (gst_identity_set_property),
13832         (gst_identity_get_property):
13833         * gst/elements/gstidentity.h:
13834         Added the single-segment boolean property.
13835         If set to TRUE, it will output a single segment of data, starting from
13836         0, will eat up all incoming newsegment, and modify the timestamp of the
13837         buffers accordingly
13838
13839 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
13840
13841         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
13842           Don't ref NULL target pad (#322751). Improve docs.
13843
13844 2005-11-29  Michael Smith  <msmith@fluendo.com>
13845
13846         * gst/gstregistryxml.c: (load_plugin):
13847           Don't crash if we failed to load a feature from a plugin. 
13848
13849 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13850
13851         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13852         (GST_START_TEST):
13853           use more check API and less GLib API
13854
13855 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13856
13857         * Makefile.am:
13858           don't run checks if we don't have check
13859         * common/check.mak:
13860           remove the registry when running make torture
13861         * docs/gst/gstreamer-sections.txt:
13862           remove second multiply
13863         * gst/gstqueue.c: (gst_queue_loop):
13864           fix a compile warning when disabling debug
13865
13866 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13867
13868         * gst/gstinfo.h:
13869         Hey! Let's print the pad name if the pointer != NULL instead
13870         of when it == NULL :-)
13871
13872 2005-11-28  Wim Taymans  <wim@fluendo.com>
13873
13874         * check/gst/gstutils.c: (GST_START_TEST):
13875         Updated check, add some scaling accuracy checking code.
13876
13877         * gst/gstutils.c: (gst_util_div128_64),
13878         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
13879         (gst_util_uint64_scale_int):
13880         Fix 6 times faster division code. Optimize for common 
13881         1/1 and less common X/1 cases.
13882
13883 2005-11-28  Wim Taymans  <wim@fluendo.com>
13884
13885         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13886         More checks.
13887
13888         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
13889         (do_linear_regression), (gst_clock_add_observation):
13890         Cleanups.
13891         Release lock when the clock cannot be slaved.
13892         Catch the case where the regression returned an invalid denominator.
13893
13894         * gst/gstutils.c: (gst_util_div128_64_iterate),
13895         (gst_util_div128_64), (gst_util_uint64_scale_int64),
13896         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13897         Add protentially more performant non-iterative 128/64 divide function
13898         that unfortunatly does not work yet.
13899         Shortcut the trivial 0/X = 0 case.
13900         Remove the warnings on overflow.
13901
13902 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13903
13904         * gst/gstplugin.c: (gst_plugin_register_func):
13905           everything causing a plugin not to load should be at least a WARNING
13906
13907 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
13908
13909         * docs/random/ensonic/dparams.txt:
13910           some TODOs for the next dev cycle
13911         * libs/gst/controller/gstcontroller.c:
13912         (gst_controlled_property_set_interpolation_mode),
13913         (gst_controlled_property_new):
13914         * libs/gst/controller/gstcontroller.h:
13915           use base type to assign acccessor functions
13916
13917 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13918
13919         * check/Makefile.am:
13920         Oops, that should have been top_srcdir
13921
13922 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13923
13924         * check/Makefile.am:
13925         * check/elements/fdsrc.c: (GST_START_TEST):
13926         Use a cmdline define to specify the location of a file to use for
13927         testing, to avoid breaking distcheck.
13928
13929 2005-11-28  Andy Wingo  <wingo@pobox.com>
13930
13931         * gst/gstpad.c (fixate_value): Use array functions for arrays.
13932
13933 2005-11-28  Edward Hervey  <edward@fluendo.com>
13934
13935         * tools/gst-launch.c: (main):
13936         Clarify the output strings, makes it easier to translate.
13937         Fixes #322626
13938
13939 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13940
13941         * gst/Makefile.am:
13942           don't try and build net if we don't even have <sys/socket.h>
13943
13944 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
13945
13946         * check/Makefile.am:
13947         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13948         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13949           Add tests for fdsrc seekability
13950
13951         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13952         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13953         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13954         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13955         * gst/elements/gstfdsrc.h:
13956           fdsrc should not be a 'live' source.
13957           Implement seeking on seekable fd's.
13958
13959         * gst/gstquery.c: (gst_query_new_seeking),
13960         (gst_query_parse_seeking):
13961         * gst/gstquery.h:
13962           Implement SEEKING query functions: 
13963             *_new_seeking and *_parse_seeking
13964
13965 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
13966
13967         * gst/gstelement.c: (gst_element_dispose):
13968           don't loop forever
13969
13970         * gst/gstiterator.c:
13971         * gst/gststructure.c:
13972           doc fixes
13973
13974         * libs/gst/controller/gstcontroller.c:
13975         (gst_controlled_property_set_interpolation_mode):
13976         * libs/gst/controller/gstcontroller.h:
13977         * libs/gst/controller/gstinterpolation.c:
13978         (interpolate_none_get_enum_value_array):
13979           support controlling enums
13980
13981 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13982
13983         * gst/gstvalue.c:
13984           Improve documentation for gst_value_union().
13985
13986         * gst/gstvalue.h:
13987           Change return value for union, intersect and subtract functions
13988           from gint to gboolean.
13989
13990 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13991
13992         * gst/gstvalue.c: (gst_value_serialize_any_list),
13993         (gst_value_transform_any_list_string),
13994         (gst_value_deserialize_list), (gst_value_deserialize_array),
13995         (gst_value_set_int_range), (gst_value_deserialize_int_range),
13996         (gst_value_set_double_range), (gst_value_deserialize_double_range),
13997         (gst_value_set_fraction_range_full),
13998         (gst_value_deserialize_fraction_range),
13999         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
14000         (gst_value_deserialize_boolean),
14001         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
14002         (gst_value_serialize_float), (gst_value_deserialize_float),
14003         (gst_string_wrap), (gst_value_deserialize_string),
14004         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
14005         (gst_value_union_int_range_int_range),
14006         (gst_value_intersect_int_range_int_range),
14007         (gst_value_intersect_double_range_double_range),
14008         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
14009         (gst_value_subtract_int_range_int_range),
14010         (gst_value_subtract_double_double_range),
14011         (gst_value_subtract_double_range_double_range),
14012         (gst_value_deserialize_fraction):
14013         * gst/gstvalue.h:
14014           Use gint, gdouble and gchar in our API instead of int, double and
14015           char (and make usage in gstvalue.c more consistent).
14016
14017 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14018
14019         * check/Makefile.am:
14020         * libs/gst/controller/Makefile.am:
14021         * libs/gst/dataprotocol/Makefile.am:
14022           fix up Makefile.am and remove GST_ENABLE_NEW
14023
14024 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14025
14026         * configure.ac:
14027         * gst/Makefile.am:
14028         * gst/base/Makefile.am:
14029         * gst/check/Makefile.am:
14030         * gst/elements/Makefile.am:
14031         * gst/net/Makefile.am:
14032           update LDFLAGS use some more
14033
14034 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14035
14036         * common/m4/gst-doc.m4:
14037           Fixes #312589
14038
14039 2005-11-26  Edward Hervey  <edward@fluendo.com>
14040
14041         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14042         This shouldn't issue a g_warning since it returns NULL if it
14043         couldn't find the plugin, and all functions using this behave
14044         properly on a NULL return. Switching to a GST_WARNING.
14045
14046 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
14047
14048         * gst/gstbin.c: (gst_bin_handle_message_func):
14049         Don't leak clock messages.
14050
14051 2005-11-25  Wim Taymans  <wim@fluendo.com>
14052
14053         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14054         (gst_util_uint64_scale_int):
14055         Optimisations, remove unneeded vars.
14056
14057 2005-11-25  Wim Taymans  <wim@fluendo.com>
14058
14059         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14060         Added more checks for the high precision uint64 cases.
14061
14062         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14063         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14064         Implement high precision (guint64 * guint64) / guint64.
14065
14066 2005-11-24  Wim Taymans  <wim@fluendo.com>
14067
14068         * gst/base/gstbasesrc.c: (gst_base_src_query):
14069         Fix wrong percentage query.
14070
14071         * gst/gstutils.c: (gst_util_uint64_scale),
14072         (gst_util_uint64_scale_int):
14073         Add some more common cases that can be handled 
14074         efficiently to _scale.
14075
14076 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14077
14078         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
14079         (gst_mini_object_suite):
14080           don't use check calls from threads; check probably isn't
14081           threadsafe and using a lock to make it threadsafe would
14082           defeat the purpose of this check
14083         * gst/check/gstcheck.c:
14084         * gst/check/gstcheck.h:
14085           use GST_DEBUG some more
14086
14087 2005-11-24  Wim Taymans  <wim@fluendo.com>
14088
14089         * gst/gstutils.c: (gst_util_uint64_scale),
14090         (gst_util_uint64_scale_int):
14091         Chain trivial case to _scale_int.
14092
14093 2005-11-24  Wim Taymans  <wim@fluendo.com>
14094
14095         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14096         Added test for scaling.
14097
14098         * gst/gstclock.h:
14099         Small doc fix.
14100
14101         * gst/gstutils.c: (gst_util_uint64_scale_int):
14102         Implemented high precision scaling code.
14103
14104 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
14105
14106         * gst/gstinfo.h:
14107           do not crash on pad==NULL
14108
14109 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14110
14111         Patch by: Stefan Kost
14112
14113         * common/gtk-doc.mak:
14114         * docs/gst/Makefile.am:
14115         * docs/libs/Makefile.am:
14116           Fix distcheck issues for the libraries docs build
14117           Closes #319599.
14118
14119 2005-11-24  Michael Smith <msmith@fluendo.com>
14120
14121         * docs/manual/basics-helloworld.xml:
14122           Fix bug #315027: memory leak in example code in docs.
14123
14124 2005-11-24  Michael Smith <msmith@fluendo.com>
14125
14126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14127           Unlock the PREROLL_LOCK in a failure case.
14128
14129 2005-11-24  Wim Taymans  <wim@fluendo.com>
14130
14131         * docs/gst/gstreamer-sections.txt:
14132         * gst/base/gstadapter.h:
14133         * gst/base/gstbasesink.h:
14134         * gst/base/gstbasesrc.h:
14135         * gst/base/gstbasetransform.h:
14136         * gst/base/gstpushsrc.h:
14137         * gst/elements/gstfakesink.h:
14138         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
14139         * gst/elements/gstfakesrc.h:
14140         * gst/elements/gstfilesink.h:
14141         * gst/elements/gstfilesrc.h:
14142         * gst/gst.c:
14143         * gst/gstbin.c:
14144         * gst/gstbuffer.c: (_gst_buffer_copy):
14145         * gst/gstbus.h:
14146         * gst/gstcaps.c:
14147         * gst/gstchildproxy.c:
14148         * gst/gstclock.c:
14149         * gst/gstelement.c:
14150         * gst/gstelementfactory.c:
14151         * gst/gstelementfactory.h:
14152         * gst/gstevent.c:
14153         * gst/gstghostpad.h:
14154         * gst/gstindex.h:
14155         * gst/gstinterface.h:
14156         * gst/gstminiobject.c:
14157         * gst/gstminiobject.h:
14158         * gst/gstpad.c:
14159         * gst/gstpad.h:
14160         * gst/gstpadtemplate.h:
14161         * gst/gstpipeline.h:
14162         * gst/gstpluginfeature.h:
14163         * gst/gstquery.h:
14164         * gst/gstqueue.h:
14165         * gst/gsttaglist.c:
14166         * gst/gsttaglist.h:
14167         * gst/gsttagsetter.c:
14168         * gst/gsttagsetter.h:
14169         * gst/gsttrace.c:
14170         * gst/gsttrace.h:
14171         * gst/gsttypefind.h:
14172         * gst/gsturi.h:
14173         * gst/gstvalue.c:
14174         * gst/net/gstnetclientclock.c:
14175         * gst/net/gstnetclientclock.h:
14176         * gst/net/gstnettimepacket.c:
14177         * gst/net/gstnettimeprovider.c:
14178         * gst/net/gstnettimeprovider.h:
14179         Doc fixes.
14180
14181 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14182
14183         * configure.ac: back to HEAD
14184
14185 === release 0.9.6 ===
14186
14187 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
14188
14189         * configure.ac:
14190           releasing 0.9.6, "Always On Time"
14191
14192 2005-11-23  Wim Taymans  <wim@fluendo.com>
14193
14194         * docs/gst/gstreamer-sections.txt:
14195         * gst/glib-compat.c:
14196         * gst/gsttagsetter.c:
14197         * gst/gstvalue.c:
14198         * gst/net/gstnetclientclock.c:
14199         * gst/net/gstnettimepacket.h:
14200         Doc updates.
14201
14202 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14203
14204         * docs/faq/using.xml:
14205         * docs/libs/tmpl/gstcontrol.sgml:
14206         * docs/manual/advanced-dparams.xml:
14207         * docs/manual/appendix-checklist.xml:
14208         * docs/manual/basics-elements.xml:
14209         * docs/pwg/other-source.xml:
14210         * docs/random/moving-plugins:
14211         * gst/gstpad.c:
14212         * tools/gst-launch.1.in:
14213           remove mentions of sinesrc
14214
14215 2005-11-23  Michael Smith <msmith@fluendo.com>
14216
14217         * docs/gst/gstreamer-sections.txt:
14218           Update for new API and API changes.
14219         * gst/gstobject.h:
14220           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14221         * gst/gstvalue.c:
14222           Documentation typo fix.
14223         * gst/net/gstnettimepacket.c:
14224           Documentation fixes for arguments.
14225
14226 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
14227
14228         * gst/gststructure.c: (gst_structure_get_fraction),
14229         (gst_structure_parse_value),
14230         (gst_structure_fixate_field_nearest_fraction):
14231         * gst/gststructure.h:
14232         * gst/gstutils.c: (gst_util_uint64_scale_int):
14233         * gst/gstutils.h:
14234         * scripts/update-funcnames:
14235         API Changes. 
14236         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14237         Make gst_structure_fixate_field_nearest_fraction take a numerator
14238         and denominator argument instead of a GValue
14239         add gst_structure_get_fraction helper function.
14240
14241 2005-11-23  Wim Taymans  <wim@fluendo.com>
14242
14243         * docs/design/part-TODO.txt:
14244         Update TODO.
14245
14246         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14247         * gst/net/gstnetclientclock.h:
14248         Use parent fields for timeout and window_size.
14249
14250 2005-11-23  Andy Wingo  <wingo@pobox.com>
14251
14252         * check/net/gstnetclientclock.c (test_functioning): Adjust to
14253         rate_num/rate_denom change.
14254
14255         * gst/net/gstnetclientclock.c
14256         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14257         OBJECT_LOCK. Don't call add_observation with the lock.
14258
14259         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14260         fraction.
14261         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14262         rate fraction.
14263         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14264         deal with rate as a fraction whose numerator and denominator are
14265         GstClockTime values.
14266         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14267         master; the other fields are protected by the SLAVE_LOCK.
14268         (do_linear_regression): Note that this must be called with the
14269         SLAVE_LOCK.
14270         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14271         OBJECT_LOCK. Call set_calibration instead of touching the
14272         variables directly.
14273         (gst_clock_set_property, gst_clock_get_property): Protect
14274         master/slave parameters with the SLAVE_LOCK.
14275
14276         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14277         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14278         note that all of the instance variables that add_observation and
14279         the set_master functions use are protected by that lock and not
14280         the OBJECT_LOCK.
14281         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14282
14283         * gst/gstclock.c (gst_clock_add_observation): No longer requires
14284         the caller to take the object lock.
14285
14286 2005-11-23  Wim Taymans  <wim@fluendo.com>
14287
14288         * gst/gsterror.c: (_gst_core_errors_init):
14289         * gst/gsterror.h:
14290         Add error for clock stuff.
14291
14292         * gst/gstpipeline.c: (gst_pipeline_change_state),
14293         (gst_pipeline_set_clock):
14294         Post clock error when clock cannot be used in a pipeline.
14295
14296 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
14297
14298         * docs/gst/gstreamer-sections.txt:
14299           make two symbols from gstinfo private for the docs
14300         * gst/base/gstcollectpads.h:
14301         * gst/gstutils.c:
14302           fix doc typos, update docs
14303
14304 2005-11-22  Wim Taymans  <wim@fluendo.com>
14305
14306         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14307         (gst_base_sink_wait), (gst_base_sink_do_sync),
14308         (gst_base_sink_handle_event):
14309         * gst/base/gstbasesink.h:
14310         No need to store the clock, the parent element class already
14311         has it.
14312
14313         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14314         Updates for clock_set returning a gboolean
14315
14316         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14317         (gst_clock_id_wait_async), (gst_clock_class_init),
14318         (gst_clock_init), (gst_clock_finalize),
14319         (gst_clock_get_internal_time), (gst_clock_get_time),
14320         (gst_clock_slave_callback), (gst_clock_set_master),
14321         (gst_clock_get_master), (do_linear_regression),
14322         (gst_clock_add_observation), (gst_clock_set_property),
14323         (gst_clock_get_property):
14324         * gst/gstclock.h:
14325         Implement master/slave. When setting a clock as a slave, a
14326         periodic timeout is scheduled to sample master and slave times.
14327         Then the slave clock is recalibrated to match offset and rate
14328         of the master clock.
14329         Update logging a bit.
14330         Add flag so that a clock can state that is cannot be slaved to
14331         another clock.
14332
14333         * gst/gstelement.c: (gst_element_set_clock):
14334         * gst/gstelement.h:
14335         The set clock returns a gboolean for when an element cannot
14336         deal with the selected clock in the pipeline. 
14337
14338         * gst/gstpipeline.c: (gst_pipeline_change_state),
14339         (gst_pipeline_set_clock):
14340         * gst/gstpipeline.h:
14341         Handle the case where the selected clock cannot be set on
14342         the pipeline.
14343
14344         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14345         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14346         (gst_net_client_clock_set_property),
14347         (gst_net_client_clock_get_property),
14348         (gst_net_client_clock_observe_times):
14349         * gst/net/gstnetclientclock.h:
14350         Use regression code in GstClock parent, remove duplicated
14351         functionality.
14352
14353 2005-11-22  Michael Smith <msmith@fluendo.com>
14354
14355         * gst/gstutils.c: (gst_util_clock_time_scale):
14356         * gst/gstutils.h:
14357         * docs/gst/gstreamer-sections.txt:
14358           Rename method to have extra underscore.
14359
14360 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14361
14362         * gst/elements/Makefile.am:
14363         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14364         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14365         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14366         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14367         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14368         * gst/elements/gstfakesrc.h:
14369         * gst/gstqueue.c: (queue_leaky_get_type):
14370           correctly fix GEnumValues so that nick is the short lowercase
14371           dashed tag
14372         * tools/gst-inspect.c: (print_element_properties_info):
14373           also show the nick, since it's useful to use from parse_launch
14374           syntax
14375           Fixes #322139
14376
14377 2005-11-22  Michael Smith <msmith@fluendo.com>
14378
14379         * gst/gstutils.c: (gst_util_clocktime_scale):
14380         * gst/gstutils.h:
14381         * docs/gst/gstreamer-sections.txt:
14382           Add util method for scaling a clocktime by a fraction. Useful 
14383           implementation is left as an exercise for the reader.
14384
14385 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14386
14387         * gst/gstvalue.c: (gst_value_collect_fraction_range):
14388         If needed, allocate storage in the destination value during
14389         collection.
14390
14391 2005-11-22  Edward Hervey  <edward@fluendo.com>
14392
14393         * docs/gst/gstreamer-sections.txt:
14394         * gst/Makefile.am:
14395         * gst/gst.h:
14396         * gst/gsturitype.c:
14397         * gst/gsturitype.h:
14398         * gst/gstutils.c: (gst_util_set_object_arg):
14399         * tools/gst-compprep.c: (main):
14400         * tools/gst-inspect.c: (print_element_properties_info):
14401         Removed GstURI, closes bug #321061
14402
14403 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14404
14405         * check/gst/gststructure.c: (GST_START_TEST):
14406         * gst/gststructure.c: (gst_structure_parse_value):
14407           Oops, broke automatic string type parsing.
14408           Add a test to catch it in future.
14409
14410 2005-11-22  Andy Wingo  <wingo@pobox.com>
14411
14412         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
14413         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14414         Actually rename the function implementations. Grr.
14415
14416 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14417
14418         * check/gst/capslist.h:
14419           Comment test cases
14420         * check/gst/gststructure.c: (GST_START_TEST),
14421         (gst_structure_suite):
14422           Test automatic value type detection in gst_structure_from_string.
14423         * gst/gststructure.c: (gst_structure_parse_value):
14424           Add fraction as a type we try and guess automatically in
14425           caps/structure strings.
14426
14427 2005-11-22  Andy Wingo  <wingo@pobox.com>
14428
14429         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14430
14431         * gst/gsttagsetter.h:
14432         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14433         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14434         (gst_tag_setter_add_tag_valist)
14435         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14436         _add_values, _add_valist, and _add_valist_values. Since this is an
14437         interface the function suffixes should be more explicit so
14438         language binding don't end up with element.add_valist ->
14439         gst_tag_setter_add_valist, for example. Fixes #322069.
14440
14441 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14442
14443         * check/gst/gstcaps.c: (GST_START_TEST):
14444           Extend caps string tests to check that a caps to string
14445           conversion is reversible and produces the same caps.
14446
14447         * gst/gststructure.c: (gst_structure_value_get_generic_type):
14448           Output "fraction" as the generic type fraction range, so caps
14449           serialisation and deserialisation works.
14450         * check/gst/capslist.h:
14451         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14452           Support 'MIN' and 'MAX' for deserialising fractions.
14453
14454 2005-11-22  Andy Wingo  <wingo@pobox.com>
14455
14456         * gst/gstevent.h (gst_event_new_new_segment)
14457         (gst_event_parse_new_segment, gst_event_new_buffer_size)
14458         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14459         Renamed from *_newsegment, *_buffersize, *_notarget.
14460
14461         * scripts/update-funcnames: New script, performs the changes
14462         listed above.
14463
14464 2005-11-22  Wim Taymans  <wim@fluendo.com>
14465
14466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14467         Make sure the GstFlowReturn is returned.
14468
14469         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14470         (gst_bus_add_signal_watch):
14471         * gst/gstbus.h:
14472         add gst_bus_add_signal_watch_full.
14473
14474         * gst/gstplugin.c: (gst_plugin_load_file):
14475         Small style cleanup.
14476
14477 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14478
14479         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14480           Block the fakesrc srcpad when we send an event, to avoid
14481           contention on the stream_lock causing random test failures.
14482
14483 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14484
14485         * check/gst/gstvalue.c: (GST_START_TEST):
14486         * gst/gstvalue.c: (gst_value_fraction_subtract):
14487           Fix subtraction.
14488
14489 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
14490
14491         * gst/gst.h:
14492           include "gstchildproxy.h"
14493         * gst/gstchildproxy.h:
14494         * libs/gst/controller/gstcontroller.h:
14495           use G_GNUC_NULL_TERMINATED
14496
14497 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14498
14499         * check/gst/capslist.h:
14500         * check/gst/gstcaps.c: (GST_START_TEST):
14501         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14502         * gst/gststructure.c: (gst_structure_parse_range),
14503         (gst_structure_fixate_field_nearest_fraction):
14504         * gst/gststructure.h:
14505         * gst/gstvalue.c: (gst_value_init_fraction_range),
14506         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14507         (gst_value_collect_fraction_range),
14508         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14509         (gst_value_set_fraction_range_full),
14510         (gst_value_get_fraction_range_min),
14511         (gst_value_get_fraction_range_max),
14512         (gst_value_serialize_fraction_range),
14513         (gst_value_transform_fraction_range_string),
14514         (gst_value_compare_fraction_range),
14515         (gst_value_deserialize_fraction_range),
14516         (gst_value_intersect_fraction_fraction_range),
14517         (gst_value_intersect_fraction_range_fraction_range),
14518         (gst_value_subtract_fraction_fraction_range),
14519         (gst_value_subtract_fraction_range_fraction),
14520         (gst_value_subtract_fraction_range_fraction_range),
14521         (gst_value_collect_fraction), (gst_value_fraction_multiply),
14522         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14523         (gst_value_transform_string_fraction), (_gst_value_initialize):
14524         * gst/gstvalue.h:
14525           Implement fraction ranges and extend GstFraction to support
14526           arithmetic subtraction, as well as deserialization from integer
14527           strings such as "100"
14528           Add a testsuite as for int and double range set operations
14529
14530 2005-11-21  Andy Wingo  <wingo@pobox.com>
14531
14532         * gst/gsttaglist.h: 
14533         * gst/gstcaps.h: 
14534         * gst/gststructure.h: Add glib-compat.h.
14535
14536 2005-11-21  Wim Taymans  <wim@fluendo.com>
14537
14538         * gst/gstbin.c: (gst_bin_change_state_func):
14539         Fix for #321595
14540
14541 2005-11-21  Wim Taymans  <wim@fluendo.com>
14542
14543         * gst/gstsegment.h:
14544         And add a nice define too.
14545
14546 2005-11-21  Wim Taymans  <wim@fluendo.com>
14547
14548         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14549         (gst_segment_new), (gst_segment_free), (gst_segment_init),
14550         (gst_segment_set_duration), (gst_segment_set_last_stop),
14551         (gst_segment_set_seek), (gst_segment_set_newsegment),
14552         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14553         (gst_segment_clip):
14554         * gst/gstsegment.h:
14555         Make binding friendly.
14556
14557 2005-11-21  Andy Wingo  <wingo@pobox.com>
14558
14559         * gst/gsttagsetter.h: 
14560         * gst/gsttaglist.h: 
14561         * gst/gststructure.h: 
14562         * gst/gstcaps.h: 
14563         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14564         #319940.
14565
14566         * gst/gsterror.c (_gst_core_errors_init):
14567         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14568         category.
14569
14570         * gst/Makefile.am (gst_headers): Add glib-compat.h.
14571         (noinst_HEADERS): noinst the -private.
14572
14573 2005-11-21  Michael Smith <msmith@fluendo.com>
14574
14575         * gst/gstplugin.h:
14576         * gst/gstregistry.h:
14577           Remove unimplemented declarations for which we can see no sensible
14578           use.
14579
14580 2005-11-21  Andy Wingo  <wingo@pobox.com>
14581
14582         * gst/gst.h: Include glib-compat.h.
14583
14584         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14585
14586         * gst/glib-compat.c: Include the public and the private header.
14587
14588         * gst/glib-compat-private.h: Copied here from glib-compat.h.
14589
14590         * gst/gstvalue.c: 
14591         * gst/gstpad.c: 
14592         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14593
14594         * check/gst/gstevent.c (create_custom_events): Check that
14595         FLUSH_STOP is serialized.
14596
14597         * check/elements/identity.c (event_func): 
14598         * check/elements/fakesrc.c (event_func): No stream lock, the core
14599         takes it.
14600
14601         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14602         stream lock taking, yay.
14603
14604         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14605         ensure that core takes the stream lock.
14606
14607         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14608         lock name change.
14609
14610         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14611         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14612         it already. For the flush start we do take it though so we get the
14613         right preroll state change messages.
14614
14615         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14616         the stream lock here, the core does it for us.
14617
14618         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14619         GST_STREAM_GET_LOCK.
14620         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
14621         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
14622         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14623         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14624         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
14625         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14626
14627         * gst/gstpad.c: Update for stream lock name change.
14628
14629         * gst/base/gstbasesink.c: Update for preroll lock name change.
14630
14631 2005-11-21  Wim Taymans  <wim@fluendo.com>
14632
14633         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14634         (gst_clock_get_master):
14635         * gst/gstclock.h:
14636         * gst/gstsystemclock.c: (gst_system_clock_init):
14637         Convert Clock flags to object flags.
14638         Added methods to manage master/slave clocks.
14639
14640 2005-11-21  Wim Taymans  <wim@fluendo.com>
14641
14642         * check/gst/gstsegment.c: (GST_START_TEST):
14643         * docs/design/part-TODO.txt:
14644         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14645         (gst_base_sink_event), (gst_base_sink_do_sync),
14646         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14647         (gst_base_sink_query), (gst_base_sink_change_state):
14648         * gst/base/gstbasesink.h:
14649         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14650         (gst_base_src_default_newsegment),
14651         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14652         (gst_base_src_get_range), (gst_base_src_loop),
14653         (gst_base_src_change_state):
14654         * gst/base/gstbasesrc.h:
14655         * gst/base/gstbasetransform.c:
14656         (gst_base_transform_prepare_output_buf),
14657         (gst_base_transform_event), (gst_base_transform_change_state):
14658         * gst/base/gstbasetransform.h:
14659         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14660         (gst_collect_pads_event):
14661         * gst/base/gstcollectpads.h:
14662         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14663         (gst_fake_src_create):
14664         * gst/elements/gstfakesrc.h:
14665         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14666         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14667         (gst_segment_set_last_stop), (gst_segment_set_seek),
14668         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14669         (gst_segment_to_running_time), (gst_segment_clip):
14670         * gst/gstsegment.h:
14671         More segment updates, replace code in plugins with segment
14672         helper functions.
14673
14674 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14675
14676         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14677         Don't ignore sscanf results
14678
14679 2005-11-21  Andy Wingo  <wingo@pobox.com>
14680
14681         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14682
14683         * *.h:
14684         * *.c: Ran scripts/update-macros. Oh yes.
14685
14686         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14687         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14688         GST_GET_LOCK, etc.
14689
14690         * scripts/update-macros: New script. Run it on your files to
14691         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14692         well.
14693
14694 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14695
14696         * docs/gst/Makefile.am:
14697         * docs/gst/gstreamer-docs.sgml:
14698         * docs/gst/gstreamer-sections.txt:
14699         * docs/gst/gstreamer.types:
14700         * gst/gstinfo.h:
14701           more docs fixes, add new api to the docs
14702
14703 2005-11-21  Andy Wingo  <wingo@pobox.com>
14704
14705         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14706         state_broadcast call.
14707
14708         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14709
14710 2005-11-21  Julien MOUTTE  <julien@moutte.net>
14711
14712         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
14713         function calls for arrays.
14714
14715 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14716
14717         * docs/random/ensonic/media-device-daemon.txt:
14718           wild idea, can this be done?
14719         * docs/gst/gstreamer-sections.txt:
14720         * gst/gsterror.h:
14721         * gst/gstfilter.c:
14722         * gst/gstfilter.h:
14723         * gst/gstplugin.h:
14724         * gst/gstpluginfeature.c:
14725         * gst/gsttrace.c:
14726         * gst/gstvalue.c:
14727         * gst/gstvalue.h:
14728           doc fixes and additions
14729
14730 2005-11-21  Andy Wingo  <wingo@pobox.com>
14731
14732         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
14733         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
14734         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
14735         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
14736         private to the basesrc implementation.
14737
14738         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
14739         behalf of event function if necessary. It should no longer be
14740         necessary to take the stream lock in pad's event functions. Fixes
14741         #320299.
14742
14743 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14744         * docs/gst/gstreamer-sections.txt:
14745         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
14746         (gst_structure_fixate_field_nearest_double),
14747         (gst_structure_fixate_field_boolean):
14748         * gst/gststructure.h:
14749         * win32/common/libgstreamer.def:
14750         * win32/gstreamer.def:
14751
14752         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
14753         (#322027)
14754
14755 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14756
14757         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
14758         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
14759         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
14760         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
14761         (gst_fdsrc_uri_handler_init):
14762         * gst/elements/gstfdsrc.h:
14763           Port fd:// URI handler from 0.8 to fdsrc
14764
14765 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14766
14767         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
14768         (gst_value_serialize_fourcc):
14769         * gst/gstvalue.h:
14770           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
14771           consistent with our other format defines (#320324).
14772
14773 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14774
14775         * gst/gstvalue.c: (gst_value_is_fixed):
14776           Revert previous commit. Value lists are by definition
14777           not fixed, as they are a list of possible values.
14778
14779 2005-11-21  Andy Wingo  <wingo@pobox.com>
14780
14781         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
14782         during the stable series if we need it. Fixes #319178.
14783
14784         * gst/gstevent.c (gst_event_new_filler): Removed.
14785
14786         * check/gst/gstevent.c: Update comment about filler events.
14787
14788 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14789
14790         * gst/gstvalue.c: (gst_value_is_fixed):
14791           Should handle both value arrays and value lists.
14792
14793 2005-11-21  Andy Wingo  <wingo@pobox.com>
14794
14795         patch by: Alessandro Dessina <alessandro nnva org>
14796
14797         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
14798         functions to access arrays. Fixes #321962.
14799
14800 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14801
14802         * docs/gst/gstreamer.types:
14803           gst_collectpads_get_type => gst_collect_pads_get_type.
14804           
14805         * gst/base/gstbasetransform.c:
14806           Remove unused SIGNAL_HANDOFF enum.
14807
14808 2005-11-21  Andy Wingo  <wingo@pobox.com>
14809
14810         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
14811         the event type (upstream, downstream, serialized). Renamed
14812         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
14813         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
14814         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
14815
14816         * gst/gstevent.c: Update for new CUSTOM event names.
14817
14818         * check/gst/gstevent.c: Update check for new CUSTOM event names.
14819
14820         * gst/gstevent.h:
14821         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
14822         bug #319392.
14823
14824 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14825
14826         * docs/gst/gstreamer-sections.txt:
14827         * win32/common/libgstbase.def:
14828         * win32/libgstbase.def:
14829         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14830         (gst_collect_pads_class_init), (gst_collect_pads_init),
14831         (gst_collect_pads_finalize), (gst_collect_pads_new),
14832         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
14833         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
14834         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
14835         (gst_collect_pads_start), (gst_collect_pads_stop),
14836         (gst_collect_pads_peek), (gst_collect_pads_pop),
14837         (gst_collect_pads_available), (gst_collect_pads_read),
14838         (gst_collect_pads_flush), (gst_collect_pads_event),
14839         (gst_collect_pads_chain):
14840         * gst/base/gstcollectpads.h:
14841           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
14842           unimplemented functions as unimplemented. Add padding to
14843           GstCollectData. (#320766, #320423)
14844
14845 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14846
14847         * gst/gstmessage.c:
14848           Improve docs for DURATION message (usage of duration parameter)
14849           (#320113)
14850
14851 2005-11-20  Wim Taymans  <wim@fluendo.com>
14852
14853         * check/Makefile.am:
14854         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
14855         (main):
14856         * gst/Makefile.am:
14857         * gst/gst.h:
14858         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14859         (gst_segment_set_seek), (gst_segment_set_newsegment),
14860         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14861         (gst_segment_clip):
14862         * gst/gstsegment.h:
14863         Added segment helper structure and methods. Not fully implemented
14864         yet.
14865         Added segment check.
14866
14867 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
14868
14869         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14870           Add a deserialisation test for fractions
14871         * examples/metadata/read-metadata.c: (message_loop),
14872         (make_pipeline), (main):
14873           Fix up metadata reading sample.
14874         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14875           Debug format fix
14876         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14877           Don't try and fixate empty caps
14878         * gst/gst_private.h:
14879           Wrap in G_BEGIN_DECLS/G_END_DECLS
14880         * gst/gstvalue.c: (gst_value_collect_fraction),
14881         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
14882         (gst_value_transform_string_fraction),
14883         (gst_value_compare_fraction):
14884           Add some extra guards to ensure that we don't end up 
14885           with an invalid denominator of 0 in a gstfraction and
14886           that fractions always get reduced.
14887
14888 2005-11-20  Wim Taymans  <wim@fluendo.com>
14889
14890         * docs/gst/gstreamer-sections.txt:
14891         * gst/gstbuffer.h:
14892         * gst/gstelement.c:
14893         * gst/gstformat.c:
14894         * gst/gstformat.h:
14895         * gst/gstindex.h:
14896         * gst/gstquery.c:
14897         * gst/gstquery.h:
14898         * gst/gstvalue.c:
14899         Doc fixes.
14900
14901 2005-11-20  Wim Taymans  <wim@fluendo.com>
14902
14903         * docs/design/part-TODO.txt:
14904         * gst/gstcaps.h:
14905         Make a proper enum of the flag.
14906
14907 2005-11-19  Wim Taymans  <wim@fluendo.com>
14908
14909         * docs/design/part-TODO.txt:
14910         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
14911         (gst_format_to_quark), (gst_format_register):
14912         * gst/gstformat.h:
14913         * gst/gstquery.c: (_gst_query_initialize),
14914         (gst_query_type_get_name), (gst_query_type_to_quark),
14915         (gst_query_type_register):
14916         * gst/gstquery.h:
14917         Add type to quark and type to string conversions.
14918
14919 2005-11-19  Andy Wingo  <wingo@pobox.com>
14920
14921         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
14922         #320097.
14923
14924 2005-11-19  Wim Taymans  <wim@fluendo.com>
14925
14926         * docs/design/part-TODO.txt:
14927         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14928         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
14929         (gst_bin_handle_message_func):
14930         * gst/gstbin.h:
14931         Make message handling overridable.
14932
14933 2005-11-19  Andy Wingo  <wingo@pobox.com>
14934
14935         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14936
14937         * gst/gstclock.h:
14938         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14939         be a GstClockTime.
14940         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14941         is a GstClockTime. Fixes #321710.
14942
14943         * gst/gstclock.h (GstClock): Remove offset property. Add
14944         internal_calibration and external_calibration. Fix padding. Pad
14945         also by GstClockTime so we don't run into problems.
14946
14947         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14948         (gst_clock_get_rate_offset): Remove.
14949         (gst_clock_set_time_adjust): Remove. Fixes #321712.
14950
14951         * gst/gstutils.h:
14952         * gst/gstutils.c (g_static_rec_cond_wait)
14953         (g_static_rec_cond_timed_wait): Removed, no longer needed.
14954
14955         * gst/gstbin.c: Remove terrible continue_state prototype.
14956
14957         * gst/gstelement.h (gst_element_continue_state): Make public.
14958
14959         * gst/gstelement.h:
14960         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14961         by continue_state. Fixes #319389.
14962
14963         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14964         Really fixes #168438. However I don't see anywhere where the
14965         filter function is called... stupid GStreamer...
14966         
14967         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14968         don't have a dispose function, so it won't get called when the
14969         object is unreffed, but oh well!
14970
14971         * gst/gstindex.c (gst_index_set_filter_full): New API function,
14972         allows a destroy function to be set so user_data can be freed.
14973         Fixes #168438.
14974         (gst_index_set_filter): Call gst_index_set_filter_full.
14975
14976         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14977
14978         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14979         string should produce an error, given the lack of a way to
14980         represent NULL strings. Fixes #165650.
14981         
14982         * gst/gstvalue.h: 
14983         * gst/gstvalue.c (gst_value_array_append_value) 
14984         (gst_value_array_prepend_value, gst_value_array_get_size) 
14985         (gst_value_array_get_value): New API, copied from
14986         gst_value_list_*, only operates on arrays.
14987         (gst_value_list_append_value, gst_value_list_prepend_value) 
14988         (gst_value_list_concat, gst_value_list_get_size) 
14989         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14990
14991         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14992         init_list, because it works on both.
14993         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14994         (gst_value_copy_list_or_array): Renamed from copy_list.
14995         (gst_value_free_list_or_array): Renamed from free_list.
14996         (gst_value_collect_list_or_array): Renamed from collect_list.
14997         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14998         (gst_value_list_or_array_peek_pointer): Renamed from
14999         list_peek_pointer.
15000         (_gst_value_array_value_table, _gst_value_list_value_table):
15001         Update value table functions.
15002         (gst_value_compare_list_or_array): Renamed from compare_list.
15003
15004         * gsttaglist.h: Whoops, foreach function returns void. Also fix
15005         some constness.
15006
15007         * gst/gsttaglist.c:
15008         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
15009         GstTagList*. Fixes #143472.
15010
15011         * gst/gststructure.h: Clarify what the foreach/map functions can
15012         or can't do to their arguments.
15013
15014 2005-11-18  Wim Taymans  <wim@fluendo.com>
15015
15016         * gst/gstclock.c: (gst_clock_set_calibration),
15017         (gst_clock_get_calibration):
15018         Doc and API fixes.
15019         Calibration can be set with internal time equal to current
15020         internal time too.
15021
15022 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15023
15024         * gst/gsterror.c:
15025         * gst/gsterror.h:
15026           document
15027
15028 2005-11-18  Andy Wingo  <wingo@pobox.com>
15029
15030         * configure.ac: 
15031         * pkgconfig/gstreamer-net.pc.in:
15032         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15033         * pkgconfig/Makefile.am: Add net pkgconfig files.
15034
15035 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
15036
15037         * gst/gstcaps.c:
15038         * gst/gstghostpad.c:
15039         * gst/gsttrace.c:
15040         * gst/gstvalue.c:
15041         * gst/gstvalue.h:
15042           docs fixes
15043
15044 2005-11-18  Andy Wingo  <wingo@pobox.com>
15045
15046         * gst/net/gstnetclientclock.c: Turn off debugging.
15047
15048         * check/net/gstnetclientclock.c (test_functioning): Assert that the
15049         times connverge somewhat. Can't make a real test.
15050
15051         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
15052         integer arithmetic. Return the minimum of the domain, which can be
15053         set as "internal" for gst_clock_set_calibration.
15054         (gst_net_client_clock_observe_times): Call _set_calibration.
15055         (gst_net_client_clock_new): Call _set_calibration instead of
15056         rate_offset.
15057
15058         * check/net/gstnetclientclock.c (test_functioning): Use the right
15059         adjustment api.
15060
15061         * gst/gstclock.h:
15062         * gst/gstclock.c (gst_clock_get_calibration) 
15063         (gst_clock_set_calibration): New functions, obsolete the ones I
15064         added yesterday. Doh. Precision issues mean we have to extrapolate
15065         from a point in the more recent past than 1970.
15066         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
15067         obsolete.
15068         (gst_clock_adjust_unlocked): Use the right calibration data.
15069
15070 2005-11-18  Edward Hervey  <edward@fluendo.com>
15071
15072         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
15073         Also reset the ->current_* values in READY->PAUSED
15074
15075 2005-11-18  Andy Wingo  <wingo@pobox.com>
15076
15077         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
15078         Whoops, check the right fd. Also add some debugging.
15079         (gst_net_client_clock_observe_times): Adjust for int64 offset.
15080         (do_linear_regression): Add a crapload of debugging. Subtract off
15081         the minimum values from the input series to discard unneeded bits.
15082         Use only int arithmetic. There is still double arithmetic when
15083         calculating the intercept that needs fixing. Return boolean to
15084         indicate success; FALSE would mean the domain or range is too
15085         great. Still needs fixes.
15086
15087 2005-11-18  Wim Taymans  <wim@fluendo.com>
15088
15089         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15090         For the current position in stream time, we need to subtract
15091         accumulated time.
15092         
15093         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15094         Release lock before calling the callback function of async
15095         entries.
15096
15097 2005-11-18  Andy Wingo  <wingo@pobox.com>
15098
15099         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
15100         Port goes all the way to MAXUINT16.
15101
15102         * gst/net/gstnettimeprovider.c: Make the port range the same as
15103         for the kernel: 0 assigns, otherwise ports are less than
15104         MAXUINT16.
15105
15106         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
15107         port change.
15108
15109         * check/net/gstnetclientclock.c (test_functioning): Add the start
15110         of another test. 
15111
15112 2005-11-18  Wim Taymans  <wim@fluendo.com>
15113
15114         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15115         (gst_bin_remove_func), (bin_bus_handler):
15116         * gst/gstbin.h:
15117         Removing a clock provider from a bin, triggers a clock lost message
15118         so that a new clock will be selected.
15119         Adding a clock to a bin triggers a clock provider message.
15120         Make sure we reselect a clock when we received a clock lost message.
15121         Keep a reference to the element that provided the clock.
15122
15123 2005-11-18  Andy Wingo  <wingo@pobox.com>
15124
15125         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
15126         the clock initially so it produces values around the base time.
15127         (gst_net_client_clock_class_init): Typo fix.
15128         (gst_net_client_clock_thread): Add note on when the socket gets
15129         closed.
15130
15131 2005-11-17  Wim Taymans  <wim@fluendo.com>
15132
15133         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
15134         Free remote and local time arrays.
15135
15136 2005-11-17  Wim Taymans  <wim@fluendo.com>
15137
15138         * gst/net/gstnetclientclock.c: (do_linear_regression),
15139         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
15140         Fix compilation, uninitialized vars and a forgotten continue.
15141
15142 2005-11-17  Andy Wingo  <wingo@pobox.com>
15143
15144         * check/Makefile.am (check_PROGRAMS): 
15145         * check/net/gstnetclientclock.c: Add a most minimal test for the
15146         net client clock. More to come later.
15147
15148         * gst/net/gstnet.h: 
15149         * gst/net/Makefile.am: Add netclientclock.
15150
15151         * gst/net/gstnetclientclock.h:
15152         * gst/net/gstnetclientclock.c: New files, implement an untested
15153         GstClock that takes its time from a network time provider.
15154         Implements the algorithm in network-clock.scm.
15155
15156         * tests/network-clock.scm (*window-size*): Rename from
15157         *queue-length*.
15158         * tests/network-clock.scm (network-time): 
15159         * tests/network-clock-utils.scm (q-push): Update callers.
15160
15161 2005-11-17  Wim Taymans  <wim@fluendo.com>
15162
15163         * gst/gstbin.c: (gst_bin_provide_clock_func),
15164         (gst_bin_sort_iterator_new):
15165         And unref the child too..
15166
15167 2005-11-17  Wim Taymans  <wim@fluendo.com>
15168
15169         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15170         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
15171         Refactor the sort iterator so it can be used while holding the
15172         LOCK too.
15173         Make clock selection select a clock closest to the source.
15174
15175 2005-11-17  Michael Smith <msmith@fluendo.com>
15176
15177         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
15178         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
15179         * gst/gstclock.h:
15180           Anonymous structs are a gcc (and some other compilers) extension, so
15181           don't use them. Since this is only for ABI-compatibility, and our
15182           API/ABI freeze is over in a few days, this whole thing will only
15183           last a few days, so don't bother trying to think up a meaningful
15184           name for the struct.
15185
15186 2005-11-17  Andy Wingo  <wingo@pobox.com>
15187
15188         * gst/gstclock.h (GstClock): Add rate and offset properties,
15189         preserving ABI stability. Add rate/offset accessors. Will file bug
15190         for the freeze break.
15191
15192         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
15193         and offset, trying to keep precision and avoiding
15194         underflow/overflow.
15195         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
15196         functions. Make gst_clock_set_time_adjust obsolete.
15197         (gst_clock_set_time_adjust): Note that this function is obsolete.
15198         Will file bug soon.
15199
15200         * gst/base/gstbasetransform.h: Make the ABI-stability hack
15201         greppable by using GST_PADDING-1+1.
15202
15203 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
15204
15205         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15206
15207         * gst/gstmessage.c: (gst_message_parse_clock_lost):
15208           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
15209
15210         * gst/gstpadtemplate.h:
15211         * gst/gstpluginfeature.h:
15212           Don't use c++ style comments in headers (#321638).
15213
15214 2005-11-16  Andy Wingo  <wingo@pobox.com>
15215
15216         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15217         buffer.
15218
15219         * check/net/gstnettimeprovider.c: Check to see that the time
15220         provider actually provides times. Works, yo!
15221
15222 2005-11-16  Wim Taymans  <wim@fluendo.com>
15223
15224         * check/Makefile.am:
15225         Enable more tests.
15226
15227         * check/elements/fakesrc.c: (GST_START_TEST):
15228         Set element to NULL before disposing it.
15229
15230 2005-11-16  Andy Wingo  <wingo@pobox.com>
15231
15232         * gst/net/Makefile.am:
15233         * gst/net/gstnet.h:
15234         * gst/net/gstnettimeprovider.c: 
15235         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15236         provider, include it from gstnet.h, and add it to the build.
15237
15238         * gst/net/gstnettimepacket.h: 
15239         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15240         sending and receiving.
15241
15242 2005-11-16  Wim Taymans  <wim@fluendo.com>
15243
15244         * check/Makefile.am:
15245         Enable valgrind check.
15246
15247         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15248         (gst_fake_src_alloc_buffer):
15249         Fix memleak.
15250
15251 2005-11-16  Wim Taymans  <wim@fluendo.com>
15252
15253         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15254         Call parent finalize too.
15255
15256 2005-11-16  Wim Taymans  <wim@fluendo.com>
15257
15258         * check/Makefile.am:
15259         Enable valgrind check that should work fine now.
15260
15261         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15262         * gst/gstqueue.c: (gst_queue_init):
15263         Fix memleaks in pad allocation.
15264
15265 2005-11-16  Andy Wingo  <wingo@pobox.com>
15266
15267         * gst/net/Makefile.am:
15268         * gst/net/gstnet.h: New part of core to hold network elements and
15269         objects. Put in core because it exposes API that applications want
15270         to use. The library is named libgstnet-tempname right now because
15271         of the existing libgstnet in gst-plugins-base. Solution is
15272         probably to rename the one in plugins-base; will file a bug for
15273         the freeze break.
15274
15275         * gst/net/gstnettimeprovider.c: 
15276         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15277         get_time call over the network.
15278
15279         * configure.ac: 
15280         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15281
15282         * check/Makefile.am:
15283         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15284         get additions shortly.
15285
15286 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15287
15288         * gst/gstpad.c: (gst_pad_new_from_static_template):
15289         * gst/gstpad.h:
15290           add gst_pad_new_from_static_template functions
15291         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15292         (gst_check_setup_sink_pad):
15293         * gst/elements/gsttee.c: (gst_tee_init):
15294           and use them
15295
15296 2005-11-16  Wim Taymans  <wim@fluendo.com>
15297
15298         * gst/gstpad.c: (gst_pad_pause_task):
15299         Removed warning, it's not really an error either.
15300
15301 2005-11-16  Wim Taymans  <wim@fluendo.com>
15302
15303         * gst/base/gstbasetransform.c:
15304         (gst_base_transform_prepare_output_buf),
15305         (gst_base_transform_event):
15306         Check if the caps are NULL, this can happen if the element
15307         is shutting down and the pad caps are set to NULL.
15308
15309 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15310
15311         * gst/elements/gsttee.c: (gst_tee_init):
15312           fix pad template leak in tee
15313
15314 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15315
15316         * gst/glib-compat.c: (g_value_dup_gst_object):
15317         * gst/glib-compat.h:
15318         * gst/gstpad.c: (gst_pad_set_property):
15319           use gst_object_ref when setting the pad template; this will
15320           trigger the pad template leaks on GLib 2.6 and the slaves
15321
15322 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15323
15324         * gst/glib-compat.c: (gst_flags_get_first_value):
15325         * gst/glib-compat.h:
15326         * gst/gstregistryxml.c:
15327           remove functions copied from GLib 2.6
15328
15329 2005-11-16  Michael Smith <msmith@fluendo.com>
15330
15331         * gst/Makefile.am:
15332           Don't link against VALGRIND_LIBS. That was always the wrong thing to
15333           do, but only breaks with newer valgrind versions. We're not a
15334           valgrind tool, we have no link-time dependencies on libcoregrind.
15335
15336 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15337
15338         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15339           some debug changes
15340         * gst/gstmessage.h:
15341           typo fixes
15342
15343 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15344
15345         * gst/base/gstbasesrc.c: (gst_base_src_init):
15346         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15347         * gst/gstqueue.c: (gst_queue_init):
15348         * gst/gstregistryxml.c: (load_feature):
15349           Revert all these unrefs, they don't even pass make check !
15350
15351 2005-11-15  Johan Dahlin  <johan@gnome.org>
15352
15353         * gst/base/gstbasesrc.c: (gst_base_src_init):
15354         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15355         * gst/gstqueue.c: (gst_queue_init): 
15356         Free pad templates, fixes a couple of leaks.
15357
15358 2005-11-15  Daniel Fischer  <dan at f3c dot com>
15359
15360         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15361
15362         * gst/gstpad.c: (gst_pad_get_property):
15363           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15364           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15365           (#321452)
15366
15367 2005-11-15  Wim Taymans  <wim@fluendo.com>
15368
15369         * gst/gstevent.c:
15370         Small doc update.
15371
15372 2005-11-15  Andy Wingo  <wingo@pobox.com>
15373
15374         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15375
15376         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15377         using GST_CLOCK_TIME_NONE to disable base time management.
15378         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15379         time if it was NONE before.
15380         (gst_pipeline_change_state): Only munge the base time if
15381         stream_time != GST_CLOCK_TIME_NONE.
15382
15383         * check/gst/gstpipeline.c (test_base_time): Punt around the
15384         problem of the probe not being called, because that's not the
15385         issue I'm looking at. Add a check that setting stream_time to NONE
15386         disables base time management.
15387         
15388 2005-11-15  Wim Taymans  <wim@fluendo.com>
15389
15390         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15391         segment_stop == -1 at startup.
15392
15393         * gst/base/gstbasetransform.c: (gst_base_transform_event),
15394         (gst_base_transform_change_state):
15395         Init segment values at start.
15396
15397 2005-11-15  Wim Taymans  <wim@fluendo.com>
15398
15399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15400         0 segment values are 0 in any format.
15401
15402         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15403         * gst/base/gstbasetransform.h:
15404         Parse newsegment correctly in basetransform
15405
15406         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15407         Sync to clock using updated segment values.
15408
15409 2005-11-15  Andy Wingo  <wingo@pobox.com>
15410
15411         * check/gst/gstpipeline.c (test_base_time): Add check that the
15412         base time and stream time are reset correctly.
15413
15414 2005-11-15  Wim Taymans  <wim@fluendo.com>
15415
15416         * docs/design/part-TODO.txt:
15417         Some more TODO items.
15418
15419 2005-11-15  Andy Wingo  <wingo@pobox.com>
15420
15421         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15422         error if the user selected "no clock" as the clocking method.
15423
15424         * check/gst/gstpipeline.c (test_base_time): New test for buffer
15425         timestamps with live capture.
15426
15427         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15428         is 0 but we are a live source, timestamp the buffers using the
15429         element's clock.
15430
15431 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
15432
15433         * docs/gst/gstreamer-sections.txt:
15434         * gst/gsterror.c:
15435         * gst/gstghostpad.c:
15436         * gst/gstobject.h:
15437         * gst/gstxml.c:
15438           more section docs
15439
15440 2005-11-14  Wim Taymans  <wim@fluendo.com>
15441
15442         * common/gst.supp:
15443           add suppressions from Wim's Debian machine
15444
15445 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15446
15447         * common/gst.supp:
15448           add suppressions from Andy's AMD64 Ubuntu machine
15449
15450 2005-11-14  Andy Wingo  <wingo@pobox.com>
15451
15452         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15453         STATE_LOCK not necessary. Fixes #311489.
15454
15455         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15456         #305291.
15457
15458         * gst/gstindex.c (gst_index_add_object): Note in the docs that
15459         this function is not implemented.
15460
15461 2005-11-14  Julien MOUTTE  <julien@moutte.net>
15462
15463         * gst/base/gstbasetransform.c:
15464         (gst_base_transform_prepare_output_buf):
15465         Ref the source pad caps while we need them.
15466         Fixes (#321386)
15467
15468 2005-11-11  Wim Taymans  <wim@fluendo.com>
15469
15470         * docs/gst/gstreamer-sections.txt:
15471         Added some docs for GstCollectData.
15472
15473         * gst/base/gstadapter.c:
15474         Some small code example fix.
15475
15476         * gst/base/gstcollectpads.c:
15477         * gst/base/gstcollectpads.h:
15478         Document some more.
15479
15480 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15481
15482         * configure.ac: back to HEAD
15483
15484 === release 0.9.5 ===
15485
15486 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
15487
15488         * configure.ac:
15489           releasing 0.9.5, "Bike Lunch Day"
15490
15491 2005-11-11  Wim Taymans  <wim@fluendo.com>
15492
15493         * gst/gstbuffer.c: (_gst_buffer_copy):
15494         Copy more flags.
15495
15496         * gst/gstcaps.c: (gst_caps_is_equal):
15497         Fix some docs.
15498         Make _is_equal fast in the trivial cases.
15499
15500         * gst/gstminiobject.c:
15501         * gst/gstminiobject.h:
15502         More docs. Spifify .h file.
15503
15504         * gst/gstutils.c:
15505         Small doc update.
15506
15507 2005-11-11  Wim Taymans  <wim@fluendo.com>
15508
15509         * gst/base/gstbasetransform.c:
15510         (gst_base_transform_prepare_output_buf),
15511         (gst_base_transform_handle_buffer):
15512         Small cleanups.
15513         If we're processing a buffer and need to allocate an output
15514         buffer, we cannot accept a format change. If we did get a 
15515         format change, we have to alloc a buffer ourselves of the 
15516         right size.
15517
15518 2005-11-11  Wim Taymans  <wim@fluendo.com>
15519
15520         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15521         While checking the flag for reentrancy in the gstcaps function
15522         is nice to detect recursive invocations, it also makes it 
15523         impossible to call getcaps from multiple threads, which must be
15524         possible. So, checking for recursive calls has to go.
15525
15526 2005-11-11  Michael Smith <msmith@fluendo.com>
15527
15528         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15529           Don't sync on buffers that fall partially outside our current
15530           segment. Prevents an assertion failure/abort playing some files.
15531
15532 2005-11-10  Andy Wingo  <wingo@pobox.com>
15533
15534         * check/gst/gstbin.c (test_message_state_changed_children): Style
15535         fix..
15536
15537         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15538         gst_bus_poll with the signal watch. Ensures that poll and a signal
15539         watch see the same messages.
15540
15541         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15542         a poll and a watch at the same time get the same messages.
15543
15544 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15545
15546         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15547         * gst/gstcaps.c: (gst_caps_intersect):
15548           Don't call gst_caps_do_simplify - it doesn't respect order of caps
15549           and it's not needed.
15550
15551 2005-11-10  Wim Taymans  <wim@fluendo.com>
15552
15553         * docs/design/part-TODO.txt:
15554         Updated todo.
15555
15556 2005-11-10  Wim Taymans  <wim@fluendo.com>
15557
15558         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15559         * gst/base/gstbasesrc.c: (gst_base_src_wait),
15560         (gst_base_src_do_sync), (gst_base_src_get_range):
15561         Implement clock sync in base class.
15562
15563 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15564
15565         patch by: Tim-Philipp Müller <tim at centricular dot net>
15566
15567         * gst/gststructure.c: (gst_structure_parse_field),
15568         (gst_structure_from_string):
15569           Forward-port a 0.8 patch to handle escaped spaces in structure string,
15570           so that gst_parse_launch() can deal with spaces in filtered link
15571           caps (fixes #164479)
15572         * check/gst/capslist.h:
15573         * check/gst/gststructure.c: (GST_START_TEST):
15574           add unit tests for this change
15575
15576 2005-11-10  Wim Taymans  <wim@fluendo.com>
15577
15578         * docs/gst/gstreamer-sections.txt:
15579         * gst/gstelement.c:
15580         * gst/gstelement.h:
15581         Fix docs, move some STATE macros to private.
15582
15583 2005-11-10  Wim Taymans  <wim@fluendo.com>
15584
15585         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15586         Added check for bug #317341
15587
15588         * gst/gstbuffer.c:
15589         * gst/gstbuffer.h:
15590         Some more spiffifying.
15591
15592         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15593         Call peer linkfunction if we are a source pad. Totally fixes
15594         #317341
15595
15596         * gst/gstpad.c:
15597         Update docs, source pads should call the peer linkfunction
15598         so they can atomically perform the pad link.
15599
15600 2005-11-09  Wim Taymans  <wim@fluendo.com>
15601
15602         * gst/gstbuffer.c:
15603         * gst/gstbuffer.h:
15604         Uber-spiffy-spiffify some more.
15605
15606 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
15607
15608         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15609         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15610         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15611         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15612         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15613         * gst/gstpad.c: (gst_pad_init):
15614           Use GST_DEBUG_FUNCPTR() more extensively.
15615
15616 2005-11-09  Wim Taymans  <wim@fluendo.com>
15617
15618         * gst/gstobject.c: (gst_object_class_init):
15619         * gst/gstobject.h:
15620         Documentation fixes.
15621
15622 2005-11-09  Edward Hervey  <edward@fluendo.com>
15623
15624         * gst/gsttypefindfactory.c:
15625         Fix docs.
15626         
15627 2005-11-09  Edward Hervey  <edward@fluendo.com>
15628
15629         * gst/base/gsttypefindhelper.c:
15630         * gst/gsttypefind.c:
15631         * gst/gsttypefind.h:
15632         Fix docs.
15633
15634 2005-11-09  Wim Taymans  <wim@fluendo.com>
15635
15636         * gst/gstiterator.c:
15637         Fix revision data.
15638
15639         * gst/gsttask.c:
15640         * gst/gsttask.h:
15641         Fix docs.
15642
15643 2005-11-09  Wim Taymans  <wim@fluendo.com>
15644
15645         * gst/gstevent.h:
15646         * gst/gsturi.h:
15647         Fix docs.
15648
15649 2005-11-09  Wim Taymans  <wim@fluendo.com>
15650
15651         * docs/gst/gstreamer-sections.txt:
15652         Moved the message async delivery private lock and cond
15653         to the private section.
15654
15655         * gst/gstmessage.c:
15656         * gst/gstmessage.h:
15657         Fixed docs.
15658
15659 2005-11-09  Edward Hervey  <edward@fluendo.com>
15660
15661         * docs/gst/gstreamer-sections.txt:
15662         * gst/gsturi.c:
15663         * gst/gsturi.h:
15664         Document GstURIHandler
15665
15666 2005-11-09  Wim Taymans  <wim@fluendo.com>
15667
15668         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15669         (gst_iterator_find_custom):
15670         * gst/gstiterator.h:
15671         Fix iterator docs.
15672
15673 2005-11-09  Wim Taymans  <wim@fluendo.com>
15674
15675         * gst/gstbin.h:
15676         Document another field.
15677
15678         * gst/gststructure.c:
15679         * gst/gststructure.h:
15680         Document.
15681
15682 2005-11-09  Wim Taymans  <wim@fluendo.com>
15683
15684         * gst/gstbin.h:
15685         Documented structs.
15686
15687 2005-11-09  Wim Taymans  <wim@fluendo.com>
15688
15689         * docs/gst/gstreamer-sections.txt:
15690         Added some new macros.
15691
15692         * gst/gstclock.c:
15693         * gst/gstclock.h:
15694         * gst/gstobject.h:
15695         Docs updates.
15696
15697 2005-11-09  Wim Taymans  <wim@fluendo.com>
15698
15699         * docs/design/part-TODO.txt:
15700         Some more items for the TODO
15701
15702         * gst/gstcaps.c:
15703         * gst/gstcaps.h:
15704         Document GstCaps.
15705
15706 2005-11-09  Andy Wingo  <wingo@pobox.com>
15707
15708         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15709         to work on something else now tho...
15710
15711         * gst/base/gstadapter.c: More adapter docs.
15712
15713         * gst/elements/gstfilesink.c (gst_file_sink_start) 
15714         (gst_file_sink_stop): New functions, replace the state change
15715         handler.
15716         (gst_file_sink_class_init): Hook up the start and stop functions.
15717         (gst_file_sink_base_init): Don't set the state change handler any
15718         more. It was a bit ugly too, being set from here...
15719         (gst_file_sink_get_property, gst_file_sink_set_property):
15720         Cleanups...
15721         (gst_file_sink_set_location): More robust check that doesn't call
15722         GST_STATE. Ugggggg.
15723
15724 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
15725
15726         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15727           Hold STREAM_LOCK while pushing newsegment or tag events as well.
15728
15729 2005-11-08  Wim Taymans  <wim@fluendo.com>
15730
15731         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15732         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15733         (gst_base_sink_chain), (gst_base_sink_change_state):
15734         * gst/base/gstbasesink.h:
15735         * gst/base/gstbasesrc.h:
15736         * gst/gstelement.h:
15737         * gst/gstevent.h:
15738         Avoid excessive typechecking in macros.
15739
15740         * gst/gstminiobject.c: (gst_mini_object_get_type),
15741         (gst_mini_object_init), (gst_mini_object_new),
15742         (gst_mini_object_free):
15743         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15744         (gst_object_finalize):
15745         Remove cruft code, optimize alloc_trace.
15746
15747 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15748
15749         * docs/faq/gst-uninstalled:
15750           fix up PS1 for systems that try to reset it
15751
15752 2005-11-07  Wim Taymans  <wim@fluendo.com>
15753
15754         * gst/base/gstbasesrc.c: (gst_base_src_init),
15755         (gst_base_src_get_range):
15756         Set the segment_end to -1 initially. Fixed typefind.
15757
15758 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
15759
15760         * gst/base/gstadapter.c:
15761           Debug category should be 'adapter', not 'GstAdapter'.
15762           
15763         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
15764         (gst_collectpads_class_init), (gst_collectpads_init),
15765         (gst_collectpads_peek), (gst_collectpads_pop),
15766         (gst_collectpads_event), (gst_collectpads_chain):
15767           Add debug category and some debugging output. Use boilerplate
15768           macros. Remove some extraneous words from docs.
15769
15770 2005-11-05  Andy Wingo  <wingo@pobox.com>
15771
15772         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
15773         macro.
15774
15775 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15776
15777         * docs/gst/gstreamer-sections.txt:
15778         * gst/gstcaps.h:
15779         * gst/gstinfo.c:
15780         * gst/gstminiobject.h:
15781         * gst/gstobject.h:
15782         * gst/gstutils.h:
15783           more docs added
15784
15785 2005-11-04  Wim Taymans  <wim@fluendo.com>
15786
15787         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15788         Small update to stop at the configured segment_end
15789         position.
15790
15791 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15792
15793         * gst/gstregistry.c:
15794         * gst/gstregistry.h:
15795           added missing docs
15796
15797 2005-11-04  Edward Hervey  <edward@fluendo.com>
15798
15799         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15800         Check if we are doing a segment seek and have arrived at the
15801         end of that segment.
15802
15803 2005-11-04  Wim Taymans  <wim@fluendo.com>
15804
15805         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
15806         Don't leak a mutex unlock in case of an error.
15807
15808         * gst/gstbus.h:
15809         Doc fixes.
15810
15811 2005-11-04  Wim Taymans  <wim@fluendo.com>
15812
15813         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
15814         (gst_bus_post):
15815         Get the context to wake up only once.
15816
15817 2005-11-03  Wim Taymans  <wim@fluendo.com>
15818
15819         * check/states/sinks.c: (GST_START_TEST):
15820         Uncomment fixed check.
15821
15822         * docs/design/part-TODO.txt:
15823         Updated TODO.
15824
15825         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15826         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15827         (gst_base_sink_get_position):
15828         If we are going to PLAYING, post the right pending state
15829         when we post the intermediate paused message.
15830
15831         * gst/gstelement.c: (gst_element_continue_state),
15832         (gst_element_set_state_func), (gst_element_change_state):
15833         Don't post state changes that were between the same state
15834         and were not ASYNC.
15835
15836 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15837
15838         * docs/gst/gstreamer-sections.txt:
15839         * gst/gstcaps.h:
15840         * gst/gstinfo.c:
15841         * gst/gstminiobject.h:
15842         * gst/gstobject.h:
15843         * gst/gstutils.h:
15844           more docs and doc style fixes
15845
15846 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15847
15848         * docs/gst/gstreamer-sections.txt:
15849         * gst/gstelement.c:
15850         * gst/gstminiobject.c:
15851         doc fixes
15852
15853 2005-11-03  Andy Wingo  <wingo@pobox.com>
15854
15855         * check/states/sinks.c (test_livesrc_sink): Add checks that the
15856         state-changed messages actually have the right order and the right
15857         values.
15858
15859 2005-11-03  Wim Taymans  <wim@fluendo.com>
15860
15861         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15862         Added some more checks. Specifically the case where NO_PREROLL
15863         elements are in the pipeline.
15864
15865         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15866         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15867         (gst_base_sink_get_position):
15868         Post READY->PAUSED state change messages too.
15869         Fix bug where VOID was posted as pending state...
15870
15871         * gst/gstbin.c: (gst_bin_recalc_state):
15872         use _element_continue_state() to continue the state change.
15873
15874         * gst/gstelement.c: (gst_element_continue_state),
15875         (gst_element_commit_state), (gst_element_set_state_func),
15876         (gst_element_change_state), (gst_element_change_state_func):
15877         Lots of state change cleanups, assign the STATE_RETURN in
15878         a new continue_state() function that also propagates the
15879         last return value from a state change to the app.
15880         Update some debug statements with proper category.
15881
15882 2005-11-03  Wim Taymans  <wim@fluendo.com>
15883
15884         * docs/design/part-events.txt:
15885         * docs/design/part-gstpipeline.txt:
15886         * docs/design/part-messages.txt:
15887         * docs/design/part-overview.txt:
15888         * docs/design/part-seeking.txt:
15889         * docs/design/part-states.txt:
15890         * docs/design/part-trickmodes.txt:
15891         * docs/manual/advanced-position.xml:
15892         Small docs updates.
15893
15894         * gst/gstobject.h:
15895         People think !! is ugly, this looks better.
15896
15897         * gst/gstpad.c: (gst_pad_set_blocked_async):
15898         Remove !! since it's fixed elsewhere now.
15899
15900 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15901
15902         * gst/gstminiobject.h:
15903         * gst/gstobject.h:
15904           Add !! to _FLAG_IS_SET macros to make the result boolean.
15905
15906 2005-11-03  Edward Hervey  <edward@fluendo.com>
15907
15908         * gst/gstpad.c: (gst_pad_set_blocked_async):
15909         comparing a flag and a gboolean rarely returns coherent results...
15910         Added two characters (!!) to make that work correctly.
15911         
15912 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15913
15914         * gst/gstbus.c: (gst_bus_class_init):
15915           Fix some typos.
15916           
15917         * gst/gstqueue.c: (gst_queue_loop):
15918           Don't assume a miniobject that isn't a buffer is an
15919           event (it could be that there is a refcounting
15920           problem somewhere and the pointer is stale and
15921           refers to an already destroyed miniobject).
15922
15923 2005-11-03  Julien MOUTTE  <julien@moutte.net>
15924
15925         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
15926
15927 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15928
15929         * docs/manual/advanced-position.xml:
15930           Update seek example and explanations to current 0.9 API.
15931
15932         * gst/elements/gsttypefindelement.c:
15933         (gst_type_find_element_activate):
15934           Remove FIXME comment now that the found caps
15935           are unreffed.
15936
15937 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15938
15939         * gst/gstregistryxml.c: (load_feature):
15940           Add another GST_STR_NULL instance
15941
15942 2005-11-02  Edward Hervey  <edward@fluendo.com>
15943
15944         * gst/gstpad.c: (handle_pad_block):
15945         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15946         
15947 2005-11-02  Wim Taymans  <wim@fluendo.com>
15948
15949         * gst/gstbin.c:
15950         Fix typo in docs.
15951
15952         * gst/gstelement.c: (gst_element_commit_state):
15953         Remove unused value.
15954
15955         * gst/gstiterator.c:
15956         Mention that the returned element is reffed in the docs.
15957
15958 2005-11-02  Wim Taymans  <wim@fluendo.com>
15959
15960         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15961         (gst_pad_push), (gst_pad_push_event):
15962         Unlock blocked pads when they are flushed.
15963
15964 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15965
15966         * docs/README:
15967         * docs/gst/gstreamer-sections.txt:
15968         * gst/gstbin.c:
15969           doc updates
15970         * gst/gstregistry.c: (gst_registry_scan_path_level):
15971           fix for a nasty little missed situation where an installed plug-in
15972           which was in the cache did not get overridden by an uninstalled one
15973           which was earlier in the plugin path because the newly created plugin
15974           for the uninstalled one (not in the registry) didn't get its
15975           ->registered set to TRUE
15976
15977 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15978
15979         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15980         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15981         (gst_collectpads_is_active), (gst_collectpads_collect),
15982         (gst_collectpads_collect_range), (gst_collectpads_start),
15983         (gst_collectpads_stop), (gst_collectpads_peek),
15984         (gst_collectpads_pop), (gst_collectpads_available),
15985         (gst_collectpads_read), (gst_collectpads_flush):
15986           Guard public API with assertions.
15987         
15988         * gst/gstpad.c:
15989           Fix docs for gst_pad_set_link_function().
15990
15991 2005-11-02  Johan Dahlin  <johan@gnome.org>
15992
15993         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
15994         Unref found_caps after we used it.
15995
15996 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15997
15998         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15999           Don't try to ref NULL.
16000
16001 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16002
16003         * win32/common/config.h.in:
16004           provide a GST_FUNCTION that just gives a string for now
16005
16006 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16007
16008         * win32/common/gstenumtypes.c: (register_gst_object_flags),
16009         (gst_object_flags_get_type), (register_gst_bin_flags),
16010         (gst_bin_flags_get_type), (register_gst_buffer_flag),
16011         (gst_buffer_flag_get_type), (register_gst_bus_flags),
16012         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16013         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
16014         (gst_clock_return_get_type), (register_gst_clock_entry_type),
16015         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16016         (gst_clock_flags_get_type), (register_gst_state),
16017         (gst_state_get_type), (register_gst_state_change_return),
16018         (gst_state_change_return_get_type), (register_gst_state_change),
16019         (gst_state_change_get_type), (register_gst_element_flags),
16020         (gst_element_flags_get_type), (register_gst_core_error),
16021         (gst_core_error_get_type), (register_gst_library_error),
16022         (gst_library_error_get_type), (register_gst_resource_error),
16023         (gst_resource_error_get_type), (register_gst_stream_error),
16024         (gst_stream_error_get_type), (register_gst_event_type),
16025         (gst_event_type_get_type), (register_gst_seek_type),
16026         (gst_seek_type_get_type), (register_gst_seek_flags),
16027         (gst_seek_flags_get_type), (register_gst_format),
16028         (gst_format_get_type), (register_gst_index_certainty),
16029         (gst_index_certainty_get_type), (register_gst_index_entry_type),
16030         (gst_index_entry_type_get_type),
16031         (register_gst_index_lookup_method),
16032         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16033         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16034         (gst_index_resolver_method_get_type), (register_gst_index_flags),
16035         (gst_index_flags_get_type), (register_gst_debug_level),
16036         (gst_debug_level_get_type), (register_gst_debug_color_flags),
16037         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16038         (gst_iterator_result_get_type), (register_gst_iterator_item),
16039         (gst_iterator_item_get_type), (register_gst_message_type),
16040         (gst_message_type_get_type), (register_gst_mini_object_flags),
16041         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16042         (gst_pad_link_return_get_type), (register_gst_flow_return),
16043         (gst_flow_return_get_type), (register_gst_activate_mode),
16044         (gst_activate_mode_get_type), (register_gst_pad_direction),
16045         (gst_pad_direction_get_type), (register_gst_pad_flags),
16046         (gst_pad_flags_get_type), (register_gst_pad_presence),
16047         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16048         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16049         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16050         (gst_plugin_error_get_type), (register_gst_plugin_flags),
16051         (gst_plugin_flags_get_type), (register_gst_rank),
16052         (gst_rank_get_type), (register_gst_query_type),
16053         (gst_query_type_get_type), (register_gst_tag_merge_mode),
16054         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16055         (gst_tag_flag_get_type), (register_gst_task_state),
16056         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16057         (gst_alloc_trace_flags_get_type),
16058         (register_gst_type_find_probability),
16059         (gst_type_find_probability_get_type), (register_gst_uri_type),
16060         (gst_uri_type_get_type), (register_gst_parse_error),
16061         (gst_parse_error_get_type):
16062         * win32/common/gstversion.h:
16063           update win32 copies
16064
16065 2005-11-01  Luca Ognibene  <luogni@tin.it>
16066
16067         * gst/gst.c:
16068           fix docs. popt is dead, long live GOption.
16069
16070 2005-10-31  Wim Taymans  <wim@fluendo.com>
16071
16072         * gst/gstbuffer.h:
16073         Small doc fix.
16074
16075 2005-10-31  Andy Wingo  <wingo@pobox.com>
16076
16077         * Boo!
16078
16079         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
16080
16081         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
16082         need to serialize property notifications on GLib 2.8. GLib 2.6 has
16083         the possibility of deadlocks here if code calling notify() or
16084         set() has a lock that can be taken in another notify handler (ABBA
16085         with class lock and e.g. python GIL state lock).
16086
16087 2005-10-28  Julien MOUTTE  <julien@moutte.net>
16088
16089         * gst/gstbus.c: Doc updates.
16090
16091 2005-10-28  Wim Taymans  <wim@fluendo.com>
16092
16093         * docs/design/part-TODO.txt:
16094         * gst/gstiterator.c:
16095         * gst/gstsystemclock.c:
16096         * gst/gstsystemclock.h:
16097         Doc updates.
16098
16099 2005-10-28  Edward Hervey  <edward@fluendo.com>
16100
16101         * docs/gst/gstreamer-docs.sgml:
16102         * docs/gst/gstreamer-sections.txt:
16103         the GstURIType documentation page is private, it only defines GstURIType
16104         which should be defined in the GstURIHandler page
16105         
16106 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16107
16108         * gst/gstbin.c: (gst_bin_class_init):
16109         * gst/gstbin.h:
16110         * gst/gstutils.c:
16111         Documentation updates.
16112
16113 2005-10-28  Wim Taymans  <wim@fluendo.com>
16114
16115         * docs/gst/gstreamer-sections.txt:
16116         * gst/gstclock.c:
16117         * gst/gstclock.h:
16118         Documented the clocks.
16119
16120 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
16121
16122         * docs/gst/gstreamer-sections.txt:
16123           move some macros to private sections
16124         * gst/gstminiobject.c:
16125         * gst/gstminiobject.h:
16126           add descriptions provided by ds and some more
16127         * gst/gstpad.h:
16128           mark macro as to be removed
16129
16130 2005-10-28  Wim Taymans  <wim@fluendo.com>
16131
16132         * docs/design/part-TODO.txt:
16133         Add an item to TODO.
16134
16135         * gst/gstiterator.c: (gst_iterator_fold),
16136         (gst_iterator_find_custom):
16137         * gst/gstiterator.h:
16138         Add iterator docs.
16139
16140 2005-10-28  Wim Taymans  <wim@fluendo.com>
16141
16142         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16143         (gst_base_transform_init):
16144         Don't leak class.
16145
16146         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
16147         An EOS event marks the queue as completely filled.
16148
16149 2005-10-27  Wim Taymans  <wim@fluendo.com>
16150
16151         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16152         (gst_base_sink_do_sync), (gst_base_sink_get_position):
16153         Some more debugging.
16154
16155         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
16156         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
16157         (gst_base_transform_event), (gst_base_transform_getrange),
16158         (gst_base_transform_chain):
16159         * gst/base/gstbasetransform.h:
16160         Fix debugging,
16161         Protect transform and concurrent buffer alloc with a new lock.
16162         Try not to break ABI/API.
16163
16164 2005-10-27  Wim Taymans  <wim@fluendo.com>
16165
16166         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16167         (gst_base_src_init), (gst_base_src_query),
16168         (gst_base_src_default_newsegment),
16169         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16170         (gst_base_src_send_event), (gst_base_src_event_handler),
16171         (gst_base_src_pad_get_range), (gst_base_src_loop),
16172         (gst_base_src_unlock), (gst_base_src_default_negotiate),
16173         (gst_base_src_start), (gst_base_src_deactivate),
16174         (gst_base_src_activate_push), (gst_base_src_change_state):
16175         Move some stuff around and cleanup things.
16176
16177 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
16178
16179         * gst/base/gstbasesrc.c: (gst_base_src_query):
16180           Add missing break statements.
16181
16182 2005-10-27  Wim Taymans  <wim@fluendo.com>
16183
16184         * check/gst/gstbin.c: (GST_START_TEST):
16185         An extra refcount is taken in basesrc.
16186
16187         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16188         (gst_base_src_get_range), (gst_base_src_pad_get_range),
16189         (gst_base_src_loop):
16190         Small cleanups, check for flushing after being unlocked from the 
16191         LIVE_LOCK. take refcounts correctly (not yet everywhere).
16192         Don't send out EOS when going to READY.
16193
16194 2005-10-27  Wim Taymans  <wim@fluendo.com>
16195
16196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16197         (gst_base_sink_get_position):
16198         Some more debug.
16199
16200         * gst/gstbin.c: (message_check), (bin_replace_message),
16201         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16202         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16203         (bin_query_duration_init), (bin_query_duration_fold),
16204         (bin_query_duration_done), (bin_query_generic_fold),
16205         (gst_bin_query):
16206         * tools/gst-launch.c: (main):
16207         Remove old option.
16208
16209 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
16210
16211         * examples/controller/audio-example.c: (main):
16212         * examples/queue/queue.c: (event_loop):
16213         * gst/base/gstbasetransform.h:
16214         * gst/gstelement.c: (gst_element_send_event):
16215         * gst/gstevent.h:
16216         * gst/gstpad.c: (gst_pad_send_event):
16217           fixing examples
16218           fixing docs typos
16219           changing log priority in error situations
16220
16221 2005-10-25  Wim Taymans  <wim@fluendo.com>
16222
16223         * gst/gstbin.c: (message_check), (bin_replace_message),
16224         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16225         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16226         (bin_query_duration_init), (bin_query_duration_fold),
16227         (bin_query_duration_done), (bin_query_generic_fold),
16228         (gst_bin_query):
16229         Some doc and debug updates.
16230         Cache previously requested query DURATION for speed. invalidate
16231         cached duration if element posts a DURATION message.
16232
16233 2005-10-25  Wim Taymans  <wim@fluendo.com>
16234
16235         * docs/design/part-TODO.txt:
16236         Update TODO.
16237
16238         * gst/gstbin.c: (message_check), (bin_replace_message),
16239         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16240         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16241         (bin_query_duration_init), (bin_query_duration_fold),
16242         (bin_query_duration_done), (bin_query_generic_fold),
16243         (gst_bin_query):
16244         Handle SEGMENT_START/DONE messages correctly.
16245         More evolved query algorithm that handles duration queries
16246         correctly.
16247
16248         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16249         (gst_element_get_state_func), (gst_element_abort_state),
16250         (gst_element_commit_state), (gst_element_lost_state):
16251         Some more debugging.
16252
16253         * gst/gstmessage.h:
16254         Added doc.
16255
16256 2005-10-25  Wim Taymans  <wim@fluendo.com>
16257
16258         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16259         Don't use invalid stream_time.
16260
16261         * gst/gstevent.c: (gst_event_new_newsegment):
16262         stream_time in newsegment cannot be undefined.
16263
16264 2005-10-24  Wim Taymans  <wim@fluendo.com>
16265
16266         * gst/gstbus.c:
16267         Doc fix.
16268
16269         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16270         (gst_queue_loop):
16271         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16272
16273 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
16274
16275         * docs/libs/tmpl/gstdparam.sgml:
16276         * docs/libs/tmpl/gstdplinint.sgml:
16277         * docs/libs/tmpl/gstdpman.sgml:
16278         * docs/libs/tmpl/gstdpsmooth.sgml:
16279         * docs/libs/tmpl/gstunitconvert.sgml:
16280           these are obsolete
16281
16282 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16283
16284         * configure.ac:
16285           back to HEAD
16286
16287 === release 0.9.4 ===
16288
16289 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16290
16291         * configure.ac:
16292           releasing 0.9.4, "Tyrannosaurus Rex"
16293
16294 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
16295
16296         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16297         (gst_file_sink_get_current_offset):
16298           Use fseeko() and ftello() if available. When falling back on
16299           lseek() to get the current offset, fflush() first to make sure
16300           everything is up-to-date and we get the right offset.
16301
16302 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16303
16304         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16305         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16306         * gst/gsterror.c: (_gst_stream_errors_init):
16307         * gst/gsterror.h:
16308         * gst/gstqueue.c: (gst_queue_loop):
16309         * po/POTFILES.in:
16310           remove prematurely added error category and clean up the instances
16311
16312 2005-10-21  Wim Taymans  <wim@fluendo.com>
16313
16314         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16315         (gst_base_sink_get_position), (gst_base_sink_query),
16316         (gst_base_sink_change_state):
16317         Simply set the right flag when going to playing, that's all
16318         we need to do instead of calling a function inside the object
16319         lock (that could take the lock as well and deadlock)
16320
16321 2005-10-21  Wim Taymans  <wim@fluendo.com>
16322
16323         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16324         (gst_base_src_loop):
16325         Don't warn, the peer element knows what to do best when
16326         the seek failed, it might try something else.
16327
16328 2005-10-21  Wim Taymans  <wim@fluendo.com>
16329
16330         * gst/base/gstbasesrc.c: (gst_base_src_init),
16331         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16332         Fix seeking.
16333
16334 2005-10-21  Wim Taymans  <wim@fluendo.com>
16335
16336         * docs/design/part-segments.txt:
16337         More docs.
16338
16339         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16340         Correctly set caps, even on the subbufer.
16341
16342 2005-10-21  Wim Taymans  <wim@fluendo.com>
16343
16344         * docs/gst/gstreamer-docs.sgml:
16345         * docs/gst/gstreamer-sections.txt:
16346         * gst/gstelement.h:
16347         * gst/gstevent.c:
16348         * gst/gstevent.h:
16349         * gst/gstmessage.h:
16350         * gst/gstpad.h:
16351         * gst/gstparse.h:
16352         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16353         * gst/gsttask.h:
16354         * gst/gstutils.c:
16355         * gst/gstutils.h:
16356         And 2% more doc coverage.
16357
16358 2005-10-21  Andy Wingo  <wingo@pobox.com>
16359
16360         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16361         position reporting.
16362
16363 2005-10-20  Wim Taymans  <wim@fluendo.com>
16364
16365         * gst/gsterror.c: (gst_error_get_message):
16366         * gst/gstparse.h:
16367         * gst/gstquery.h:
16368         * gst/gststructure.c:
16369         * gst/gsttrace.c:
16370         * gst/gstutils.c:
16371         More docs.
16372
16373 2005-10-20  Wim Taymans  <wim@fluendo.com>
16374
16375         * gst/gstbuffer.h:
16376         * gst/gstpad.c:
16377         * gst/gstparse.c:
16378         Another 1% more coverage.
16379
16380 2005-10-20  Wim Taymans  <wim@fluendo.com>
16381
16382         * docs/gst/gstreamer-sections.txt:
16383         * gst/gstelement.c: (gst_element_get_state_func),
16384         (gst_element_abort_state), (gst_element_commit_state),
16385         (gst_element_lost_state):
16386         * gst/gstevent.h:
16387         * gst/gstquery.c: (gst_query_set_position),
16388         (gst_query_parse_position), (gst_query_set_duration),
16389         (gst_query_parse_duration), (gst_query_new_convert):
16390         * gst/gstutils.c:
16391         Yay! 1% more docs coverage.
16392
16393 2005-10-20  Wim Taymans  <wim@fluendo.com>
16394
16395         * gst/gstpad.h:
16396         * gst/gstquery.c: (gst_query_set_position),
16397         (gst_query_parse_position), (gst_query_set_duration),
16398         (gst_query_parse_duration), (gst_query_new_convert):
16399         * gst/gstquery.h:
16400         * gst/gstutils.c: (gst_element_query_convert):
16401         * gst/gstutils.h:
16402         Docs and consistency fixes.
16403
16404 2005-10-20  Wim Taymans  <wim@fluendo.com>
16405
16406         * gst/gsttask.c:
16407         * gst/gsttask.h:
16408         More docs.
16409
16410 2005-10-20  Wim Taymans  <wim@fluendo.com>
16411
16412         * gst/gstbin.c: (message_check), (bin_replace_message),
16413         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16414         (update_degree), (gst_bin_sort_iterator_next),
16415         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16416         Reworked the message handling a bit, cache the messages instead of
16417         only the senders. alows us to do more in the future.
16418
16419 2005-10-20  Wim Taymans  <wim@fluendo.com>
16420
16421         * docs/design/part-TODO.txt:
16422         Update TODO
16423
16424         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16425         (gst_base_sink_query):
16426         Don't use clock time to report position when in EOS.
16427
16428 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
16429
16430         * tools/gst-inspect.c: (print_interfaces),
16431         (print_element_properties_info), (print_element_info):
16432           Fix interface output with gst-inspect -a; don't print
16433           newlines after double/float properties.
16434
16435 2005-10-20  Wim Taymans  <wim@fluendo.com>
16436
16437         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16438         (gst_base_sink_query):
16439         Speed up current position calculation.
16440
16441         * gst/base/gstbasesrc.c: (gst_base_src_query),
16442         (gst_base_src_default_newsegment):
16443         Correctly set stream position in newsegment.
16444
16445         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16446         (update_degree), (gst_bin_sort_iterator_next),
16447         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16448         * gst/gstmessage.c: (gst_message_new_custom):
16449         Clean up debugging info
16450
16451         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16452         (gst_queue_loop), (gst_queue_handle_src_query):
16453         Pause task faster.
16454
16455 2005-10-19  Wim Taymans  <wim@fluendo.com>
16456
16457         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16458         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16459         Fix query handling again.
16460
16461 2005-10-19  Wim Taymans  <wim@fluendo.com>
16462
16463         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16464         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16465         * gst/base/gstbasesrc.c: (gst_base_src_query):
16466         * gst/elements/gstfilesink.c: (gst_file_sink_query):
16467         * gst/elements/gsttypefindelement.c:
16468         (gst_type_find_handle_src_query), (find_element_get_length),
16469         (gst_type_find_element_activate):
16470         API change fix.
16471
16472         * gst/gstquery.c: (gst_query_new_position),
16473         (gst_query_set_position), (gst_query_parse_position),
16474         (gst_query_new_duration), (gst_query_set_duration),
16475         (gst_query_parse_duration), (gst_query_set_segment),
16476         (gst_query_parse_segment):
16477         * gst/gstquery.h:
16478         Bundling query position/duration is not a good idea since duration
16479         does not change much and we don't want to recalculate it for every
16480         position query, so they are separated again..
16481         Base value in segment query is not needed.
16482
16483         * gst/gstqueue.c: (gst_queue_handle_src_query):
16484         * gst/gstutils.c: (gst_element_query_position),
16485         (gst_element_query_duration), (gst_pad_query_position),
16486         (gst_pad_query_duration):
16487         * gst/gstutils.h:
16488         Updates for query API change.
16489         Added some docs here and there.
16490
16491 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16492
16493         * check/gst/gstbin.c: (GST_START_TEST):
16494         * check/gst/gstghostpad.c: (GST_START_TEST):
16495         * check/pipelines/cleanup.c: (GST_START_TEST):
16496           wait on thread to die so we can check refcount correctly
16497
16498 2005-10-18  Wim Taymans  <wim@fluendo.com>
16499
16500         * check/pipelines/stress.c: (GST_START_TEST):
16501         Make check a little more time consuming.
16502
16503 2005-10-18  Wim Taymans  <wim@fluendo.com>
16504
16505         * check/Makefile.am:
16506         * check/pipelines/stress.c: (GST_START_TEST),
16507         (simple_launch_lines_suite), (main):
16508         Small state change torture test.
16509
16510         * docs/design/part-states.txt:
16511         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16512         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16513         (gst_base_sink_change_state):
16514         Never take state lock from streaming thread, clean up ugly
16515         hacks. Unfortunatly core does not yet support nice ways to
16516         async commit state.
16517         
16518         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16519         (bin_bus_handler):
16520         Start state recalc if a STATE_DIRTY message is posted, but only
16521         on the toplevel bin.
16522
16523         * gst/gstelement.c: (gst_element_sync_state_with_parent),
16524         (gst_element_get_state_func), (gst_element_abort_state),
16525         (gst_element_commit_state), (gst_element_lost_state),
16526         (gst_element_set_state_func), (gst_element_change_state):
16527         * gst/gstelement.h:
16528         State variables are now protected with the LOCK, the state
16529         lock is only used to serialize _set_state().
16530
16531 2005-10-18  Wim Taymans  <wim@fluendo.com>
16532
16533         * check/gst/gstbin.c: (GST_START_TEST):
16534         * check/gst/gstmessage.c: (GST_START_TEST):
16535         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16536         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16537         (bin_bus_handler):
16538         * gst/gstelement.c: (gst_element_abort_state),
16539         (gst_element_commit_state), (gst_element_lost_state):
16540         * gst/gstmessage.c: (gst_message_new_state_changed),
16541         (gst_message_new_state_dirty), (gst_message_new_segment_start),
16542         (gst_message_new_segment_done), (gst_message_new_duration),
16543         (gst_message_parse_state_changed),
16544         (gst_message_parse_segment_start),
16545         (gst_message_parse_segment_done), (gst_message_parse_duration):
16546         * gst/gstmessage.h:
16547         * tools/gst-launch.c: (event_loop):
16548         Seriously, this is better than a previous commit as we only need
16549         to notify the fact that an element changed state in a streaming
16550         thread, marking the state of the parents dirty, hence the 
16551         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16552         message.
16553
16554 2005-10-18  Wim Taymans  <wim@fluendo.com>
16555
16556         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16557         (gst_bin_recalc_func):
16558         * gst/gstelement.c: (gst_element_set_clock),
16559         (gst_element_abort_state), (gst_element_lost_state):
16560         Cleanups, prepare for state change fixes.
16561
16562 2005-10-18  Wim Taymans  <wim@fluendo.com>
16563
16564         * gst/gstbin.h:
16565         * gst/gstelement.c: (gst_element_class_init),
16566         (gst_element_set_state), (gst_element_set_state_func):
16567         * gst/gstelement.h:
16568         Pending ABI changes.
16569         GThreadPool in GstBinClass to monitor async state changes.
16570         state_cookie in GstElement to detect concurrent gst/set state.
16571         set_state is now virtual too in case a very complicated element
16572         has to be constructed.
16573
16574 2005-10-18  Wim Taymans  <wim@fluendo.com>
16575
16576         * check/gst/gstbin.c: (GST_START_TEST):
16577         * check/gst/gstmessage.c: (GST_START_TEST):
16578         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16579         * gst/gstbin.c: (bin_bus_handler):
16580         * gst/gstelement.c: (gst_element_commit_state),
16581         (gst_element_lost_state):
16582         * gst/gstmessage.c: (gst_message_new_state_changed),
16583         (gst_message_new_segment_start), (gst_message_new_segment_done),
16584         (gst_message_new_duration), (gst_message_parse_state_changed),
16585         (gst_message_parse_segment_start),
16586         (gst_message_parse_segment_done), (gst_message_parse_duration):
16587         * gst/gstmessage.h:
16588         * tools/gst-launch.c: (event_loop):
16589         Make messages future proof.
16590         state-change gets a flag if it was a message comming from the
16591         streaming thread.
16592         segment-start/stop can also be specified in other formats.
16593         A message to notify an app that a pipeline changed playback 
16594         duration.
16595         Also fix a GstMessage leak in -launch
16596
16597 2005-10-18  Andy Wingo  <wingo@pobox.com>
16598
16599         * gst/gstelement.c (gst_element_dispose): More helpful message.
16600
16601 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16602
16603         reviewed by: <delete if not using a buddy>
16604
16605         * common/gtk-doc.mak:
16606
16607 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16608
16609         * gst/gstregistry.c: (gst_registry_scan_path_level):
16610           unref a plug-in we get that was already initialized
16611
16612 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
16613
16614         * docs/gst/gstreamer-sections.txt:
16615         * docs/libs/gstreamer-libs-sections.txt:
16616         * gst/gstelement.h:
16617           add new api entries
16618           hide internal macro
16619
16620 2005-10-17  Andy Wingo  <wingo@pobox.com>
16621
16622         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16623         cleanup.
16624
16625         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16626
16627         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16628
16629         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16630         (gst_element_get_state_func): Better debug message.
16631         (gst_element_commit_state): s/INFO/DEBUG/.
16632         (gst_element_lost_state, gst_element_change_state): 
16633
16634         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16635         (gst_message_new_custom): s/INFO/LOG/.
16636
16637 2005-10-17  Michael Smith <msmith@fluendo.com>
16638
16639         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16640           Check if end time is valid using end time, not start time.
16641
16642 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
16643
16644         * check/gst-libs/controller.c: (GST_START_TEST),
16645         (gst_controller_suite):
16646         * libs/gst/controller/gstcontroller.c:
16647         (gst_controlled_property_set_interpolation_mode):
16648         * libs/gst/controller/gstcontroller.h:
16649         * libs/gst/controller/gstinterpolation.c:
16650         * testsuite/controller/.cvsignore:
16651         * testsuite/controller/Makefile.am:
16652         * testsuite/controller/interpolator.c:
16653           merge controller testsuites
16654           fix broken tests
16655           remove mem-chunk from docs
16656
16657 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16658
16659         * gst/gstmemchunk.c:
16660         * gst/gstmemchunk.h:
16661         * gst/gsttrashstack.c:
16662         * gst/gsttrashstack.h:
16663           out.  get out.  you're fired.  to the Attic !
16664
16665 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16666
16667         * gst/gstcaps.c: (gst_caps_intersect):
16668           fix signedness issues in a (hopefully) correct way
16669         * gst/gstelement.c: (gst_element_pads_activate):
16670           some debugging
16671         * gst/gstobject.c: (gst_object_set_parent):
16672           some debugging
16673
16674 2005-10-17  Julien MOUTTE  <julien@moutte.net>
16675
16676         * gst/gstvalue.h: Fix prototypes.
16677
16678 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16679
16680         * docs/gst/gstreamer-sections.txt:
16681         * gst/gst.c: (gst_version_string):
16682         * gst/gst.h:
16683         * gst/gstversion.h.in:
16684         * win32/common/libgstreamer.def:
16685           add gst_version_string ()
16686
16687 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16688
16689         * configure.ac:
16690           clean up further
16691         * gst/gst.c: (init_post):
16692         * win32/common/config.h.in:
16693           it's PLUGINDIR now
16694         * gst/gstcaps.c: (gst_caps_intersect):
16695           use gint64, the range could be bigger than a guint
16696
16697 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16698
16699         * gst/gstclock.h:
16700           document potential problem in 2038
16701
16702 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16703
16704         * gst/gstcaps.c: (gst_caps_intersect):
16705           Fix guint j diving under 0
16706
16707 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16708
16709         * configure.ac:
16710         * win32/common/config.h:
16711         * win32/common/config.h.in:
16712           check for process.h, declares getpid() on Windows
16713         * gst/gstinfo.c:
16714           include process.h if we have it
16715         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
16716         * gst/gstmemchunk.h:
16717           fix signedness issues
16718         * win32/common/libgstreamer.def:
16719           fix get_type's
16720
16721 2005-10-16  Julien MOUTTE  <julien@moutte.net>
16722
16723         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
16724         fix. Because of unsigned ints, caps intersection was going nuts and
16725         trying to access structures with G_MAXUINT index. That fixes
16726         videotestsrc ! ffmpegcolorspace ! fakesink
16727         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
16728         consistency.
16729
16730 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16731
16732         * configure.ac:
16733           use the gettext macro
16734         * gst/elements/gstelements.c:
16735         * gst/gst.c:
16736         * gst/indexers/gstindexers.c:
16737           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
16738         * win32/common/config.h:
16739           updated config.h
16740         * win32/common/config.h.in:
16741           add the template to generate config.h
16742         * win32/common/gstenumtypes.c:
16743         * win32/common/gstversion.h:
16744           updated copies
16745
16746 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16747
16748         * gst/gst.c: (gst_version):
16749         * gst/gstversion.h.in:
16750           add the nano
16751
16752 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16753
16754         * gst/gstevent.h:
16755           Oops, add missing closing bracket.
16756
16757 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16758
16759         * configure.ac:
16760           use common m4's for argument checking
16761
16762 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16763
16764         * docs/gst/gstreamer-sections.txt:
16765         * gst/gstevent.h:
16766           Add GST_EVENT_TYPE_NAME() macro.
16767
16768 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16769
16770         * gst/gstinfo.c:
16771         * gst/gstpluginfeature.c:
16772         * gst/gsttask.c:
16773           privatize more symbols
16774
16775 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16776
16777         * configure.ac:
16778           add srcdir, builddir includes to GST_ALL_CFLAGS, since
16779           everything that uses GStreamer API should have the includes
16780
16781 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16782
16783         * docs/gst/gstreamer-sections.txt:
16784         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
16785         * gst/gstvalue.h:
16786           give each value a _get_type, removes the DATA exports
16787
16788 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16789
16790         * gst/gst.c:
16791         * gst/gst.h:
16792           remove _gst_registry_auto_load, not used anymore
16793         * gst/gstbin.c: (gst_bin_get_type):
16794         * gst/gstbin.h:
16795         * gst/gstelement.c: (gst_element_get_type):
16796         * gst/gstelement.h:
16797         * gst/gstobject.c: (gst_object_get_type):
16798         * gst/gstobject.h:
16799         * gst/gstpad.c: (gst_pad_get_type):
16800         * gst/gstpad.h:
16801           make _get_type functions similar, fixes data export from library
16802
16803 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16804
16805         * configure.ac:
16806           correctly make conditionals
16807         * gst/elements/Makefile.am:
16808         * gst/elements/gstelements.c:
16809           fix typo causing fdsrc not to build
16810
16811 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16812
16813         * testsuite/Makefile.am:
16814         * testsuite/bytestream/.cvsignore:
16815         * testsuite/bytestream/Makefile.am:
16816         * testsuite/bytestream/filepadsink.c:
16817         * testsuite/bytestream/gstbstest.c:
16818         * testsuite/bytestream/test1.c:
16819         * testsuite/bytestream/testfile1:
16820         * testsuite/caps/normalisation.c:
16821         * testsuite/caps/random.c: (main):
16822         * testsuite/cleanup/.cvsignore:
16823         * testsuite/cleanup/Makefile.am:
16824         * testsuite/cleanup/cleanup1.c:
16825         * testsuite/cleanup/cleanup2.c:
16826         * testsuite/cleanup/cleanup3.c:
16827         * testsuite/cleanup/cleanup4.c:
16828         * testsuite/cleanup/cleanup5.c:
16829         * testsuite/controller/interpolator.c:
16830         * testsuite/debug/printf_extension.c: (main):
16831         * testsuite/elements/tee.c:
16832         * testsuite/negotiation/.cvsignore:
16833         * testsuite/negotiation/Makefile.am:
16834         * testsuite/negotiation/pad_link.c:
16835         * testsuite/pad/Makefile.am:
16836         * testsuite/pad/chainnopull.c:
16837         * testsuite/pad/getnopush.c:
16838         * testsuite/pad/link.c:
16839         * testsuite/refcounting/sched.c: (create_pipeline):
16840         * testsuite/registry/Makefile.am:
16841         * testsuite/registry/gst-print-formats.c:
16842         * testsuite/schedulers/.cvsignore:
16843         * testsuite/schedulers/142183-2.c:
16844         * testsuite/schedulers/142183.c:
16845         * testsuite/schedulers/143777-2.c:
16846         * testsuite/schedulers/143777.c:
16847         * testsuite/schedulers/147713.c:
16848         * testsuite/schedulers/147819.c:
16849         * testsuite/schedulers/147894-2.c:
16850         * testsuite/schedulers/147894.c:
16851         * testsuite/schedulers/Makefile.am:
16852         * testsuite/schedulers/group_link.c:
16853         * testsuite/schedulers/queue_link.c:
16854         * testsuite/schedulers/relink.c:
16855         * testsuite/schedulers/unlink.c:
16856         * testsuite/schedulers/unref.c:
16857         * testsuite/schedulers/useless_iteration.c:
16858         * testsuite/states/bin.c:
16859           clean out/remove some stuff from the testsuite directories
16860
16861 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16862
16863         * configure.ac:
16864           check for some headers
16865         * gst/elements/Makefile.am:
16866         * gst/elements/gstelements.c:
16867           don't compile fdsrc without sys/socket.h
16868         * gst/indexers/Makefile.am:
16869         * gst/indexers/gstindexers.c: (plugin_init):
16870           don't compile fileindex without mmap
16871
16872 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16873
16874         * configure.ac:
16875           reorganize
16876           clean up
16877           document more
16878           remove cruft
16879         * check/Makefile.am:
16880         * docs/gst/Makefile.am:
16881         * examples/helloworld/Makefile.am:
16882         * gst/Makefile.am:
16883         * gst/base/Makefile.am:
16884         * gst/check/Makefile.am:
16885         * gst/elements/Makefile.am:
16886         * gst/indexers/Makefile.am:
16887         * gst/parse/Makefile.am:
16888         * libs/gst/controller/Makefile.am:
16889         * libs/gst/dataprotocol/Makefile.am:
16890         * examples/helloworld/helloworld.c: (event_loop):
16891           compile fixes, though it's not being compiled currently
16892
16893 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16894
16895         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
16896           Add some simple tests for the new taglist date API.
16897
16898 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16899
16900         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
16901         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
16902           Beautify 'last-message' output: print 'none' for buffer timestamps
16903           and durations if none is set; improve alignment with next messages.
16904
16905 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16906
16907         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
16908         * gst/gstpluginfeature.h:
16909         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
16910         * gst/gstregistry.h:
16911         * docs/gst/gstreamer-sections.txt:
16912           Add new API to check plugin feature version requirements.
16913
16914         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
16915           Some basic tests for the above.         
16916
16917 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16918
16919         * gst/gststructure.c: (gst_structure_to_string):
16920           guard against NULL printf - happens when for example
16921           a message structure with GstClock gets serialized
16922
16923 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16924
16925         * gst/base/gstcollectpads.c: (gst_collectpads_event):
16926           Fix presumable copy'n'pasto.
16927
16928 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16929
16930         * gst/elements/gstfakesrc.h:
16931         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
16932         * gst/elements/gsttypefindelement.c:
16933           fix some signedness
16934         * gst/elements/gstfilesink.c: (gst_file_sink_render):
16935           I wonder if this could actually write +2GB files before
16936
16937 2005-10-13  Andy Wingo  <wingo@pobox.com>
16938
16939         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16940         Fix Timmeke Waymans bug.
16941         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16942         string of the proper length to gst_caps_from_string. There's a
16943         potential for, before this fix, that this could cause someone
16944         connecting over the network to cause a segfault if the payload is
16945         not NUL-terminated.
16946
16947 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16948
16949         * docs/design/draft-push-pull.txt:
16950         * docs/design/part-overview.txt:
16951         * docs/random/TODO-pre-0.9:
16952         * docs/random/old/ChangeLog.gstreamer:
16953         * gst/base/gstpushsrc.c:
16954         * gst/gstclock.c:
16955           fixed typos
16956
16957 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16958
16959         * gst/glib-compat.c: (gst_flags_get_first_value):
16960         * gst/glib-compat.h:
16961         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16962         (gst_value_compare_double), (gst_value_serialize_flags):
16963           GLib 2.6 g_flags_get_first_value has a bug that triggers an
16964           infinite loop
16965
16966 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16967
16968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16969         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16970           fix up debugging
16971         * tools/gst-launch.c: (event_loop):
16972           print out clock nicely
16973
16974 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16975
16976         * docs/gst/gstreamer-sections.txt:
16977         * gst/gsttaglist.h:
16978         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16979         (gst_tag_list_get_date_index):
16980           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16981           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16982
16983 2005-10-13  Julien MOUTTE  <julien@moutte.net>
16984
16985         * gst/base/gstcollectpads.c: (gst_collectpads_event),
16986         (gst_collectpads_chain):
16987         * gst/base/gstcollectpads.h: Handle newsegment and store informations
16988         in CollectData.
16989
16990 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16991
16992         * docs/gst/gstreamer-sections.txt:
16993         * gst/gst.c:
16994         * gst/gsterror.h:
16995         * tools/gst-inspect.c: (main):
16996         * tools/gst-launch.c: (main):
16997         * tools/gst-run.c: (main):
16998         * tools/gst-xmlinspect.c: (main):
16999           fix GOption context leaks
17000           doc fixes
17001
17002 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17003
17004         * gst/gstbus.c:
17005           use HAVE_UNISTD_H
17006         * win32/common/config.h:
17007           update config
17008         * win32/vs6/grammar.dsp:
17009         * win32/vs6/libgstelements.dsp:
17010         * win32/vs6/libgstreamer.dsp:
17011           update vs6 files
17012
17013 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17014
17015         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17016         * gst/base/gstbasesrc.c: (gst_base_src_query):
17017           fix more guint64<->gdouble conversions
17018
17019 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17020
17021         * Makefile.am:
17022           add win32-update target
17023         * win32/common/gstconfig.h:
17024         * win32/common/gstenumtypes.c:
17025         * win32/common/gstenumtypes.h:
17026         * win32/common/gstversion.h:
17027           add files that visual studio can't generate
17028
17029 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17030
17031         * Makefile.am:
17032           add a win32-update target
17033         * configure.ac:
17034
17035 2005-10-12  Wim Taymans  <wim@fluendo.com>
17036
17037         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17038         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
17039         * gst/gstelement.c: (gst_element_commit_state),
17040         (gst_element_set_state):
17041         Protect flags with proper lock.
17042         unref provided cached clock in dispose.
17043
17044 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17045
17046         * gst/gst.c:
17047         * gst/gstminiobject.h:
17048         * gst/gstpad.h:
17049         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
17050           removed unused flags from miniobject
17051           doc fixes
17052
17053 2005-10-12  Wim Taymans  <wim@fluendo.com>
17054
17055         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17056         (gst_file_sink_event), (gst_file_sink_render):
17057         Flush before seeking.
17058
17059 2005-10-12  Andy Wingo  <wingo@pobox.com>
17060
17061         * gst/gst.c (gst_init_check): Ignore unknown options, as has
17062         always been the case.
17063
17064 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17065
17066         * check/gst/gstbin.c: (GST_START_TEST):
17067         * docs/gst/gstreamer-sections.txt:
17068         * gst/base/gstbasesink.c: (gst_base_sink_init):
17069         * gst/base/gstbasesrc.c: (gst_base_src_init),
17070         (gst_base_src_get_range), (gst_base_src_check_get_range),
17071         (gst_base_src_start), (gst_base_src_stop):
17072         * gst/base/gstbasesrc.h:
17073         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
17074         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17075         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
17076         (bin_bus_handler):
17077         * gst/gstbin.h:
17078         * gst/gstbuffer.h:
17079         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
17080         * gst/gstbus.h:
17081         * gst/gstelement.c: (gst_element_is_locked_state),
17082         (gst_element_set_locked_state), (gst_element_commit_state),
17083         (gst_element_set_state):
17084         * gst/gstelement.h:
17085         * gst/gstindex.c: (gst_index_init):
17086         * gst/gstindex.h:
17087         * gst/gstminiobject.h:
17088         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
17089         (gst_object_set_parent):
17090         * gst/gstobject.h:
17091         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
17092         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
17093         * gst/gstpad.h:
17094         * gst/gstpadtemplate.h:
17095         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
17096         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
17097         * gst/gstpipeline.h:
17098         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17099         (gst_file_index_commit):
17100         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
17101         * testsuite/pad/link.c: (gst_test_src_init),
17102         (gst_test_filter_init), (gst_test_sink_init):
17103         * testsuite/states/locked.c: (main):
17104           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
17105           moved bitshift from macro to enum definition
17106
17107 2005-10-12  Wim Taymans  <wim@fluendo.com>
17108
17109         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
17110         * gst/elements/gstfilesink.c: (gst_file_sink_event),
17111         (gst_file_sink_render):
17112         Some more debugging info.
17113
17114 2005-10-12  Wim Taymans  <wim@fluendo.com>
17115
17116         * docs/design/part-states.txt:
17117         * tools/gst-launch.c: (main):
17118         Some doc updates.
17119         Revert non-intentional change.
17120
17121 2005-10-12  Wim Taymans  <wim@fluendo.com>
17122
17123         * check/gst/gstbin.c: (GST_START_TEST):
17124         * check/gst/gstelement.c: (GST_START_TEST):
17125         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
17126         * check/gst/gstghostpad.c: (GST_START_TEST):
17127         * check/gst/gstpipeline.c: (GST_START_TEST):
17128         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17129         * check/states/sinks.c: (GST_START_TEST):
17130         * gst/elements/gsttypefindelement.c: (stop_typefinding):
17131         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17132         (gst_bin_remove_func), (gst_bin_get_state_func),
17133         (gst_bin_recalc_state), (gst_bin_change_state_func),
17134         (bin_bus_handler):
17135         * gst/gstelement.c: (gst_element_get_state_func),
17136         (gst_element_get_state), (gst_element_abort_state),
17137         (gst_element_commit_state), (gst_element_set_state),
17138         (gst_element_change_state), (gst_element_change_state_func):
17139         * gst/gstelement.h:
17140         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
17141         (gst_pipeline_provide_clock_func):
17142         * gst/gstutils.c: (gst_element_link_pads_filtered):
17143         * tools/gst-launch.c: (main):
17144         * tools/gst-typefind.c: (main):
17145         Use GstClockTime in _get_state() instead of GTimeVal.
17146         Remove old code in gstutils.c
17147
17148 2005-10-12  Andy Wingo  <wingo@pobox.com>
17149
17150         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
17151         removed.
17152
17153         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
17154         there is no task. Shouldn't affect any code, as nothing in our
17155         plugins checks this return value.
17156         (gst_pad_stop_task): Also take the stream lock if the pad has no
17157         task. Docs updated.
17158
17159 2005-10-12  Wim Taymans  <wim@fluendo.com>
17160
17161         * gst/gstpad.c: (pre_activate), (post_activate),
17162         (gst_pad_activate_pull), (gst_pad_activate_push):
17163         Cleanup activation code. Reset old state if
17164         activation failed.
17165
17166 2005-10-12  Wim Taymans  <wim@fluendo.com>
17167
17168         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17169         (gst_base_sink_change_state):
17170         No need to prerol after receiving EOS.
17171
17172         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
17173         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
17174         * gst/elements/gstidentity.c: (gst_identity_event):
17175         Print events more verbosely.
17176
17177 2005-10-12  Wim Taymans  <wim@fluendo.com>
17178
17179         * check/Makefile.am:
17180         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17181         * check/states/sinks2.c:
17182         Moved sinks2 testcode in sinks check.
17183
17184         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17185         (gst_bin_remove_func), (gst_bin_recalc_state),
17186         (gst_bin_change_state_func), (bin_bus_handler):
17187         Fix potential race condition when _get_state() iterated over an
17188         ASYNC element right before it posted a state completion.
17189
17190         * gst/gstclock.h:
17191         Do proper cast here.
17192
17193         * gst/gstevent.c: (gst_event_new_newsegment),
17194         (gst_event_parse_newsegment):
17195         A playback rate of 0.0 is not allowed.
17196
17197 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17198
17199         * win32/common/config.h:
17200         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
17201         (_trewinddir), (_ttelldir), (_tseekdir):
17202         * win32/common/dirent.h:
17203         * win32/common/gtchar.h:
17204         * win32/common/libgstbase.def:
17205         * win32/common/libgstreamer.def:
17206         * win32/vs6/grammar.dsp:
17207         * win32/vs6/gst_inspect.dsp:
17208         * win32/vs6/gst_launch.dsp:
17209         * win32/vs6/gstreamer.dsw:
17210         * win32/vs6/libgstbase.dsp:
17211         * win32/vs6/libgstelements.dsp:
17212         * win32/vs6/libgstreamer.dsp:
17213           Visual Studio 6 project files, and a new common directory.
17214           Phear.
17215
17216 2005-10-11  Wim Taymans  <wim@fluendo.com>
17217
17218         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17219         (gst_base_sink_do_sync), (gst_base_sink_query),
17220         (gst_base_sink_change_state):
17221         * gst/base/gstbasesink.h:
17222         Correctly parse newsegment info.
17223
17224 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17225
17226         * gst/gst.c: (init_post):
17227           split plugin paths correctly
17228
17229 2005-10-11  Wim Taymans  <wim@fluendo.com>
17230
17231         * check/gst/gstevent.c: (GST_START_TEST):
17232         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17233         (gst_base_sink_change_state):
17234         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17235         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17236         * gst/elements/gstfilesink.c: (gst_file_sink_event):
17237         * gst/gstevent.c: (gst_event_new_newsegment),
17238         (gst_event_parse_newsegment):
17239         * gst/gstevent.h:
17240         Added extra flag to newsegment for future API freeze.
17241         Updated check and base elements.
17242
17243 2005-10-11  Julien MOUTTE  <julien@moutte.net>
17244
17245         * gst/base/gstcollectpads.c: (gst_collectpads_init),
17246         (gst_collectpads_add_pad), (gst_collectpads_pop),
17247         (gst_collectpads_event), (gst_collectpads_chain):
17248         * gst/base/gstcollectpads.h: Handle EOS correctly.
17249
17250 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17251
17252         * tools/gst-launch.c: (main):
17253           more null protecting
17254
17255 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17256
17257         * gst/gst-i18n-lib.h:
17258           check for ENABLE_NLS, not GETTEXT_PACKAGE
17259         * gst/gstregistry.c: (gst_registry_add_plugin),
17260         (gst_registry_scan_path_level),
17261         (_gst_registry_remove_cache_plugins):
17262           protect possibly NULL strings
17263         * gst/parse/types.h:
17264           config.h already included before
17265         * tools/gst-inspect.c: (main):
17266           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17267           check for ENABLE_NLS, not GETTEXT_PACKAGE
17268         * tools/gst-launch.c: (main):
17269           check for ENABLE_NLS, not GETTEXT_PACKAGE
17270
17271 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17272
17273         * configure.ac:
17274           if we don't have glib, fail before testing 2.8
17275         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17276           fix a leak, should fix plugins-base testsuite
17277
17278 2005-10-11  Andy Wingo  <wingo@pobox.com>
17279
17280         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17281         take the mode we're going to as an arg. Go head and set the mode
17282         and flushing flags now, so that if the activate function starts a
17283         thread all the flags will be in the right state.
17284         (post_activate): Renamed also. Just handle making sure streaming
17285         finishes for the deactivation case, and setting the deactivated
17286         mode.
17287         (gst_pad_set_active): Complain loudly if deactivation fails.
17288         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17289         (gst_pad_activate_push): Adapt to pre/post_activate changes,
17290         remove the terrible hack.
17291
17292 2005-10-11  Wim Taymans  <wim@fluendo.com>
17293
17294         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17295         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17296         (gst_bin_recalc_state), (gst_bin_change_state_func),
17297         (gst_bin_dispose), (bin_bus_handler):
17298         * gst/gstbin.h:
17299         Prepare to make current EOS message queue more generic.
17300         Fix some typos.
17301
17302         * gst/gstevent.c: (gst_event_new_newsegment),
17303         (gst_event_parse_newsegment):
17304         * gst/gstevent.h:
17305         Rename base to stream_time.
17306
17307         * gst/gstmessage.h:
17308         Fix typo in docs.
17309
17310 2005-10-11  Wim Taymans  <wim@fluendo.com>
17311
17312         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17313         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17314         (gst_bin_change_state_func), (bin_bus_handler):
17315         * gst/gstbin.h:
17316         Work on proper clock selection.
17317
17318 2005-10-11  Edward Hervey  <edward@fluendo.com>
17319
17320         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
17321         * libs/gst/controller/gstcontroller.h:
17322         Added GList* version of _remove_properties() in order to be able to wrap
17323         it in bindings.
17324
17325 2005-10-11  Wim Taymans  <wim@fluendo.com>
17326
17327         * docs/design/part-states.txt:
17328         Some more docs.
17329
17330         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17331         (gst_bin_change_state_func), (bin_bus_handler):
17332         Doc updates. Don't distribute the same clock over and over again.
17333
17334         * gst/gstclock.c:
17335         * gst/gstclock.h:
17336         Doc updates.
17337
17338         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17339         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17340         (gst_pad_send_event):
17341         * gst/gstpad.h:
17342         Make probe emission threadsafe again.
17343         Register quarks and move _get_name() from utils.
17344         Doc updates.
17345
17346         * gst/gstpipeline.c: (gst_pipeline_class_init),
17347         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17348         Only redistribute the clock of it changed.
17349
17350         * gst/gstsystemclock.h:
17351         Doc updates. 
17352
17353         * gst/gstutils.c:
17354         * gst/gstutils.h:
17355         Moved the _flow_get_name() to GstPad.
17356
17357 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17358
17359         * check/gst-libs/gdp.c: (GST_START_TEST):
17360         * check/gst/gstcaps.c: (GST_START_TEST):
17361         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17362         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17363         (gst_dp_packet_from_caps):
17364           fix more valgrind warnings before turning up the heat
17365
17366 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17367
17368         * gst/parse/grammar.y:
17369           some cleanup before the hacking
17370
17371 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17372
17373         * gst/base/gstbasesrc.c: (gst_base_src_query):
17374           use conversions
17375         * gst/gstutils.c: (gst_guint64_to_gdouble),
17376         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17377         * gst/gstutils.h:
17378           externalize, basesrc uses it
17379           obviously the implementation needs testing
17380
17381 2005-10-10  Wim Taymans  <wim@fluendo.com>
17382
17383         * tests/sched/Makefile.am:
17384         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17385         (make_pipeline3), (make_pipeline4), (print_elem), (main):
17386
17387 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17388
17389         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17390           apparently converting from guint64 to double is not implemented
17391           on MSVC
17392
17393 2005-10-10  Wim Taymans  <wim@fluendo.com>
17394
17395         * check/Makefile.am:
17396         * check/generic/states.c: (GST_START_TEST):
17397         * check/gst/gstbin.c: (GST_START_TEST):
17398         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17399         * check/states/sinks.c: (GST_START_TEST):
17400         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17401         (main):
17402         Check fixes, use API as stated in design docs, remove hacks.
17403
17404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17405         (gst_base_sink_change_state):
17406         Catch stopping our task while we're shutting down.
17407
17408         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17409         (gst_bin_remove_func), (gst_bin_get_state_func),
17410         (gst_bin_recalc_state), (gst_bin_change_state_func),
17411         (bin_bus_handler):
17412         * gst/gstbin.h:
17413         * gst/gstelement.c: (gst_element_init),
17414         (gst_element_get_state_func), (gst_element_abort_state),
17415         (gst_element_commit_state), (gst_element_lost_state),
17416         (gst_element_set_state), (gst_element_change_state),
17417         (gst_element_change_state_func):
17418         * gst/gstelement.h:
17419         New state change algorithm (see #318116)
17420
17421         * gst/gstpipeline.c: (gst_pipeline_class_init),
17422         (gst_pipeline_init), (gst_pipeline_set_property),
17423         (gst_pipeline_get_property), (do_pipeline_seek),
17424         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17425         * gst/gstpipeline.h:
17426         Remove crude state change hacks.
17427
17428         * gst/gstutils.h:
17429         Remove crude hacks.
17430
17431         * tools/gst-launch.c: (main):
17432         Fixes for state change. Needs some more work to fully use the
17433         new stuff.
17434
17435 2005-10-10  Andy Wingo  <wingo@pobox.com>
17436
17437         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17438
17439         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17440         this flag, but it's not even in GLib 2.6. Odd. Hack around the
17441         issue.
17442
17443 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17444
17445         * gst/gstiterator.c: (gst_iterator_new):
17446           Fix my previous commit: GTypes passed to gst_iterator_new()
17447           can be fundamental types.
17448
17449 2005-10-10  Wim Taymans  <wim@fluendo.com>
17450
17451         * gst/gstelement.c: (gst_element_iterate_pad_list),
17452         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17453         (gst_element_iterate_sink_pads):
17454         Use src/sink pads lists for the respective iterators instead
17455         of filtering.
17456
17457 2005-10-10  Andy Wingo  <wingo@pobox.com>
17458
17459         Merged in popt removal + GOption addition patch from Ronald, bug
17460         #169772.
17461
17462         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17463         GstElement macros around, remove popt-related symbols, add goption
17464         stuff.
17465
17466         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17467         
17468         * docs/gst/Makefile.am:
17469         * docs/libs/Makefile.am: No POPT_CFLAGS.
17470         
17471         * examples/manual/Makefile.am:
17472         * docs/manual/basics-init.xml: Doc updates with an example.
17473         
17474         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17475         (gst_init), (parse_one_option), (parse_goption_arg):
17476         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17477         bit of hand merging and debugging to get the GOption stuff working
17478         tho.
17479         
17480         * tests/Makefile.am:
17481         * tools/Makefile.am:
17482         * tools/gst-inspect.c: (main):
17483         * tools/gst-launch.c: (main):
17484         * tools/gst-run.c: (main):
17485         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17486
17487 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17488
17489         * gst/gstiterator.c: (gst_iterator_new):
17490           Add assertions to make sure passed GType is likely to really
17491           be a GType (as the compiler won't catch it if the size and
17492           GType arguments get mixed up, see #318447).
17493
17494 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
17495
17496         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17497
17498         * gst/gstbin.c: (gst_bin_iterate_sorted):
17499           Pass GType and size arguments to gst_iterator_new() in the right
17500           order (maybe we should make _new() take the GType as first argument
17501           just like _new_list()?) (#318447).
17502           
17503
17504 2005-10-10  Wim Taymans  <wim@fluendo.com>
17505
17506         * gst/gstelement.c: (gst_element_finalize):
17507         And free the GStaticRecMutex too
17508
17509 2005-10-10  Andy Wingo  <wingo@pobox.com>
17510
17511         * gst/gstelement.c (gst_element_init, gst_element_finalize):
17512         Allocate and free the mutex properly.
17513
17514         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17515         New macros.
17516         (GstElement): The state_lock is now recursive. Rebuild your
17517         plugins, suckers. Old macros adapted.
17518
17519         * docs/gst/gstreamer-sections.txt: Doc updates.
17520
17521         * gst/gstutils.h:
17522         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
17523         (g_static_rec_cond_wait): Ported from state changes patch, while
17524         we wait on bug #317802 to be solved in a well-distributed GLib.
17525
17526         * gst/gstelement.c (gst_element_change_state_func): Renamed from
17527         gst_element_change_state, variable name changes.
17528         (gst_element_change_state): Split out of gst_element_set_state in
17529         preparation for the state change merge. Doesn't pay attention to
17530         the 'transition' argument.
17531         (gst_element_set_state): Updates, hopefully purely cosmetic.
17532         (gst_element_sync_state_with_parent): MT-safety. Ported from the
17533         state change patch.
17534         (gst_element_get_state_func): Renamed from get_state, cosmetic
17535         changes.
17536
17537 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17538
17539         * gst/elements/gstelements.c:
17540         * win32/GStreamer.vcproj:
17541         * win32/config.h:
17542         * win32/dirent.c: (_tseekdir):
17543         * win32/gst-inspect.vcproj:
17544         * win32/gst-launch.vcproj:
17545         * win32/gstconfig.h:
17546         * win32/gstelements.vcproj:
17547         * win32/gstenumtypes.c: (gst_object_flags_get_type):
17548         * win32/gstreamer.def:
17549         * win32/msvc71.sln:
17550           updates for the win32 build (patch from Sebastien Moutte)
17551
17552 2005-10-10  Andy Wingo  <wingo@pobox.com>
17553
17554         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17555         gst_bin_get_state, cleaned up (but no logic changes).
17556         (bin_element_is_sink): Comment updates.
17557         (sink_iterator_filter): Remove needless cast.
17558         (gst_bin_iterate_sinks): Doc update.
17559         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17560         cleaned up (but no logic changes).
17561
17562         * check/states/sinks.c (test_src_sink): Cleanups from the state
17563         change patch.
17564         (test_livesrc_sink): Sync on the state.
17565
17566         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17567         the state change patch.
17568
17569         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17570         change patch.
17571
17572         * check/gst/gstbin.c: Merge in some style fixes and additional
17573         checks from Wim's state change patch.
17574
17575 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17576
17577         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17578         (gst_type_find_helper):
17579           Check whether we have the requested data already in our list of
17580           cached buffers before pulling a new buffer; also make the buffer
17581           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17582
17583 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17584
17585         * gst/gstcaps.c:
17586         * gst/gstevent.c:
17587           doc updates
17588         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17589           don't use long long, it's not portable.  Replacing with
17590           gint64 seems to work; let's hope no skeletons fall out of the closet.
17591
17592 2005-10-10  Andy Wingo  <wingo@pobox.com>
17593
17594         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17595
17596 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
17597
17598         * docs/gst/gstreamer-sections.txt:
17599         * gst/gstevent.c:
17600         * gst/gstevent.h:
17601         * gst/gstinfo.c:
17602         * gst/gstinfo.h:
17603         * gst/gstmessage.c: (gst_message_parse_state_changed):
17604         * gst/gstpad.c:
17605         * gst/gstpad.h:
17606           more docs, fix compilation
17607
17608 2005-10-09  Philippe Khalaf <burger@speedy.org>
17609         * gst/gstmessage.c:
17610           Fixed a few forgotten variables on previous commit
17611
17612 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
17613
17614         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17615           Fix evil typefind crasher: getrange() might return a short
17616           buffer at the end of a file, but gst_type_find_peek() must
17617           either return the full data as requested or NULL, but
17618           never a short buffer.
17619
17620 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17621
17622         * gst/gstmessage.c: (gst_message_new_state_changed),
17623         (gst_message_parse_state_changed):
17624         * gst/gstmessage.h:
17625           don't use "new", it's a C++ keyword
17626
17627 2005-10-08  Wim Taymans  <wim@fluendo.com>
17628
17629         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17630         * gst/gstelement.c: (gst_element_post_message):
17631         * gst/gstpipeline.c: (gst_pipeline_change_state):
17632         Small docs and debug updates.
17633
17634 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17635
17636         * docs/gst/gstreamer-sections.txt:
17637         * gst/gstelementfactory.c:
17638         * gst/gstevent.c:
17639         * gst/gsttaglist.c:
17640           more docs
17641
17642 2005-10-08  Wim Taymans  <wim@fluendo.com>
17643
17644         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17645         (gst_bin_dispose), (bin_bus_handler):
17646         Fix typos, add comments.
17647         Clear EOS list when going to PAUSED from any direction and do it
17648         in a threadsafe way.
17649         Get base time in a threadsafe way too.
17650         Fix confusing debug in the change_state function.
17651         Various other small cleanups.
17652         
17653         * gst/gstelement.c: (gst_element_post_message):
17654         Fix very verbose bus posting code.
17655
17656         * gst/gstpipeline.c: (gst_pipeline_class_init),
17657         (gst_pipeline_set_property), (gst_pipeline_get_property),
17658         (gst_pipeline_change_state):
17659         Small ARG_ -> PROP_ cleanup
17660
17661 2005-10-08  Wim Taymans  <wim@fluendo.com>
17662
17663         * gst/gstbin.c: (is_eos), (bin_bus_handler):
17664         Do a less CPU demanding EOS check because we can.
17665
17666 2005-10-08  Wim Taymans  <wim@fluendo.com>
17667
17668         * libs/gst/dataprotocol/dataprotocol.c:
17669         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17670         (gst_dp_packet_from_event):
17671         * libs/gst/dataprotocol/dataprotocol.h:
17672         * libs/gst/dataprotocol/dp-private.h:
17673         It's about time we bump the version number.
17674         Since event types don't fit in the guint8 anymore describing
17675         the payload type, make payload type 16 bits wide.
17676
17677 2005-10-08  Wim Taymans  <wim@fluendo.com>
17678
17679         * docs/design/part-TODO.txt:
17680         * docs/design/part-clocks.txt:
17681         * docs/design/part-events.txt:
17682         * docs/design/part-gstbin.txt:
17683         * docs/design/part-gstelement.txt:
17684         * docs/design/part-gstpipeline.txt:
17685         * docs/design/part-live-source.txt:
17686         * docs/design/part-messages.txt:
17687         * docs/design/part-overview.txt:
17688         * docs/design/part-states.txt:
17689         Many doc updates.
17690
17691 2005-10-08  Wim Taymans  <wim@fluendo.com>
17692
17693         * gst/gstevent.c:
17694         * gst/gstevent.h:
17695         Fix event quark registration.
17696         Add some space between events so we can insert them in the
17697         right groups.
17698
17699 2005-10-08  Wim Taymans  <wim@fluendo.com>
17700
17701         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17702         (gst_base_sink_handle_buffer):
17703         Better log message.
17704
17705         * gst/gstbus.h:
17706         * gst/gstelement.h:
17707         More docs.
17708
17709         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17710         (gst_queue_set_property), (gst_queue_get_property):
17711         * gst/gstqueue.h:
17712         Remove old unused properties.
17713
17714 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17715         * docs/gst/gstreamer-sections.txt:
17716         * gst/gstmessage.c:
17717         * gst/gstmessage.h:
17718         * gst/gstminiobject.c:
17719         * gst/gstminiobject.h:
17720         * gst/gstobject.h:
17721         * gst/gstpad.h:
17722         * gst/gstutils.h:
17723           lots of new docs and doc fixes
17724
17725 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17726
17727         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
17728         * gst/gstplugin.h:
17729         * gst/gstregistry.c: (gst_registry_lookup_locked),
17730         (gst_registry_scan_path_level):
17731         * gst/gstregistryxml.c: (load_plugin):
17732           Only ever load one plugin for a given plugin basename.
17733           This ensures correct overriding of GST_PLUGIN_PATH over
17734           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
17735           system installed plugins.
17736
17737 2005-10-08  Wim Taymans  <wim@fluendo.com>
17738
17739         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17740         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
17741         Prepare for doing QOS.
17742
17743 2005-10-08  Wim Taymans  <wim@fluendo.com>
17744
17745         * check/gst/gstbin.c: (GST_START_TEST):
17746         * check/pipelines/cleanup.c: (GST_START_TEST):
17747         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17748         Allow new clock message too.
17749
17750 2005-10-08  Wim Taymans  <wim@fluendo.com>
17751
17752         * gst/gstmessage.c: (gst_message_new_error),
17753         (gst_message_new_warning), (gst_message_new_tag),
17754         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17755         (gst_message_new_clock_lost), (gst_message_new_new_clock),
17756         (gst_message_new_segment_start), (gst_message_new_segment_done),
17757         (gst_message_parse_state_changed),
17758         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
17759         (gst_message_parse_new_clock):
17760         * gst/gstmessage.h:
17761         Also carry the clock in question.
17762
17763 2005-10-08  Wim Taymans  <wim@fluendo.com>
17764
17765         * gst/gstmessage.c: (gst_message_new_custom),
17766         (gst_message_new_eos), (gst_message_new_error),
17767         (gst_message_new_warning), (gst_message_new_tag),
17768         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17769         (gst_message_new_new_clock), (gst_message_new_segment_start),
17770         (gst_message_new_segment_done), (gst_message_parse_state_changed),
17771         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
17772         * gst/gstmessage.h:
17773         Clean up.
17774         Added clock related messages.
17775
17776         * gst/gstpipeline.c: (gst_pipeline_change_state):
17777         Post message when the clock changed.
17778
17779         * tools/gst-launch.c: (event_loop):
17780         Print new clock.
17781
17782 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
17783
17784         * tools/gst-inspect.c: (print_element_properties_info):
17785           Can't pass NULL strings to g_print() on windows.
17786
17787 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17788
17789         * docs/Makefile.am:
17790         * docs/gst/Makefile.am:
17791         * docs/gst/gstreamer-docs.sgml:
17792         * docs/gst/running.xml:
17793         * docs/version.entities.in:
17794           add a chapter on running GStreamer.
17795           document GST_DEBUG and GST_PLUGIN* env vars
17796
17797 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17798
17799         * Makefile.am:
17800           remove include dir
17801         * configure.ac:
17802           remove PLUGINS_BUILDDIR stuff
17803         * gst/gst.c: (init_post):
17804           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
17805         * idiottest.mak:
17806           remove, it was condescending and not needed
17807
17808 2005-10-08  Wim Taymans  <wim@fluendo.com>
17809
17810         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
17811         (gst_base_sink_handle_object), (gst_base_sink_event),
17812         (gst_base_sink_wait), (gst_base_sink_handle_event),
17813         (gst_base_sink_change_state):
17814         * gst/base/gstbasesink.h:
17815         Repost EOS message while going to PLAYING if still EOS.
17816         Make sure that when receiving a FLUSH_START we don't attempt
17817         to sync on the clock anymore.
17818
17819 2005-10-08  Wim Taymans  <wim@fluendo.com>
17820
17821         * tools/gst-launch.c: (event_loop):
17822         Better message printout.
17823
17824 2005-10-08  Wim Taymans  <wim@fluendo.com>
17825
17826         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
17827         (gst_bin_child_proxy_get_children_count):
17828         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17829         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
17830         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
17831         (gst_child_proxy_set_valist):
17832         * gst/parse/grammar.y:
17833         Make ChildProxy threadsafe and fix mem leaks.
17834
17835 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17836
17837         * gst/gst.c: (init_post):
17838           debug the GST_PLUGIN_ env vars
17839
17840 2005-10-08  Wim Taymans  <wim@fluendo.com>
17841
17842         * check/gst/gstbin.c: (GST_START_TEST):
17843         * check/gst/gstmessage.c: (GST_START_TEST):
17844         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17845         * gst/gstelement.c: (gst_element_commit_state),
17846         (gst_element_lost_state):
17847         * gst/gstmessage.c: (gst_message_new_state_changed),
17848         (gst_message_parse_state_changed):
17849         * gst/gstmessage.h:
17850         * tools/gst-launch.c: (event_loop):
17851         Added extra field to STATE_CHANGE message with the pending
17852         state, which will be different from the new state soon.
17853
17854 2005-10-08  Wim Taymans  <wim@fluendo.com>
17855
17856         * gst/gstbus.c: (gst_bus_pop):
17857         * gst/gstclock.c:
17858         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17859         Small cleanups and doc updates.
17860
17861 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17862
17863         * gst/gst.c: (init_pre):
17864         * gst/gstbin.c: (gst_bin_add_func):
17865           log distributing clocks and base time
17866         * gst/gstregistry.c: (gst_registry_add_plugin),
17867         (gst_registry_scan_path_level), (gst_registry_scan_path):
17868           clean up the debugging output a little
17869         * gst/gstutils.c: (gst_element_state_get_name):
17870           warn about a memleak (I've actually seen this be used, though
17871           it was probably a bug)
17872
17873 2005-10-07  Wim Taymans  <wim@fluendo.com>
17874
17875         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17876         (gst_base_src_init), (gst_base_src_default_newsegment),
17877         (gst_base_src_newsegment), (gst_base_src_do_seek),
17878         (gst_base_src_loop), (gst_base_src_start):
17879         * gst/base/gstbasesrc.h:
17880         Make the newsegment event customizable by subclasses.
17881
17882 2005-10-07  Wim Taymans  <wim@fluendo.com>
17883
17884         * gst/gstevent.c: (gst_event_new_buffersize),
17885         (gst_event_parse_buffersize):
17886         * gst/gstevent.h:
17887         New event for future idea.
17888
17889 2005-10-07  Andy Wingo  <wingo@pobox.com>
17890
17891         * gst/gstelement.c (gst_element_post_message): Doc update.
17892
17893         * docs/gst/gstreamer-sections.txt: Update.
17894
17895         * gst/gstmessage.c (gst_message_new_application): Made into a
17896         function like honest API calls.
17897         (gst_message_new_element): New message type.
17898
17899         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
17900
17901         * check/elements/fakesrc.c (test_no_preroll): New check, checks
17902         that setting a live fakesrc to PAUSED returns NO_PREROLL both
17903         times.
17904
17905         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
17906         NO_PREROLL from gst_element_change_state to fall through.
17907
17908 2005-10-07  Wim Taymans  <wim@fluendo.com>
17909
17910         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
17911         (gst_ghost_pad_do_activate_push):
17912         Activating a ghostpad with no internal pad in push mode
17913         is ok.
17914
17915 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17916
17917         * gst/gstobject.h:
17918           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
17919           Fixes compilation on Windows.
17920
17921 2005-10-07  Michael Smith <msmith@fluendo.com>
17922
17923         * tools/gst-inspect.c:
17924           Print out feature and plugin count at the end when printing out
17925           all features.
17926
17927 2005-10-04  Michael Smith <msmith@fluendo.com>
17928
17929         * gst/gsterror.c: (_gst_stream_errors_init):
17930           Add another error string used in a few existing plugins.
17931
17932         * gst/gstplugin.c:
17933         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17934         * tools/gst-inspect.c: (print_element_info):
17935           When a feature disappears from a plugin (and the feature exists in
17936           the cached registry file), things went horribly wrong. This isn't a
17937           complete fix, we should actually be removing the 'missing' features
17938           from the features list when we load the actual plugin. That's not
17939           yet implemented. 
17940
17941 2005-10-04  Johan Dahlin  <johan@gnome.org>
17942
17943         * check/gst/gstiterator.c: (GST_START_TEST):
17944         * gst/gstbin.c: (gst_bin_iterate_elements),
17945         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17946         * gst/gstelement.c: (gst_element_iterate_pads):
17947         * gst/gstformat.c: (gst_format_iterate_definitions):
17948         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17949         (gst_iterator_new_list), (gst_iterator_filter):
17950         * gst/gstiterator.h:
17951         * gst/gstquery.c: (gst_query_type_iterate_definitions):
17952         Add a GType to GstIterator, update callsites and tests.
17953
17954 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17955
17956         * gst/gstpad.c: (gst_pad_event_default_dispatch):
17957           give events a chance to be handled by event probes when the pad
17958           is not linked
17959
17960 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17961
17962         * gst/gstevent.c: (gst_event_type_get_name),
17963         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17964         * gst/gstevent.h:
17965           add string representations for event types
17966
17967 2005-10-06  Wim Taymans  <wim@fluendo.com>
17968
17969         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17970         Don't use NULL pointers.
17971
17972 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17973
17974         * gst/gst_private.h:
17975         * gst/gstbus.c:
17976         * gst/gstelement.c:
17977         * gst/gstinfo.c:
17978         * gst/gstpluginfeature.c:
17979           widen the debug category in output to fit the biggest one we have
17980           add a bus category and use it
17981           play with the colors
17982           fix up some categories
17983
17984 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17985
17986         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17987           add push activation of sink ghost pads.
17988           Andye, please verify
17989
17990 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17991
17992         * gst/gstutils.c: (gst_element_link_pads):
17993           fix a bug in the case where neither element has a pad
17994         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17995           add a test for that case
17996
17997 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17998
17999         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
18000           emit have-data before checking for peers.  This allows
18001           for probe handlers to connect elements.  This helps autopluggers.
18002         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
18003         (gst_pad_suite):
18004           add six checks, linked/unlinked with no/true/false probe
18005
18006 2005-10-04  Wim Taymans  <wim@fluendo.com>
18007
18008         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
18009         (gst_fake_sink_event), (gst_fake_sink_preroll),
18010         (gst_fake_sink_render), (gst_fake_sink_change_state):
18011         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
18012         (gst_fake_src_get_property), (gst_fake_src_create),
18013         (gst_fake_src_stop):
18014         * gst/elements/gstidentity.c: (gst_identity_stop):
18015         Protect last_message with lock.
18016
18017 2005-10-04  Edward Hervey  <edward@fluendo.com>
18018
18019         * gst/gstformat.h: 
18020         Added precision in the comments for GST_FORMAT_DEFAULT
18021
18022 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
18023
18024         * tools/gst-launch.c: (main):
18025           Don't try to run erroneous pipelines.
18026
18027 2005-10-04  Julien MOUTTE  <julien@moutte.net>
18028
18029         * gst/gstbus.c: We don't need this header.
18030
18031 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18032
18033         * configure.ac:
18034           back to development
18035
18036 === release 0.9.3 ===
18037
18038 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18039
18040         * README:
18041         * configure.ac:
18042           Releasing 0.9.3, "Unregistered"
18043
18044 2005-10-03  Andy Wingo  <wingo@pobox.com>
18045
18046         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
18047         whereby calling a pad's activatepush() function can start a thread
18048         that starts to push or pull before the pad gets the FLUSHING flag
18049         unset. Hack around it by holding the stream lock until the flag is
18050         set. Need to replace this with a proper solution. Together with
18051         the ghost pad fixes, this fixes mp3 playing/tagreading.
18052
18053         * docs/design/part-gstghostpad.txt: Add a note about activation of
18054         proxy pads outside of ghost pads.
18055
18056         * gst/gstghostpad.c: Implement the ghost pad activation design.
18057
18058 2005-10-02  Andy Wingo  <wingo@pobox.com>
18059
18060         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
18061         It is volatile, after all.
18062
18063         * docs/design/part-gstghostpad.txt: Flesh out activation with
18064         ghost pads.
18065
18066         * gst/base/gstbasesrc.c (gst_base_src_init): Use
18067         GST_DEBUG_FUNCPTR.
18068
18069 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
18070
18071         * configure.ac:
18072           Fix (unused) AM_CONDITIONAL tests.
18073
18074 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
18075
18076         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18077
18078         * gst/gstutils.c: (gst_pad_query_convert):
18079           Add assertion that makes sure src_val is >=0, just like
18080           gst_query_new_convert() has. (#315895)
18081
18082 2005-09-30  Edward Hervey  <edward@fluendo.com>
18083
18084         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
18085         Let's not iterate pads we're not interested in, it avoids getting 
18086         sky-high refcounts on sinkpad.
18087
18088 2005-09-30  Wim Taymans  <wim@fluendo.com>
18089
18090         * gst/gstelement.c: (gst_element_set_state),
18091         (gst_element_change_state):
18092         Small tweak, element in ASYNC remains ASYNC.
18093
18094 2005-09-30  Wim Taymans  <wim@fluendo.com>
18095
18096         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18097         Only error is an error.
18098
18099         * gst/gstbin.c: (gst_bin_change_state):
18100         Better debugging.
18101
18102         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
18103         Also call pad_block in pad alloc.
18104
18105         * gst/gstutils.c: (gst_flow_get_name):
18106         Better debugging.
18107
18108 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18109
18110         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18111         (gst_base_src_get_range):
18112           Fix documentation typos. Add some more debug info.
18113
18114 2005-09-29  David Schleef  <ds@schleef.org>
18115
18116         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
18117           more end-user friendly.
18118         * tools/gst-inspect.c: (main): Check if command-line argument is
18119           a file and attempt to load that file as a plugin.
18120
18121 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18122
18123         * check/gst/gstbin.c:
18124         * check/states/sinks.c:
18125           fix tests for the new warning
18126         * check/gst/gstpipeline.c:
18127           add a test for pipeline and bus interaction
18128         * gst/gstelement.c:
18129           elements should be NULL if they get disposed; add a warning if not
18130
18131 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18132
18133         * gst/gstobject.c:
18134           for 2.6 refcounting, make debug log more correct by printing
18135           the actual refcounts at the time of swap (Wim)
18136
18137 2005-09-29  Andy Wingo  <wingo@pobox.com>
18138
18139         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
18140         removes signal watches previously added via
18141         gst_bus_add_signal_watch.
18142         (gst_bus_add_signal_watch): Don't return the source id, just store
18143         it on the bus if there wasn't an id already.
18144
18145         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
18146         add_signal_watch and remove_signal_watch.
18147
18148 2005-09-29  Edward Hervey  <edward@fluendo.com>
18149
18150         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
18151         Better if we actually iterate the list :)
18152
18153 2005-09-29  Wim Taymans  <wim@fluendo.com>
18154
18155         * check/gst/gstbin.c: (GST_START_TEST):
18156         Change for new bus API.
18157
18158         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18159         (send_messages), (GST_START_TEST), (gstbus_suite):
18160         Change for new bus signal API.
18161
18162         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
18163         (gst_bus_source_prepare), (gst_bus_source_check),
18164         (gst_bus_create_watch), (gst_bus_add_watch_full),
18165         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
18166         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
18167         * gst/gstbus.h:
18168         Remove support for multiple GSources operating on different
18169         message types as it is too complex and unneeded when using
18170         signals.
18171         Added support for receiving signals from the bus.
18172
18173 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18174
18175         * docs/libs/tmpl/gstdataprotocol.sgml:
18176         * docs/manual/advanced-dataaccess.xml:
18177         * gst/elements/gstcapsfilter.c:
18178         * gst/gstutils.c:
18179           rename filter-caps to caps property
18180
18181 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18182
18183         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18184           More robust fraction string parsing.
18185
18186         * docs/pwg/appendix-porting.xml:
18187           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
18188
18189 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18190
18191         * gst/gstcaps.c: (gst_caps_do_simplify):
18192           Thou shalt not free a structure and then continue using it
18193           in the next loop iteration.
18194
18195         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
18196         (gst_caps_suite):
18197           Add test case for caps simplification.
18198
18199 2005-09-29  Wim Taymans  <wim@fluendo.com>
18200
18201         * check/gst/gstbin.c: (GST_START_TEST):
18202         Oops.
18203
18204 2005-09-29  Wim Taymans  <wim@fluendo.com>
18205
18206         * check/gst/gstbin.c: (GST_START_TEST):
18207         Add bus to bin.
18208
18209         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
18210         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18211         (find_element), (gst_bin_sort_iterator_next),
18212         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18213         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18214         (gst_bin_change_state), (gst_bin_dispose):
18215         A bin does not have a bus, it gets the bus from the parent.
18216
18217         * gst/gstelement.c: (gst_element_requires_clock),
18218         (gst_element_provides_clock), (gst_element_is_indexable),
18219         (gst_element_is_locked_state), (gst_element_change_state),
18220         (gst_element_set_bus_func):
18221         Small cleanups.
18222
18223         * gst/gstpipeline.c: (gst_pipeline_class_init),
18224         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18225         The pipeline provides a bus.
18226
18227 2005-09-28  Johan Dahlin  <johan@gnome.org>
18228
18229         * gst/gstmessage.c (gst_message_parse_state_changed): Use
18230         gst_structure_get_enum instead of gst_structure_get_int
18231
18232         * gst/gststructure.c (gst_structure_get_enum): Impl.
18233
18234         * gst/gststructure.h (gst_structure_get_enum): Add
18235
18236         * docs/gst/gstreamer-sections.txt: Ditto
18237
18238         * gst/gstmessage.c (gst_message_new_state_changed): Use
18239         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18240         which does introspection.
18241         Reviewed by Christian Schaller
18242
18243 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18244
18245         * gst/gstinfo.c: (gst_debug_log_default):
18246           don't do dummy g_strdup()s
18247         * libs/gst/controller/gstcontroller.c:
18248         (on_object_controlled_property_changed),
18249         (gst_controlled_property_new), (gst_controller_new_valist),
18250         (gst_controller_new_list),
18251         (gst_controller_remove_properties_valist), (gst_controller_set),
18252         (gst_controller_get), (gst_controller_sync_values),
18253         (gst_controller_get_value_array), (_gst_controller_class_init),
18254         (gst_controller_get_type):
18255         * libs/gst/controller/gstcontroller.h:
18256         * libs/gst/controller/gstinterpolation.c:
18257         (gst_controlled_property_find_timed_value_node):
18258           convert // to /**/ comments
18259
18260 2005-09-28  Wim Taymans  <wim@fluendo.com>
18261
18262         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18263         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18264         (gst_bus_sync_signal_handler):
18265         * gst/gstbus.h:
18266         Added async-message and sync-message signals to the bus.
18267         Added helper BusFunc to emit signals for all posted messages.
18268
18269         * gst/gstmessage.c: (gst_message_type_get_name),
18270         (gst_message_type_to_quark), (gst_message_get_type):
18271         * gst/gstmessage.h:
18272         Register quarks for message names.
18273
18274 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18275
18276         * docs/libs/gstreamer-libs-sections.txt:
18277         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18278         (gst_controller_new_list):
18279         * libs/gst/controller/gstcontroller.h:
18280           added another constructor for language bindings
18281
18282 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18283
18284         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18285           add another check
18286         * gst/gstbus.c:
18287           add some doc
18288         * gst/gstinfo.c: (_gst_debug_init):
18289           slightly more readable color for refcount debugging
18290
18291 2005-09-28  Wim Taymans  <wim@fluendo.com>
18292
18293         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18294         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18295         (find_element), (gst_bin_sort_iterator_next),
18296         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18297         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18298         (gst_bin_change_state), (gst_bin_dispose):
18299         Small doc fixes. get_clock -> provide_clock.
18300
18301         * gst/gstelement.c: (gst_element_class_init),
18302         (gst_element_provides_clock), (gst_element_provide_clock),
18303         (gst_element_get_clock), (gst_element_commit_state),
18304         (gst_element_lost_state):
18305         * gst/gstelement.h:
18306         Make get/set_clock() symetric. Add provide_clock vmethod since
18307         that is actually what this function does.
18308
18309         * gst/gstpipeline.c: (gst_pipeline_class_init),
18310         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18311         (gst_pipeline_get_clock):
18312         get_clock -> provide_clock.
18313
18314 2005-09-28  Andy Wingo  <wingo@pobox.com>
18315
18316         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18317         lieu of real docs...
18318
18319         * gst/elements/gstfdsrc.c: Cleaned up a bit.
18320
18321 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
18322
18323         * gst/elements/gstcapsfilter.c:
18324         * gst/elements/gstfakesink.c:
18325         * gst/elements/gstfakesrc.c:
18326         * gst/elements/gstfdsink.c:
18327         * gst/elements/gstfdsrc.c:
18328         * gst/elements/gstfilesink.c:
18329         * gst/elements/gstfilesrc.c:
18330         * gst/elements/gstidentity.c:
18331         * gst/elements/gsttee.c:
18332         * gst/elements/gsttypefindelement.c:
18333           Make element details static.
18334
18335 2005-09-28  Wim Taymans  <wim@fluendo.com>
18336
18337         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18338         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18339         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18340         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18341         (gst_bin_change_state), (gst_bin_dispose):
18342         Some documentation updates.
18343         Clean up dispose handlers.
18344
18345         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18346         * gst/gstpad.c: (gst_pad_dispose):
18347         Clean up dispose handler.
18348
18349         * gst/gstpipeline.c: (gst_pipeline_change_state):
18350         Removed spurious UNLOCK.
18351
18352 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
18353
18354         * docs/gst/gstreamer-sections.txt:
18355         * gst/base/gstbasesrc.h:
18356         * gst/gstelement.h:
18357         * gst/gstevent.h:
18358         * gst/gstobject.h:
18359         * gst/gstpad.h:
18360         * gst/gstpipeline.c:
18361         * gst/gstpipeline.h:
18362         * gst/gstutils.h:
18363         * gst/gstxml.h:
18364           added two new functions to the docs
18365                 documents all undocumented GstXXXFlags
18366                 completed some incomplete docs 
18367
18368 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18369
18370         * gst/gstbin.c: (gst_bin_dispose):
18371         * gst/gstelement.c: (gst_element_dispose):
18372           remove now useless and leaky resurrection code in dispose
18373         * gst/base/gstbasesrc.c: (gst_base_src_init):
18374         * gst/gstelementfactory.c: (gst_element_factory_create):
18375         * gst/gstobject.c: (gst_object_set_parent):
18376           add some debugging
18377
18378 2005-09-27  Wim Taymans  <wim@fluendo.com>
18379
18380         * docs/design/part-TODO.txt:
18381         Update TODO.
18382
18383         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18384         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18385         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18386         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18387         (gst_bin_change_state):
18388         * gst/gstelement.h:
18389         Remove element variable, we keep element info in the iterator now.
18390
18391 2005-09-27  Andy Wingo  <wingo@pobox.com>
18392
18393         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18394         values.
18395
18396 2005-09-27  Wim Taymans  <wim@fluendo.com>
18397
18398         * check/gst/gstbin.c: (GST_START_TEST):
18399         Enable check that works now.
18400
18401         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18402         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18403         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18404         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18405         (gst_bin_change_state):
18406         * gst/gstbin.h:
18407         Redid the state change algorithm using a topological sort algo.
18408         Handles all cases correctly.
18409         Exposed iterator for state change order.
18410
18411         * gst/gstelement.h:
18412         Temp storage for state changes. Need to get rid of this soon.
18413
18414 2005-09-27  Wim Taymans  <wim@fluendo.com>
18415
18416         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18417         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18418         (link_fold_func), (gst_pad_proxy_setcaps):
18419         Leak fixes, the fold functions need to unref the passed object and
18420         _get_parent_*() returns ref to parent.
18421
18422 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18423
18424         * check/gst/gstbuffer.c: (test_make_writable):
18425           Plug leak in test case and fix 'make check-valgrind'
18426
18427 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18428
18429         * gst/gstbuffer.c: (gst_subbuffer_init):
18430           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18431           works correctly in all circumstances (we could have just copied
18432           the parent buffer's readonly flag, but conceptually it seems
18433           cleaner to mark all subbuffers as read-only). (based on patch
18434           by Alessandro Decina, #314710).
18435         
18436         * check/gst/gstbuffer.c: (create_read_only_buffer),
18437         (test_make_writable), (test_subbuffer_make_writable),
18438         (gst_test_suite):
18439           Add some tests for gst_buffer_make_writable().
18440
18441 2005-09-27  Wim Taymans  <wim@fluendo.com>
18442
18443         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18444         use gst_object_has_ancestor().
18445
18446         * gst/gstobject.c: (gst_object_has_ancestor):
18447         * gst/gstobject.h:
18448         gst_object_has_ancestor() copied from gstbin.c as it is a
18449         useful function.
18450
18451         * tests/instantiate/create.c: (create_all_elements):
18452         * tests/lat.c: (handoff_src), (handoff_sink):
18453         * tests/sched/runxml.c: (main):
18454         * tests/seeking/seeking1.c: (main):
18455         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18456         (main):
18457         Fix compilation of some tests.
18458
18459 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18460
18461         * gst/gsterror.h:
18462           Remove comment. GST_TYPE_G_ERROR is here to stay,
18463           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18464           (#316961, #300610).
18465
18466 2005-09-26  Wim Taymans  <wim@fluendo.com>
18467
18468         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18469         Added check that shows error in state change order.
18470
18471 2005-09-26  Wim Taymans  <wim@fluendo.com>
18472
18473         * gst/gstbin.c: (gst_bin_change_state):
18474         Make state change function use 3 queues again, we were
18475         adding elements in the wrong order.
18476
18477         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18478         Some debug info,
18479
18480         * gst/gstpad.c: (gst_pad_dispose):
18481         Added some debug info first.
18482
18483 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
18484
18485         * docs/design/draft-push-pull.txt:
18486         * docs/design/part-events.txt:
18487         * docs/design/part-overview.txt:
18488         * docs/design/part-scheduling.txt:
18489           Replace all _pull_region() with _pull_range()
18490           
18491 2005-09-26  Andy Wingo  <wingo@pobox.com>
18492
18493         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18494
18495         * check/gst-libs/controller.c: Update for controller api change.
18496
18497         * configure.ac: 
18498         * tests/Makefile.am:
18499         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18500         over by GLib bug 118439.
18501         
18502         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18503         routines to a function.
18504
18505         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18506
18507         * libs/gst/controller/gsthelper.c:
18508         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18509         (gst_object_sync_values): Renamed from sink_values. Ugh.
18510
18511         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18512
18513         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18514         Renamed from controller_key, as it is exported.
18515
18516         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18517
18518 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18519
18520         * gst/Makefile.am:
18521         * gst/gst.h:
18522         * gst/gstpad.h:
18523         * gst/gstpadtemplate.h:
18524         * gst/gstquery.c:
18525         * gst/gstquery.h:
18526         * gst/gstqueryutils.c:
18527         * gst/gstqueryutils.h:
18528           remove queryutils headers after moving the two used functions
18529           to gstquery.  also fixes build problem for gstsiddec
18530
18531 2005-09-26  Michael Smith <msmith@fluendo.com>
18532
18533         * tools/gst-launch.1.in:
18534         Correct documentation in manpage of debug syntax
18535
18536 2005-09-26  Wim Taymans  <wim@fluendo.com>
18537
18538         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18539         (gst_base_src_is_seekable), (gst_base_src_change_state):
18540         Some more debugging info.
18541
18542 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18543
18544         * docs/gst/gstreamer-sections.txt:
18545         * gst/base/gstbasetransform.h:
18546         * gst/gstindex.h:
18547           added more docs
18548
18549 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18550
18551         * docs/gst/.cvsignore:
18552         * docs/gst/tmpl/.cvsignore:
18553         * docs/gst/tmpl/gstpipeline.sgml:
18554         * docs/gst/tmpl/gstplugin.sgml:
18555         * gst/gstpipeline.c:
18556         * gst/gstplugin.c:
18557         * gst/gstplugin.h:
18558           inlined the last two docs files
18559           removed the tmpl directory from cvs (no more conflicts here!)
18560
18561 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18562
18563         * docs/gst/gstreamer-sections.txt:
18564         * docs/gst/tmpl/.cvsignore:
18565         * docs/gst/tmpl/gstpad.sgml:
18566         * docs/gst/tmpl/gstpadtemplate.sgml:
18567         * gst/Makefile.am:
18568         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18569         (gst_pad_finalize), (gst_pad_set_pad_template):
18570         * gst/gstpad.h:
18571         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18572         (gst_pad_template_class_init), (gst_pad_template_init),
18573         (gst_pad_template_dispose), (name_is_valid),
18574         (gst_static_pad_template_get), (gst_pad_template_new),
18575         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18576         (gst_pad_template_pad_created):
18577         * gst/gstpadtemplate.h:
18578           inlined two more docs
18579           factored gstpadtemplate out of gstpad
18580
18581 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
18582
18583         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18584         (test_children_state_change_order_semi_sink):
18585           Fix test case: we can't rely on a fixed state change order when
18586           going from READY => PAUSED because the sink might commit its 
18587           new state first when the first buffer created by the source 
18588           reaches the sink before the source has finished its change state.
18589           (Test case still fails at times, see #316856, comment 5 onwards)
18590
18591 2005-09-24  Wim Taymans  <wim@fluendo.com>
18592
18593         * docs/design/part-events.txt:
18594         * docs/design/part-gstbus.txt:
18595         * docs/design/part-gstpipeline.txt:
18596         * docs/design/part-messages.txt:
18597         * docs/design/part-overview.txt:
18598         * docs/design/part-segments.txt:
18599         * gst/gstbin.c:
18600         * gst/gstbuffer.c:
18601         * gst/gstclock.c:
18602         * gst/gstelement.c:
18603         * gst/gstevent.c:
18604         * gst/gstfilter.c:
18605         * gst/gstiterator.c:
18606         Various documentation updates.
18607
18608 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18609
18610         * gst/gstclock.h:
18611           Well, that's embarassing.  Luckily we weren't using
18612           GST_CLOCK_DIFF anywhere.
18613
18614 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18615
18616         * common/gtk-doc.mak:
18617           don't fail on building XML, FC4 slave shows a bunch of doc
18618           missing bits that I don't get
18619         * gst/gstpad.c:
18620         * gst/gstpipeline.c:
18621         * gst/gststructure.c:
18622           some doc updates
18623
18624 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18625
18626         * docs/design/part-gstbin.txt:
18627         * docs/design/part-gstbus.txt:
18628         * gst/gstbus.c:
18629           Add blurb about how the bus goes into flushing mode and
18630           drops all messages when its bin goes from READY into NULL 
18631           state.
18632
18633 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18634
18635         * docs/gst/gstreamer-sections.txt:
18636         * gst/gststructure.c: (gst_structure_get_clock_time):
18637         * gst/gststructure.h:
18638           add a method to get a GstClockTime out of a structure
18639
18640 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18641
18642         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18643         (test_children_state_change_order_semi_sink), (gst_bin_suite):
18644           Added test to check state change order in bins (can still be made
18645           to fail here under heavy disk load; bails out with 'Push on pad
18646           fakesink:sink0, but it was not activated in push mode').
18647
18648         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18649           Fix state change order when there is only a semi sink (#316856)
18650
18651         * gst/gstbus.c: (gst_bus_class_init):
18652           Use _class_peek_parent(), not _class_ref(); fix docs to say
18653           'default main context' instead of 'mainloop' where that is
18654           what's meant.
18655
18656         * gst/gstelement.c: (gst_element_commit_state),
18657         (gst_element_set_state):
18658           Fix typos in debug messages
18659
18660 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18661
18662         * docs/README:
18663         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18664         * gst/gstpluginfeature.c:
18665         * gst/gstutils.c:
18666           various doc updates
18667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18668           change an assert into an error until it gets fixed properly
18669
18670 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
18671
18672         * docs/gst/gstreamer-sections.txt:
18673         * docs/gst/tmpl/.cvsignore:
18674         * docs/gst/tmpl/gstelement.sgml:
18675         * docs/gst/tmpl/gstinfo.sgml:
18676         * docs/gst/tmpl/gstobject.sgml:
18677         * gst/gstelement.c:
18678         * gst/gstelement.h:
18679         * gst/gstinfo.c:
18680         * gst/gstinfo.h:
18681         * gst/gstobject.c: (gst_object_class_init):
18682         * gst/gstobject.h:
18683           inlined 3 more biiiig doc files and added some missing docs on the fly
18684
18685 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18686
18687         * check/gst/.cvsignore:
18688         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18689         * gst/gstregistryxml.c: (load_plugin),
18690         (gst_registry_xml_save_plugin):
18691           put back source in registry.  add checks for find_plugin.
18692         * testsuite/states/bin.c: (assert_state), (empty_bin),
18693         (test_adding_one_element), (main):
18694         * testsuite/states/locked.c: (main):
18695           some compile/run fixes
18696
18697 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18698
18699         * check/gst/gstvalue.c: (GST_START_TEST):
18700           fix leaks in the test itself
18701
18702 2005-09-22  Wim Taymans  <wim@fluendo.com>
18703
18704         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18705         (gst_base_sink_send_event), (gst_base_sink_peer_query),
18706         (gst_base_sink_query):
18707         Prepare for more accurate position reporting and query
18708         handling.
18709
18710         * gst/gstelement.c: (gst_element_send_event),
18711         (gst_element_set_state):
18712         Add some comment.
18713
18714 2005-09-22  Wim Taymans  <wim@fluendo.com>
18715
18716         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
18717         (gst_query_parse_segment):
18718         * gst/gstquery.h:
18719         More documentation.
18720         Add segment query for future use.
18721
18722 2005-09-22  Wim Taymans  <wim@fluendo.com>
18723
18724         * gst/gstbin.c: (gst_bin_add_func):
18725         Some more debug info.
18726
18727         * gst/gstelement.c: (gst_element_send_event):
18728         Simplify send_event
18729
18730         * gst/gstelement.h:
18731         Don't know how flags got broken.
18732
18733         * gst/gstquery.h:
18734         Added new query.
18735
18736 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18737
18738         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
18739           Add simplistic test suite for GST_TYPE_DATE serialisation and
18740           deserialisation.
18741
18742 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18743
18744         * docs/gst/gstreamer-sections.txt:
18745         * gst/gststructure.c: (gst_structure_set_valist),
18746         (gst_structure_get_date):
18747         * gst/gststructure.h:
18748         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
18749         (gst_date_copy), (gst_value_compare_date),
18750         (gst_value_serialize_date), (gst_value_deserialize_date),
18751         (gst_value_transform_date_string),
18752         (gst_value_transform_string_date), (_gst_value_initialize):
18753         * gst/gstvalue.h:
18754           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
18755           bunch of utility functions along with a hack that checks that
18756           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
18757           is required. Part of the grand scheme in #170777.
18758
18759 2005-09-22  Andy Wingo  <wingo@pobox.com>
18760
18761         * gst/gstconfig.h.in: Psych out gtk-doc.
18762
18763         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
18764
18765         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
18766
18767         * tools/gst-inspect.c (print_element_list): Plug some
18768         inconsequential leaks.
18769
18770         * gst/gstregistry.c (gst_registry_get_default): Doc.
18771
18772         * check/gst/gstplugin.c: 
18773         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
18774         * gst/gstelementfactory.c (gst_element_factory_create): 
18775         * gst/gstindexfactory.c (gst_index_factory_create): Update for
18776         refcount changes.
18777
18778         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
18779         (gst_plugin_feature_load): Doc, don't eat refs.
18780
18781         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
18782         (gst_plugin_list_free): Doc.
18783         (gst_plugin_load_file): Doc updates.
18784
18785         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
18786         accessors returning refcounted objects, return a ref.
18787
18788         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
18789         accessor for caps. IDEMPOTENCE. Oh yes.
18790
18791 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
18792
18793         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18794
18795         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18796         (_gst_debug_register_funcptr):
18797           Add mutex to serialise access to the hash table with
18798           the function pointer => function name string mapping;
18799           make that hash table static scope (#316809).
18800
18801         * gst/registries/.cvsignore:
18802           Remove left-over file.
18803
18804 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18805
18806         * docs/pwg/appendix-porting.xml:
18807           And something about newsegment events and caps-on-buffers to
18808           the porting guide (feel free to improve).
18809
18810 2005-09-21  Andy Wingo  <wingo@pobox.com>
18811
18812         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
18813         data and event probes on the same pad.
18814         (test_buffer_probe_once): Test that removing probes from within
18815         the probe functions works.
18816
18817 2005-09-21  Andy Wingo  <wingo@pobox.com>
18818
18819         * check/gst/gstutils.c: New file.
18820         (test_buffer_probe_n_times): A simple buffer probe test. More to
18821         come, foolios.
18822
18823         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
18824         have-data::buffer, not have-data.
18825         (gst_pad_add_event_probe): Likewise for have-data::event.
18826         (gst_pad_add_data_probe): More docs. The part about 'resolving the
18827         peer' isn't quite right yet though.
18828         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
18829         (gst_pad_remove_data_probe): Change to take the guint handler_id
18830         as their arg, not the function+data, which is more glib-like.
18831
18832         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
18833         the signal emission to indicate if the data is a buffer or an
18834         event.
18835         (gst_pad_get_type): Initialize buffer and event quarks.
18836         (gst_pad_class_init): have-data is now a detailed signal, yes it
18837         is.
18838
18839 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18840
18841         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18842         * gst/gstutils.c: (gst_util_set_value_from_string),
18843         (gst_util_set_object_arg):
18844           Don't put functional code in g_return_if_fail() or
18845           g_return_val_if_fail() statements, otherwise things will 
18846           break when G_DISABLE_CHECKS is defined during compilation.
18847
18848 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18849
18850         * docs/gst/tmpl/.cvsignore:
18851         * docs/gst/tmpl/gstvalue.sgml:
18852         * gst/gstvalue.c:
18853         * gst/gstvalue.h:
18854           inlied another one and added  some obvious docs
18855
18856 2005-09-21  Wim Taymans  <wim@fluendo.com>
18857
18858         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18859         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
18860         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
18861         (gst_fdsrc_get_property), (gst_fdsrc_create):
18862         * gst/elements/gstfdsrc.h:
18863         Properly implement fdsrc. Removed signal and timeout,
18864         better implemented somewhere else.
18865
18866 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18867
18868         * docs/gst/tmpl/.cvsignore:
18869         * docs/gst/tmpl/gstimplementsinterface.sgml:
18870         * gst/gstinterface.c:
18871           inlined more docs
18872
18873 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18874
18875         * docs/gst/gstreamer-sections.txt:
18876         * docs/gst/tmpl/.cvsignore:
18877         * docs/gst/tmpl/gstenumtypes.sgml:
18878           remove obsolete doc file
18879
18880 2005-09-21  David Schleef  <ds@schleef.org>
18881
18882         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
18883         little beer, fix a little leak.
18884
18885 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18886
18887         * docs/gst/gstreamer-docs.sgml:
18888         * docs/gst/gstreamer-sections.txt:
18889         * docs/gst/tmpl/.cvsignore:
18890         * gst/Makefile.am:
18891         * gst/gst.h:
18892         * gst/gstbin.c:
18893         * gst/gstelement.h:
18894         * gst/gstindex.c: (gst_index_class_init):
18895         * gst/gstindex.h:
18896         * gst/gstindexfactory.c: (gst_index_factory_get_type),
18897         (gst_index_factory_class_init), (gst_index_factory_init),
18898         (gst_index_factory_finalize), (gst_index_factory_new),
18899         (gst_index_factory_destroy), (gst_index_factory_find),
18900         (gst_index_factory_create), (gst_index_factory_make):
18901         * gst/gstindexfactory.h:
18902         * gst/gstpluginfeature.c:
18903         * gst/gstpluginfeature.h:
18904         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18905           more docs inlined, splitted gstindex.{c,h}
18906
18907 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18908
18909         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18910           fix a leak
18911
18912 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18913
18914         * gst/elements/gstfilesink.c: (gst_file_sink_init):
18915           Set sync to FALSE by default.
18916
18917 2005-09-20  Wim Taymans  <wim@fluendo.com>
18918
18919         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18920         (gst_base_sink_init):
18921         Make sync property settable from subclass.
18922
18923         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18924         (gst_fake_sink_change_state):
18925         Set sync to FALSE by default.
18926
18927 2005-09-20  Wim Taymans  <wim@fluendo.com>
18928
18929         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
18930         * tools/gst-launch.c: (main):
18931         The timeout handler should have lower priority than the source
18932         so we don't timeout before popping a message with 0 timeout.
18933         Dump error messages after failed state change.
18934
18935 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18936
18937         * tools/gst-inspect.c: (print_element_properties_info):
18938           Fix two typos.
18939
18940 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18941
18942         * check/gst/gstevent.c:
18943         * gst/elements/gstfakesink.c:
18944         * gst/elements/gstfakesink.h:
18945           remove the sync property from fakesink.
18946           has the side effect of setting sync TRUE
18947           for fakesink, which is a change.  Anyone who knows how
18948           to fix this nicely in a GObject-y way, feel free.
18949
18950 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18951
18952         * docs/gst/gstreamer-docs.sgml:
18953           remove probe refsection
18954
18955 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18956
18957         * check/Makefile.am:
18958           disable valgrinding the controller test again
18959         * docs/gst/gstreamer-sections.txt:
18960           update for api-changes
18961
18962 2005-09-20  Wim Taymans  <wim@fluendo.com>
18963
18964         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18965         (gst_base_sink_set_property), (gst_base_sink_get_property),
18966         (gst_base_sink_do_sync):
18967         * gst/base/gstbasesink.h:
18968         Added sync property to basesink to disable clock sync.
18969
18970 2005-09-20  Andy Wingo  <wingo@pobox.com>
18971
18972         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18973         eating the caller's refcount.
18974
18975         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
18976         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18977         refcount.
18978
18979         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18980         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18981         of GLib 2.8 public, so we can know which refcount to check in
18982         tests.
18983
18984         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18985         (gst_object_init): Only set the gst refcount if we're going ahead
18986         with the refcount hack.
18987
18988 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18989
18990         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18991         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18992           more leaks plumbed, added more debug-logging
18993         * gst/gstmacros.h:
18994           whitespace fix
18995
18996 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18997
18998         * gst/gstmessage.c:
18999           remove include of gstmemchunk.h
19000
19001 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19002
19003         * gst/gstclock.c: (_gst_clock_id_free):
19004           Commit from the Political Party For More Atomic CVS Commits,
19005           so that people don't waste too much of their day fishing
19006           out obvious leaks out of massive commits.
19007           Oh, and fix a pretty damn obvious leak in the memchunk
19008           removal code.
19009
19010 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19011
19012         * check/Makefile.am:
19013         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19014           plug mem-leak, re-add to valgrindable tests
19015
19016 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19017
19018         * gst/gstplugin.h:
19019           unbreak the build for those who have chronic arthritis
19020           and typing "make check" is just too taxing on the hands
19021
19022 2005-09-20  Andy Wingo  <wingo@pobox.com>
19023
19024         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
19025         really want it out, you should fix plugins at the same time.
19026
19027 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
19028
19029         * configure.ac:
19030         * docs/gst/gstreamer-sections.txt:
19031         * gst/gstobject.c:
19032           added missing symbols to api docs
19033           disable ref-count hack if we have glib >= 2.8
19034
19035 2005-09-19  David Schleef  <ds@schleef.org>
19036
19037         * docs/gst/Makefile.am: Ignore a few more internal headers
19038         * docs/gst/gstreamer-docs.sgml: Remove old sections
19039         * docs/gst/gstreamer-sections.txt: Remove old sections
19040         * docs/gst/tmpl/gstobject.sgml: update
19041         * docs/gst/tmpl/gstplugin.sgml: update
19042         * docs/gst/tmpl/gstpluginfeature.sgml: update
19043         * docs/random/ds/0.9-suggested-changes: update.
19044         * gst/Makefile.am: remove memchunk and trashstack, since they're
19045           not used.
19046         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
19047         * gst/gst.h: don't include some headers
19048         * gst/gstchildproxy.c: add gstmarshal.h
19049         * gst/gstclock.c: Don't use memchunks
19050         * gst/gstminiobject.c: Add some docs
19051         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
19052         * gst/gstobject.h: same
19053         * gst/gstplugin.c: include gstmacros.h
19054         * gst/gstplugin.h: don't include gstmacros.h, since it's private
19055         * gst/gstquery.c: don't use memchunks
19056         * gst/gstregistry.c: rename gst_registry_deinit()
19057         * gst/gstregistry.h: same
19058
19059 2005-09-19  David Schleef  <ds@schleef.org>
19060
19061         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
19062         * docs/libs/gstreamer-libs-sections.txt:
19063         * docs/libs/tmpl/gstgetbits.sgml:
19064         * docs/libs/tmpl/gstputbits.sgml:
19065
19066 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
19067
19068         * win32/gstenumtypes.c:
19069         * win32/gstenumtypes.h:
19070           Update.
19071
19072 2005-09-19  Wim Taymans  <wim@fluendo.com>
19073
19074         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
19075         Automatically PAUSE and RESUME a pipeline when a flushing seek
19076         is performed.
19077
19078 2005-09-19  Andy Wingo  <wingo@pobox.com>
19079
19080         * gst/gstregistry.h: Spacing fixen.
19081
19082 2005-09-19  Wim Taymans  <wim@fluendo.com>
19083
19084         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
19085         Handle state change failure more correctly.
19086
19087 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19088
19089         * check/Makefile.am:
19090         * check/pipelines/cleanup.c: (run_pipeline):
19091         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19092         (GST_START_TEST):
19093           enable cleanup again after fixing the leak
19094         * docs/README:
19095           some more info on docs
19096
19097 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19098
19099         * check/Makefile.am:
19100           re-enable tests now that leaks are plugged
19101         * check/gst/gst.c:
19102         * check/gst/gstbin.c:
19103         * check/gst/gstpipeline.c:
19104           add some more tests while fixing leaks
19105         * common/check.mak:
19106           make sure binaries are uptodate when valgrinding/gdbing
19107         * gst/gst.c:
19108         * gst/gstelementfactory.c:
19109           remove a ref too many, and add a FIXME for when we get
19110           round to disposing of classes
19111         * gst/gstplugin.c:
19112           fix the refcounting when loading a plugin from a file and
19113           the code pretends that the pointer is the same even though
19114           of course it can change
19115         * gst/gstpluginfeature.c:
19116           unref plugins marked cached (a bit confusing as a name)
19117           as the docs state should be done
19118           various doc additions to explain refcounting
19119         * gst/gstregistry.c:
19120         * gst/gstregistryxml.c:
19121           debugging
19122
19123 2005-09-19  Wim Taymans  <wim@fluendo.com>
19124
19125         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19126         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19127         (send_messages), (GST_START_TEST), (gstbus_suite):
19128         * check/gst/gstpipeline.c: (GST_START_TEST):
19129         * check/pipelines/cleanup.c: (run_pipeline):
19130         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19131         (GST_START_TEST):
19132         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
19133         (gst_bus_source_check), (gst_bus_source_dispatch),
19134         (gst_bus_create_watch), (gst_bus_add_watch_full),
19135         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
19136         * gst/gstbus.h:
19137         * tools/gst-launch.c: (event_loop):
19138         * tools/gst-md5sum.c: (event_loop):
19139         GstBusHandler -> GstBusFunc, return value has the same meaning as
19140         any other GSource (FALSE == remove source).
19141         _add_watch() and _add_watch_full() now take a MessageType mask to
19142         only handle specific types of messages.
19143         _poll() returns the GstMessage instead of the message type to avoid
19144         race conditions.
19145         _have_pending() takes a MessageType mask now too.
19146         Added testsuite for multiple bus watches.
19147         Fix testsuites and applications for new bus API.
19148
19149 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19150
19151         * check/Makefile.am:
19152           mark a bunch of the tests as to fix until we fix them
19153
19154 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19155
19156         * common/check.mak:
19157           use GST_PLUGIN settings for valgrind tests as well, so we're
19158           valgrinding the correct thing
19159         * gst/gst.c: (init_post):
19160           plug another leak
19161
19162 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19163
19164         * gst/gst.c: (init_post), (gst_deinit):
19165         * gst/gstelementfactory.c: (gst_element_factory_class_init),
19166         (gst_element_factory_finalize), (gst_element_factory_cleanup):
19167         * gst/gstindex.c: (gst_index_factory_class_init),
19168         (gst_index_factory_finalize):
19169         * gst/gstobject.c: (gst_object_dispose):
19170         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
19171         (gst_plugin_load_file), (gst_plugin_desc_free):
19172         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
19173         (gst_plugin_feature_finalize):
19174         * gst/gstregistry.c: (gst_registry_class_init),
19175         (gst_registry_init), (gst_registry_finalize),
19176         (gst_registry_get_default), (gst_registry_deinit):
19177         * gst/gstregistry.h:
19178         * gst/gstregistryxml.c: (load_feature), (load_plugin):
19179           various cleanups and memleak plugging.  make valgrind is happy now.
19180
19181 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19182
19183         * common/check.mak:
19184           add a check-valgrind target
19185
19186 2005-09-18  David Schleef  <ds@schleef.org>
19187
19188         * tools/gst-inspect.c: Revert the GOption code.
19189
19190 2005-09-17  David Schleef  <ds@schleef.org>
19191
19192         * check/Makefile.am: Fix environment variables.
19193         * check/gst/gstplugin.c: Fix for API changes.
19194         * tools/gst-inspect.c: Fix for API changes.
19195         * tools/gst-xmlinspect.c: Fix for API changes.
19196         * gst/gstelementfactory.c:
19197         * gst/gstplugin.c:
19198         * gst/gstplugin.h:
19199         * gst/gstpluginfeature.c:
19200         * gst/gstpluginfeature.h:
19201         * gst/gstregistry.c:
19202         * gst/gstregistry.h:
19203         * gst/gstregistryxml.c:
19204         * gst/gsttypefind.c:
19205         * gst/gsttypefindfactory.c:
19206         * gst/indexers/gstfileindex.c:
19207         * gst/indexers/gstmemindex.c:
19208         * gst/schedulers/Makefile.am:
19209           Change registry to keep track of both plugins and features,
19210           removing the feature tracking from plugins themselves.
19211
19212 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19213
19214         * check/Makefile.am:
19215         * tools/gst-register.1.in:
19216           remove gst-register
19217
19218 2005-09-15  David Schleef  <ds@schleef.org>
19219
19220         * check/gst/gstplugin.c:
19221         * gst/gstelementfactory.c:
19222         * gst/gstplugin.c:
19223         * gst/gstpluginfeature.c:
19224         * gst/gstregistry.c:
19225           Getting tired of debugging.  Disabled all the unreffing of
19226           plugins and features, which fixes the segfaults, but of
19227           course leaks like crazy.  At least playbin works.
19228
19229 2005-09-15  David Schleef  <ds@schleef.org>
19230
19231         * check/gst/gstplugin.c: (register_check_elements),
19232         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19233         More testing
19234         * gst/elements/gsttypefindelement.c: Fix refcounting.
19235         * gst/gsttypefind.c:
19236         * gst/gsttypefindfactory.c:
19237         * gst/gsttypefindfactory.h:
19238
19239 2005-09-15  David Schleef  <ds@schleef.org>
19240
19241         * gst/gstindex.c: get refcounting correct.
19242         * gst/gstregistry.c: Handle the case where a feature/plugin is
19243           not found.
19244
19245 2005-09-15  David Schleef  <ds@schleef.org>
19246
19247         * check/Makefile.am:
19248         * check/gst/gstplugin.c: Add test
19249         * gst/gstplugin.c: Fix problems noticed by testsuite
19250         * gst/gstplugin.h:
19251         * gst/gstregistry.c: 
19252         * gst/gstregistry.h:
19253
19254 2005-09-15  David Schleef  <ds@schleef.org>
19255
19256         * gst/gstplugin.c: Implement semi-decent recounting and locking
19257           in plugins and plugin features.
19258         * gst/gstplugin.h:
19259         * gst/gstpluginfeature.c:
19260         * gst/gstpluginfeature.h:
19261         * gst/gstregistry.c:
19262
19263 2005-09-15  Michael Smith <msmith@fluendo.com>
19264
19265         * gst/gstregistry.c: (gst_registry_get_feature_list):
19266           Implement this. Makes oggdemux work; decodebin still broken.
19267
19268 2005-09-14  David Schleef  <ds@schleef.org>
19269
19270         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19271           #316076)
19272         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19273         * gst/check/Makefile.am:
19274         * libs/gst/controller/Makefile.am:
19275         * libs/gst/dataprotocol/Makefile.am:
19276
19277 2005-09-14  David Schleef  <ds@schleef.org>
19278
19279         * configure.ac: Remove getbits library.  Nothing uses it, and
19280           it should be in something like liboil if someone did want
19281           to use it.
19282         * libs/gst/Makefile.am:
19283         * libs/gst/getbits/Makefile.am:
19284         * libs/gst/getbits/gbtest.c:
19285         * libs/gst/getbits/getbits.c:
19286         * libs/gst/getbits/getbits.h:
19287         * libs/gst/getbits/gstgetbits_generic.c:
19288         * libs/gst/getbits/gstgetbits_i386.s:
19289         * libs/gst/getbits/gstgetbits_inl.h:
19290
19291 2005-09-14  David Schleef  <ds@schleef.org>
19292
19293         * gst/Makefile.am: Dist glib-compat.h
19294
19295 2005-09-14  David Schleef  <ds@schleef.org>
19296
19297         * configure.ac: Remove gst/registries, since it's no longer used.
19298         * gst/registries/Makefile.am:
19299         * gst/registries/gstlibxmlregistry.c:
19300         * gst/registries/gstlibxmlregistry.h:
19301         * gst/registries/gstxmlregistry.c:
19302         * gst/registries/gstxmlregistry.h:
19303         * gst/registries/registrytest.c:
19304
19305 2005-09-14  David Schleef  <ds@schleef.org>
19306
19307         * gst/glib-compat.h:
19308         * gst/gstregistryxml.c:
19309           Convergence is near.  Seriously.
19310
19311 2005-09-14  David Schleef  <ds@schleef.org>
19312
19313         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19314         * gst/glib-compat.h:
19315           Attempt #4 to appease the buildbots.
19316
19317 2005-09-14  David Schleef  <ds@schleef.org>
19318
19319         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19320           Attempt #3.
19321
19322 2005-09-14  David Schleef  <ds@schleef.org>
19323
19324         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19325         Attempt #2.
19326
19327 2005-09-14  David Schleef  <ds@schleef.org>
19328
19329         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19330           the new functions.
19331
19332 2005-09-14  David Schleef  <ds@schleef.org>
19333
19334         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19335         * gst/glib-compat.h: Add some functions that are in newer versions
19336           of glib than we care to require.
19337         * gst/gstregistryxml.c: Use them.
19338
19339 2005-09-14  David Schleef  <ds@schleef.org>
19340
19341         * po/POTFILES.in: remove gst-register.c
19342
19343 2005-09-14  David Schleef  <ds@schleef.org>
19344
19345         * docs/gst/gstreamer-docs.sgml:
19346         * docs/gst/gstreamer-sections.txt:
19347         * docs/gst/gstreamer.types:
19348         * docs/gst/tmpl/gstelement.sgml:
19349         * docs/gst/tmpl/gstplugin.sgml:
19350         * docs/gst/tmpl/gstpluginfeature.sgml:
19351           Documentation updates for registry changes.
19352
19353 2005-09-14  David Schleef  <ds@schleef.org>
19354
19355         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19356           because we don't require glib-2.8.
19357
19358 2005-09-14  David Schleef  <ds@schleef.org>
19359
19360         * gst/gstregistryxml.c: Added.  Essentially moved out of the
19361           registries directory.
19362
19363 2005-09-14  David Schleef  <ds@schleef.org>
19364
19365         * check/Makefile.am:
19366         * check/generic/states.c:
19367         * gst/Makefile.am:
19368         * gst/gst.c:
19369         * gst/gst.h:
19370         * gst/gst_private.h:
19371         * gst/gstelementfactory.c:
19372         * gst/gstindex.c:
19373         * gst/gstinfo.c:
19374         * gst/gstplugin.c:
19375         * gst/gstplugin.h:
19376         * gst/gstpluginfeature.c:
19377         * gst/gstpluginfeature.h:
19378         * gst/gstregistry.c:
19379         * gst/gstregistry.h:
19380         * gst/gstregistrypool.c: remove
19381         * gst/gstregistrypool.h: remove
19382         * gst/gsttypefind.c:
19383         * gst/gsttypefindfactory.c:
19384         * gst/gsturi.c:
19385         * tools/Makefile.am:
19386         * tools/gst-compprep.c:
19387         * tools/gst-inspect.c:
19388         * tools/gst-register.c: remove
19389         * tools/gst-xmlinspect.c:
19390           Registry rewrite.  Changes registry from being a file created
19391           by a tool into a simple cache file created automatically by 
19392           libgstreamer.  Removed gst-register (because it's no longer
19393           needed).  Remove registry pools, because we only have one
19394           registry implementation (XML).  Fix up other subsystems as
19395           necessary.
19396
19397 2005-09-13  Michael Smith <msmith@fluendo.com>
19398
19399         * gst/gstconfig.h.in:
19400           Don't Use windows linking attributes for MinGW. Fixes #316157
19401
19402 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19403
19404         * gst/gstutils.c: (set_state_async_thread_func),
19405         (gst_element_set_state_async):
19406           Apparently people think it's better if this function doesn't
19407           try to set the state to whatever state was asked for on the first
19408           call to this function for any object.  Seriously.
19409
19410 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19411
19412         * check/gst/gstpipeline.c: (GST_START_TEST):
19413         * docs/gst/gstreamer-sections.txt:
19414         * gst/gstutils.c: (set_state_async_thread_func),
19415         (gst_element_set_state_async):
19416         * gst/gstutils.h:
19417           add a "gst_element_set_state_async" method that
19418           sets the state and starts a thread to make sure the state
19419           change completes as best as it can
19420
19421 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19422
19423         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19424           codify design+behaviour in testsuite after discussion
19425
19426 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19427
19428         * docs/gst/tmpl/gstelement.sgml:
19429         * docs/manual/appendix-quotes.xml:
19430           add a quote
19431         * gst/gstelement.c: (gst_element_set_state):
19432           add some debug
19433
19434 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
19435
19436         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19437         (gst_base_transform_prepare_output_buf),
19438         (gst_base_transform_handle_buffer):
19439         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19440         (gst_capsfilter_prepare_buf):
19441           Remove the requirement for sub-classes to call the parent
19442           implementation of prepare_output_buffer with a wrapper function.
19443           
19444         * gst/gsttaglist.h:
19445         * gst/gsttagsetter.h:
19446           Fix #define wrapper
19447
19448 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
19449
19450         * docs/gst/gstreamer-sections.txt:
19451           more doc cleanups
19452
19453 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19454
19455         * docs/gst/gstreamer-sections.txt:
19456         * docs/gst/tmpl/gstelement.sgml:
19457         * docs/gst/tmpl/gstplugin.sgml:
19458         * gst/gstminiobject.c:
19459         * gst/gstvalue.h:
19460           docs now stop throwing warnings
19461
19462 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19463
19464         * docs/gst/gstreamer-sections.txt:
19465         * docs/gst/gstreamer.types:
19466         * docs/gst/tmpl/gstpad.sgml:
19467         * docs/gst/tmpl/gsttypes.sgml:
19468         * gst/base/gstadapter.h:
19469         * gst/base/gstbasesink.h:
19470         * gst/base/gstbasesrc.h:
19471         * gst/gstbin.h:
19472         * gst/gstbuffer.h:
19473         * gst/gstbus.h:
19474         * gst/gstcaps.h:
19475         * gst/gstclock.h:
19476         * gst/gstelement.h:
19477         * gst/gstevent.h:
19478         * gst/gstmessage.h:
19479         * gst/gstpad.h:
19480         * gst/gststructure.c:
19481         * gst/registries/gstlibxmlregistry.h:
19482           various documentation fixes
19483
19484 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19485
19486         * docs/gst/gstreamer-sections.txt:
19487         * docs/gst/tmpl/gstvalue.sgml:
19488           rearrange gstvalue section
19489         * gst/gstutils.c: (gst_element_state_get_name):
19490           NONE -> VOID
19491         * gst/gstvalue.c: (_gst_value_initialize):
19492         * gst/gstvalue.h:
19493           doc updates
19494
19495 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
19496
19497         * check/gst-libs/controller.c:
19498           Header include fix.
19499         * gst/base/gstbasetransform.c:
19500         (gst_base_transform_default_prepare_buf),
19501         (gst_base_transform_handle_buffer):
19502         * gst/base/gstbasetransform.h:
19503           Some more basetransform changes and fixes to enable sub-classes
19504           that modify buffer metadata only.
19505         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19506         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19507         (gst_capsfilter_prepare_buf):
19508           If the output pad has fixed allowed caps and input buffers 
19509           don't have any, set the fixed caps on outgoing buffers.
19510
19511 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
19512         * check/elements/identity.c: (GST_START_TEST):
19513           Make the error a little clearer when the test fails because
19514           identity made a copy of the buffer.
19515         * docs/gst/gstreamer-sections.txt:
19516           New symbols in gstbasetransform.h
19517         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19518         (gst_base_transform_init), (gst_base_transform_transform_size),
19519         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19520         (gst_base_transform_default_prepare_buf),
19521         (gst_base_transform_get_unit_size),
19522         (gst_base_transform_buffer_alloc),
19523         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19524         (gst_base_transform_change_state),
19525         (gst_base_transform_set_passthrough),
19526         (gst_base_transform_set_in_place),
19527         (gst_base_transform_is_in_place):
19528         * gst/base/gstbasetransform.h:
19529           Change BaseTransform to separate in_place operate from same_caps
19530           output. in_place implies that the element can perform the transform
19531           on incoming buffers in-place, even if the caps on the output are
19532           different.
19533           Sub-class elements can now implement special buffer allocation
19534           methods for outgoing buffers if they wish to.
19535           Big documentation addition.
19536         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19537         * gst/elements/gstelements.c:
19538           Changes for basetransform modifications.
19539         * gst/elements/Makefile.am:
19540         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19541           Compile fix. Extra debug output.
19542
19543 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19544
19545         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19546         (gst_pad_suite):
19547           add tests for valid pad naming
19548         * gst/check/gstcheck.c: (gst_check_log_message_func),
19549         (gst_check_log_critical_func):
19550           add ASSERT_WARNING
19551           remove printing of code, it is fragile when the code contains
19552           % and the line number is enough info
19553         * gst/check/gstcheck.h:
19554         * gst/gstpad.c: (gst_pad_template_new):
19555           fix memleaks
19556
19557 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19558
19559         * configure.ac:
19560           say what CHECK flags we use
19561         * docs/libs/gstreamer-libs.types:
19562         * libs/gst/controller/Makefile.am:
19563         * libs/gst/controller/gst-controller.c:
19564         * libs/gst/controller/gst-controller.h:
19565         * libs/gst/controller/gst-helper.c:
19566         * libs/gst/controller/gst-interpolation.c:
19567         * libs/gst/controller/gstcontroller.c:
19568         * libs/gst/controller/gsthelper.c:
19569         * libs/gst/controller/gstinterpolation.c:
19570         * tools/gst-inspect.c: (print_plugin_info):
19571           we don't use dashes in header names
19572
19573 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19574
19575         * check/Makefile.am:
19576         * check/gst/.cvsignore:
19577         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19578         (gst_pipeline_suite), (main):
19579           adding a test for pipelines and state changes
19580         * gst/gstutils.c: (get_state_func):
19581           add some debugging
19582         * gstreamer.spec.in:
19583           fix up spec file
19584
19585 2005-09-08  Michael Smith <msmith@fluendo.com>
19586
19587         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19588         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19589         (gst_file_src_is_seekable), (gst_file_src_get_size),
19590         (gst_file_src_start):
19591         * gst/elements/gstfilesrc.h:
19592           Various fixes for unseekable, unmmapable, and non-normal files, so
19593           that fallback to read() rather than mmap() works.
19594         * gst/gstevent.c: (gst_event_new_newsegment):
19595           Allow newsegment events with segment_start == segment_end, as will
19596           correctly happen if you use filesrc on a zero-size file, for
19597           example.
19598
19599 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19600
19601         * gst/gstplugin.c: (gst_plugin_load_file):
19602           Call g_module_close when we don't load the module
19603
19604         * gst/registries/gstlibxmlregistry.c:
19605         (gst_xml_registry_get_property):
19606           Port leak fix from 0.8
19607
19608 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19609
19610         * docs/gst/gstreamer-docs.sgml:
19611         * docs/gst/tmpl/.cvsignore:
19612         * docs/gst/tmpl/gsttrace.sgml:
19613         * docs/gst/tmpl/gsttrashstack.sgml:
19614         * gst/Makefile.am:
19615         * gst/gst.h:
19616         * gst/gstelement.h:
19617         * gst/gstevent.h:
19618         * gst/gstmessage.c:
19619         * gst/gstmessage.h:
19620         * gst/gsttag.c:
19621         * gst/gsttag.h:
19622         * gst/gsttaginterface.c:
19623         * gst/gsttaginterface.h:
19624         * gst/gsttaglist.c:
19625         * gst/gsttaglist.h:
19626         * gst/gsttagsetter.c:
19627         * gst/gsttagsetter.h:
19628         * gst/gsttrace.c:
19629         * gst/gsttrace.h:
19630         * gst/gsttrashstack.c:
19631           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19632           inlined docs for gsttrace, gsttrashstack
19633
19634 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19635
19636         * gst/Makefile.am:
19637         * gst/elements/gstbufferstore.h:
19638         * gst/elements/gsttypefindelement.c:
19639         * gst/elements/gsttypefindelement.h:
19640         * gst/gst.h:
19641         * gst/gsttypefind.c:
19642         * gst/gsttypefind.h:
19643         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19644         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19645         (gst_type_find_factory_dispose),
19646         (gst_type_find_factory_unload_thyself),
19647         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19648         (gst_type_find_factory_get_caps),
19649         (gst_type_find_factory_get_extensions),
19650         (gst_type_find_factory_call_function):
19651         * gst/gsttypefindfactory.h:
19652         * gst/registries/gstlibxmlregistry.c:
19653         * gst/registries/gstxmlregistry.c:
19654           splitted gsttypefind into gsttypefind, gsttypefindfactory
19655
19656 2005-09-07  Andy Wingo  <wingo@pobox.com>
19657
19658         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19659         condition whereby the pad's task function is entered before the
19660         pad_mode variable was set.
19661
19662 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19663
19664         * gst/gstpad.c: (gst_pad_alloc_buffer):
19665           Catch misbehaving pad_alloc functions that don't
19666           set up caps and do it for them.
19667
19668 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19669
19670         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19671           test for pipe!=NULL
19672         * docs/gst/tmpl/.cvsignore:
19673         * docs/gst/tmpl/gstmemchunk.sgml:
19674         * docs/gst/tmpl/gstparse.sgml:
19675         * docs/gst/tmpl/gsttaglist.sgml:
19676         * docs/gst/tmpl/gsttagsetter.sgml:
19677         * docs/gst/tmpl/gsttypefind.sgml:
19678         * docs/gst/tmpl/gsttypefindfactory.sgml:
19679         * gst/gstmemchunk.c:
19680         * gst/gstparse.c:
19681         * gst/gsttag.c:
19682         * gst/gsttaginterface.c:
19683         * gst/gsttypefind.c:
19684         * gst/gsttypefind.h:
19685           inlined more docs
19686
19687 === release 0.9.2 ===
19688
19689 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19690
19691         * NEWS:
19692         * RELEASE:
19693         * configure.ac:
19694           releasing 0.9.2, "South"
19695
19696 2005-09-05  Andy Wingo  <wingo@pobox.com>
19697
19698         * gst/registries/gstxmlregistry.h:
19699         * gst/registries/gstxmlregistry.c: Um... resurrect...
19700         
19701         * gst/registries/gstxmlregistry.h:
19702         * gst/registries/gstxmlregistry.c: and update to newer API.
19703         Incidentally they should be a bit faster now that they don't have
19704         to parse the caps.
19705         
19706 2005-09-05  Andy Wingo  <wingo@pobox.com>
19707
19708         * gst/registries/gstxmlregistry.h:
19709         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
19710         replaced by the libxml registry a while back
19711
19712 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19713
19714         * docs/gst/tmpl/gstplugin.sgml:
19715         * gst/elements/gstelements.c:
19716         * gst/gst.c:
19717         * gst/gstplugin.c: (gst_plugin_register_func),
19718         (gst_plugin_desc_copy), (gst_plugin_desc_free),
19719         (gst_plugin_get_source):
19720         * gst/gstplugin.h:
19721         * gst/registries/gstlibxmlregistry.c: (load_plugin),
19722         (gst_xml_registry_save_plugin):
19723         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
19724         (gst_xml_registry_save_plugin):
19725         * tools/gst-inspect.c: (print_plugin_info):
19726           add a "source" plugin description field, to represent the source
19727           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
19728           will set it to PACKAGE, which is automake's idea of the name of
19729           the source project.
19730
19731 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19732
19733         * Makefile.am:
19734         * autogen.sh:
19735         * configure.ac:
19736         * docs/Makefile.am:
19737         * docs/faq/Makefile.am:
19738         * docs/gst/tmpl/gstelement.sgml:
19739         * docs/gst/tmpl/gsttypes.sgml:
19740         * docs/htmlinstall.mak:
19741         * docs/manual/Makefile.am:
19742         * docs/pwg/Makefile.am:
19743           reorganize doc build a little
19744           split out docbook and gtk-doc stuff
19745           have two separate --enable's and enable them through autogen
19746           but disable by default in configure (to be similar to other
19747           projects)
19748         * gstreamer.spec.in:
19749           clean up docs install
19750         * po/af.po:
19751         * po/az.po:
19752         * po/ca.po:
19753         * po/cs.po:
19754         * po/de.po:
19755         * po/en_GB.po:
19756         * po/fr.po:
19757         * po/it.po:
19758         * po/nb.po:
19759         * po/nl.po:
19760         * po/ru.po:
19761         * po/sq.po:
19762         * po/sr.po:
19763         * po/sv.po:
19764         * po/tr.po:
19765         * po/uk.po:
19766         * po/vi.po:
19767           translation updates
19768
19769 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
19770
19771         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
19772           Add comment.
19773           
19774         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19775         (gst_fake_sink_change_state):
19776           Make state change function thread-safe.
19777           
19778         * gst/gstpad.c: (gst_pad_alloc_buffer):
19779           Set offset on generic buffer allocated by fallback.
19780
19781 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
19782
19783         * docs/gst/gstreamer-sections.txt:
19784         * docs/gst/tmpl/gstelement.sgml:
19785         * gst/gstpad.c:
19786         * libs/gst/controller/gst-controller.c:
19787         (gst_controlled_property_set_interpolation_mode),
19788         (gst_controlled_property_new),
19789         (gst_controller_find_controlled_property):
19790          run the wingo-magic script against the docs
19791
19792 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19793
19794         * docs/gst/gstreamer-docs.sgml:
19795         * docs/gst/gstreamer-sections.txt:
19796         * docs/gst/tmpl/.cvsignore:
19797         * docs/gst/tmpl/gstelementdetails.sgml:
19798         * docs/gst/tmpl/gstelementfactory.sgml:
19799         * gst/gst.c:
19800         * gst/gstbus.c:
19801         * gst/gstelementfactory.c:
19802         * gst/gstelementfactory.h:
19803           merged elementdetails docs into elementfactory docs
19804           inlined both
19805
19806 2005-09-02  Andy Wingo  <wingo@pobox.com>
19807
19808         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
19809         consider this enum an enum and not a flags.
19810
19811 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19812
19813         * docs/gst/gstreamer-docs.sgml:
19814         * docs/gst/tmpl/.cvsignore:
19815         * docs/gst/tmpl/gstghostpad.sgml:
19816         * docs/gst/tmpl/gstiterator.sgml:
19817         * docs/gst/tmpl/gstmacros.sgml:
19818         * docs/gst/tmpl/gstrealpad.sgml:
19819         * docs/gst/tmpl/gstregistry.sgml:
19820         * docs/gst/tmpl/gstregistrypool.sgml:
19821         * docs/gst/tmpl/gststructure.sgml:
19822         * docs/gst/tmpl/gstsystemclock.sgml:
19823         * docs/gst/tmpl/gsttrace.sgml:
19824         * gst/gstghostpad.c:
19825         * gst/gstmacros.h:
19826         * gst/gstmemchunk.c:
19827         * gst/gstmemchunk.h:
19828         * gst/gstqueue.c:
19829         * gst/gstregistry.c:
19830         * gst/gstregistrypool.c:
19831         * gst/gststructure.c:
19832         * gst/gstsystemclock.c:
19833           more docs inlined
19834
19835 2005-09-02  Andy Wingo  <wingo@pobox.com>
19836
19837         * gst/gstelement.h (GstState): Renamed from GstElementState,
19838         changed to be a normal enum instead of flags.
19839         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
19840         munged to be GST_STATE_CHANGE_*.
19841         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
19842         work with the new state representation.
19843         (GstStateChange): New enumeration of possible state transitions.
19844         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
19845         (GstElementClass::change_state): Pass the GstStateChange along as
19846         an argument. Helps language bindings, so they don't have to use
19847         tricky lock-needing macros like GST_STATE_CHANGE ().
19848
19849         * scripts/update-states (file): New script. Run it on a file to
19850         update it for state naming and API changes. Updates files in
19851         place.
19852
19853         * All files updated for the new API.
19854
19855 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19856
19857         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
19858         * gst/gstutils.c: (gst_util_set_value_from_string),
19859         (gst_util_set_object_arg):
19860           fix a bunch of unchecked return values
19861         * tools/gst-complete.c: (main):
19862         * gstreamer.spec.in:
19863           clean up a little
19864
19865 2005-09-01  Wim Taymans  <wim@fluendo.com>
19866
19867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19868         (gst_base_sink_event), (gst_base_sink_do_sync),
19869         (gst_base_sink_handle_event):
19870         * gst/base/gstbasesink.h:
19871         Handle newsegments more correctly.
19872
19873         * gst/gstbus.c:
19874         Fix docs.
19875
19876         * gst/gstevent.c: (gst_event_new_newsegment):
19877         A newsegment cannot have a start_time of -1
19878
19879 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
19880
19881         * win32/gstenumtypes.c:
19882         * win32/gstenumtypes.h:
19883           Update
19884
19885 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19886
19887         * libs/gst/controller/gst-controller.c:
19888         (gst_controlled_property_set_interpolation_mode),
19889         (gst_controlled_property_new):
19890          fixed boolean again
19891
19892 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
19893
19894         * docs/faq/gst-uninstalled:
19895           add -good
19896         * gst/gstevent.c:
19897         * gst/gstevent.h:
19898           remove wrong docs
19899         * gst/gstutils.c: (gst_element_link_filtered):
19900         * gst/gstutils.h:
19901           add gst_element_link_filtered
19902
19903 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19904
19905         * docs/gst/gstreamer-docs.sgml:
19906         * docs/gst/gstreamer-sections.txt:
19907         * docs/gst/tmpl/.cvsignore:
19908         * docs/gst/tmpl/gsterror.sgml:
19909         * docs/gst/tmpl/gstfilter.sgml:
19910         * docs/gst/tmpl/gsturihandler.sgml:
19911         * docs/gst/tmpl/gsturitype.sgml:
19912         * docs/gst/tmpl/gstutils.sgml:
19913         * docs/gst/tmpl/gstxml.sgml:
19914         * gst/gsterror.c:
19915         * gst/gsterror.h:
19916         * gst/gstfilter.c:
19917         * gst/gsturi.c:
19918         * gst/gsturitype.c:
19919         * gst/gstutils.c:
19920         * gst/gstxml.c:
19921           inlined more docs, fixed double id-ref
19922
19923 2005-08-31  Wim Taymans  <wim@fluendo.com>
19924
19925         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19926         (gst_base_transform_handle_buffer):
19927         Passthrough elements don't need the caps as they don't care.
19928
19929 2005-08-31  Wim Taymans  <wim@fluendo.com>
19930
19931         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19932         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
19933         Don't leak refcounts on buffers.
19934
19935 2005-08-31  Wim Taymans  <wim@fluendo.com>
19936
19937         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19938         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19939         (gst_base_transform_chain), (gst_base_transform_change_state):
19940         * gst/base/gstbasetransform.h:
19941         Handle the case where we are not negotiated more gracefully.
19942
19943 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
19944
19945         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19946         (gst_file_src_map_region):
19947           Set READONLY flag on mmap'ed buffers, otherwise
19948           gst_buffer_make_writable() won't work properly (#314708).
19949
19950 2005-08-31  Wim Taymans  <wim@fluendo.com>
19951
19952         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19953         passthrough elements can even do inplace on non writable
19954         buffers (as they don't touch them).
19955
19956 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19957
19958         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19959         (gst_test_mono_source_set_property),
19960         (gst_test_mono_source_class_init), (GST_START_TEST),
19961         (gst_controller_suite):
19962           more tests (hehe I have the most)
19963         * gst/gstbus.c:
19964           describe popping messages whenusing mulltiple sources
19965         * libs/gst/controller/gst-controller.c:
19966         (gst_controlled_property_set_interpolation_mode),
19967         (gst_controlled_property_new):
19968         * libs/gst/controller/gst-controller.h:
19969         * libs/gst/controller/gst-interpolation.c:
19970           implement boolean properties
19971
19972 2005-08-31  Wim Taymans  <wim@fluendo.com>
19973
19974         * gst/gstminiobject.c: (gst_mini_object_ref):
19975         Cannot assert that the refcount has to be positive
19976         since a disposed object can be resurrected.
19977
19978 2005-08-31  Wim Taymans  <wim@fluendo.com>
19979
19980         * gst/gstpad.c: (gst_pad_init):
19981         Revert change, need to first fix badly behaving 
19982         apps.
19983
19984 2005-08-30  Wim Taymans  <wim@fluendo.com>
19985
19986         * check/elements/fakesrc.c: (setup_fakesrc):
19987         * check/elements/identity.c: (setup_identity):
19988         Activate pads before using them.
19989
19990 2005-08-30  Wim Taymans  <wim@fluendo.com>
19991
19992         * gst/base/gstadapter.c: (gst_adapter_flush):
19993         Flushing out 0 bytes is ok for this function.
19994
19995         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19996         no newsegment gives a warning and sets the start/stop to 
19997         invalid.
19998
19999         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
20000         (gst_base_transform_set_passthrough):
20001         Some debug info.
20002
20003         * gst/gstminiobject.c: (gst_mini_object_ref):
20004         Check refcount here too.
20005
20006         * gst/gstpad.c: (gst_pad_init):
20007         Pads are initially flushing and refusing data.
20008
20009         * gst/gstutils.c: (gst_element_link_pads_filtered):
20010         When adding a capsfilter element make sure it has the
20011         same state as the parent bin.
20012
20013 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20014
20015         * docs/gst/tmpl/.cvsignore:
20016         * docs/gst/tmpl/gstformat.sgml:
20017         * docs/gst/tmpl/gstversion.sgml:
20018         * gst/gstbus.h:
20019         * gst/gstformat.c:
20020         * gst/gstformat.h:
20021         * gst/gstversion.h.in:
20022           more docs and two more inlined
20023
20024 2005-08-30  Wim Taymans  <wim@fluendo.com>
20025
20026         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
20027         Don't sync to clock.
20028
20029 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20030
20031         * docs/gst/gstreamer-sections.txt:
20032           ultral33t func10ns deserve to appear in the docs actually
20033         * docs/gst/tmpl/.cvsignore:
20034         * docs/gst/tmpl/gstcompat.sgml:
20035         * docs/gst/tmpl/gstconfig.sgml:
20036         * gst/check/gstcheck.c:
20037         * gst/gstcompat.h:
20038         * gst/gstconfig.h.in:
20039           inlined more docs
20040
20041 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20042
20043         * docs/gst/tmpl/.cvsignore:
20044         * docs/gst/tmpl/gstquery.sgml:
20045         * docs/gst/tmpl/gstutils.sgml:
20046         * gst/gstquery.c:
20047         * gst/gstquery.h:
20048           inlined and extended docs
20049
20050 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20051
20052         * check/gst-libs/controller.c: (GST_START_TEST),
20053         (gst_controller_suite):
20054           more tests
20055         * docs/gst/tmpl/gstutils.sgml:
20056         * docs/libs/gstreamer-libs-sections.txt:
20057         * docs/libs/tmpl/gstdataprotocol.sgml:
20058           include path fixes
20059         * examples/controller/audio-example.c: (main):
20060           controller example works now
20061         * gst/gstclock.h:
20062           doc fixes
20063         * tools/gst-inspect.c: (print_element_properties_info):
20064           show param spec flags
20065
20066 2005-08-29  Andy Wingo  <wingo@pobox.com>
20067
20068         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
20069
20070 2005-08-28  Andy Wingo  <wingo@pobox.com>
20071
20072         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
20073         as having two arguments instead of just one. Allows superclasses
20074         to access information on subclasses -- see the terrible for() loop
20075         in gtype.c:g_type_create_instance for the reason why. All callers
20076         changed.
20077
20078 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20079
20080         * docs/design/part-messages.txt:
20081           update info
20082         * docs/gst/tmpl/.cvsignore:
20083         * docs/gst/tmpl/gstcaps.sgml:
20084         * docs/gst/tmpl/gstclock.sgml:
20085         * gst/gstbus.c:
20086         * gst/gstcaps.c:
20087         * gst/gstcaps.h:
20088         * gst/gstclock.c:
20089         * gst/gstclock.h:
20090         * gst/gstmessage.c:
20091           added descriptions for bus and message
20092           inline caps and clock docs
20093
20094 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20095
20096         * gst/gstmessage.c:
20097         * gst/gstmessage.h:
20098           doc fixes
20099
20100 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20101
20102         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20103           fix div-by-zero
20104
20105 2005-08-26  Andy Wingo  <wingo@pobox.com>
20106
20107         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
20108         element_set_state's return val.
20109         (test_2_elements): Add test that's been disabled for months.
20110
20111         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
20112         can-activate-pull properties.
20113
20114         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
20115         can-activate-pull properties. Implement is_seekable so fakesrc can
20116         operate in pull mode.
20117
20118         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
20119         properties.
20120         (gst_base_sink_activate, gst_base_sink_activate_pull)
20121         (gst_base_sink_activate_push): Make activation mode choosing work.
20122         Cleanups.
20123         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
20124         is right. Make pull mode work. Post an eos before pausing in pull
20125         mode.
20126         (gst_base_sink_change_state): Pay attention to the core's
20127         change_state() return val.
20128         
20129         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
20130         has-getrange properties. Cleanups.
20131         
20132         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
20133         has_getrange and replace with can_activate_pull and
20134         can_activate_push.
20135
20136         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
20137         locking comments. Remove has_loop, has_chain and replace with
20138         can_activate_pull and can_activate_push.
20139
20140 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
20141
20142         * configure.ac:
20143         * examples/Makefile.am:
20144         * examples/metadata/Makefile.am:
20145         * examples/metadata/read-metadata.c: (message_loop),
20146         (have_pad_handler), (make_pipeline), (print_tag), (main):
20147           Add metadata reading example that loops over a list of filenames,
20148           dumping any tags found.
20149
20150         * gst/gstbus.c: (gst_bus_dispose):
20151         * gst/gstelement.c: (gst_element_dispose):
20152           Release a few potentially-held references in dispose.
20153
20154 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20155
20156         * docs/gst/tmpl/gstminiobject.sgml:
20157           do *not* add tmpl/*.sgml files to CVS!
20158
20159 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20160
20161         * libs/gst/bytestream/.cvsignore:
20162         * libs/gst/bytestream/Makefile.am:
20163         * libs/gst/bytestream/adapter.c:
20164         * libs/gst/bytestream/adapter.h:
20165         * libs/gst/bytestream/bytestream.c:
20166         * libs/gst/bytestream/bytestream.h:
20167         * libs/gst/bytestream/filepad.c:
20168         * libs/gst/bytestream/filepad.h:
20169           removing obsolete files
20170
20171 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20172
20173         * docs/gst/gstreamer-docs.sgml:
20174         * docs/libs/gstreamer-libs-docs.sgml:
20175           disabed additional index entries again, as this makes docs-gen just
20176           slow and they aren't useful yet
20177         * docs/libs/gstreamer-libs-sections.txt:
20178           little -section.txt cleanup for libs
20179
20180 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20181
20182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20183         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
20184           fix up some debugging
20185         (gst_base_transform_get_unit_size),
20186         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20187         (gst_base_transform_handle_buffer):
20188         * gst/base/gstbasetransform.h:
20189           handle and store timed NEWSEGMENT events so that subclasses that
20190           calculate time by counting samples have a segment_start time they
20191           need to add to their timestamps - see audioresample
20192
20193 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20194
20195         * gst/gstbin.h:
20196           removed ';' from the end of macro defs
20197         * docs/gst/gstreamer-docs.sgml:
20198         * docs/gst/gstreamer-sections.txt:
20199         * docs/gst/tmpl/.cvsignore:
20200         * gst/gstbus.h:
20201         * gst/gstelement.c: (gst_element_class_init),
20202         (gst_element_set_state), (activate_pads),
20203         (gst_element_save_thyself):
20204         * gst/gstevent.c: (gst_event_new_newsegment):
20205         * gst/gstevent.h:
20206         * gst/gstiterator.c:
20207         * gst/gstiterator.h:
20208         * gst/gstpad.c:
20209         * gst/gstprobe.h:
20210         * gst/gstutils.c: (gst_pad_query_convert):
20211         * gst/gstutils.h:
20212           fixed parameter name mismatches between source, header and docs
20213           added some more docs, resolved the last batch of unused elements in
20214           docs (now someone needs to doc them)
20215
20216 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20217
20218         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20219         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20220           don't walk through the plugins backwards.  Where is all this
20221           reversed logic coming from ?
20222
20223 2005-08-25  Wim Taymans  <wim@fluendo.com>
20224
20225         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20226         (gst_base_transform_transform_size),
20227         (gst_base_transform_configure_caps),
20228         (gst_base_transform_get_unit_size),
20229         (gst_base_transform_buffer_alloc),
20230         (gst_base_transform_change_state):
20231         * gst/base/gstbasetransform.h:
20232         Cache caps unit_size.
20233         Make sure we cannot negotiate up and downstream at the
20234         same time.
20235
20236 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20237
20238         * gst/gst.c: (init_pre), (init_post):
20239           register the installed plugin path after the env var
20240         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20241         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20242           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20243           directories, so the tests can prefer uninstalled over installed
20244
20245 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20246
20247         * gst/base/gstbasetransform.h:
20248           comment
20249         * gst/gstpad.c:
20250           add to docs
20251
20252 2005-08-25  Wim Taymans  <wim@fluendo.com>
20253
20254         * gst/gstbin.c: (bin_bus_handler):
20255         Be a bit more conservative about the posted message.
20256         
20257         * gst/gstbus.c: (gst_bus_post):
20258         Some cleanups, warn wrong return values.
20259
20260 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
20261
20262         * check/gst/gstbin.c: (GST_START_TEST):
20263         * gst/gstbin.c: (bin_bus_handler):
20264         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20265         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20266         (gst_message_new_warning), (gst_message_new_tag),
20267         (gst_message_new_state_changed), (gst_message_new_segment_start),
20268         (gst_message_new_segment_done), (gst_message_new_custom):
20269         * gst/gstmessage.h:
20270         * tools/gst-launch.c: (event_loop):
20271         * tools/gst-md5sum.c: (event_loop):
20272           Revert unpopular change for GST_MESSAGE_SRC to GObject.
20273
20274 2005-08-25  Wim Taymans  <wim@fluendo.com>
20275
20276         * check/generic/states.c: (GST_START_TEST):
20277         Cleanup can be done at the end.
20278
20279         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20280         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20281         (gst_task_get_state), (gst_task_start), (gst_task_pause):
20282         Oh boy.. Thanks for finding this, Thomas. 
20283
20284 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20285
20286         * docs/gst/gstreamer.types:
20287           added missing types
20288
20289 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20290
20291         * docs/gst/gstreamer-docs.sgml:
20292         * docs/gst/gstreamer-sections.txt:
20293         * docs/gst/tmpl/.cvsignore:
20294         * gst/gstbin.c:
20295         * gst/gstiterator.c:
20296         * gst/gstutils.c:
20297         * gst/registries/gstxmlregistry.h:
20298           added missing classes and symbols (123 more to go)
20299           removed removed symbols from section file
20300           fixed many doc-comments
20301
20302 2005-08-24  Wim Taymans  <wim@fluendo.com>
20303
20304         * check/generic/states.c: (GST_START_TEST):
20305         Make sure all tasks are stopped.
20306
20307         * check/gst/gstbin.c: (GST_START_TEST):
20308         Unref after usage for proper valgrinding.
20309
20310         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20311         Really wait for the task to stop before destroying the
20312         mutex.
20313
20314         * gst/gstqueue.c: (gst_queue_sink_activate_push),
20315         (gst_queue_src_activate_push):
20316         Small cleanups. Don't stop the task when we did not start
20317         it.
20318
20319         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20320         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20321         (gst_task_get_state), (gst_task_start), (gst_task_pause),
20322         (gst_task_join):
20323         * gst/gsttask.h:
20324         Protect the stream lock with the object lock.
20325         Disallow setting the stream lock when running.
20326         Add cleanup_all to wait for the threadpool to finish.
20327         Remove code to autoallocate a mutex if none was provided.
20328         Add _join() to wait for a task to stop.
20329         Protect the thread pool with a global lock.
20330
20331 2005-08-24  Wim Taymans  <wim@fluendo.com>
20332
20333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20334         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20335         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20336         * gst/base/gstbasesink.h:
20337         Handle newsegment events correctly.
20338         Drop buffers out of the segment range.
20339
20340 2005-08-22  Andy Wingo  <wingo@pobox.com>
20341
20342         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20343         macro, implements an interface and gstimplementsinterface for a
20344         new type.
20345
20346 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20347
20348         * check/Makefile.am:
20349         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20350           add a test that does a bunch of state changes on elements
20351           needs some fixing for valgrind
20352         * check/states/sinks.c: (gst_object_suite):
20353           whitespace
20354         * gst/gstcaps.h:
20355           add prototype for gst_caps_is_equal_fixed
20356         * gst/gstplugin.c:
20357         * gst/gstregistrypool.c:
20358           doc fixes
20359
20360 2005-08-24  Andy Wingo  <wingo@pobox.com>
20361
20362         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20363         convert a negative value. Doesn't make much sense. Mostly this is
20364         here to force callers to ensure -1 maps to -1.
20365
20366 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20367
20368         * docs/pwg/advanced-types.xml:
20369           Well done to Michael for catching my deliberate introduction
20370           of this spelling mistake. 
20371         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20372         * gst/gstelement.h:
20373           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20374           unlink pads before removing the element from the bin.
20375
20376 2005-08-24  Andy Wingo  <wingo@pobox.com>
20377
20378         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20379         the same thing as GST_DEBUG=*:4.
20380         (parse_debug_level, parse_debug_category): New helper parsers.
20381
20382 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20383
20384         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20385         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20386         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20387         (gst_base_transform_buffer_alloc),
20388         (gst_base_transform_handle_buffer):
20389           use gboolean return values and pointers to size so we can use the
20390           full GST_BUFFER_SIZE range (guint) for buffer sizes
20391           use GstPadDirection for transform_caps
20392         * gst/base/gstbasetransform.h:
20393           rename get_size to get_unit_size since that's what it is
20394         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20395           use GstPadDirection for transform_caps
20396         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20397         * gst/gstutils.h:
20398           cleanup and debugging
20399
20400 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20401
20402         * gst/gstelement.c: (gst_element_class_init),
20403         (gst_element_set_state), (activate_pads),
20404         (gst_element_save_thyself):
20405         * tools/gst-compprep.c: (main):
20406         * tools/gst-inspect.c: (print_element_properties_info):
20407         * tools/gst-xmlinspect.c: (print_element_properties):
20408           Fixed long standing mem-leak
20409
20410 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20411
20412         * check/gst/gstbin.c: (GST_START_TEST):
20413         * gst/gstbin.c: (bin_bus_handler):
20414         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20415         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20416         (gst_message_new_warning), (gst_message_new_tag),
20417         (gst_message_new_state_changed), (gst_message_new_segment_start),
20418         (gst_message_new_segment_done), (gst_message_new_custom):
20419         * gst/gstmessage.h:
20420         * tools/gst-launch.c: (event_loop):
20421         * tools/gst-md5sum.c: (event_loop):
20422           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20423           that applications can sensibly post custom messages with references
20424           to their own objects.
20425
20426 2005-08-24  Andy Wingo  <wingo@pobox.com>
20427
20428         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20429         already.
20430
20431 2005-08-24  Wim Taymans  <wim@fluendo.com>
20432
20433         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20434         (gst_base_transform_transform_caps),
20435         (gst_base_transform_transform_size),
20436         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20437         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20438         (gst_base_transform_handle_buffer):
20439         * gst/base/gstbasetransform.h:
20440         Many fixes and new features added by Thomas. Can now also do
20441         transforms with variable sizes and a custom fixate_caps function.
20442
20443 2005-08-24  Wim Taymans  <wim@fluendo.com>
20444
20445         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20446         Some debugging.
20447
20448         * gst/gstclock.h:
20449         Cast to ClockTime before formatting to time.
20450
20451         * gst/gstutils.h:
20452         Cleanups.
20453
20454 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20455
20456         * check/gst-libs/controller.c: (GST_START_TEST),
20457         (gst_controller_suite):
20458         * docs/gst/tmpl/gstcaps.sgml:
20459         * docs/gst/tmpl/gstghostpad.sgml:
20460         * docs/gst/tmpl/gstquery.sgml:
20461         * docs/gst/tmpl/gstutils.sgml:
20462         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20463         (gst_object_sink_values), (gst_object_get_value_arrays),
20464         (gst_object_get_value_array):
20465           gracefully handle helper method calls to objects that are not beeing
20466           controlled, added test case for that          
20467
20468 2005-08-23  Wim Taymans  <wim@fluendo.com>
20469
20470         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20471         (gst_event_new_newsegment), (gst_event_parse_newsegment),
20472         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20473         (gst_event_parse_qos), (gst_event_new_seek),
20474         (gst_event_parse_seek):
20475         * gst/gstevent.h:
20476         Some more debugging output and doc cleanups.
20477
20478         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20479         Fix possible deadlock.
20480
20481 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20482
20483         * docs/gst/gstreamer-docs.sgml:
20484         * docs/gst/gstreamer-sections.txt:
20485         * docs/gst/gstreamer.types:
20486         * docs/gst/tmpl/.cvsignore:
20487         * gst/gstbin.h:
20488         * gst/gstbus.c:
20489         * gst/gstelement.c:
20490         * gst/gstevent.h:
20491           added 100 symbols from gstreamer-unused.txt to the right sections
20492           fixed more broken comments
20493           added GstBus to docs
20494
20495 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20496
20497         * docs/gst/gstreamer-sections.txt:
20498         * docs/gst/tmpl/.cvsignore:
20499         * docs/gst/tmpl/gstbin.sgml:
20500         * docs/gst/tmpl/gstbuffer.sgml:
20501         * gst/base/gstbasesrc.c:
20502         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20503         * gst/gstbuffer.c:
20504         * gst/gstbuffer.h:
20505         * tools/gst-launch.1.in:
20506           inlined more doc comments, added missing comments and fixed comments
20507           fixed typos
20508
20509 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20510
20511         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20512           some debugging
20513         * gst/gstcaps.h:
20514           whitespace fixes
20515         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20516           more debugging
20517         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20518         * gst/gststructure.h:
20519           add a fixate function for booleans; add a FIXME that these func
20520           names should probably be gst_structure_fixate_*
20521
20522 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20523
20524         * docs/gst/gstreamer-docs.sgml:
20525         * docs/gst/gstreamer-sections.txt:
20526         * gst/Makefile.am:
20527         * gst/gstbin.c: (gst_bin_get_type),
20528         (gst_bin_child_proxy_get_child_by_index),
20529         (gst_bin_child_proxy_get_children_count),
20530         (gst_bin_child_proxy_init):
20531         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20532         (gst_child_proxy_get_child_by_index),
20533         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20534         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20535         (gst_child_proxy_get), (gst_child_proxy_set_property),
20536         (gst_child_proxy_set_valist), (gst_child_proxy_set),
20537         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20538         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20539         * gst/gstchildproxy.h:
20540         * gst/parse/grammar.y:
20541         * tools/gst-inspect.c: (print_interfaces),
20542         (print_element_properties_info), (print_element_info):
20543           ported gstchildproxy over from 0.8
20544           ported gst-inspect fixes and enhancements over from 0.8
20545
20546 2005-08-22  Wim Taymans  <wim@fluendo.com>
20547
20548         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20549         (gst_base_transform_handle_buffer):
20550         Also call the transform function if we have ANY caps.
20551
20552         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20553         Fix debug info.
20554
20555 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20556
20557         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20558           Don't pretend to handle seek events if the source is not seekable
20559
20560 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20561
20562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20563           Remove extra parameter to debug output
20564
20565         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20566         (gst_base_src_do_seek), (gst_base_src_activate_push):
20567           Fix seek event handling.
20568
20569         * gst/gstpipeline.c: (gst_pipeline_change_state):
20570         * gst/gstqueue.c: (gst_queue_handle_sink_event),
20571         (gst_queue_src_activate_push):
20572           Don't start the src pad task on FLUSH_STOP if the pad
20573           isn't linked.
20574           Debug changes.
20575
20576 2005-08-22  Wim Taymans  <wim@fluendo.com>
20577
20578         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20579         Added check for gst_static_caps_get() refcounting.
20580
20581 2005-08-22  Wim Taymans  <wim@fluendo.com>
20582
20583         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20584         Make _static_caps_get() refcounting sane.
20585         
20586         * gst/gstelement.c: (gst_element_set_state):
20587         Add g_return_val_if_fail() to protect against segfaults.
20588
20589 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
20590
20591         * docs/gst/tmpl/gstevent.sgml:
20592         * gst/gstevent.c:
20593         * gst/gstevent.h:
20594           inlined remaining docs, added missing doc comments
20595
20596 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20597
20598         * check/gst/gstbin.c: (GST_START_TEST):
20599           since we don't know when preroll is done, use refcount range
20600           check for the sink
20601         * gst/check/gstcheck.h:
20602           add macro for checking refcount range
20603
20604 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20605
20606         * check/Makefile.am:
20607           clean up environment for when registry gets built versus
20608           when actual tests are run; valgrind seems to not report
20609           leaks if GST_PLUGIN_PATH is set to some specific values
20610         * check/gst/gstbin.c: (GST_START_TEST):
20611           add more refcounting checks; maybe this exposes a
20612           preroll lock bug ?
20613         * common/check.mak:
20614         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20615         * gst/check/gstcheck.h:
20616         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20617         (gst_bin_change_state):
20618         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20619           add/fix debugging/whitespace
20620
20621 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20622
20623         * check/gst/gstevent.c: (event_probe), (test_event),
20624         (GST_START_TEST):
20625          Er, don't call gst_bin_watch_for_state_change you idiot.
20626
20627 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20628
20629         * check/Makefile.am:
20630           Use CHECK_CFLAGS and CHECK_LIBS
20631         * check/gst/gstevent.c: (event_probe), (test_event),
20632         (GST_START_TEST):
20633           Don't leak events.
20634         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20635         (gst_base_src_start), (gst_base_src_stop),
20636         (gst_base_src_activate_push), (gst_base_src_activate_pull),
20637         (gst_base_src_change_state):
20638           Sprinkle gst_base_src_stop liberally around error paths to fix
20639           problems reusing a source after failed state changes.
20640         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20641         (helper_find_suggest), (gst_type_find_helper):
20642           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20643         * gst/gstevent.h:
20644         * docs/gst/tmpl/gstevent.sgml:
20645           Migrate part of the docs from the SGML file. Wait for ensonic to
20646           tell me how I did it wrong ;)
20647         * tools/gst-typefind.c: (main):
20648           Extra robustness to state changes between files.
20649
20650 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20651
20652         * check/Makefile.am:
20653           don't valgrind the controller test - it's leaking - Stefan, HELP
20654         * gst/check/gstcheck.c: (gst_check_message_error),
20655         (gst_check_chain_func), (gst_check_setup_element),
20656         (gst_check_teardown_element), (gst_check_setup_src_pad),
20657         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20658         (gst_check_teardown_sink_pad):
20659         * gst/check/gstcheck.h:
20660           add a bunch of methods to set up elements, and src and sink pads
20661         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20662         * check/elements/identity.c: (setup_identity), (cleanup_identity),
20663         (GST_START_TEST):
20664           use them
20665         * gst/gstmessage.c:
20666         * gst/gsttag.h:
20667           whitespace/doc fixes
20668
20669 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20670
20671         * gst/gstelement.h:
20672           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20673           be handled by the application and not always printed as well
20674
20675 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20676
20677         * check/Makefile.am:
20678           set GST_TOOLS_DIR
20679         * gst/check/gstcheck.c: (gst_check_message_error):
20680         * gst/check/gstcheck.h:
20681           add a fail_unless_equals_int
20682           add fail_unless for error messages
20683
20684 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20685
20686         * check/Makefile.am:
20687         * check/gst.supp:
20688         * common/Makefile.am:
20689         * common/check.mak:
20690         * common/gst.supp:
20691           factor out some of the common stuff so we can use it
20692
20693 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20694
20695         * check/Makefile.am:
20696         * check/gst/gstiterator.c: (GST_START_TEST):
20697         * check/gst/gstsystemclock.c: (GST_START_TEST),
20698         (gst_systemclock_suite):
20699         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20700         * gst/gstclock.c:
20701           valgrind more tests
20702
20703 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20704
20705         * check/elements/.cvsignore:
20706         * check/elements/gstfakesrc.c:
20707           rename to name of element
20708         * check/elements/identity.c: (chain_func), (event_func),
20709         (setup_identity), (cleanup_identity), (GST_START_TEST),
20710         (identity_suite), (main):
20711           add a test for identity
20712         * check/Makefile.am:
20713         * pkgconfig/Makefile.am:
20714         * pkgconfig/gstreamer-check.pc.in:
20715         * pkgconfig/gstreamer-check-uninstalled.pc.in:
20716         * gst/check:
20717         * gst/Makefile.am:
20718         * configure.ac:
20719           move the check stuff to a library that gets installed
20720         * check/gst-libs/controller.c: (GST_START_TEST):
20721         * check/gst-libs/gdp.c:
20722         * check/gst/gst.c: (GST_START_TEST):
20723         * check/gst/gstbin.c:
20724         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20725         * check/gst/gstbus.c:
20726         * check/gst/gstcaps.c: (GST_START_TEST):
20727         * check/gst/gstelement.c:
20728         * check/gst/gstghostpad.c:
20729         * check/gst/gstiterator.c:
20730         * check/gst/gstmessage.c:
20731         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
20732         * check/gst/gstobject.c:
20733         * check/gst/gstpad.c: (GST_START_TEST):
20734         * check/gst/gststructure.c: (GST_START_TEST):
20735         * check/gst/gstsystemclock.c: (GST_START_TEST),
20736         (gst_systemclock_suite):
20737         * check/gst/gsttag.c: (gst_tag_suite):
20738         * check/gst/gstvalue.c:
20739         * check/pipelines/cleanup.c:
20740         * check/pipelines/simple_launch_lines.c:
20741         * check/states/sinks.c:
20742           change include statement
20743
20744         * docs/gst/gstreamer-sections.txt:
20745         * docs/gst/tmpl/gstpad.sgml:
20746           document more pad stuff
20747         * gst/gstminiobject.c: (gst_mini_object_ref),
20748         (gst_mini_object_unref):
20749           debug refcounting
20750
20751 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
20752
20753         * docs/gst/tmpl/gst.sgml:
20754         * gst/gst.c:
20755           eliminate another tmpl file, fix spelling in the long-description
20756
20757 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20758
20759         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20760         (test_event), (timediff), (gstevents_suite):
20761           Should fix build on 64-bit arch's
20762
20763 2005-08-18  Andy Wingo  <wingo@pobox.com>
20764
20765         Make sure that when a pipeline goes to PLAYING, that data has
20766         actually hit the sink.
20767
20768         * check/states/sinks.c (test_sink): A sink that doesn't get any
20769         data shouldn't return SUCCESS for going to either PLAYING or
20770         PAUSED. Test also the return values on the way back down.
20771
20772         * gst/gstelement.c (gst_element_set_state): When changing the
20773         state of an element currently changing state asynchronously, go to
20774         lost-state after commiting the pending state. Makes future calls
20775         to get_state continue to return ASYNC.
20776
20777         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
20778         ASYNC when going to PLAYING if we still don't have preroll, as can
20779         happen with live sources.
20780
20781 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20782
20783         * docs/pwg/advanced-types.xml:
20784           Hack long paragraph into 2 chunks as a workaround for buggy
20785           jadetex version in sid and breezy that loops infinitely and
20786           eats all RAM.
20787
20788 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20789
20790         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20791         (test_event), (timediff), (gstevents_suite):
20792           Provide more error margin in clock measurements to allow for 
20793           g_get_current_time inaccuracies.
20794
20795 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20796
20797         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20798         (test_event), (timediff), (gstevents_suite):
20799            Fix error message output so I might be able to tell why the
20800            test works here but fails on the build farm.
20801
20802 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20803
20804         * check/Makefile.am:
20805         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20806         (test_event), (timediff), (gstevents_suite), (main):
20807           I wrote a test!
20808
20809         * docs/design/part-seeking.txt:
20810           Spelling correction
20811
20812         * docs/gst/tmpl/gstevent.sgml:
20813         * docs/gst/tmpl/gstfakesrc.sgml:
20814           Docs updates.
20815
20816         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20817           Treat a buffer-without-newsegment the same as a receiving 
20818           a newsegment not in time format, and disable syncing to the clock
20819           with a warning.
20820
20821         * gst/gstbus.c: (gst_bus_set_sync_handler):
20822           Assert if anyone tries to replace the existing sync_handler for bus, 
20823           as only the owner should be setting it.
20824
20825         * gst/gstevent.h:
20826           Have a fixed set of custom event enums with events identified by
20827           their structure name (as in 0.8), rather than a free-for-all
20828           allowing collisions between enum values from different plugins.
20829
20830         * gst/gstpad.c: (gst_pad_class_init):
20831           Docs change.
20832           
20833         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20834           Handle out-of-band downstream events from the sending thread.
20835
20836 2005-08-17  Andy Wingo  <wingo@pobox.com>
20837
20838         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
20839         play-timeout==0 to mean no timeout at all. In that case, don't
20840         bother with a get_state or a warning, just return directly, even
20841         if it's ASYNC.
20842
20843         * gst/base/gstbasetransform.c: Debug changes.
20844
20845         * gst/gstutils.h:
20846         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
20847         ensure bins post state change messages. A bit of a hack but I can't
20848         think of a way to avoid it.
20849
20850         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
20851
20852 2005-08-16  Andy Wingo  <wingo@pobox.com>
20853
20854         * gst/base/gstadapter.h:
20855         * gst/base/gstadapter.c (gst_adapter_take): New function, like
20856         peek() but you own the data. Not terribly efficient atm.
20857
20858 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20859
20860         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
20861         (gst_element_found_tags):
20862         * gst/gstutils.h:
20863           Add two utility functions for tag handling.
20864
20865 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20866
20867         * docs/manual/advanced-dataaccess.xml:
20868         * docs/manual/basics-helloworld.xml:
20869           Fix docs to use _bin_add() before _link(), which fixes the examples
20870           with recent core versions (reported by Madhan Raj M
20871           <raj_madan@rediffmail.com>, #313199).
20872
20873 2005-08-16  Wim Taymans  <wim@fluendo.com>
20874
20875         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20876         Added subtract checks.
20877
20878         * docs/design/part-events.txt:
20879         Some more docs about newsegment
20880
20881         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20882         Fix FIXME
20883
20884         * gst/gstcaps.c: (gst_caps_to_string):
20885         Add comments, cleanups.
20886         
20887         * gst/gstelement.c: (gst_element_save_thyself):
20888         cleanups
20889         
20890         * gst/gstvalue.c: (gst_value_collect_int_range),
20891         (gst_string_unwrap), (gst_value_union_int_int_range),
20892         (gst_value_union_int_range_int_range),
20893         (gst_value_intersect_int_int_range),
20894         (gst_value_intersect_int_range_int_range),
20895         (gst_value_intersect_double_double_range),
20896         (gst_value_intersect_double_range_double_range),
20897         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
20898         (gst_value_subtract_int_range_int),
20899         (gst_value_subtract_double_range_double),
20900         (gst_value_subtract_double_range_double_range),
20901         (gst_value_subtract_from_list), (gst_value_subtract_list),
20902         (gst_value_can_compare), (gst_value_compare_fraction):
20903         Cleanups, add comments, remove unneeded asserts.
20904
20905 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20906
20907         * tools/gst-launch.c: (event_loop):
20908           don't convert NULL structures to strings
20909
20910 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
20911
20912         * docs/gst/gstreamer-sections.txt:
20913           made some defines private
20914         * docs/gst/tmpl/gstconfig.sgml:
20915         * docs/gst/tmpl/gstqueue.sgml:
20916         * docs/gst/tmpl/gsttaglist.sgml:
20917         * docs/gst/tmpl/gsttypes.sgml:
20918         * docs/gst/tmpl/gstutils.sgml:
20919         * docs/pwg/appendix-porting.xml:
20920         * gst/base/gstbasesink.h:
20921         * gst/base/gstbasesrc.c:
20922         * gst/base/gstbasesrc.h:
20923         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20924         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
20925         * gst/gstelement.c: (gst_element_class_init):
20926         * gst/gstpad.c: (gst_pad_class_init):
20927         * gst/gstqueue.c: (gst_queue_class_init):
20928         * gst/gstxml.c: (gst_xml_class_init):
20929           documented all undocumented signal inline
20930         * libs/gst/controller/gst-controller.h:
20931           added padding
20932
20933 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20934
20935         * docs/pwg/appendix-porting.xml:
20936           Document _set_link_function -> _set_setcaps_function.
20937
20938 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20939
20940         * check/Makefile.am:
20941           add a .check target for running the check
20942         * check/gst-libs/controller.c: (GST_START_TEST):
20943           cosmetic fixups
20944         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20945           complete checks for gstbuffer; would be nice if I could get the
20946           gcov stuff to work so I can see if I actually completed gstbuffer.c
20947         * check/gstcheck.h:
20948           add ASSERT_BUFFER_REFCOUNT
20949
20950 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
20951
20952         * docs/gst/gstreamer-sections.txt:
20953         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20954         * gst/gsttag.h:
20955           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20956           spew out a warning if a tag that is already registered
20957           is re-registered, unless it is re-registered with a 
20958           different type (#308438).
20959
20960 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
20961
20962         * docs/pwg/appendix-porting.xml:
20963         * docs/pwg/building-state.xml:
20964           Add some paragraphs about state changes in 0.9 to the PWG
20965           and the porting guide, in particular about the new meaning
20966           of GST_STATE_PAUSED and how to write state change functions
20967           with concurrent access by multiple threads in mind.
20968
20969 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
20970
20971         * docs/gst/gstreamer-docs.sgml:
20972         * docs/libs/gstreamer-libs-docs.sgml:
20973           added deprecation and since indexes
20974         * libs/gst/controller/gst-controller.c:
20975         * libs/gst/controller/gst-helper.c:
20976           added since tags
20977
20978
20979 2005-08-11  Wim Taymans  <wim@fluendo.com>
20980
20981         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20982         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20983         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20984         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20985         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20986         (gst_ghost_pad_set_target):
20987         Actually implement (re)setting the target on a ghostpad
20988         as described in the docs.
20989
20990 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20991
20992         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20993           Check whether GST_DEBUG_NO_COLOR environment variable is
20994           set and disable coloured debug output if that is the case.
20995
20996 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20997
20998         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20999         (gst_type_find_helper):
21000           The memory returned by gst_type_find_peek() needs to
21001           stay valid until the end of a typefind function, and
21002           typefind functions may keep results from different 
21003           offsets around, so we can't just unref the buffer from
21004           the previous _peek(), but have to save all buffers 
21005           returned by _peek() until typefinding is done and only
21006           free them then.
21007
21008 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
21009
21010         * docs/gst/gstreamer-sections.txt:
21011         * gst/gstutils.h:
21012           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
21013
21014 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21015
21016         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
21017           Fix a pretty good memleak.
21018
21019 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21020
21021         * gst/gstiterator.h:
21022           Fix wrong include and 'make distcheck'.
21023
21024 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21025
21026         * gst/gstbin.c: (bin_bus_handler):
21027           Use gst_element_post_message() instead.
21028
21029 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21030
21031         * gst/base/gstadapter.h:
21032         * gst/base/gstbasesink.h:
21033         * gst/base/gstbasesrc.h:
21034         * gst/base/gstbasetransform.h:
21035         * gst/base/gstcollectpads.h:
21036         * gst/base/gstpushsrc.h:
21037         * gst/gstiterator.h:
21038           Add padding to our base elements' class and instance structs and
21039           to GstIterator (you will need to rebuild all plugins and apps!)
21040
21041 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21042
21043         * gst/gstbin.c: (bin_bus_handler):
21044           Make default message forwarding from child->bus to bin->bus
21045           threadsafe and make it not emit warnings if the parent has no bus.
21046
21047 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21048
21049         * gst/gstelement.c: (activate_pads):
21050           On paused->ready, set pad->caps to NULL, as is the documented
21051           behaviour in this state change. Fixes playback of series of
21052           media files when visualization is enabled in Totem.
21053
21054 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21055
21056         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21057           Allow NULL as filter-caps (which means "any").
21058
21059 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21060
21061         * docs/libs/gstreamer-libs-sections.txt:
21062         * libs/gst/controller/gst-controller.c:
21063         * libs/gst/controller/gst-controller.h:
21064         * libs/gst/controller/gst-helper.c:
21065           adding more entries to the docs and fix small doc-bugs
21066
21067 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21068
21069         * docs/gst/gstreamer-docs.sgml:
21070         * docs/gst/gstreamer-sections.txt:
21071         * docs/gst/gstreamer.types:
21072         * docs/gst/tmpl/gstbasesink.sgml:
21073         * docs/gst/tmpl/gstbasesrc.sgml:
21074         * docs/gst/tmpl/gstbasetransform.sgml:
21075         * docs/gst/tmpl/gstfakesrc.sgml:
21076         * gst/base/gstcollectpads.c:
21077         * gst/base/gstcollectpads.h:
21078         * libs/gst/controller/gst-controller.c:
21079         * libs/gst/controller/gst-controller.h:
21080         * libs/gst/controller/gst-helper.c:
21081         * libs/gst/controller/gst-interpolation.c:
21082         * libs/gst/controller/lib.c:
21083           added long/short desc for controller docs
21084           added collectpads base class docs
21085           added correct includes to base-class docs
21086
21087 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21088
21089         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21090         (gst_test_mono_source_set_property),
21091         (gst_test_mono_source_class_init), (GST_START_TEST),
21092         (gst_controller_suite):
21093         * docs/gst/gstreamer-docs.sgml:
21094         * docs/gst/gstreamer-sections.txt:
21095         * docs/gst/gstreamer.types:
21096         * docs/libs/gstreamer-libs-docs.sgml:
21097         * docs/libs/gstreamer-libs-sections.txt:
21098         * gst/base/gstadapter.c:
21099         * libs/gst/controller/gst-controller.c:
21100         (gst_controlled_property_new), (gst_controlled_property_free),
21101         (gst_controller_new_valist),
21102         (gst_controller_remove_properties_valist),
21103         (gst_controller_sink_values), (_gst_controller_finalize):
21104         * libs/gst/controller/gst-controller.h:
21105         * libs/gst/controller/gst-helper.c:
21106         (gst_object_control_properties), (gst_object_uncontrol_properties),
21107         (gst_object_get_controller), (gst_object_set_controller),
21108         (gst_object_sink_values), (gst_object_get_value_arrays),
21109         (gst_object_get_value_array):
21110           more tests (and fixes) for the controller
21111           more docs for the controller
21112           integrated companies docs for the adapter 
21113
21114 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21115
21116         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
21117         (GST_START_TEST), (fakesrc_suite):
21118           add tests for sizetype
21119
21120 2005-08-04  Andy Wingo  <wingo@pobox.com>
21121
21122         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
21123         fixes buffer_alloc proxying among other things.
21124
21125         * gst/base/gstbasetransform.c:
21126         * gst/base/gstbasetransform.h:
21127         Revert patch to gstbasetransform from 7-28 removing
21128         delay_configure.
21129
21130         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
21131         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
21132         Semantics changed, should return not the size of the output buffer
21133         but the byte size of a buffer with a given caps.
21134
21135         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
21136         debug object.
21137         (gst_base_transform_configure_caps): Don't set out_size here: (in,
21138         out) are not the pad caps until setcaps finishes.
21139         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
21140         not-in-place case as well. Deal with changing from in-place to
21141         not-in-place within calling pad_alloc_buffer. Still a bit
21142         concerned about the overhead here...
21143
21144 2005-08-03  Andy Wingo  <wingo@pobox.com>
21145
21146         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
21147         fixating is an error.
21148
21149 2005-08-04  Edward Hervey  <edward@fluendo.com>
21150
21151         * gst/base/gstadapter.h: 
21152         Added gst_adapter_get_type() to the header
21153
21154 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21155
21156         * check/Makefile.am:
21157         * check/gst-libs/controller.c:
21158         * libs/gst/controller/gst-controller.c:
21159         (gst_controller_new_valist):
21160           added check test suite for the controller
21161         * gst/base/gstpushsrc.c:
21162           fixed a doc typo
21163
21164 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21165
21166         * docs/gst/Makefile.am:
21167         * docs/gst/gstreamer-docs.sgml:
21168         * docs/gst/gstreamer-sections.txt:
21169         * docs/gst/gstreamer.types:
21170         * docs/gst/tmpl/gstfakesrc.sgml:
21171         * gst/base/README:
21172         * gst/base/gstbasesink.c:
21173         * gst/base/gstbasesink.h:
21174         * gst/base/gstbasesrc.c:
21175         * gst/base/gstbasesrc.h:
21176         * gst/base/gstbasetransform.c:
21177         * gst/base/gstpushsrc.c:
21178         * gst/base/gstpushsrc.h:
21179           add short/long description docs to base classes
21180           add pushsrc to the docs
21181           remove consolidated doc fragments
21182
21183 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21184
21185         * configure.ac:
21186         * docs/libs/Makefile.am:
21187         * docs/libs/gstreamer-libs-docs.sgml:
21188         * docs/libs/gstreamer-libs-sections.txt:
21189         * docs/libs/gstreamer-libs.types:
21190         * examples/Makefile.am:
21191         * examples/controller/.cvsignore:
21192         * examples/controller/Makefile.am:
21193         * examples/controller/audio-example.c: (main):
21194         * libs/gst/Makefile.am:
21195         * libs/gst/controller/.cvsignore:
21196         * libs/gst/controller/Makefile.am:
21197         * libs/gst/controller/gst-controller.c:
21198         (on_object_controlled_property_changed), (gst_timed_value_compare),
21199         (gst_timed_value_find),
21200         (gst_controlled_property_set_interpolation_mode),
21201         (gst_controlled_property_new), (gst_controlled_property_free),
21202         (gst_controller_find_controlled_property),
21203         (gst_controller_new_valist), (gst_controller_new),
21204         (gst_controller_remove_properties_valist),
21205         (gst_controller_remove_properties), (gst_controller_set),
21206         (gst_controller_set_from_list), (gst_controller_unset),
21207         (gst_controller_get), (gst_controller_get_all),
21208         (gst_controller_sink_values), (gst_controller_get_value_arrays),
21209         (gst_controller_get_value_array),
21210         (gst_controller_set_interpolation_mode),
21211         (_gst_controller_finalize), (_gst_controller_init),
21212         (_gst_controller_class_init), (gst_controller_get_type):
21213         * libs/gst/controller/gst-controller.h:
21214         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
21215         (g_object_uncontrol_properties), (g_object_get_controller),
21216         (g_object_set_controller), (g_object_sink_values),
21217         (g_object_get_value_arrays), (g_object_get_value_array):
21218         * libs/gst/controller/gst-interpolation.c:
21219         (gst_controlled_property_find_timed_value_node),
21220         (interpolate_none_get), (interpolate_trigger_get),
21221         (interpolate_trigger_get_value_array):
21222         * libs/gst/controller/lib.c: (gst_controller_init):
21223         * pkgconfig/Makefile.am:
21224         * pkgconfig/gstreamer-control-uninstalled.pc.in:
21225         * pkgconfig/gstreamer-control.pc.in:
21226         * testsuite/Makefile.am:
21227         * testsuite/controller/.cvsignore:
21228         * testsuite/controller/Makefile.am:
21229         * testsuite/controller/interpolator.c: (main):
21230           added controller code
21231           removed dparam pc files
21232
21233 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21234         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21235         (gst_collectpads_stop):
21236           Broadcast the condition when shutting down, to make sure we wake all
21237           threads up. Shut down pads on finalize, for safety.
21238
21239 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21240         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21241         (gst_base_transform_handle_buffer),
21242         (gst_base_transform_change_state):
21243           Handle PAUSED->READY->PAUSED transition after negotiation
21244           occurred already.
21245         * gst/gstmessage.c: (gst_message_init):
21246           Extra piece of debug for new messages.
21247
21248 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
21249
21250         * configure.ac:
21251         * docs/gst/tmpl/gstbasesrc.sgml:
21252         * docs/gst/tmpl/gstelement.sgml:
21253         * docs/gst/tmpl/gstevent.sgml:
21254         * docs/gst/tmpl/gstfakesrc.sgml:
21255         * docs/gst/tmpl/gstformat.sgml:
21256         * docs/gst/tmpl/gstghostpad.sgml:
21257         * docs/gst/tmpl/gstpad.sgml:
21258         * docs/gst/tmpl/gstquery.sgml:
21259         * docs/gst/tmpl/gststructure.sgml:
21260         * docs/gst/tmpl/gsttaglist.sgml:
21261         * docs/gst/tmpl/gstvalue.sgml:
21262         * docs/libs/gstreamer-libs-docs.sgml:
21263         * docs/libs/gstreamer-libs-sections.txt:
21264         * docs/libs/gstreamer-libs.types:
21265         * libs/gst/Makefile.am:
21266         * libs/gst/control/.cvsignore:
21267         * libs/gst/control/Makefile.am:
21268         * libs/gst/control/control.c:
21269         * libs/gst/control/control.h:
21270         * libs/gst/control/dparam.c:
21271         * libs/gst/control/dparam.h:
21272         * libs/gst/control/dparam_smooth.c:
21273         * libs/gst/control/dparam_smooth.h:
21274         * libs/gst/control/dparamcommon.h:
21275         * libs/gst/control/dparammanager.c:
21276         * libs/gst/control/dparammanager.h:
21277         * libs/gst/control/dplinearinterp.c:
21278         * libs/gst/control/dplinearinterp.h:
21279         * libs/gst/control/unitconvert.c:
21280         * libs/gst/control/unitconvert.h:
21281         * testsuite/Makefile.am:
21282         * testsuite/dynparams/.cvsignore:
21283         * testsuite/dynparams/Makefile.am:
21284         * testsuite/dynparams/dparamstest.c:
21285         * tools/Makefile.am:
21286         * tools/gst-inspect.c: (print_element_info), (main):
21287         * tools/gst-xmlinspect.c: (print_element_info), (main):
21288           deactivate and remove dparams (libgstcontrol)
21289
21290 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21291
21292         * gst/elements/gsttypefindelement.c:
21293         (gst_type_find_element_have_type), (gst_type_find_element_init),
21294         (stop_typefinding), (gst_type_find_element_handle_event),
21295         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21296         * gst/elements/gsttypefindelement.h:
21297           Set caps on all outgoing buffers, not just the first one.
21298
21299 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21300
21301         * gst/elements/gsttypefindelement.c:
21302         (gst_type_find_element_have_type),
21303         (gst_type_find_element_check_set_buffer_caps),
21304         (gst_type_find_element_init), (stop_typefinding),
21305         (gst_type_find_element_handle_event),
21306         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21307         * gst/elements/gsttypefindelement.h:
21308           Set caps on first outgoing buffer when we've found the type.
21309
21310 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21311
21312         * docs/gst/gstreamer-docs.sgml:
21313         * docs/gst/gstreamer-sections.txt:
21314         * docs/gst/tmpl/gstscheduler.sgml:
21315         * docs/gst/tmpl/gstschedulerfactory.sgml:
21316           Remove some old cruft from docs.
21317
21318 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
21319
21320         * gst/gstpad.h:
21321           Fix inline docs for GstPadLinkReturn.
21322           
21323         * gst/gststructure.c: (gst_structure_has_name):
21324         * gst/gststructure.h:
21325         * docs/gst/gstreamer-sections.txt:
21326           New API: gst_structure_has_name().
21327
21328 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
21329
21330         * configure.ac:
21331           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21332           and _LARGEFILE_SOURCE in config.h as required. Do not 
21333           export those flags in our .pc files any longer (#142209).
21334
21335           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21336
21337         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21338         (gst_file_sink_do_seek), (gst_file_sink_event),
21339         (gst_file_sink_get_current_offset), (gst_file_sink_render):
21340           Redo seek/tell calls with large file support in mind; add some
21341           debugging messages; add log message that tells us when large
21342           file support is unavailable or not enabled for some reason.
21343
21344         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21345           Add log message that tells us when large file support 
21346           is unavailable or not enabled for some reason.
21347
21348 2005-07-29  Wim Taymans  <wim@fluendo.com>
21349
21350         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21351         Added test for removing an element with ghostpad from a bin.
21352         Fixed test as current implementation does the right thing.
21353
21354         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21355         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21356         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21357         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21358         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21359         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21360         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21361         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21362         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21363         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21364         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21365         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21366         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21367         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21368         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21369         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21370         * gst/gstghostpad.h:
21371         Clean up ghostpads, remove properties for internal stuff.
21372         Make threadsafe.
21373         Fix refcounting.
21374         Prepare for switching targets, not all use cases work yet.
21375
21376 2005-07-29  Wim Taymans  <wim@fluendo.com>
21377
21378         * docs/design/part-gstghostpad.txt:
21379         Small update.
21380
21381         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21382         (gst_bin_remove_func):
21383         Unlinking pads while holding the bin LOCK is not a good
21384         idea.
21385
21386         * gst/gstpad.c: (gst_pad_class_init),
21387         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21388         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21389         No prob setting template after creating the pad.
21390
21391 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
21392
21393         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21394         (gst_bus_peek), (gst_bus_source_dispatch),
21395         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21396         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21397           gst_bus_poll may be called from other threads. Handle
21398           this nicely by not making poll_data disappear off the
21399           stack once gst_bus_poll returns.
21400           gst_bus_peek now increments the refcount on the returned
21401           message.
21402
21403 2005-07-29  Wim Taymans  <wim@fluendo.com>
21404
21405         * docs/design/part-gstghostpad.txt:
21406         Overview of current GhostPad datastructures and use
21407         cases for changing the target.
21408
21409 2005-07-28  Wim Taymans  <wim@fluendo.com>
21410
21411         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21412         Added checks for hierarchy consistency whan adding linked
21413         elements to bins.
21414
21415         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21416         Added check to test element scheduling without bin/pipeline.
21417
21418         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21419         First add elements to bin, then link.
21420         
21421         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21422         (gst_bin_remove_func):
21423         Unlink pads from elements added/removed from bin to maintain
21424         hierarchy consistency.
21425
21426 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21427
21428         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21429         (gst_base_transform_handle_buffer):
21430         * gst/base/gstbasetransform.h:
21431           Remove broken delay_configure (fixes renegotiation of software
21432           scaling pipelines); remove some leftover printf()s.
21433
21434 2005-07-28  Wim Taymans  <wim@fluendo.com>
21435
21436         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21437         Added some more tests for wrong hierarchy
21438
21439         * docs/design/part-overview.txt:
21440         Some updates.
21441
21442         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21443         Cleanups.
21444
21445         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21446         (gst_element_dispose):
21447         Some more cleanups.
21448
21449         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21450         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21451         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21452         (gst_pad_set_caps), (gst_pad_send_event):
21453         Check for correct hierarchy when linking pads. Moving to
21454         strict requirement for ghostpads when linking elements in
21455         different bins.
21456
21457         * gst/gstpad.h:
21458         Clean ups. Added WRONG_HIERARCHY return value.
21459
21460 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21461
21462         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21463           Better debug if no transform is possible.
21464
21465 2005-07-27  Wim Taymans  <wim@fluendo.com>
21466
21467         * docs/random/wtay/network-transp:
21468         Some old doc I had.
21469
21470 2005-07-27  Wim Taymans  <wim@fluendo.com>
21471
21472         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21473         (gst_dp_event_from_packet):
21474         Fix serialization of seek events.
21475
21476 2005-07-27  Wim Taymans  <wim@fluendo.com>
21477
21478         * check/gst-libs/gdp.c: (GST_START_TEST):
21479         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21480         Fix compilation and fix event serialization.
21481
21482 2005-07-27  Wim Taymans  <wim@fluendo.com>
21483
21484         * CHANGES-0.9:
21485         * docs/design/part-TODO.txt:
21486         * docs/design/part-events.txt:
21487         Some docs updates
21488
21489         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21490         (gst_base_sink_event), (gst_base_sink_do_sync),
21491         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21492         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21493         (gst_base_src_do_seek), (gst_base_src_event_handler),
21494         (gst_base_src_loop):
21495         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21496         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21497         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21498         (gst_base_transform_event), (gst_base_transform_handle_buffer),
21499         (gst_base_transform_set_passthrough),
21500         (gst_base_transform_is_passthrough):
21501         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21502         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21503         Event updates.
21504
21505         * gst/gstbuffer.h:
21506         Use faster casts.
21507
21508         * gst/gstelement.c: (gst_element_seek):
21509         * gst/gstelement.h:
21510         Update gst_element_seek.
21511
21512         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21513         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21514         (gst_event_new_flush_start), (gst_event_new_flush_stop),
21515         (gst_event_new_eos), (gst_event_new_newsegment),
21516         (gst_event_parse_newsegment), (gst_event_new_tag),
21517         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21518         (gst_event_parse_qos), (gst_event_new_seek),
21519         (gst_event_parse_seek), (gst_event_new_navigation):
21520         * gst/gstevent.h:
21521         Make GstEvent use GstStructure. Add parsing code, make sure the
21522         API is sufficiently generic.
21523         Mark possible directions of events and serialization.
21524
21525         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21526         (_gst_message_copy), (gst_message_new_segment_start),
21527         (gst_message_new_segment_done), (gst_message_new_custom),
21528         (gst_message_parse_segment_start),
21529         (gst_message_parse_segment_done):
21530         Small cleanups.
21531
21532         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21533         (gst_pad_set_caps), (gst_pad_send_event):
21534         Update for new events. 
21535         Catch events sent in wrong directions.
21536
21537         * gst/gstqueue.c: (gst_queue_link_src),
21538         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21539         (gst_queue_handle_src_query):
21540         Event updates.
21541
21542         * gst/gsttag.c:
21543         * gst/gsttag.h:
21544         Remove event code from this file.
21545
21546         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21547         (gst_dp_event_from_packet):
21548         Event updates.
21549
21550 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21551
21552         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21553         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21554         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21555           Make debugging actually useful.
21556
21557 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21558
21559         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21560         (gst_pad_fixate_caps):
21561           Implement default fixation once again, so that gst_pad_fixate()
21562           actually does anything at all. This probably needs to be some
21563           sort of a last resort, and use profile-based fixation first, but
21564           since that doesn't exist yet, this is the best we have. Fixes
21565           visualization in Totem.
21566
21567 2005-07-22  Wim Taymans  <wim@fluendo.com>
21568
21569         * docs/design/part-events.txt:
21570         Small update.
21571
21572         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21573         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21574         (gst_base_sink_activate_pull):
21575         Some more comments.
21576
21577         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21578         (gst_fake_src_create):
21579         Fix handoff marshall.
21580
21581         * gst/elements/gstidentity.c: (gst_identity_class_init),
21582         (gst_identity_transform_ip):
21583         We're a real inplace element.
21584
21585         * gst/gstbus.c: (gst_bus_post):
21586         Added some comments.
21587
21588         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21589         * tests/muxing/case1.c: (main):
21590         * tests/sched/dynamic-pipeline.c: (main):
21591         * tests/sched/interrupt1.c: (main):
21592         * tests/sched/interrupt2.c: (main):
21593         * tests/sched/interrupt3.c: (main):
21594         * tests/sched/runxml.c: (main):
21595         * tests/sched/sched-stress.c: (main):
21596         * tests/seeking/seeking1.c: (event_received), (main):
21597         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21598         (main):
21599         * tests/threadstate/threadstate3.c: (main):
21600         * tests/threadstate/threadstate4.c: (main):
21601         * tests/threadstate/threadstate5.c: (main):
21602         Fix the tests.
21603
21604 2005-07-21  Wim Taymans  <wim@fluendo.com>
21605
21606         * docs/design/part-seeking.txt:
21607         Some small additions.
21608
21609         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21610         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21611         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21612         * gst/base/gstbasesink.h:
21613         discont values are gint64, handle the math correctly.
21614
21615         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21616         Make the basesrc report error if the source pad is not linked.
21617
21618         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21619         (gst_queue_loop), (gst_queue_handle_src_query),
21620         (gst_queue_src_activate_push):
21621         Make queue collect data even if the srcpad is not linked.
21622         Start pushing out data as soon as it is linked.
21623
21624         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21625         * gst/gstutils.h:
21626         Added gst_flow_get_name() to ease error reporting.
21627
21628 2005-07-20  Wim Taymans  <wim@fluendo.com>
21629
21630         * gst/gstmessage.c: (gst_message_new_segment_start),
21631         (gst_message_new_segment_done), (gst_message_parse_segment_start),
21632         (gst_message_parse_segment_done):
21633         * gst/gstmessage.h:
21634         Added a bunch of messages for advanced seeking.
21635
21636         * gst/parse/grammar.y:
21637         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21638         (gst_dpman_state_changed):
21639         Fix some new-pad -> pad-added signals
21640
21641 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21642
21643         * docs/manual/appendix-porting.xml:
21644         * docs/pwg/appendix-porting.xml:
21645           Document new-pad/state-change signal renames and the FixedList
21646           type rename.
21647
21648 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21649
21650         * docs/manual/advanced-autoplugging.xml:
21651         * docs/manual/basics-helloworld.xml:
21652         * docs/manual/basics-pads.xml:
21653         * docs/random/ds/0.9-suggested-changes:
21654         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21655         * gst/gstelement.h:
21656         * gst/gstevent.h:
21657         * gst/gstformat.h:
21658         * gst/gstquery.h:
21659         * gst/gststructure.c: (gst_structure_value_get_generic_type),
21660         (gst_structure_parse_array), (gst_structure_parse_value):
21661         * gst/gstvalue.c: (gst_type_is_fixed),
21662         (gst_value_list_prepend_value), (gst_value_list_append_value),
21663         (gst_value_list_get_size), (gst_value_list_get_value),
21664         (gst_value_transform_array_string), (gst_value_serialize_array),
21665         (gst_value_deserialize_array), (gst_value_intersect_array),
21666         (gst_value_is_fixed), (_gst_value_initialize):
21667         * gst/gstvalue.h:
21668           GstElement::new-pad -> pad-added, GstElement::state-change ->
21669           state-changed, GstValueFixedList -> GstValueArray, add format and
21670           flags as their own arguments in gst_element_seek() (should improve
21671           "bindeability"), remove function generators since they don't work
21672           under a whole bunch of compilers (they were deprecated already
21673           anyway).
21674
21675 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21676
21677         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21678         (_gst_debug_register_funcptr):
21679         * gst/gstinfo.h:
21680           Fix illegal cast on some platforms (#309253).
21681
21682 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21683
21684         * gst/gstmessage.c: (gst_message_new_custom):
21685         * gst/gstmessage.h:
21686           Add _new_custom, make _new_application a macro to _new_custom.
21687
21688 2005-07-20  Wim Taymans  <wim@fluendo.com>
21689
21690         * gst/base/gstbasesrc.c: (gst_base_src_init),
21691         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21692         * gst/base/gstbasesrc.h:
21693         Add a gboolean to decide when to push out a discont.
21694
21695         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21696         (gst_queue_loop), (gst_queue_handle_src_query),
21697         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21698         (gst_queue_set_property), (gst_queue_get_property):
21699         Some cleanups.
21700
21701         * tests/threadstate/threadstate1.c: (main):
21702         Make a thread test compile and run... very silly..
21703
21704
21705 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21706
21707         * docs/manual/appendix-porting.xml:
21708           Mention removal of libgstgconf-0.9.la and existence of gconf
21709           elements.
21710
21711 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21712
21713         * docs/pwg/advanced-clock.xml:
21714         * docs/pwg/appendix-porting.xml:
21715         * docs/pwg/intro-preface.xml:
21716         * docs/pwg/other-base.xml:
21717         * docs/pwg/other-manager.xml:
21718         * docs/pwg/other-nton.xml:
21719         * docs/pwg/other-ntoone.xml:
21720         * docs/pwg/other-oneton.xml:
21721         * docs/pwg/pwg.xml:
21722           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
21723           demuxer), remove n-to-n (was never written), fix some code examples
21724           and links and update the porting section to include all this.
21725
21726 2005-07-19  Wim Taymans  <wim@fluendo.com>
21727
21728         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
21729         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
21730         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
21731         (gst_queue_src_activate_push), (gst_queue_change_state),
21732         (gst_queue_get_property):
21733         * gst/gstqueue.h:
21734         Propagate GstFlowReturn more intelligently upstream and output
21735         an ERROR/EOS when streaming stopped due to fatal error.
21736
21737 2005-07-19  Wim Taymans  <wim@fluendo.com>
21738
21739         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21740         Don't block forever for the state change to complete, the
21741         pipeline already did with a sensible timeout.
21742
21743 2005-07-19  Wim Taymans  <wim@fluendo.com>
21744
21745         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21746         Make sure we never call the create function is we
21747         got deactivated.
21748
21749 2005-07-19  Andy Wingo  <wingo@pobox.com>
21750
21751         * gst/parse/parse.l: Attempt to solve bug #172815.
21752
21753 2005-07-19  Wim Taymans  <wim@fluendo.com>
21754
21755         * docs/design/part-clocks.txt:
21756         * docs/design/part-events.txt:
21757         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
21758         Small docs updates.
21759         Only update the seeking values when we are not
21760         busy streaming.
21761
21762 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21763
21764         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21765           Oops, ignore the result of gst_pad_push_event here.
21766
21767 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21768
21769         * gst/base/gstbasesrc.c: (gst_base_src_loop),
21770         (gst_base_src_activate_push):
21771           Send discont event from the loop function, as pads
21772           aren't activated yet in the activate_push handler.
21773
21774         * gst/gstbin.c: (bin_bus_handler):
21775           Don't leak element name.
21776
21777 2005-07-18  Andy Wingo  <wingo@pobox.com>
21778
21779         * configure.ac: Use AS_LIBTOOL_TAGS.
21780
21781 2005-07-18  Wim Taymans  <wim@fluendo.com>
21782
21783         * docs/gst/gstreamer.types:
21784         Remove deleted types.
21785
21786 2005-07-18  Wim Taymans  <wim@fluendo.com>
21787
21788         * check/elements/gstfakesrc.c: (GST_START_TEST):
21789         * configure.ac:
21790         * gst/Makefile.am:
21791         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
21792         (init_popt_callback):
21793         * gst/gst.h:
21794         * gst/gst_private.h:
21795         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
21796         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
21797         * gst/gstbin.h:
21798         * gst/gstbus.h:
21799         * gst/gstconfig.h.in:
21800         * gst/gstelement.c: (gst_element_class_init),
21801         (gst_element_set_base_time), (gst_element_get_base_time),
21802         (iterator_fold_with_resync), (gst_element_change_state),
21803         (gst_element_dispose), (gst_element_get_bus):
21804         * gst/gstelement.h:
21805         * gst/gstelementfactory.h:
21806         * gst/gsterror.c: (_gst_core_errors_init):
21807         * gst/gsterror.h:
21808         * gst/gstevent.h:
21809         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21810         * gst/gstindex.c:
21811         * gst/gstinfo.c: (_gst_debug_init):
21812         * gst/gstmessage.c: (_gst_message_copy):
21813         * gst/gstmessage.h:
21814         * gst/gstminiobject.h:
21815         * gst/gstobject.c:
21816         * gst/gstobject.h:
21817         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21818         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
21819         * gst/gstpad.h:
21820         * gst/gstparse.h:
21821         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21822         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21823         (gst_pipeline_get_last_stream_time):
21824         * gst/gstpipeline.h:
21825         * gst/gstpluginfeature.h:
21826         * gst/gstquery.h:
21827         * gst/gstscheduler.c:
21828         * gst/gstscheduler.h:
21829         * gst/gststructure.h:
21830         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
21831         (gst_task_finalize), (gst_task_func), (gst_task_create),
21832         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
21833         (gst_task_stop), (gst_task_pause):
21834         * gst/gsttask.h:
21835         * gst/gsttypefind.h:
21836         * gst/gsttypes.h:
21837         * gst/registries/gstlibxmlregistry.c: (load_feature),
21838         (gst_xml_registry_load), (gst_xml_registry_save_feature):
21839         * gst/registries/gstxmlregistry.c:
21840         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
21841         * gst/schedulers/threadscheduler.c:
21842         * libs/gst/control/dparammanager.h:
21843         * tools/gst-inspect.c: (print_element_list),
21844         (print_plugin_features), (print_element_features):
21845         * tools/gst-xmlinspect.c: (print_element_list),
21846         (print_plugin_info), (main):
21847         Removed plugable schedulers.
21848         Removed Scheduler/Manager from elements.
21849         Removed gsttypes.h, rearranged includes.
21850         Removed dependency pad<->element, element<>pipeline, and
21851         various others,  fix includes.
21852         implement gst_pad_get_parent() with gst_object_get_parent()
21853         Make GstTask sefcontained.
21854         Fix _get_state() on GstBin, it did not return ASYNC with a 0
21855         timeout.
21856         Fix endless loop in iterator_fold_with_resync.
21857
21858
21859 2005-07-18  Wim Taymans  <wim@fluendo.com>
21860
21861         * gst/Makefile.am:
21862         * gst/gstarch.h:
21863         Remove old file.
21864
21865 2005-07-18  Wim Taymans  <wim@fluendo.com>
21866
21867         * gst/Makefile.am:
21868         No more cothreads.h
21869
21870 2005-07-18  Wim Taymans  <wim@fluendo.com>
21871
21872         * gst/cothreads.c:
21873         * gst/cothreads.h:
21874         Let's remove these.
21875
21876 2005-07-18  Wim Taymans  <wim@fluendo.com>
21877
21878         * docs/design/part-dynamic.txt:
21879         * docs/design/part-events.txt:
21880         * docs/design/part-seeking.txt:
21881         Some more docs in the works.
21882
21883         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21884         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
21885         (gst_base_transform_setcaps), (gst_base_transform_get_size),
21886         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21887         (gst_base_transform_handle_buffer),
21888         (gst_base_transform_sink_activate_push),
21889         (gst_base_transform_src_activate_pull),
21890         (gst_base_transform_set_passthrough),
21891         (gst_base_transform_is_passthrough):
21892         Refcounting fixes.
21893
21894         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
21895         Cleanups.
21896
21897         * gst/gstevent.c: (gst_event_finalize):
21898         Set SRC to NULL.
21899
21900         * gst/gstutils.c: (gst_element_unlink),
21901         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
21902         (gst_pad_proxy_setcaps):
21903         * gst/gstutils.h:
21904         Add _get_parent_element() to get a pads parent as an element.
21905
21906 2005-07-18  Wim Taymans  <wim@fluendo.com>
21907
21908         * check/gst/gstbin.c: (GST_START_TEST):
21909         Remove bogus test.
21910
21911 2005-07-18  Wim Taymans  <wim@fluendo.com>
21912
21913         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21914         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21915         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21916         (gst_base_sink_event), (gst_base_sink_do_sync),
21917         (gst_base_sink_chain), (gst_base_sink_loop),
21918         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
21919         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
21920         Refcounting fixes.
21921         Fix logic for returning ASYNC when not prerolled.
21922
21923 2005-07-18  Wim Taymans  <wim@fluendo.com>
21924
21925         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21926         Fix nasty refcount bug.
21927
21928 2005-07-16 Philippe Khalaf <burger@speedy.org>
21929
21930         * gst/elements/gstfdsrc.c:
21931         * gst/elements/gstfdsrc.h:
21932         * gst/elements/gstelements.c:
21933         * gst/elements/Makefile.am:
21934         Ported fdsrc to 0.9.
21935
21936 2005-07-16  Wim Taymans  <wim@fluendo.com>
21937
21938         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21939         (gst_base_sink_do_sync):
21940         Fix compile error.
21941
21942 2005-07-16  Wim Taymans  <wim@fluendo.com>
21943
21944         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21945         (gst_base_sink_event), (gst_base_sink_get_times),
21946         (gst_base_sink_do_sync), (gst_base_sink_change_state):
21947         * gst/base/gstbasesink.h:
21948         Store and use discont values when syncing buffers as described
21949         in design docs.
21950         
21951         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21952         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21953         (gst_base_src_activate_push):
21954         Push discont event when starting.
21955
21956         * gst/elements/gstidentity.c: (gst_identity_transform):
21957         Small cleanups.
21958
21959         * gst/gstbin.c: (gst_bin_change_state):
21960         Small cleanups in base_time  distribution.
21961
21962         * gst/gstelement.c: (gst_element_set_base_time),
21963         (gst_element_get_base_time), (gst_element_change_state):
21964         * gst/gstelement.h:
21965         Added methods for the base_time of the element.
21966         Some MT fixes.
21967
21968         * gst/gstpipeline.c: (gst_pipeline_send_event),
21969         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21970         (gst_pipeline_get_last_stream_time):
21971         * gst/gstpipeline.h:
21972         MT fixes.
21973         Handle seeking as described in design doc, remove stream_time
21974         hack.
21975         Cleanups clock and stream_time selection code. Added accessors
21976         for the stream_time.
21977         
21978
21979 2005-07-16  Andy Wingo  <wingo@pobox.com>
21980
21981         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21982         (#305291).
21983
21984 2005-07-16  Wim Taymans  <wim@fluendo.com>
21985
21986         * check/gst/gstbin.c: (GST_START_TEST):
21987         Make elements silent as the deep_notify refs the
21988         parent, which might make the test fail.
21989
21990         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21991         Don't hold the lock for too long.
21992
21993 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
21994
21995         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21996           Don't unref the caps we passed to gst_caps_make_writable() after
21997           passing them. gst_caps_make_writable() will do that for us.
21998
21999 2005-07-15  Andy Wingo  <wingo@pobox.com>
22000
22001         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
22002         (#157311).
22003
22004         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
22005         own marshalling function for the handoff signal. Properly type the
22006         buffer as a buffer. Fixes some warnings. Should do a more general
22007         solution.
22008         (gst_identity_class_init): Plug into the right marshaller.
22009
22010 2005-07-15  Wim Taymans  <wim@fluendo.com>
22011
22012         * docs/design/part-TODO.txt:
22013         * docs/design/part-clocks.txt:
22014         * docs/design/part-element-sink.txt:
22015         * docs/design/part-events.txt:
22016         * docs/design/part-gstpipeline.txt:
22017         Updated docs, mostly DISCONT related.
22018
22019 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
22020
22021         * docs/pwg/building-pads.xml:
22022           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
22023
22024 2005-07-15  Andy Wingo  <wingo@pobox.com>
22025
22026         * tools/gst-typefind.c: Update, add copyright block.
22027
22028         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
22029         Normalize and truncate caps before fixation.
22030
22031         * gst/gstcaps.h:
22032         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
22033         discards all but the first structure from its argument.
22034
22035 2005-07-15  Wim Taymans  <wim@fluendo.com>
22036
22037         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22038         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
22039         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22040         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22041         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
22042         (gst_base_transform_chain), (gst_base_transform_change_state),
22043         (gst_base_transform_set_passthrough),
22044         (gst_base_transform_is_passthrough):
22045         * gst/base/gstbasetransform.h:
22046         Make passthrough work using the bufferpools.
22047         Changed API a bit, subclasses have to write into a buffer
22048         provided by the base class.
22049         More debug info in nego functions.
22050         
22051         * gst/elements/gstidentity.c: (gst_identity_init),
22052         (gst_identity_transform):
22053         Port to new base class.
22054
22055 2005-07-15  Wim Taymans  <wim@fluendo.com>
22056
22057         * gst/gstmessage.c: (gst_message_new_state_changed):
22058         * tools/gst-launch.c: (event_loop), (main):
22059         Totally dump messages in -launch with the -m option.
22060         Fix message name for State messages,
22061
22062 2005-07-14  Wim Taymans  <wim@fluendo.com>
22063
22064         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22065         Post error messages on errors.
22066
22067 2005-07-14  Wim Taymans  <wim@fluendo.com>
22068
22069         * gst/gstcaps.c: (gst_caps_do_simplify):
22070         Remove debug info.
22071
22072         * gst/gsterror.h:
22073         Define error for stream stopped.
22074
22075         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22076         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
22077         Do proper return values.
22078
22079         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22080         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
22081         (gst_pad_get_range):
22082         Better return values.
22083
22084         * gst/gstpad.h:
22085         Reorganise return values, add macro to check for fatal errors.
22086
22087         * gst/gstqueue.c: (gst_queue_chain):
22088         Return proper GstFlowReturn values,
22089
22090 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
22091
22092         * docs/gst/gstreamer-sections.txt:
22093         * docs/gst/gstreamer.types:
22094         * docs/gst/tmpl/gst.sgml:
22095         * docs/gst/tmpl/gstbasesink.sgml:
22096         * docs/gst/tmpl/gstbasesrc.sgml:
22097         * docs/gst/tmpl/gstbasetransform.sgml:
22098         * docs/gst/tmpl/gstbin.sgml:
22099         * docs/gst/tmpl/gstbuffer.sgml:
22100         * docs/gst/tmpl/gstcaps.sgml:
22101         * docs/gst/tmpl/gstclock.sgml:
22102         * docs/gst/tmpl/gstcompat.sgml:
22103         * docs/gst/tmpl/gstconfig.sgml:
22104         * docs/gst/tmpl/gstelement.sgml:
22105         * docs/gst/tmpl/gstelementdetails.sgml:
22106         * docs/gst/tmpl/gstelementfactory.sgml:
22107         * docs/gst/tmpl/gstenumtypes.sgml:
22108         * docs/gst/tmpl/gsterror.sgml:
22109         * docs/gst/tmpl/gstevent.sgml:
22110         * docs/gst/tmpl/gstfakesink.sgml:
22111         * docs/gst/tmpl/gstfakesrc.sgml:
22112         * docs/gst/tmpl/gstfilesink.sgml:
22113         * docs/gst/tmpl/gstfilesrc.sgml:
22114         * docs/gst/tmpl/gstfilter.sgml:
22115         * docs/gst/tmpl/gstformat.sgml:
22116         * docs/gst/tmpl/gstghostpad.sgml:
22117         * docs/gst/tmpl/gstimplementsinterface.sgml:
22118         * docs/gst/tmpl/gstindex.sgml:
22119         * docs/gst/tmpl/gstindexfactory.sgml:
22120         * docs/gst/tmpl/gstinfo.sgml:
22121         * docs/gst/tmpl/gstiterator.sgml:
22122         * docs/gst/tmpl/gstmacros.sgml:
22123         * docs/gst/tmpl/gstmemchunk.sgml:
22124         * docs/gst/tmpl/gstminiobject.sgml:
22125         * docs/gst/tmpl/gstobject.sgml:
22126         * docs/gst/tmpl/gstpad.sgml:
22127         * docs/gst/tmpl/gstpadtemplate.sgml:
22128         * docs/gst/tmpl/gstparse.sgml:
22129         * docs/gst/tmpl/gstpipeline.sgml:
22130         * docs/gst/tmpl/gstplugin.sgml:
22131         * docs/gst/tmpl/gstpluginfeature.sgml:
22132         * docs/gst/tmpl/gstquery.sgml:
22133         * docs/gst/tmpl/gstqueue.sgml:
22134         * docs/gst/tmpl/gstregistry.sgml:
22135         * docs/gst/tmpl/gstregistrypool.sgml:
22136         * docs/gst/tmpl/gstscheduler.sgml:
22137         * docs/gst/tmpl/gstschedulerfactory.sgml:
22138         * docs/gst/tmpl/gststructure.sgml:
22139         * docs/gst/tmpl/gstsystemclock.sgml:
22140         * docs/gst/tmpl/gsttaglist.sgml:
22141         * docs/gst/tmpl/gsttagsetter.sgml:
22142         * docs/gst/tmpl/gsttrace.sgml:
22143         * docs/gst/tmpl/gsttrashstack.sgml:
22144         * docs/gst/tmpl/gsttypefind.sgml:
22145         * docs/gst/tmpl/gsttypefindfactory.sgml:
22146         * docs/gst/tmpl/gsttypes.sgml:
22147         * docs/gst/tmpl/gsturihandler.sgml:
22148         * docs/gst/tmpl/gsturitype.sgml:
22149         * docs/gst/tmpl/gstutils.sgml:
22150         * docs/gst/tmpl/gstvalue.sgml:
22151         * docs/gst/tmpl/gstversion.sgml:
22152         * docs/gst/tmpl/gstxml.sgml:
22153         * docs/libs/tmpl/gstcontrol.sgml:
22154         * docs/libs/tmpl/gstdataprotocol.sgml:
22155         * docs/libs/tmpl/gstdparam.sgml:
22156         * docs/libs/tmpl/gstdplinint.sgml:
22157         * docs/libs/tmpl/gstdpman.sgml:
22158         * docs/libs/tmpl/gstdpsmooth.sgml:
22159         * docs/libs/tmpl/gstgetbits.sgml:
22160         * docs/libs/tmpl/gstunitconvert.sgml:
22161         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
22162         (gst_push_src_base_init), (gst_push_src_class_init),
22163         (gst_push_src_init), (gst_push_src_create):
22164         * gst/base/gstpushsrc.h:
22165         * gst/elements/gstelements.c:
22166         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
22167         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
22168         (gst_fake_sink_init), (gst_fake_sink_set_property),
22169         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
22170         (gst_fake_sink_event), (gst_fake_sink_preroll),
22171         (gst_fake_sink_render), (gst_fake_sink_change_state):
22172         * gst/elements/gstfakesink.h:
22173         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
22174         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
22175         (gst_fake_src_base_init), (gst_fake_src_class_init),
22176         (gst_fake_src_init), (gst_fake_src_event_handler),
22177         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
22178         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
22179         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
22180         (gst_fake_src_create_buffer), (gst_fake_src_create),
22181         (gst_fake_src_start), (gst_fake_src_stop):
22182         * gst/elements/gstfakesrc.h:
22183         * gst/elements/gstfilesink.c: (_do_init),
22184         (gst_file_sink_base_init), (gst_file_sink_class_init),
22185         (gst_file_sink_init), (gst_file_sink_dispose),
22186         (gst_file_sink_set_location), (gst_file_sink_set_property),
22187         (gst_file_sink_get_property), (gst_file_sink_open_file),
22188         (gst_file_sink_close_file), (gst_file_sink_query),
22189         (gst_file_sink_event), (gst_file_sink_render),
22190         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
22191         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
22192         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
22193         * gst/elements/gstfilesink.h:
22194         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
22195         (gst_file_src_class_init), (gst_file_src_init),
22196         (gst_file_src_finalize), (gst_file_src_set_location),
22197         (gst_file_src_set_property), (gst_file_src_get_property),
22198         (gst_file_src_map_region), (gst_file_src_map_small_region),
22199         (gst_file_src_create_mmap), (gst_file_src_create_read),
22200         (gst_file_src_create), (gst_file_src_is_seekable),
22201         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
22202         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
22203         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
22204         (gst_file_src_uri_handler_init):
22205         * gst/elements/gstfilesrc.h:
22206           more autistic cleanliness in functions/names/defines
22207
22208 2005-07-13  Andy Wingo  <wingo@pobox.com>
22209
22210         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
22211         source couldn't negotiate.
22212
22213         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
22214         connections again.
22215
22216         * gst/gstutils.h:
22217         * gst/gstutils.c (gst_element_link_pads_filtered): New old
22218         function. I am channeling Hades. Put your boots on suckers!!!
22219
22220 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22221
22222         * testsuite/caps/Makefile.am:
22223         * testsuite/caps/value_compare.c:
22224         * testsuite/caps/value_intersect.c:
22225         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22226           move two testsuite apps over to the check dir
22227
22228 2005-07-12  Wim Taymans  <wim@fluendo.com>
22229
22230         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22231         Added more debug info in the negotiate process.
22232
22233         * gst/gstmessage.h:
22234         Prepare for segment playback.
22235
22236         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22237         Better debugging.
22238
22239         * gst/gstutils.c:
22240         Some more docs.
22241
22242         * tools/gst-launch.c: (main):
22243         NULL pipeline on errors.
22244
22245 2005-07-12  Andy Wingo  <wingo@pobox.com>
22246
22247         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22248         not it comes from a malloc region. Make sure our copy gets freed.
22249
22250 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22251
22252         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22253         * check/gst/gstmessage.c: (GST_START_TEST):
22254         * check/gst/gststructure.c: (GST_START_TEST),
22255         (gst_structure_suite), (main):
22256           more testing
22257         * gst/gstelement.c: (gst_element_message_full):
22258           clean up GError and debug string now that they get copied
22259         * gst/gstmessage.c: (gst_message_new_error),
22260         (gst_message_new_warning), (gst_message_parse_error),
22261         (gst_message_parse_warning):
22262           use GST_TYPE_G_ERROR for structure_new, and take copies of
22263           arguments, so that we don't mess up refcounting
22264
22265 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22266
22267         * check/Makefile.am:
22268           add per-test valgrind targets
22269         * check/gst-libs/gdp.c: (GST_START_TEST),
22270         (gst_data_protocol_suite), (main):
22271           clean up
22272
22273 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22274
22275         * check/Makefile.am:
22276           instate more valgrindable tests
22277         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22278         (GST_START_TEST), (fakesrc_suite):
22279         * check/gst/gstpad.c: (GST_START_TEST):
22280         * check/gst/gststructure.c: (GST_START_TEST):
22281           fix test leaks
22282         * docs/gst/tmpl/gstminiobject.sgml:
22283         * gst/gstpad.c: (gst_pad_finalize):
22284           fix the static mutex leak
22285
22286 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22287
22288         * check/Makefile.am:
22289           add two more tests for valgrinding
22290         * check/gst/gstvalue.c: (GST_START_TEST):
22291           test refcount of deserialized buffer, found a leak
22292         * docs/gst/gstreamer-docs.sgml:
22293         * docs/gst/gstreamer-sections.txt:
22294         * docs/gst/gstreamer.types:
22295         * docs/gst/tmpl/gstminiobject.sgml:
22296           add miniobject to docs
22297         * gst/gstminiobject.c:
22298           add some docs
22299         * gst/gstvalue.c: (gst_value_deserialize_buffer),
22300         (gst_string_unwrap):
22301           fix a hard-to-find invalid write for one of the tests
22302           fix a leak for deserialized buffers
22303
22304 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22305
22306         * docs/pwg/advanced-events.xml:
22307         * docs/pwg/advanced-request.xml:
22308         * docs/pwg/advanced-scheduling.xml:
22309         * docs/pwg/appendix-porting.xml:
22310         * docs/pwg/building-boiler.xml:
22311         * docs/pwg/intro-preface.xml:
22312         * docs/pwg/other-ntoone.xml:
22313           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22314           of example code and explanation for pad activation, loop() and
22315           getrange() functions and a bit more. Remove old comments pointing
22316           to loop-functions.
22317         * examples/pwg/Makefile.am:
22318           Add loop/getrange examples.
22319
22320 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22321
22322         * configure.ac:
22323           check for valgrind binary + some fixes
22324         * check/gst.supp:
22325           valgrind suppressions for the tests
22326         * check/Makefile.am:
22327           add a valgrind: target that valgrinds the unit tests
22328         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22329         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22330         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22331         * check/gst/gstghostpad.c:
22332           added some cleanup
22333         * check/gst/gstdata.c:
22334           removed
22335         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22336         (thread_unref), (gst_mini_object_suite), (main):
22337           added
22338         * gst/gst.c: (gst_deinit):
22339         * gst/gst.h:
22340           add a method to clean up.
22341         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22342         (gst_system_clock_obtain):
22343           allow for disposing the system clock.
22344         * tools/gst-launch.c: (main):
22345           deinit
22346
22347 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22348
22349         * docs/gst/tmpl/gstbasesrc.sgml:
22350         * docs/gst/tmpl/gstfakesrc.sgml:
22351         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22352         (gst_base_src_init), (gst_base_src_set_property),
22353         (gst_base_src_get_property), (gst_base_src_get_range),
22354         (gst_base_src_start):
22355         * gst/base/gstbasesrc.h:
22356           add num-buffers property
22357         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22358         (gst_fakesrc_init), (gst_fakesrc_set_property),
22359         (gst_fakesrc_get_property), (gst_fakesrc_create),
22360         (gst_fakesrc_start):
22361           remove num-buffers property
22362
22363 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22364
22365         * docs/gst/gstreamer-sections.txt:
22366         * docs/gst/tmpl/gstbasesink.sgml:
22367         * docs/gst/tmpl/gstbasesrc.sgml:
22368         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22369         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22370         (gst_base_sink_finalize), (gst_base_sink_set_clock),
22371         (gst_base_sink_set_property), (gst_base_sink_get_property),
22372         (gst_base_sink_handle_object), (gst_base_sink_event),
22373         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22374         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22375         (gst_base_sink_loop), (gst_base_sink_deactivate),
22376         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22377         (gst_base_sink_change_state):
22378         * gst/base/gstbasesink.h:
22379         * gst/base/gstbasesrc.h:
22380         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22381         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22382         (gst_filesink_init):
22383           more macro splitting
22384
22385 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22386
22387         * gst/gstelement.c: (gst_element_get_bus):
22388           add debug
22389         * tools/gst-launch.c: (check_intr), (event_loop):
22390           fix bus leaks
22391
22392 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22393
22394         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22395           fix a caps leak
22396
22397 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22398
22399         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22400         (gst_base_src_finalize):
22401           add finalize method and clean up properly
22402         * gst/gstpipeline.c: (gst_pipeline_dispose):
22403           add debug
22404
22405 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22406
22407         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22408         (gst_bin_suite):
22409           add more things to check
22410         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22411         * gst/gstelement.c:
22412           more debug
22413
22414 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22415
22416         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22417         (GST_START_TEST), (fakesrc_suite):
22418         * check/gst-libs/gdp.c: (GST_START_TEST):
22419         * check/gst/gst.c: (GST_START_TEST):
22420         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22421         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22422         * check/gst/gstbus.c: (GST_START_TEST):
22423         * check/gst/gstcaps.c: (GST_START_TEST):
22424         * check/gst/gstdata.c: (GST_START_TEST):
22425         * check/gst/gstelement.c: (GST_START_TEST):
22426         * check/gst/gstghostpad.c: (GST_START_TEST):
22427         * check/gst/gstiterator.c: (GST_START_TEST):
22428         * check/gst/gstmessage.c: (GST_START_TEST):
22429         * check/gst/gstobject.c: (GST_START_TEST):
22430         * check/gst/gstpad.c: (GST_START_TEST):
22431         * check/gst/gststructure.c: (GST_START_TEST):
22432         * check/gst/gstsystemclock.c: (GST_START_TEST),
22433         (gst_systemclock_suite):
22434         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22435         * check/gst/gstvalue.c: (GST_START_TEST):
22436         * check/pipelines/cleanup.c: (GST_START_TEST):
22437         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22438         * check/states/sinks.c: (GST_START_TEST):
22439         * check/gstcheck.c: (gst_check_init):
22440         * check/gstcheck.h:
22441           add debugging category
22442           use GST_START_TEST now, so we add a debug line
22443
22444 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22445
22446         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22447           add test for state change message on a bin
22448         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22449           add another test
22450         * gst/gstbin.c: (gst_bin_init):
22451         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22452         * gst/gstelement.c: (gst_element_post_message),
22453         (gst_element_set_state):
22454         * gst/gstelementfactory.c: (gst_element_factory_create):
22455         * gst/gstmessage.c: (gst_message_new):
22456         * gst/gstscheduler.c:
22457           various debugging additions and cleanups
22458
22459 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22460
22461         * check/Makefile.am:
22462         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22463         (main):
22464           adding tests for elements
22465         * gst/gstelement.c: (gst_element_dispose):
22466
22467 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22468
22469         * gst/registries/gstlibxmlregistry.c: (load_feature):
22470           plug more leaks.  A simple gst_init() now is leakfree, yay.
22471
22472 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22473
22474         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22475         (gst_xml_registry_load):
22476           plug another memleak
22477
22478 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22479
22480         * configure.ac:
22481           use GST_SET_ERROR_CFLAGS
22482         * docs/faq/cvs.xml:
22483           change to ERROR_CFLAGS
22484
22485 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22486
22487         * configure.ac:
22488           make GST_ERROR_CFLAGS overridable and re-enable Werror
22489         * docs/faq/cvs.xml:
22490           add a note about error CFLAGS
22491         * docs/gst/tmpl/gstfakesrc.sgml:
22492         * gst/elements/gstfakesrc.c:
22493           comment out some unused code
22494         * gst/gst.c: (split_and_iterate):
22495         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22496         (load_feature):
22497           plug some memleaks
22498
22499 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22500
22501         * common/Makefile.am:
22502         * common/gtk-doc.mak:
22503         * docs/gst/Makefile.am:
22504           factor out gtk-doc.mak
22505
22506 2005-07-07  Wim Taymans  <wim@fluendo.com>
22507
22508         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22509         (gst_thread_scheduler_dispose):
22510         Unlock the STREAM_LOCK completely.
22511
22512 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22513
22514         * check/Makefile.am:
22515         * check/elements/.cvsignore:
22516         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22517         (START_TEST), (fakesrc_suite), (main):
22518         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22519         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22520         (gst_fakesrc_create), (gst_fakesrc_start):
22521         * gst/elements/gstfakesrc.h:
22522           adding a first element test
22523
22524 2005-07-07  Andy Wingo  <wingo@pobox.com>
22525
22526         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22527         debug message.
22528
22529 2005-07-07  Wim Taymans  <wim@fluendo.com>
22530
22531         * gst/gstquery.c:
22532         * gst/gstquery.h:
22533         Remove old types
22534
22535 2005-07-07  Wim Taymans  <wim@fluendo.com>
22536
22537         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22538         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22539         Allow subclasses to implement their own negotiation.
22540
22541 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22542
22543         * docs/design/part-gstbin.txt:
22544         * docs/design/part-gstpipeline.txt:
22545           Update design notes to reflect the movement of
22546           responsibility for bus handling from GstPipeline to
22547           GstBin
22548
22549 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22550
22551         * configure.ac:
22552           Remove unnecessary queue2/3/4 examples.
22553
22554 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22555
22556         * examples/Makefile.am:
22557         * examples/helloworld/helloworld.c: (event_loop), (main):
22558         * examples/queue/queue.c: (event_loop), (main):
22559         * examples/queue2/queue2.c: (main):
22560           Update a couple of the examples to work again.
22561
22562         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22563         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22564          Spelling corrections and extra debug.
22565         
22566         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22567         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22568         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22569         * gst/gstbin.h:
22570         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22571         (gst_pipeline_change_state):
22572         * gst/gstpipeline.h:
22573           Move the bus handler for children to the GstBin, and create a
22574           separate bus for receiving messages from children to the one the
22575           bus sends 'upwards' on.
22576
22577 2005-07-06  Wim Taymans  <wim@fluendo.com>
22578
22579         * gst/base/README:
22580         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22581         (gst_base_sink_handle_object), (gst_base_sink_loop),
22582         (gst_base_sink_change_state):
22583         * gst/base/gstbasesink.h:
22584         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22585         (gst_base_src_init), (gst_base_src_setcaps),
22586         (gst_base_src_getcaps), (gst_base_src_loop),
22587         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22588         (gst_base_src_start), (gst_base_src_change_state):
22589         * gst/base/gstbasesrc.h:
22590         Make basesrc negotiate.
22591         Handle the case where preroll fails in basesink.
22592         Update README.
22593
22594 2005-07-06  Wim Taymans  <wim@fluendo.com>
22595
22596         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22597         Implement the fixate function.
22598         Clean up acceptcaps.
22599
22600 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22601
22602         * docs/pwg/building-filterfactory.xml:
22603         * docs/pwg/pwg.xml:
22604           Remove never-written filter-factory chapter; I'll add the various
22605           base classes to part 4 ("other element types") later on.
22606
22607 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22608
22609         * docs/pwg/advanced-negotiation.xml:
22610         * docs/pwg/building-boiler.xml:
22611         * docs/pwg/building-pads.xml:
22612         * docs/pwg/pwg.xml:
22613         * examples/pwg/Makefile.am:
22614           Add a chapter on caps negotiation, simplify the original code
22615           samples a bit w.r.t. caps negotiation, add link to the advanced
22616           section. Add a bunch of examples showing different use cases of
22617           different types of caps negotiation. Upstream renegotiation isn't
22618           fully documented yet since nobody knows how that works.
22619
22620 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22621
22622         * check/gst/gstpad.c:
22623         * check/gstcheck.c:
22624         * gst/gstpad.c: (gst_pad_get_internal_links_default):
22625           if pad has no parent, return NULL as list of internal links
22626
22627 2005-07-05  Andy Wingo  <wingo@pobox.com>
22628
22629         * gst/elements/gstfilesrc.c:
22630         * gst/elements/gstfakesrc.c: 
22631         * gst/base/gstpushsrc.c:
22632         * gst/base/gstbasesrc.h: 
22633         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22634         
22635 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
22636
22637         * Makefile.am:
22638           better report generation target (lcov needs a patch)
22639
22640 2005-07-05  Andy Wingo  <wingo@pobox.com>
22641
22642         * gst/elements, testsuite: Null if we got it...
22643
22644 2005-07-05  Wim Taymans  <wim@fluendo.com>
22645
22646         * configure.ac:
22647         * libs/gst/dataprotocol/Makefile.am:
22648         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22649         * libs/gst/dataprotocol/dataprotocol.h:
22650         * pkgconfig/Makefile.am:
22651         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22652         * pkgconfig/gstreamer-dataprotocol.pc.in:
22653         Ported dataprotol to 0.9. 
22654         Added pkgconfig files.
22655
22656 2005-07-05  Andy Wingo  <wingo@pobox.com>
22657
22658         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22659         Default to returning TRUE for the case when tranform_caps returns
22660         a fixed caps, like for identity or volume.
22661
22662         * check/gst/gstbus.c (pound_bus_with_messages): 
22663         * check/gst/gstmessage.c (START_TEST): 
22664         * check/pipelines/simple_launch_lines.c (got_handoff): Application
22665         message API change.
22666
22667         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22668         logic weaks here: always run transform_caps, trying passthrough
22669         operation only if the original caps intersects with the transform.
22670
22671         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22672         source and sink caps.
22673
22674         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22675         Intersect the peer caps with the pad template before going into
22676         transform_caps.
22677         (gst_base_transform_transform_caps): More debugging.
22678
22679         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22680         src argument.
22681
22682 2005-07-04  Edward Hervey  <edward@fluendo.com>
22683
22684         * gst/gstutils.c:
22685         * gst/gstutils.h:
22686         (gst_pad_add_*_probe): now returns the signal id for better wrapping
22687         in bindings.
22688
22689 2005-07-04  Andy Wingo  <wingo@pobox.com>
22690
22691         * check/gst/gstpad.c: Only set explicit caps on pads.
22692
22693 2005-07-01  Andy Wingo  <wingo@pobox.com>
22694
22695         * tests/network-clock.scm: Commentary update.
22696
22697         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22698         Didn't really make sense, not implementable with basetransform,
22699         etc.
22700         (gst_identity_transform): Unref inbuf via make_writable. Feeble
22701         attempt at implementing the sync property, needs an unlock method.
22702
22703         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22704         New func, by default returns the same caps (the identity
22705         transformation).
22706         (gst_base_transform_getcaps): Uses transform_caps to return
22707         something sensible.
22708         (gst_base_transform_setcaps): Complicated logic to get caps on
22709         both pads, even if they are different, and to call set_caps once
22710         for every time both pads get their caps set.
22711         (gst_base_transform_handle_buffer): Give the ref to the transform
22712         function. Allows in-place modification of the buffer.
22713
22714         * gst/base/gstbasetransform.h (transform_caps): New class method.
22715         Given caps on one side, what can I do on the other.
22716         (set_caps): Take two caps, one for each side of the element.
22717
22718         * gst/gstpad.h:
22719         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
22720         caps in place. This is safe because we can check the mutability of
22721         the caps, and a good idea because fixate functions are just called
22722         as a matter of last resort. (Not actually implemented.)
22723         (gst_pad_set_caps): If the caps we're setting is actually the same
22724         as the existing pad caps, just update the pointer without calling
22725         setcaps. Assert that caps is either NULL or fixed, as per the
22726         docs.
22727
22728         * gst/gstghostpad.c: Update for fixate changes.
22729
22730 2005-07-02  Andy Wingo  <wingo@pobox.com>
22731
22732         * gst/gstcaps.c:
22733         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
22734         two refcounts makes it immutable, which is enough. Doc more.
22735
22736 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
22737
22738         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
22739           Put the mini_object into GValue as a mini_object,
22740           not a gpointer, since that's how we declared
22741           the signal.
22742
22743 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22744
22745         * examples/pwg/Makefile.am:
22746           Fix buildbot again.
22747
22748 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22749
22750         * docs/pwg/building-testapp.xml:
22751           Add extra check.
22752         * examples/pwg/Makefile.am:
22753           Fix buildbot.
22754
22755 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22756
22757         * configure.ac:
22758         * examples/Makefile.am:
22759         * examples/pwg/Makefile.am:
22760         * examples/pwg/extract.pl:
22761           Enable building the PWG examples.
22762         * docs/pwg/advanced-interfaces.xml:
22763           Add URI interface stub.
22764         * docs/pwg/advanced-types.xml:
22765         * docs/pwg/other-autoplugger.xml:
22766         * docs/pwg/appendix-porting.xml:
22767         * docs/pwg/pwg.xml:
22768           Add porting guide (mostly stubs), remove autoplugging (see ADM).
22769         * docs/pwg/building-boiler.xml:
22770         * docs/pwg/building-chainfn.xml:
22771         * docs/pwg/building-pads.xml:
22772         * docs/pwg/building-props.xml:
22773         * docs/pwg/building-state.xml:
22774         * docs/pwg/building-testapp.xml:
22775           Update the building-*.xml parts for 0.9 changes. All examples
22776           code blocks compile in examples/pwg/*.
22777
22778 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22779
22780         * docs/manual/advanced-autoplugging.xml:
22781         * docs/manual/appendix-checklist.xml:
22782         * docs/manual/appendix-integration.xml:
22783         * docs/manual/highlevel-components.xml:
22784           Fix playbin/decodebin examples, update docs a bit, mention bus
22785           instead of signals in various places, mention kmplayer and
22786           kaffeine since they have a working GStreamer backend in the KDE
22787           section.
22788
22789 2005-06-30  Wim Taymans  <wim@fluendo.com>
22790
22791         * CHANGES-0.9:
22792         * docs/design/draft-ghostpads.txt:
22793         * docs/design/draft-push-pull.txt:
22794         * docs/design/draft-query.txt:
22795         * docs/design/part-TODO.txt:
22796         * docs/design/part-query.txt:
22797         Added CHANGES-0.9 doc, updated status of other docs.
22798         
22799         * gst/gstquery.h:
22800         Remove "hmm" macro
22801
22802 2005-06-30  Wim Taymans  <wim@fluendo.com>
22803
22804         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22805         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22806         (gst_base_sink_change_state):
22807         * gst/base/gstbasesink.h:
22808         Some tweaks, only EOS and a buffer complete a preroll.
22809
22810 2005-06-30  Andy Wingo  <wingo@pobox.com>
22811
22812         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
22813         activate_push down to the internal pad as well.
22814
22815 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
22816
22817         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22818
22819         * gst/gsttaginterface.c:
22820           Some documentation fixes (#307394 and #307397).
22821
22822 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
22823
22824         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22825
22826         * gst/gstvalue.c: (gst_value_intersect_list):
22827           Fix memleak (#309125).
22828
22829 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22830
22831         * docs/manual/advanced-dataaccess.xml:
22832           Fix fakesrc example to compile; doesn't work, bug somewhere...?
22833         * docs/manual/basics-pads.xml:
22834           Add reference for filtered caps to above chapter.
22835
22836 2005-06-30  Wim Taymans  <wim@fluendo.com>
22837
22838         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
22839         (gst_bin_change_state):
22840         Probes are gone.
22841         Lame attempt at making the state change function a bit
22842         more readable.
22843
22844 2005-06-30  Wim Taymans  <wim@fluendo.com>
22845
22846         * docs/design/part-clocks.txt:
22847         * docs/design/part-element-sink.txt:
22848         * docs/design/part-events.txt:
22849         * docs/design/part-preroll.txt:
22850         * docs/design/part-states.txt:
22851         Some more tweeks and additions to the docs.
22852
22853 2005-06-30  Wim Taymans  <wim@fluendo.com>
22854
22855         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22856         (default_have_data), (gst_pad_class_init), (gst_pad_init),
22857         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22858         (gst_pad_check_pull_range), (gst_pad_get_range),
22859         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
22860         * gst/gstpad.h:
22861         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
22862         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22863         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22864         (gst_pad_remove_buffer_probe):
22865         Removed atomic operations, use existing LOCK.
22866         Move exception handling out of main code path.
22867
22868 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22869
22870         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22871         (silly_return_true_function), (gst_pad_class_init),
22872         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22873         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
22874         (gst_pad_send_event):
22875           Fix accumulator, add default value by using _emitv() instead
22876           of _emit() for signal emission.
22877
22878 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22879
22880         * docs/manual/advanced-dataaccess.xml:
22881         * examples/manual/Makefile.am:
22882           Add probe example.
22883         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
22884           Make work (??).
22885
22886 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
22887
22888         * gst/elements/gstfilesink.c: (gst_filesink_render):
22889           Simplify code so that we don't have to handle short
22890           writes and return GST_FLOW_ERROR if an error occured.
22891
22892 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22893
22894         * docs/gst/gstreamer-docs.sgml:
22895           Remove probes more.
22896
22897 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22898
22899         * docs/gst/gstreamer-sections.txt:
22900         * docs/gst/tmpl/gstpad.sgml:
22901         * docs/gst/tmpl/gstprobe.sgml:
22902         * gst/Makefile.am:
22903         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22904         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
22905         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22906         (gst_pad_push_event), (gst_pad_send_event):
22907         * gst/gstpad.h:
22908         * gst/gstutils.c: (gst_pad_add_data_probe),
22909         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22910         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22911         (gst_pad_remove_buffer_probe):
22912         * gst/gstutils.h:
22913           Remove old probes, add new g-signal-based probes and some utility
22914           functions.
22915
22916 2005-06-29  Edward Hervey  <edward@fluendo.com>
22917
22918         * gst/gstelementfactory.c:
22919         * gst/gstutils.h:
22920         * gst/gstutils.c:
22921         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
22922         the definition to the header file.
22923
22924 2005-06-29  Andy Wingo  <wingo@pobox.com>
22925
22926         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
22927         plugins from the source directory.
22928
22929 2005-06-29  Wim Taymans  <wim@fluendo.com>
22930
22931         * docs/gst/tmpl/gstbuffer.sgml:
22932         * docs/gst/tmpl/gstclock.sgml:
22933         Some fixings for blantently wrong text.
22934
22935 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22936
22937         * check/Makefile.am:
22938         * gst/gst.c: (add_path_func), (init_pre):
22939         * gst/gstregistry.c: (gst_registry_add_path):
22940           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22941           only scan the GST_PLUGIN_PATH locations, and not add
22942           system locations
22943
22944 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22945
22946         * docs/gst/gstreamer-sections.txt:
22947         * docs/gst/tmpl/gstbasesrc.sgml:
22948         * gst/gstelement.c:
22949         * gst/gstelement.h:
22950         * gst/gstevent.c:
22951         * gst/gstutils.c:
22952           doc fixes
22953
22954 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22955
22956         * docs/manual/advanced-autoplugging.xml:
22957           Fix autoplugging example.
22958
22959 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22960
22961         * docs/manual/advanced-autoplugging.xml:
22962         * docs/manual/mime-world.fig:
22963           Try to get autoplugging working, fix type detection. Fix text
22964           in hello-world image.
22965
22966 2005-06-29  Wim Taymans  <wim@fluendo.com>
22967
22968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22969         (gst_base_sink_change_state):
22970         Small debug line.
22971
22972         * gst/gstclock.h:
22973         map SIGNAL and BROADCAST to the right function.
22974
22975         * gst/gstobject.h:
22976         Remove redundant braces.
22977
22978         * gst/gstpad.c: (gst_pad_set_caps):
22979         Don't call setcaps function when reseting caps to NULL.
22980
22981         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22982         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22983         (gst_system_clock_id_unschedule):
22984         Use BROADCAST as this is what we do.
22985
22986 2005-06-29  Wim Taymans  <wim@fluendo.com>
22987
22988         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22989         We are actually prerolling before commiting the state
22990         change. 
22991
22992 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22993
22994         * docs/manual/advanced-clocks.xml:
22995         * docs/manual/advanced-interfaces.xml:
22996         * docs/manual/advanced-metadata.xml:
22997         * docs/manual/advanced-position.xml:
22998         * docs/manual/advanced-schedulers.xml:
22999         * docs/manual/advanced-threads.xml:
23000         * docs/manual/appendix-porting.xml:
23001         * docs/manual/basics-bins.xml:
23002         * docs/manual/basics-bus.xml:
23003         * docs/manual/basics-elements.xml:
23004         * docs/manual/basics-helloworld.xml:
23005         * docs/manual/basics-pads.xml:
23006         * docs/manual/highlevel-components.xml:
23007         * docs/manual/manual.xml:
23008         * docs/manual/thread.fig:
23009           Update (until threads/scheduling) Application Development Manual;
23010           remove GstThread, add GstBus, add simple porting checklist, add
23011           documentation for tag writing, clocks, make all examples until this
23012           part compile and run.
23013         * examples/manual/Makefile.am:
23014           Update from changes to Application Development Manual; add bus
23015           example, remove thread example.
23016
23017 2005-06-28  Wim Taymans  <wim@fluendo.com>
23018
23019         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
23020         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
23021         (gst_bus_source_dispatch):
23022         Add debugging messages.
23023         Make internal methods static.
23024         Handle the case where the bus is flushed in the handler.
23025         
23026         * gst/gstelement.c: (gst_element_get_bus):
23027         Fix refcount in _get_bus();
23028
23029         * gst/gstpipeline.c: (gst_pipeline_change_state),
23030         (gst_pipeline_get_clock_func):
23031         Clock refcounting fixes.
23032         Handle the case where preroll timed out more gracefully.
23033         
23034         * gst/gstsystemclock.c: (gst_system_clock_dispose):
23035         Clean up the internal thread in dispose. This is needed
23036         for subclasses that actually get disposed.
23037         
23038         * gst/schedulers/threadscheduler.c:
23039         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23040         (gst_thread_scheduler_dispose):
23041         Free thread pool in dispose.
23042
23043 2005-06-28  Andy Wingo  <wingo@pobox.com>
23044
23045         * tests/network-clock-utils.scm (debug, print-event): New utils.
23046
23047         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
23048         (*packet-loss*): Unified loss probability.
23049         (network-time): Report out-of-band events.
23050
23051         * tests/plot-data: Add support for out-of-band events. Hack it
23052         into this script instead of passing it down the pipe; should fix
23053         this later.
23054
23055 2005-06-28  Wim Taymans  <wim@fluendo.com>
23056
23057         * docs/gst/gstreamer.types:
23058         * docs/gst/tmpl/gstbasesrc.sgml:
23059         * docs/gst/tmpl/gstpad.sgml:
23060         Docs fixes.
23061
23062 2005-06-28  Wim Taymans  <wim@fluendo.com>
23063
23064         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23065         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
23066         (gst_proxy_pad_do_fixatecaps):
23067         Correctly proxy the check_pull_range function.
23068
23069 2005-06-28  Andy Wingo  <wingo@pobox.com>
23070
23071         * tests/network-clock.scm: Removed need for slib.
23072         
23073 2005-06-28  Wim Taymans  <wim@fluendo.com>
23074
23075         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
23076         (gst_basesink_preroll_queue_flush):
23077         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
23078         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
23079         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23080         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23081         (gst_proxy_pad_set_property):
23082         * gst/gstpad.c:
23083         * gst/gstpad.h:
23084         * gst/gstqueue.c: (gst_queue_init):
23085         The deprecated pad loop function is removed now.
23086
23087 2005-06-28  Andy Wingo  <wingo@pobox.com>
23088
23089         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
23090         New parameters, simulate network packet loss.
23091
23092         * tests/network-clock-utils.scm: Initialize the RNG.
23093
23094 2005-06-28  Wim Taymans  <wim@fluendo.com>
23095
23096         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
23097         (gst_basesink_event), (gst_basesink_deactivate):
23098         Flushing the preroll queue always needs to unlock the waiters.
23099
23100 2005-06-28  Edward Hervey  <edward@fluendo.com>
23101
23102         * gst/gstpipeline.c: (gst_pipeline_send_event): 
23103         Wheen a seek was successful on a pipeline, set the stream_time to the
23104         seek offset in order to have a synchronized stream_time.
23105
23106 2005-06-28  Wim Taymans  <wim@fluendo.com>
23107
23108         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23109         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
23110         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
23111         (gst_proxy_pad_do_fixatecaps):
23112         Call wrapper function instead of just calling the function
23113         pointers. This takes care of any locking and whatmore.
23114
23115 2005-06-28  Wim Taymans  <wim@fluendo.com>
23116
23117         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
23118         (gst_pad_pull_range):
23119         * gst/gstpad.h:
23120         CONNECTED -> LINKED.
23121
23122 2005-06-28  Andy Wingo  <wingo@pobox.com>
23123
23124         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
23125         source-munging commit!!!
23126
23127         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
23128         (gst_object_sink): Take gpointer arguments, not GstObject --
23129         avoids casts. Like GLib.
23130
23131         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
23132         activate.
23133
23134 2005-06-27  Andy Wingo  <wingo@pobox.com>
23135
23136         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
23137         remaining buffer.
23138
23139         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
23140         returns a sorted copy of the trace list.
23141         (gst_alloc_trace_print_live): New API, only prints traces with
23142         live objects. Sort the list.
23143         (gst_alloc_trace_print_all): Sort the list.
23144         (gst_alloc_trace_print): Align columns.
23145
23146         * gst/elements/gstttypefindelement.c:
23147         * gst/elements/gsttee.c:
23148         * gst/base/gstbasesrc.c:
23149         * gst/base/gstbasesink.c:
23150         * gst/base/gstbasetransform.c:
23151         * gst/gstqueue.c: Adapt for pad activation changes.
23152
23153         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
23154         sched.
23155         (gst_pipeline_dispose): Drop ref on sched.
23156
23157         * gst/gstpad.c (gst_pad_init): Set the default activate func.
23158         (gst_pad_activate_default): Push mode by default.
23159         (pre_activate_switch, post_activate_switch): New stubs, things to
23160         do before and after switching activation modes on pads.
23161         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
23162         the pad's activate function to choose which mode to activate.
23163         Shortcut on deactivation and call the right function directly.
23164         (gst_pad_activate_pull): New API, (de)activates a pad in pull
23165         mode.
23166         (gst_pad_activate_push): New API, same for push mode.
23167         (gst_pad_set_activate_function) 
23168         (gst_pad_set_activatepull_function) 
23169         (gst_pad_set_activatepush_function): Setters for new API.
23170
23171         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
23172         Trace all miniobjects.
23173         (gst_mini_object_make_writable): Unref the arg if we copy, like
23174         gst_caps_make_writable.
23175
23176         * gst/gstmessage.c (_gst_message_initialize): No trace init.
23177
23178         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
23179         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
23180         Adapt for new pad API.
23181
23182         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
23183
23184         * gst/gstelement.h:
23185         * gst/gstelement.c (gst_element_iterate_src_pads) 
23186         (gst_element_iterate_sink_pads): New API functions.
23187         
23188         * gst/gstelement.c (iterator_fold_with_resync): New utility,
23189         should fold into gstiterator.c in some form.
23190         (gst_element_pads_activate): Simplified via use of fold and
23191         delegation of decisions to gstpad->activate.
23192
23193         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
23194         help in debugging.
23195
23196         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
23197         class once in init, like gstmessage. Didn't run into this issue
23198         but it seems correct. Don't initialize a trace, gstminiobject does
23199         that.
23200
23201         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
23202         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
23203         to the bus.
23204         (assert_live_count): New util function, uses alloc traces to check
23205         cleanup.
23206
23207         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
23208         To be modified when unlink drops the internal pad.
23209
23210 2005-06-27  Wim Taymans  <wim@fluendo.com>
23211
23212         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
23213         (gst_bin_change_state):
23214         Cleanup the get_state() function a little, make sure it
23215         iterates the same set of elements.
23216         Added stub iterate_state_order().
23217
23218 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23219
23220         * docs/gst/gstreamer-docs.sgml:
23221         * docs/gst/gstreamer-sections.txt:
23222         * docs/gst/gstreamer.types:
23223         * docs/gst/tmpl/gstbasesink.sgml:
23224         * docs/gst/tmpl/gstbasesrc.sgml:
23225         * docs/gst/tmpl/gstbasetransform.sgml:
23226         * docs/gst/tmpl/gstelement.sgml:
23227         * docs/gst/tmpl/gstiterator.sgml:
23228         * gst/base/gstbasesrc.c:
23229         * gst/base/gstbasesrc.h:
23230         * gst/base/gstbasetransform.h:
23231         * gst/gstelement.c:
23232         * gst/gstiterator.h:
23233           adding basetransform and iterator docs
23234
23235 2005-06-27  Andy Wingo  <wingo@pobox.com>
23236
23237         * docs/design/part-activation.txt: Notes on how activation should
23238         work -- not quite implemented yet.
23239
23240 2005-06-25  Wim Taymans  <wim@fluendo.com>
23241
23242         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23243         At least get the chain function correct, needs more
23244         fixing.
23245
23246 2005-06-25  Wim Taymans  <wim@fluendo.com>
23247
23248         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23249         (gst_basesink_handle_object), (gst_basesink_event),
23250         (gst_basesink_do_sync), (gst_basesink_handle_event),
23251         (gst_basesink_change_state):
23252         * gst/gsttask.h:
23253         Right, two problems here: ghostpads don't take locks and
23254         glib _rec_mutex_lock_full() with depth==0 still locks.
23255         Catch illegal locking and g_warn them.
23256
23257 2005-06-25  Wim Taymans  <wim@fluendo.com>
23258
23259         * check/states/sinks.c: (START_TEST), (gst_object_suite):
23260         Have to check for completion now...
23261
23262 2005-06-25  Wim Taymans  <wim@fluendo.com>
23263
23264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23265         (gst_basesink_handle_object), (gst_basesink_event),
23266         (gst_basesink_do_sync), (gst_basesink_handle_event),
23267         (gst_basesink_change_state):
23268         * gst/gstpad.h:
23269         Unlock STREAM_LOCK whatever the recursion was.
23270
23271 2005-06-25  Wim Taymans  <wim@fluendo.com>
23272
23273         * gst/base/gstbasesink.c: (gst_basesink_set_property),
23274         (gst_basesink_preroll_queue_empty),
23275         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23276         (gst_basesink_event), (gst_basesink_do_sync),
23277         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23278         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23279         (gst_basesink_change_state):
23280         Reworked the base sink, handle event and buffer serialisation
23281         correctly and removed possible deadlock.
23282         Handle EOS correctly.
23283
23284 2005-06-25  Wim Taymans  <wim@fluendo.com>
23285
23286         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23287         (gst_pipeline_change_state):
23288         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23289         Allow elements to post EOS in the state change function.
23290         Fix up -launch, make it exit the poll loop when the
23291         pipeline actually changed state.
23292         Fix up warning parsing in -launch.
23293
23294 2005-06-25  Wim Taymans  <wim@fluendo.com>
23295
23296         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23297         (gst_tee_sink_activate):
23298         Core takes STREAM_LOCK for us now.
23299
23300 2005-06-25  Wim Taymans  <wim@fluendo.com>
23301
23302         * gst/gstelement.c: (gst_element_get_state_func),
23303         (gst_element_set_state):
23304         * gst/gstelement.h:
23305         * gst/gstmessage.c: (gst_message_parse_error),
23306         (gst_message_parse_warning):
23307         Keep track of current target state while performing a state
23308         change so that subclasses can do something interesting.
23309         Fix parsing of warning/error messages when GError is NULL.
23310
23311 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23312
23313         * docs/gst/Makefile.am:
23314         * docs/gst/gstreamer-docs.sgml:
23315         * docs/gst/gstreamer-sections.txt:
23316         * docs/gst/gstreamer.types:
23317         * docs/gst/tmpl/gstbasesink.sgml:
23318         * docs/gst/tmpl/gstbasesrc.sgml:
23319         * docs/gst/tmpl/gstbin.sgml:
23320         * docs/gst/tmpl/gstcompat.sgml:
23321         * docs/gst/tmpl/gstfakesink.sgml:
23322         * docs/gst/tmpl/gstfakesrc.sgml:
23323         * docs/gst/tmpl/gstfilesink.sgml:
23324         * docs/gst/tmpl/gstfilesrc.sgml:
23325         * docs/gst/tmpl/gstindex.sgml:
23326         * docs/manual/appendix-quotes.xml:
23327         * gst/base/gstbasesrc.h:
23328         * gst/elements/gstfakesrc.h:
23329         * gst/gstmessage.h:
23330           start pulling in base classes and elements in our docs
23331
23332 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
23333
23334         * docs/gst/Makefile.am:
23335         * docs/libs/Makefile.am:
23336           fixed make distcheck with gtk-doc 1.3
23337
23338 2005-06-23  Wim Taymans  <wim@fluendo.com>
23339
23340         * gst/gstelement.c: (gst_element_get_state_func),
23341         (gst_element_set_state), (gst_element_change_state):
23342         When the state did not change, also report NO_PREROLL
23343         when it matters.
23344
23345 2005-06-23  Wim Taymans  <wim@fluendo.com>
23346
23347         * gst/gstpad.c: (gst_pad_event_default):
23348         * gst/gstqueue.c: (gst_queue_loop):
23349         No unsafe task pausing please.
23350
23351 2005-06-23  Wim Taymans  <wim@fluendo.com>
23352
23353         * gst/schedulers/threadscheduler.c:
23354         (gst_thread_scheduler_task_start),
23355         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23356         Ref the task before pushing it on the threadpool. This
23357         makes sure that we have a ref when the threadfunction is
23358         actually called.
23359
23360 2005-06-23  Andy Wingo  <wingo@pobox.com>
23361
23362         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23363         offset is greater than the file's size.
23364
23365         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
23366         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23367         * gst/gstobject.c (gst_object_class_init): Make the class lock
23368         recursive. Wim won't let me drop deep_notify. Decodebin works
23369         again, whoopdy doo.
23370
23371         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23372         internal pad, and hacks accordingly. Doesn't do it on the target
23373         pad because we change its caps. Probably catches all cases of
23374         interest tho.
23375         (gst_ghost_pad_set_property): Connect to notify::caps as
23376         appropritate.
23377
23378         * tests/network-clock.scm (plot-simulation): Pipe data to the
23379         elite python skript.
23380
23381         * tests/network-clock-utils.scm (define-parameter): New macro,
23382         defines a parameter that can be set via the command line.
23383         (set-parameter!, parse-parameter-arguments): Command line args
23384         parser.
23385
23386         * tests/plot-data: Simple matplotlib-based plotter, takes input on
23387         stdin.
23388
23389 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
23390
23391         * gst/elements/gsttypefindelement.c:
23392         (gst_type_find_element_handle_event):
23393           Don't restart typefinding on a discont.
23394         * gst/gstelement.c: (gst_element_set_state):
23395           Debug spelling fix.
23396         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23397           Allow changing mode of an active pad.
23398           Debug output fixes.
23399         * gst/registries/gstlibxmlregistry.c: (load_feature):
23400           Don't cast a static pad template to a normal pad template.
23401
23402 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23403
23404         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23405         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23406           remove gst_strtoll completely, since it didn't actually do
23407           anything more than what g_ascii_strtoull already does.
23408           check for range errors when deserializing
23409           do a cast for the unsigned cases; but further fixing needs
23410           a decision on what the interpretation of "(int)" and
23411           deserialization should be for values that fall outside the
23412           type's boundaries (ie, refuse, or interpret as casting)
23413
23414 2005-06-23  Wim Taymans  <wim@fluendo.com>
23415
23416         * check/Makefile.am:
23417         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23418         * docs/design/part-live-source.txt:
23419         * docs/design/part-states.txt:
23420         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23421         (gst_basesrc_set_live), (gst_basesrc_is_live),
23422         (gst_basesrc_get_range), (gst_basesrc_activate),
23423         (gst_basesrc_change_state):
23424         * gst/base/gstbasesrc.h:
23425         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23426         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23427         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23428         * gst/gstelement.c: (gst_element_get_state_func),
23429         (gst_element_set_state):
23430         * gst/gstelement.h:
23431         * gst/gsttypes.h:
23432         * tools/gst-launch.c: (event_loop), (main):
23433         Added support for live sources and other elements that
23434         cannot do preroll.
23435         Updated design docs, added live-source design doc.
23436         Implemented live source functionality in basesrc
23437         Fix error condition in _bin_get_state()
23438         Implement live source handling in -launch.
23439         Added check for live sources.
23440         Fixed case in GstBin where elements were changed state
23441         multiple times.
23442
23443
23444 2005-06-23  Andy Wingo  <wingo@pobox.com>
23445
23446         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23447         borken refcounting.
23448
23449         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23450         gst_caps_replace takes care of this for us.
23451
23452         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23453         gst_pad_set_caps on the target, not just its setcaps() function.
23454
23455         * tests/network-clock.scm: 
23456         * tests/network-clock-utils.scm: A network clock simulator.
23457         Something of an algorithmic testbed before doing something in C.
23458
23459 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23460
23461         * check/Makefile.am:
23462         * check/gst/capslist.h:
23463           copy over from 0.8, and add two with bitmasks specified with
23464           (int) 0xFF...
23465         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23466           add test to parse everything from capslist.h
23467         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23468         (main):
23469           add test for structure deserialization
23470         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23471           add tests for deserialization of strings to int types
23472         * gst/gststructure.c: (gst_structure_nth_field_name):
23473         * gst/gststructure.h:
23474           add a way to get the name of a field referenced by index
23475         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23476           instead of checking if the resulting long long lies between
23477           min and max, we check if the long long would fit into
23478           a number of bytes for the final type.
23479           This fixes cases where a string represents 2^32 - 1, which
23480           when cast to int would be the (valid) -1, but is bigger than
23481           G_MAXINT
23482
23483 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23484
23485         * gst/parse/grammar.y:
23486           add a log line for type deserialization
23487
23488 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23489
23490         * check/gst/gstvalue.c: (START_TEST):
23491         * gst/gstvalue.c: (gst_value_deserialize):
23492           return long long, not int, so gint64 deserialization actually
23493           works.  Is there any flag that makes the compiler check this ?
23494           Fixes #308559
23495
23496 2005-06-22  Wim Taymans  <wim@fluendo.com>
23497
23498         * gst/gstbuffer.h:
23499         Added convenience macros for setting buffers in GValue.
23500
23501 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23502
23503         * check/gst/.cvsignore:
23504         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23505           add a test deserializing int64, and comment part out because
23506           it fails, yay !
23507
23508 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23509
23510         * check/Makefile.am:
23511         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23512         * testsuite/Makefile.am:
23513         * testsuite/caps/Makefile.am:
23514         * testsuite/caps/value_serialize.c:
23515         * testsuite/test_gst_init.c:
23516           move a value_serialize test over
23517
23518 2005-06-20  Wim Taymans  <wim@fluendo.com>
23519
23520         * gst/gstpad.c:
23521         Small doc updates.
23522         
23523         * gst/gstvalue.c: (gst_value_compare_buffer),
23524         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23525         (gst_value_compare_flags), (gst_value_serialize_flags),
23526         (gst_value_deserialize_flags), (_gst_value_initialize):
23527         Fix serialisation of buffers, they are not boxed types anymore
23528
23529 2005-06-20  Wim Taymans  <wim@fluendo.com>
23530
23531         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23532         Testcase to show error in buffer-on-caps serialisation.
23533
23534 2005-06-20  Andy Wingo  <wingo@pobox.com>
23535
23536         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23537         will be adding to later.
23538
23539         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23540         if its socks fill with rocks.
23541         (gst_system_clock_obtain): Set the name on object construction.
23542         Avoid double-checked locking.
23543
23544 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
23545
23546         * gst/gsturi.c: (gst_element_make_from_uri):
23547           Fix potential endless loop.
23548
23549 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23550
23551         * check/Makefile.am:
23552           add gsttag
23553         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23554         (main):
23555           move over from testsuite dir and clean up
23556         * configure.ac:
23557         * gst/gsttag.c:
23558         * testsuite/Makefile.am:
23559         * testsuite/tags/.cvsignore:
23560         * testsuite/tags/Makefile.am:
23561         * testsuite/tags/merge.c:
23562           remove testsuite/tags
23563
23564 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23565
23566         * docs/gst/gstreamer-sections.txt:
23567         * docs/gst/tmpl/gstenumtypes.sgml:
23568         * win32/gstenumtypes.c:
23569           clean up documentation build a little
23570
23571 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23572
23573         * check/gstcheck.h:
23574           add macros for checking refcounts on objects and caps
23575         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23576           add some more unit tests
23577         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23578         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23579           fix leaked refcounts (I hope :)) so unittest works
23580         * gst/gstpad.h:
23581           whitespace removal
23582
23583 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23584
23585         * configure.ac: back to HEAD
23586
23587 === release 0.9.1 ===
23588
23589 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23590
23591         * NEWS:
23592         * RELEASE:
23593           updated
23594
23595 2005-06-17  Andy Wingo  <wingo@pobox.com>
23596
23597         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23598         assert; it's always possible that the pad gets deactivated in
23599         between the checks in gstpad.c and the implementation. Rely on
23600         finish_preroll() to return a FLUSHING or similar instead of on the
23601         assert.
23602         
23603         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23604         clock and post an EOS message if we come out of finish_preroll in
23605         the playing state.
23606
23607 2005-06-16  David Schleef  <ds@schleef.org>
23608
23609         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23610         (gst_capsfilter_set_property): Allow NULL as possible value
23611         for filter_caps property, indicating GST_CAPS_ANY.
23612
23613 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23614
23615         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23616           fix debug output
23617         * gst/schedulers/Makefile.am:
23618           use libgst prefix
23619         * gstreamer.spec.in:
23620           fix spec for it
23621
23622 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23623
23624         * gstreamer.spec.in:
23625           clean up
23626
23627 2005-06-08  Andy Wingo  <wingo@pobox.com>
23628
23629         * gst/gstutils.c: RPAD fixes all around.
23630         (gst_element_link_pads): Refcounting fixes.
23631
23632         * tools/gst-inspect.c:
23633         * tools/gst-xmlinspect.c:
23634         * parse/grammar.y:
23635         * gst/base/gsttypefindhelper.c:
23636         * gst/base/gstbasesink.c:
23637         * gst/gstqueue.c: RPAD fixes.
23638
23639         * gst/gstghostpad.h:
23640         * gst/gstghostpad.c: New ghost pad implementation as full proxy
23641         pads. The tricky thing is they provide both source and sink
23642         interfaces, since they proxy the internal pad for the external
23643         pad, and vice versa. Implement with lower-level ProxyPad objects,
23644         with the interior proxy pad as a child of the exterior ghost pad.
23645         Should write a doc on this.
23646         
23647         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23648         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23649         gst_object API.
23650         
23651         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23652         pads are real pads. No ghost pads in this file. Not documenting
23653         the myriad s/RPAD/PAD/ and REALIZE fixes.
23654         (gst_pad_class_init): Add properties for "direction" and
23655         "template". Both are construct-only, so they can't change during
23656         the life of the pad. Fixes properly deriving from GstPad.
23657         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23658         derived objects, just set properties when creating the objects via
23659         g_object_new.
23660         (gst_pad_get_parent): Implement as a function, return NULL if the
23661         parent is not an element.
23662         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23663         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23664         
23665         * gst/gstobject.c (gst_object_class_init): Make name a construct
23666         property. Don't set it in the object init.
23667
23668         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23669         with UNKNOWN direction.
23670         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23671         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23672         (gst_element_remove_pad): Remove ghost-pad special cases.
23673         (gst_element_pads_activate): Remove rpad cruft.
23674
23675         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23676         catch the pad's-parent-not-an-element case.
23677
23678         * gst/gst.h: Include gstghostpad.h.
23679
23680         * gst/gst.c (init_post): No more real, ghost pads.
23681
23682         * gst/Makefile.am: Add gstghostpad.[ch].
23683
23684         * check/Makefile.am:
23685         * check/gst/gstbin.c:
23686         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23687         into a bin creates ghost pads, and that the refcounts are right.
23688         Partly moved from gstbin.c.
23689
23690 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23691
23692         * check/gst-libs/.cvsignore:
23693         * check/gst/.cvsignore:
23694         * check/pipelines/.cvsignore:
23695           ignore more
23696         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23697         (START_TEST), (cleanup_suite), (main):
23698           add some tests related to cleanup after running pipelines
23699
23700 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23701
23702         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23703           add a testsuite for GstBuffer
23704
23705 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23706
23707         * gst/gstminiobject.h:
23708           add defines for accessing the refcount
23709
23710 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
23711
23712         * Makefile.am: added support for html unit test coverage reports
23713
23714 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
23715
23716         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23717           Free existing caps if the capsfilter changes. Add a FIXME about
23718           setting those caps on the pads.
23719
23720         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
23721           Before adding a ghost pad to a parent bin, check that there isn't
23722           already one for the element on the bin. Prevents infinite recursion
23723           when using decodebin in parse pipelines. Andy says he'll rewrite the
23724           way this works anyway, so ignore the hack.
23725
23726 2005-06-02  Andy Wingo  <wingo@pobox.com>
23727
23728         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
23729         file size, pass it on to the type find helper.
23730
23731         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
23732         segment_start and segment_end properly according to the seek
23733         method. Segment_end is still a bit flaky because offset can be
23734         negative for CUR and END cases, but it takes -1 as an "unset"
23735         value.
23736
23737 2005-06-02  Wim Taymans  <wim@fluendo.com>
23738
23739         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
23740         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
23741         (gst_basesink_activate):
23742         * gst/base/gstbasesink.h:
23743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23744         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23745         (gst_pad_query), (gst_pad_start_task):
23746         * gst/gstpad.h:
23747         * gst/gstqueue.c: (gst_queue_bufferalloc),
23748         (gst_queue_handle_sink_event), (gst_queue_chain):
23749         Bufferalloc: return GstFlowReturn to more accuratly report
23750         why allocation failed.
23751
23752 2005-06-02  Wim Taymans  <wim@fluendo.com>
23753
23754         * gst/gstpipeline.c: (gst_pipeline_send_event):
23755         Take snapshot of state without blocking.
23756
23757 2005-06-02  Wim Taymans  <wim@fluendo.com>
23758
23759         * docs/design/part-TODO.txt:
23760         * docs/design/part-caps.txt:
23761         * docs/design/part-clocks.txt:
23762         * docs/design/part-negotiation.txt:
23763         * docs/design/part-preroll.txt:
23764         Small doc updates 
23765
23766 2005-05-30  Wim Taymans  <wim@fluendo.com>
23767
23768         * gst/elements/gstidentity.c: (gst_identity_event),
23769         (gst_identity_transform), (gst_identity_get_property):
23770         Protect last_message property as it is accessed from
23771         multiple threads.
23772
23773 2005-05-30  Wim Taymans  <wim@fluendo.com>
23774
23775         * gst/gstelement.c: (gst_element_init),
23776         (gst_element_pads_activate), (gst_element_change_state):
23777         Slicker pad activation code.
23778
23779 2005-05-30  Wim Taymans  <wim@fluendo.com>
23780
23781         * gst/Makefile.am:
23782         * gst/gstelement.h:
23783         * gst/gstelementfactory.h:
23784         * gst/gsttypes.h:
23785         Move elementfactory methods to separate .h file.
23786
23787 2005-05-30  Wim Taymans  <wim@fluendo.com>
23788
23789         * docs/design/part-overview.txt:
23790         * gst/gstsystemclock.h:
23791         Small typo fixes, doc updates.
23792
23793 2005-05-30  Wim Taymans  <wim@fluendo.com>
23794
23795         * gst/gst.c: (gst_init_get_popt_table), (init_post),
23796         (init_popt_callback):
23797         Remove cpu-opt flag.
23798
23799 2005-05-30  Wim Taymans  <wim@fluendo.com>
23800
23801         * gst/gstbuffer.c: (gst_subbuffer_finalize),
23802         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
23803         * gst/gstbuffer.h:
23804         Avoid typechecking in places where not needed.
23805         Added accessor for malloc_data.
23806
23807 2005-05-30  Wim Taymans  <wim@fluendo.com>
23808
23809         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
23810         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
23811         (gst_pad_configure_sink), (gst_pad_configure_src),
23812         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
23813         (gst_pad_start_task):
23814         Propagate errors from _set_caps() in configure_src/sink
23815         functions instead of returning TRUE.
23816         FLUSH events can travel up and downstream
23817
23818
23819 2005-05-30  Wim Taymans  <wim@fluendo.com>
23820
23821         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23822         (gst_basesink_activate):
23823         Handle EOS in preroll.
23824
23825 2005-05-30  Wim Taymans  <wim@fluendo.com>
23826
23827         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23828         (gst_queue_loop), (gst_queue_handle_src_event):
23829         Remove old pieces of code
23830         Flushing the queue in an upstream event is a very bad idea.
23831
23832 2005-05-26  Andy Wingo  <wingo@pobox.com>
23833
23834         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
23835         gst_value_set_mini_object so as to add a ref on the object (which
23836         will be removed when the value is unset).
23837
23838         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
23839         arg type in ::handoff.
23840
23841         * gst/gstelement.c (gst_element_change_state): Also deactivate
23842         pads in READY->NULL, just in case the element didn't make it to
23843         PAUSED. Wingo tested, Wim approved.
23844
23845 2005-05-26  Wim Taymans  <wim@fluendo.com>
23846
23847         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23848         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23849         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
23850         A flushing pad cannot be used to alloc_buffer from.
23851
23852 2005-05-26  Wim Taymans  <wim@fluendo.com>
23853
23854         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
23855         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
23856         (gst_bus_source_dispatch), (gst_bus_source_finalize),
23857         (gst_bus_create_watch), (gst_bus_add_watch_full):
23858         * gst/gstbus.h:
23859         Implement a real GSource and use g_main_context_wakeup() to
23860         signal new messages instead of the socketpair.
23861
23862 2005-05-25  Wim Taymans  <wim@fluendo.com>
23863
23864         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
23865         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
23866         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23867         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23868         (gst_pad_send_event), (gst_pad_start_task):
23869         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
23870         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23871         (gst_queue_sink_activate), (gst_queue_src_activate),
23872         (gst_queue_change_state):
23873         * gst/gstqueue.h:
23874         Fix state changes for non sinks. We now change sinks, then elements
23875         with unconnected srcpads, then the rest.
23876         More efficient queue unlocking in flush and state changes.
23877         Set the pad activate mode even if it does not have an activate
23878         function.
23879
23880 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23881
23882         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
23883           Don't go in pull mode for non-seekable sources.
23884         * gst/elements/gsttypefindelement.h:
23885         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23886         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
23887         (free_entry), (stop_typefinding),
23888         (gst_type_find_element_handle_event), (find_peek),
23889         (gst_type_find_element_chain), (do_pull_typefind),
23890         (gst_type_find_element_change_state):
23891           Allow typefinding (w/o seeking) in push-mode, simplified version
23892           of what was in 0.8.
23893         * gst/gstutils.c: (gst_buffer_join):
23894         * gst/gstutils.h:
23895           gst_buffer_join() from 0.8.
23896
23897 2005-05-25  Wim Taymans  <wim@fluendo.com>
23898
23899         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23900         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23901         (gst_pad_send_event), (gst_pad_start_task):
23902         Disable attempt at mode switching until it is figured out.
23903
23904 2005-05-25  Wim Taymans  <wim@fluendo.com>
23905
23906         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
23907         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23908         (gst_basesink_finish_preroll), (gst_basesink_chain),
23909         (gst_basesink_loop), (gst_basesink_activate),
23910         (gst_basesink_change_state):
23911         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
23912         (gst_basesrc_get_range), (gst_basesrc_loop),
23913         (gst_basesrc_activate):
23914         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23915         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23916         (gst_real_pad_init), (gst_real_pad_set_property),
23917         (gst_real_pad_get_property), (gst_pad_set_active),
23918         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
23919         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
23920         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
23921         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
23922         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23923         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
23924         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
23925         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23926         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
23927         (gst_pad_stop_task):
23928         * gst/gstpad.h:
23929         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23930         (gst_queue_loop), (gst_queue_src_activate):
23931         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
23932         (gst_task_get_state):
23933         * gst/gsttask.h:
23934         * gst/schedulers/threadscheduler.c:
23935         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23936         Implement gst_pad_pause/start/stop_task(), take STREAM lock
23937         in task function.
23938         Remove ACTIVE pad flag, use FLUSHING everywhere
23939         Added _pad_chain(), _pad_get_range() to call chain/getrange 
23940         functions.
23941         Add locks around IS_FLUSHING when reading.
23942         Take STREAM lock in chain(), get_range() functions so plugins
23943         don't need to take it anymore.
23944         
23945
23946
23947 2005-05-25  Wim Taymans  <wim@fluendo.com>
23948
23949         * tools/gst-launch.c: (event_loop):
23950         Unref message after using its contents instead of
23951         before.
23952
23953 2005-05-24  Wim Taymans  <wim@fluendo.com>
23954
23955         * docs/design/draft-ghostpads.txt:
23956         * docs/design/draft-push-pull.txt:
23957         * docs/design/draft-query.txt:
23958         * docs/design/part-overview.txt:
23959         Docs updates, added general overview doc.
23960
23961 2005-05-21  David Schleef  <ds@schleef.org>
23962
23963         * docs/gst/tmpl/old/GstBin.sgml:
23964         * docs/gst/tmpl/old/GstBuffer.sgml:
23965         * docs/gst/tmpl/old/GstCaps.sgml:
23966         * docs/gst/tmpl/old/GstClock.sgml:
23967         * docs/gst/tmpl/old/GstCompat.sgml:
23968         * docs/gst/tmpl/old/GstData.sgml:
23969         * docs/gst/tmpl/old/GstElement.sgml:
23970         * docs/gst/tmpl/old/GstEvent.sgml:
23971         * docs/gst/tmpl/old/GstIndex.sgml:
23972         * docs/gst/tmpl/old/GstStructure.sgml:
23973         * docs/gst/tmpl/old/GstTag.sgml:
23974         * docs/gst/tmpl/old/cothreads.sgml:
23975         * docs/gst/tmpl/old/cothreads_compat.sgml:
23976         * docs/gst/tmpl/old/gettext.sgml:
23977         * docs/gst/tmpl/old/gobject2gtk.sgml:
23978         * docs/gst/tmpl/old/grammar.tab.sgml:
23979         * docs/gst/tmpl/old/gst-i18n-app.sgml:
23980         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23981         * docs/gst/tmpl/old/gst_private.sgml:
23982         * docs/gst/tmpl/old/gstaggregator.sgml:
23983         * docs/gst/tmpl/old/gstarch.sgml:
23984         * docs/gst/tmpl/old/gstatomic_impl.sgml:
23985         * docs/gst/tmpl/old/gstbufferstore.sgml:
23986         * docs/gst/tmpl/old/gstdata_private.sgml:
23987         * docs/gst/tmpl/old/gstdisksink.sgml:
23988         * docs/gst/tmpl/old/gstdisksrc.sgml:
23989         * docs/gst/tmpl/old/gstelementfactory.sgml:
23990         * docs/gst/tmpl/old/gstextratypes.sgml:
23991         * docs/gst/tmpl/old/gstfakesink.sgml:
23992         * docs/gst/tmpl/old/gstfakesrc.sgml:
23993         * docs/gst/tmpl/old/gstfdsink.sgml:
23994         * docs/gst/tmpl/old/gstfdsrc.sgml:
23995         * docs/gst/tmpl/old/gstfilesink.sgml:
23996         * docs/gst/tmpl/old/gstfilesrc.sgml:
23997         * docs/gst/tmpl/old/gsthttpsrc.sgml:
23998         * docs/gst/tmpl/old/gstidentity.sgml:
23999         * docs/gst/tmpl/old/gstindexfactory.sgml:
24000         * docs/gst/tmpl/old/gstmarshal.sgml:
24001         * docs/gst/tmpl/old/gstmd5sink.sgml:
24002         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
24003         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
24004         * docs/gst/tmpl/old/gstpadtemplate.sgml:
24005         * docs/gst/tmpl/old/gstpipefilter.sgml:
24006         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
24007         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
24008         * docs/gst/tmpl/old/gstshaper.sgml:
24009         * docs/gst/tmpl/old/gstspider.sgml:
24010         * docs/gst/tmpl/old/gstspideridentity.sgml:
24011         * docs/gst/tmpl/old/gststatistics.sgml:
24012         * docs/gst/tmpl/old/gsttee.sgml:
24013         * docs/gst/tmpl/old/gsttimecache.sgml:
24014         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
24015         * docs/gst/tmpl/old/gstxmlregistry.sgml:
24016         * docs/gst/tmpl/old/gthread-cothreads.sgml:
24017         * docs/gst/tmpl/old/types.sgml:
24018           I didn't intend to add these or check them in.
24019
24020 2005-05-19  David Schleef  <ds@schleef.org>
24021
24022         * configure.ac: Use -no-common everywhere.  In a sane world, it
24023           would be the default in libtool, because without it, you can't
24024           build DLLs on Windows.
24025         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
24026         * docs/gst/gstreamer-sections.txt:
24027         * docs/gst/tmpl/gstcpu.sgml:
24028         * docs/gst/tmpl/gstdata.sgml:
24029         * docs/gst/tmpl/gstthread.sgml:
24030
24031 2005-05-19  David Schleef  <ds@schleef.org>
24032
24033         * gst/gstminiobject.c: (gst_value_set_mini_object),
24034         (gst_value_take_mini_object), (gst_value_get_mini_object):
24035         * gst/gstminiobject.h: Add GValue set/get functions.
24036
24037 2005-05-19  Wim Taymans  <wim@fluendo.com>
24038
24039         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
24040         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
24041         (gst_subbuffer_init), (gst_buffer_is_span_fast):
24042         * gst/gstbuffer.h:
24043         * gst/gstbus.c: (gst_bus_post):
24044         * gst/gstelement.c: (gst_element_get_random_pad):
24045         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
24046         Make subbufer unref the parent in finalize.
24047         some more debugging info.
24048
24049
24050 2005-05-19  Wim Taymans  <wim@fluendo.com>
24051
24052         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24053         (gst_basesink_init), (gst_basesink_finalize),
24054         (gst_basesink_activate), (gst_basesink_change_state):
24055         Don't free preroll queue too early.
24056
24057 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24058
24059         * gst/Makefile.am:
24060         * gst/ROADMAP:
24061           Hi, I'm outdated. Please shoot me.
24062
24063 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24064
24065         * gst/gstpipeline.c: (gst_pipeline_send_event):
24066           Do not access variables after they have been deleted.
24067
24068 2005-05-19  Wim Taymans  <wim@fluendo.com>
24069
24070         * tools/gst-inspect.c: (print_plugin_features):
24071         A plugin feature does unfortunatly not use the
24072         object name yet...
24073
24074 2005-05-18  Wim Taymans  <wim@fluendo.com>
24075
24076         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
24077         Port _span() functions to new subbuffers.
24078
24079 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24080
24081         * gst/gstbin.c: (gst_bin_add_func):
24082           Fix clock settery in bins when adding kids after the clock has
24083           been selected.
24084
24085 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24086
24087         * gst/elements/gstidentity.c: (gst_identity_class_init):
24088           Workaround until signals support GstMiniObject.
24089
24090 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
24091
24092         * gst/gstbuffer.c:
24093         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
24094
24095 2005-05-18  Wim Taymans  <wim@fluendo.com>
24096
24097         * gst/base/Makefile.am:
24098         * gst/base/gstadapter.c: (gst_adapter_base_init),
24099         (gst_adapter_class_init), (gst_adapter_init),
24100         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
24101         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
24102         (gst_adapter_flush), (gst_adapter_available),
24103         (gst_adapter_available_fast):
24104         * gst/base/gstadapter.h:
24105         Ported and added adapter to the base classes.
24106
24107 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24108
24109         * gst/gst.c:
24110         * gst/gstmessage.c:
24111           Make sure the class is reffed/unreffed once before threads can be
24112           used.  Fixes #304551.
24113
24114 2005-05-17  Wim Taymans  <wim@fluendo.com>
24115
24116         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
24117         (gst_basesink_chain_unlocked), (gst_basesink_activate):
24118         * gst/gstminiobject.c: (gst_mini_object_get_type),
24119         (gst_mini_object_free):
24120         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
24121         (gst_pad_push), (gst_pad_push_event):
24122         * gst/gstqueue.c: (gst_queue_change_state):
24123         Don't queue buffers in basesink when we are flushing.
24124         Unref buffer when flushing in basesink.
24125         Flush queue when going to READY
24126         Unref buffer when _push() returns an error.
24127         Don't free MiniObject instance when refcount is incremented
24128         in _finalize() so that we can recover objects.
24129
24130 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24131
24132         * docs/manual/advanced-schedulers.xml:
24133         * docs/manual/appendix-checklist.xml:
24134         * docs/pwg/advanced-clock.xml:
24135         * docs/pwg/advanced-interfaces.xml:
24136         * docs/pwg/advanced-request.xml:
24137         * docs/pwg/advanced-types.xml:
24138         * docs/pwg/intro-preface.xml:
24139         * examples/plugins/example.c: (gst_example_get_type),
24140         (gst_example_class_init), (gst_example_chain),
24141         (gst_example_set_property), (gst_example_get_property),
24142         (gst_example_change_state), (plugin_init):
24143         * examples/plugins/example.h:
24144           small doc fixes
24145
24146 2005-05-17  Wim Taymans  <wim@fluendo.com>
24147
24148         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
24149         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
24150         * gst/gstqueue.c: (gst_queue_change_state):
24151         Clear queue when going to READY.
24152         Remove IN_SETCAPS flag too.
24153
24154 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
24155
24156         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
24157           Remove implicit cast from gboolean to GstElementStateReturn;
24158           make sure we still return failure in paused => ready case if
24159           the parent class fails to change state and our own stop 
24160           vfunc succeeds.
24161
24162 2005-05-17  Wim Taymans  <wim@fluendo.com>
24163
24164         * tools/gst-launch.c: (event_loop):
24165         Message was unreffed too soon.
24166
24167 2005-05-16  Andy Wingo  <wingo@pobox.com>
24168
24169         * gst/gstbin.c (sink_iterator_filter): Err... um...
24170
24171         * check/gst/gstbin.c (test_ghost_pads): New test for the
24172         ghosting-if-elements-not-in-same-bin behavior.
24173
24174 2005-05-16  David Schleef  <ds@schleef.org>
24175
24176         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
24177         accessing refcount directly.
24178
24179 2005-05-15  David Schleef  <ds@schleef.org>
24180
24181         * check/Makefile.am: remove GstData checks
24182         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
24183         * gst/Makefile.am: add miniobject, remove data
24184         * gst/gst.h: add miniobject, remove data
24185         * gst/gstdata.c: remove
24186         * gst/gstdata.h: remove
24187         * gst/gstdata_private.h: remove
24188         * gst/gsttypes.h: remove GstEvent and GstMessage
24189         * gst/gstelement.c: (gst_element_post_message): fix for API changes
24190         * gst/gstmarshal.list: change BOXED -> OBJECT
24191
24192         Implement GstMiniObject.
24193         * gst/gstminiobject.c:
24194         * gst/gstminiobject.h:
24195
24196         Modify to be subclasses of GstMiniObject.
24197         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
24198         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
24199         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
24200         (gst_subbuffer_get_type), (gst_subbuffer_init),
24201         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
24202         (gst_buffer_span):
24203         * gst/gstbuffer.h:
24204         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
24205         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
24206         (_gst_event_copy), (gst_event_new):
24207         * gst/gstevent.h:
24208         * gst/gstmessage.c: (_gst_message_initialize),
24209         (gst_message_get_type), (gst_message_class_init),
24210         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
24211         (gst_message_new), (gst_message_new_error),
24212         (gst_message_new_warning), (gst_message_new_tag),
24213         (gst_message_new_state_changed), (gst_message_new_application):
24214         * gst/gstmessage.h:
24215         * gst/gstprobe.c: (gst_probe_perform),
24216         (gst_probe_dispatcher_dispatch):
24217         * gst/gstprobe.h:
24218         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24219         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24220         (_gst_query_copy), (gst_query_new):
24221
24222         Update elements for GstData -> GstMiniObject changes
24223         * gst/gstquery.h:
24224         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24225         (gst_queue_chain), (gst_queue_loop):
24226         * gst/elements/gstbufferstore.c:
24227         (gst_buffer_store_add_buffer_func),
24228         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24229         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24230         (gst_fakesink_render):
24231         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24232         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24233         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24234         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24235         (gst_filesrc_create_read):
24236         * gst/elements/gstidentity.c: (gst_identity_class_init):
24237         * gst/elements/gsttypefindelement.c:
24238         (gst_type_find_element_src_event), (free_entry_buffers),
24239         (gst_type_find_element_handle_event):
24240         * libs/gst/dataprotocol/dataprotocol.c:
24241         (gst_dp_header_from_buffer):
24242         * libs/gst/dataprotocol/dataprotocol.h:
24243         * libs/gst/dataprotocol/dp-private.h:
24244
24245 2005-05-15  David Schleef  <ds@schleef.org>
24246
24247         * gst/elements/gstelements.c: Don't include headers that were
24248         just removed.
24249
24250 2005-05-15  David Schleef  <ds@schleef.org>
24251
24252         * gst/elements/Makefile.am: Remove some elements that don't
24253         need to be in the core (or even exist at all).
24254         * gst/elements/gstaggregator.c:
24255         * gst/elements/gstaggregator.h:
24256         * gst/elements/gstmd5sink.c:
24257         * gst/elements/gstmd5sink.h:
24258         * gst/elements/gstmultifilesrc.c:
24259         * gst/elements/gstmultifilesrc.h:
24260         * gst/elements/gstpipefilter.c:
24261         * gst/elements/gstpipefilter.h:
24262         * gst/elements/gstshaper.c:
24263         * gst/elements/gstshaper.h:
24264         * gst/elements/gststatistics.c:
24265         * gst/elements/gststatistics.h:
24266         * po/POTFILES.in: Remove above files.
24267
24268 2005-05-14  Andy Wingo  <wingo@pobox.com>
24269
24270         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24271         so as to get the refs right.
24272         (sink_iterator_filter): New function, wraps bin_element_is_sink,
24273         unreffing objects that don't pass the filter.
24274
24275         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24276         gst_element_set_bus.
24277         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24278         normal cases, this will destroy the bus.
24279
24280         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24281         object.
24282
24283         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24284         has no sinks.
24285
24286 2005-05-13  Andy Wingo  <wingo@pobox.com>
24287
24288         * gst/gstutils.c (gst_element_link_pads): Instead of calling
24289         gst_pad_link, call pad_link_maybe_ghosting,
24290         (pad_link_maybe_ghosting): Links pads, making sure that the
24291         elements being linked are in the same bin.
24292         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24293         Helpers for pad_link_maybe_ghosting.
24294
24295 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24296
24297         * configure.ac:
24298           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24299
24300 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24301
24302         * docs/design/part-element-source.txt:
24303           Mention GstPushSrc
24304
24305 2005-05-12  Wim Taymans  <wim@fluendo.com>
24306
24307         * gst/base/gstbasesink.c: (gst_basesink_init),
24308         (gst_basesink_activate):
24309         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24310         (gst_basesrc_is_seekable):
24311         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24312         (bin_element_is_sink), (gst_bin_change_state):
24313         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24314         * gst/gstelement.h:
24315         Identify sinks by their flag to avoid overly complicated
24316         checks (fow now).
24317         Do state changes even for elements not reachable from the
24318         sinks.
24319         BaseSink is a sink now :)
24320         Some more debugging info in the basesrc.
24321
24322
24323 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24324
24325         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24326           Implement _query on a bin, similar to _send_event.
24327
24328 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
24329
24330         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24331           Discont event offset format should be GST_FORMAT_BYTES,
24332           not GST_FORMAT_TIME.
24333
24334 2005-05-12  Wim Taymans  <wim@fluendo.com>
24335
24336         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24337         Same fix as Ronald's but without the signal. 
24338
24339 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24340
24341         * gst/gstutils.c: (gst_element_query_position):
24342           No, an element is not a pad.
24343
24344 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24345
24346         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24347         (gst_bin_get_state):
24348           If a child is removed from a bin while we remove the child from
24349           the bin and while we're retrieving its state, signal this to the
24350           get_state function so we abort the wait (instead of waiting for
24351           a timeout) and can immediately re-iterate over all other elements.
24352
24353 2005-05-12  Wim Taymans  <wim@fluendo.com>
24354
24355         * gst/base/Makefile.am:
24356         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24357         (gst_basesrc_start):
24358         * gst/base/gstbasesrc.h:
24359         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24360         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24361         (gst_pushsrc_init), (gst_pushsrc_create):
24362         * gst/base/gstpushsrc.h:
24363         Added is_seekable to BaseSrc
24364         Added simple PushSrc.
24365
24366 2005-05-11  Wim Taymans  <wim@fluendo.com>
24367
24368         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24369         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24370         (gst_element_link_pads), (gst_element_query_position),
24371         (gst_element_query_convert), (intersect_caps_func),
24372         (gst_pad_query_position), (gst_pad_query_convert):
24373         Fix refcounting in utils function.
24374         No point in trying to activate a pad when it's added, it could
24375         be added from the state change function and then we deadlock, the
24376         element has to decide what to do.
24377
24378 2005-05-10  Andy Wingo  <wingo@pobox.com>
24379
24380         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24381         *all* the arguments.
24382
24383         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24384         stream lock if it's a FLUSH_DONE; normal flushes don't get the
24385         lock (according to the docs -- if this is wrong change the docs).
24386
24387         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24388         flush messages in the NULL state.
24389
24390         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24391         message immediately and return.
24392         (gst_bus_set_flushing): New function. If a bus is flushing, it
24393         flushes out any queued messages and immediately unrefs new
24394         messages. This is so when an element goes to NULL, all of the
24395         unhandled messages coming from it can be freed, and their
24396         references to the element dropped. In other words: message source
24397         ref considered harmful :P
24398
24399         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24400         we're finished with it.
24401
24402         * gst/gstmessage.c (gst_message_new_state_changed): 
24403
24404 2005-05-10  Wim Taymans  <wim@fluendo.com>
24405
24406         * gst/gstvalue.c: (gst_value_compare_flags),
24407         (gst_value_serialize_flags), (gst_value_deserialize_flags),
24408         (_gst_value_initialize):
24409         Added flags serialize/deserialize/compare code.
24410
24411 2005-05-09  Andy Wingo  <wingo@pobox.com>
24412
24413         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24414         Intersect the peer's caps with our caps.
24415
24416 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24417
24418         * gst/base/gsttypefindhelper.c: (helper_find_peek):
24419         * gst/elements/gsttypefindelement.c: (find_peek):
24420           Handle negative offsets better. Fixes decodebin.
24421
24422 2005-05-09  Wim Taymans  <wim@fluendo.com>
24423
24424         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24425         (gst_base_transform_event):
24426         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24427         Implement accept_caps.
24428         Fix silly lock/unlock mismatch in base class.
24429
24430 2005-05-09  Wim Taymans  <wim@fluendo.com>
24431
24432         * docs/design/draft-push-pull.txt:
24433         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24434         * gst/elements/gstfilesink.c: (gst_filesink_init),
24435         (gst_filesink_query):
24436         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24437         (gst_type_find_handle_src_query), (find_element_get_length):
24438         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24439         * gst/gstelement.h:
24440         * gst/gstmessage.c:
24441         * gst/gstmessage.h:
24442         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24443         (gst_real_pad_get_caps_unlocked),
24444         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24445         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24446         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24447         (gst_real_pad_dispose), (gst_real_pad_finalize),
24448         (gst_pad_load_and_link), (gst_pad_save_thyself),
24449         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24450         (gst_pad_check_pull_range), (gst_pad_pull_range),
24451         (gst_pad_template_get_type), (gst_pad_template_class_init),
24452         (gst_pad_template_init), (gst_pad_template_dispose),
24453         (name_is_valid), (gst_static_pad_template_get),
24454         (gst_pad_template_new), (gst_static_pad_template_get_caps),
24455         (gst_pad_template_get_caps), (gst_pad_set_element_private),
24456         (gst_pad_get_element_private), (gst_pad_start_task),
24457         (gst_pad_pause_task), (gst_pad_stop_task),
24458         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24459         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24460         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24461         (gst_ghost_pad_new):
24462         * gst/gstpad.h:
24463         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24464         (gst_query_new_position), (gst_query_set_position),
24465         (gst_query_parse_position), (gst_query_new_convert),
24466         (gst_query_set_convert), (gst_query_parse_convert):
24467         * gst/gstquery.h:
24468         * gst/gstqueryutils.c:
24469         * gst/gstqueryutils.h:
24470         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24471         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24472         (gst_queue_handle_src_query):
24473         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24474         (gst_element_query_position), (gst_element_query_convert),
24475         (intersect_caps_func), (gst_pad_query_position),
24476         (gst_pad_query_convert):
24477         * gst/gstutils.h:
24478         * tools/gst-inspect.c: (print_pad_info):
24479         * tools/gst-xmlinspect.c: (print_element_info):
24480         Remove old query functions. Ported old code.
24481         Added position/convert helper functions to gstutils.
24482         Reordered gstpad.c code, grouping relevant things.
24483         Remove gst_message_new(), always need to speficy a specific
24484         message.
24485
24486
24487 2005-05-09  Andy Wingo  <wingo@pobox.com>
24488
24489         * gst/gstiterator.h: Add some includes.
24490
24491         * gst/gstqueryutils.h: Include more headers.
24492
24493         * gst/gstpad.h:
24494         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24495         some uses of gst_pad_query.
24496
24497         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24498         NULL out parameters.
24499         (gst_query_new_position): New proc, allocates a new position
24500         query.
24501
24502         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24503         gstqueryutils.c to the build.
24504
24505         * gst/gststructure.c (gst_structure_set_valist): Implement with
24506         the generic G_VALUE_COLLECT.
24507         
24508 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
24509
24510         * gst/Makefile.am: (gst_headers):
24511         Added gstqueryutils.h to the list of headers to install, that was
24512         a 'nachty' move wingo :)
24513
24514 2005-05-06  Andy Wingo  <wingo@pobox.com>
24515
24516         * gst/gstquery.h
24517         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24518         GstData, init a memchunk.
24519         (standard_definitions): Add a few query types, deprecate a few.
24520         (gst_query_get_type): New proc.
24521         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24522         implementation.
24523         (gst_query_new_application, gst_query_get_structure): New public
24524         procs.
24525
24526         * docs/design/draft-query.txt: Removed LINKS from the query types,
24527         because all the rest can be dispatched to other pads -- seemed
24528         ugly to have a query that couldn't be dispatched. internal_links
24529         is fine as a pad method.
24530
24531         * gst/gstpad.h: Add query2 as a pad method, add the new functions
24532         in gstpad.c, but maintain binary compatibility for the moment.
24533         Will fix before 0.9 is out.
24534
24535         * gst/gstqueryutils.c: 
24536         * gst/gstqueryutils.h: New files, implement 3 methods for each
24537         query type: parse_query, parse_response, and set. Probably need an
24538         allocator as well.
24539
24540         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24541
24542         * gst/elements/gstfilesink.c (gst_filesink_query2):
24543         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24544         query_types, and formats methods.
24545
24546         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24547         (gst_pad_set_query2_function): New functions.
24548         (gst_real_pad_init): Set query2_default as the default query2
24549         function. Basically just dispatches to internally linked pads.
24550
24551         Needs review!
24552         
24553         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24554         without using the atomic operations. Only one thread can possibly
24555         be accessing the data at this point. Changed so as to avoid
24556         gst_atomic operations.
24557
24558 2005-05-06  Wim Taymans  <wim@fluendo.com>
24559
24560         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24561         Also set caps if we use the fallback buffer alloc.
24562
24563 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
24564
24565         * docs/gst/Makefile.am:
24566         * docs/gst/gstreamer-docs.sgml:
24567         * docs/gst/gstreamer-sections.txt:
24568         * docs/gst/tmpl/gstatomic.sgml:
24569         * docs/gst/tmpl/gstmemchunk.sgml:
24570         * testsuite/elements/struct_i386.h:
24571         * win32/GStreamer.vcproj:
24572         * win32/Makefile:
24573           Purge GstAtomic stuff from docs and win32 makefiles as well
24574
24575 2005-05-06  Wim Taymans  <wim@fluendo.com>
24576
24577         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24578         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24579         * gst/gstpad.c: (gst_pad_peer_get_caps):
24580         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24581         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24582         (gst_queue_src_activate), (gst_queue_change_state):
24583         * gst/gstqueue.h:
24584         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24585         (intersect_caps_func):
24586         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24587         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24588         Some fixes for the peer_get_caps() change.
24589
24590 2005-05-06  Wim Taymans  <wim@fluendo.com>
24591
24592         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24593         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24594         (gst_basesink_activate):
24595         Actually do something with error codes returned from the push
24596         functions.
24597
24598 2005-05-06  Wim Taymans  <wim@fluendo.com>
24599
24600         * docs/design/part-element-sink.txt:
24601         * docs/design/part-element-source.txt:
24602         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24603         (gst_basesink_event), (gst_basesink_activate):
24604         * gst/base/gstbasesink.h:
24605         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24606         (gst_basesrc_activate):
24607         * gst/base/gstbasesrc.h:
24608         * gst/gstelement.c: (gst_element_pads_activate):
24609         Some more documentation.
24610         Fixed scheduling decision in _pads_activate().
24611
24612 2005-05-05  Andy Wingo  <wingo@pobox.com>
24613
24614         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24615         the test suite.
24616
24617 2005-05-05  Wim Taymans  <wim@fluendo.com>
24618
24619         * gst/base/Makefile.am:
24620         * gst/base/gstbasesink.h:
24621         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24622         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24623         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24624         (gst_collectpads_class_init), (gst_collectpads_init),
24625         (gst_collectpads_finalize), (gst_collectpads_new),
24626         (gst_collectpads_set_function), (gst_collectpads_add_pad),
24627         (find_pad), (gst_collectpads_remove_pad),
24628         (gst_collectpads_is_active), (gst_collectpads_collect),
24629         (gst_collectpads_collect_range), (gst_collectpads_start),
24630         (gst_collectpads_stop), (gst_collectpads_peek),
24631         (gst_collectpads_pop), (gst_collectpads_available),
24632         (gst_collectpads_read), (gst_collectpads_flush),
24633         (gst_collectpads_chain):
24634         * gst/base/gstcollectpads.h:
24635         * gst/elements/Makefile.am:
24636         * gst/elements/gstelements.c:
24637         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24638         (gst_fakesink_get_times), (gst_fakesink_event),
24639         (gst_fakesink_preroll), (gst_fakesink_render):
24640         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24641         (gst_filesink_init), (gst_filesink_set_location),
24642         (gst_filesink_open_file), (gst_filesink_close_file),
24643         (gst_filesink_pad_query), (gst_filesink_event),
24644         (gst_filesink_render), (gst_filesink_change_state):
24645         * gst/elements/gstfilesink.h:
24646         Added object to help in making collect pad based elements.
24647         Ported filesink.
24648         Make event function in sink baseclass return gboolean.
24649
24650 2005-05-05  Wim Taymans  <wim@fluendo.com>
24651
24652         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24653         (gst_bin_get_by_name):
24654         * gst/gstbuffer.h:
24655         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24656         (gst_clock_finalize):
24657         * gst/gstdata.c: (gst_data_replace):
24658         * gst/gstdata.h:
24659         * gst/gstelement.c: (gst_element_request_pad),
24660         (gst_element_pads_activate):
24661         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24662         (gst_object_unref):
24663         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24664         (gst_pad_set_checkgetrange_function),
24665         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24666         (gst_pad_check_pull_range), (gst_pad_pull_range),
24667         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24668         (gst_pad_pause_task), (gst_pad_stop_task):
24669         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24670         (gst_element_request_pad), (gst_pad_proxy_getcaps):
24671         Fix name lookup in GstBin.
24672         Added _data_replace() function and _buffer_replace()
24673         Use finalize method to clean up clock.
24674         Fix refcounting on request pads.
24675         Fix pad schedule mode error.
24676         Some more object refcounting debug info,
24677
24678
24679 2005-05-04  Andy Wingo <wingo@pobox.com>
24680
24681         * check/Makefile.am:
24682         * docs/gst/tmpl/gstatomic.sgml:
24683         * docs/gst/tmpl/gstplugin.sgml:
24684         * gst/base/gstbasesink.c: (gst_basesink_activate):
24685         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24686         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24687         (gst_basesrc_query), (gst_basesrc_set_property),
24688         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24689         (gst_basesrc_activate):
24690         * gst/base/gstbasesrc.h:
24691         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24692         (gst_base_transform_src_activate):
24693         * gst/elements/gstelements.c:
24694         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24695         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24696         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24697         * gst/elements/gsttypefindelement.c: (find_element_get_length),
24698         (gst_type_find_element_checkgetrange),
24699         (gst_type_find_element_activate):
24700         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24701         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24702         (gst_caps_load_thyself):
24703         * gst/gstelement.c: (gst_element_pads_activate),
24704         (gst_element_save_thyself), (gst_element_restore_thyself):
24705         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24706         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24707         * gst/gstpad.h:
24708         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24709         (gst_xml_parse_file), (gst_xml_parse_memory),
24710         (gst_xml_get_element), (gst_xml_make_element):
24711         * gst/indexers/gstfileindex.c: (gst_file_index_load),
24712         (_file_index_id_save_xml), (gst_file_index_commit):
24713         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
24714         (read_enum), (load_pad_template), (load_feature), (load_plugin),
24715         (load_paths):
24716         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
24717         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
24718         * tools/gst-complete.c: (main):
24719         * tools/gst-compprep.c: (main):
24720         * tools/gst-inspect.c: (print_element_properties_info):
24721         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
24722         * tools/gst-xmlinspect.c: (print_element_properties):
24723         GCC 4 fixen.
24724         
24725 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24726
24727         * gst/gstplugin.c: (gst_plugin_check_module),
24728         (gst_plugin_check_file), (gst_plugin_load_file):
24729             apply patch from #172526 to make register work on MacOSX
24730
24731 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24732
24733         * docs/gst/tmpl/gstconfig.sgml:
24734         * gst/gstconfig.h.in:
24735           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
24736         * testsuite/debug/printf_extension.c: (main):
24737           Do not use GST_PTR_FORMAT on pointers to types with
24738           sizeof < sizeof(gpointer).  Fixes test on 64-bit
24739         * testsuite/elements/property.h:
24740           use correct printf format
24741
24742 2005-05-02  Wim Taymans  <wim@fluendo.com>
24743
24744         * docs/design/draft-push-pull.txt:
24745         * docs/design/draft-query.txt:
24746         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
24747         (gst_basesrc_start):
24748         Added draft for new query API.
24749         Added draft for better selecting scheduling methods.
24750         Make basesrc ignore length if the subclass does not support
24751         it.
24752
24753 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24754
24755         * gst/Makefile.am:
24756           possible fixes for automake-1.5 - _LIBADD is reserved
24757
24758 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24759
24760         * docs/faq/Makefile.am:
24761         * docs/manual/Makefile.am:
24762         * docs/manuals.mak:
24763         * docs/pwg/Makefile.am:
24764         * gst/Makefile.am:
24765           possible fixes for automake-1.5
24766
24767 2005-04-28  Wim Taymans  <wim@fluendo.com>
24768
24769         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24770         (gst_basesink_pad_getcaps), (gst_basesink_init),
24771         (gst_basesink_do_sync):
24772         * gst/gstclock.c: (gst_clock_entry_new):
24773         * gst/gstevent.c: (gst_event_discont_get_value):
24774         * gst/gstpipeline.c: (pipeline_bus_handler),
24775         (gst_pipeline_change_state):
24776         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
24777         Better debugging of clocking info.
24778         Allow NULL values when getting discont values.
24779
24780 2005-04-27  Wim Taymans  <wim@fluendo.com>
24781
24782         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24783         * check/gst/gstpad.c: (gst_pad_suite):
24784         Increase timeout for checks.
24785
24786 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24787
24788         * check/Makefile.am:
24789           fix the broken rule for cleanup.  Apparently this rule is
24790           only needed on FC2, so maybe this warrants further autotool
24791           inspection.
24792
24793 2005-04-26  Wim Taymans  <wim@fluendo.com>
24794
24795         * gst/gsttrashstack.h:
24796         Ooohh. a nasty one! After having a failed pop() from the stack,
24797         it's possible that the stack is empty. In that case, don't
24798         follow the NULL pointer.
24799
24800 2005-04-25  Wim Taymans  <wim@fluendo.com>
24801
24802         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24803         (gst_pad_set_checkgetrange_function),
24804         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
24805         (gst_pad_check_pull_range), (gst_pad_pull_range),
24806         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24807         (gst_pad_pause_task), (gst_pad_stop_task):
24808         * gst/gstplugin.c: (gst_plugin_load):
24809         * gst/gstplugin.h:
24810         Remove gst_library_load as it does more harm than good with
24811         the new g_module flags.
24812         Revert bogus caps template check in pad linking, pad caps
24813         are important when linking not the template, which is more
24814         general than the current caps.
24815
24816 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24817
24818         * gst/autoplug/.cvsignore:
24819         * gst/autoplug/Makefile.am:
24820         * gst/autoplug/gstsearchfuncs.c:
24821         * gst/autoplug/gstsearchfuncs.h:
24822         * gst/autoplug/gstspider.c:
24823         * gst/autoplug/gstspider.h:
24824         * gst/autoplug/gstspideridentity.c:
24825         * gst/autoplug/gstspideridentity.h:
24826         * gst/autoplug/spidertest.c:
24827           Die, spider, die.
24828
24829 2005-04-25  Wim Taymans  <wim@fluendo.com>
24830
24831         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24832         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24833         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
24834         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
24835         * gst/gstpad.h:
24836         Added stubs for unimplemented functions. 
24837
24838 2005-04-24  David Schleef  <ds@schleef.org>
24839
24840         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
24841         please fix.
24842
24843 2005-04-24  David Schleef  <ds@schleef.org>
24844
24845         Convert everything from GstAtomicInt to g_atomic_int_*, and
24846         remove gstatomic.
24847         * gst/Makefile.am:
24848         * gst/gstatomic.c:
24849         * gst/gstatomic.h:
24850         * gst/gstatomic_impl.h:
24851         * gst/gstbuffer.c:
24852         * gst/gstcaps.c:
24853         * gst/gstcaps.h:
24854         * gst/gstclock.c:
24855         * gst/gstclock.h:
24856         * gst/gstdata.c:
24857         * gst/gstdata.h:
24858         * gst/gstdata_private.h:
24859         * gst/gstevent.c:
24860         * gst/gstinfo.c:
24861         * gst/gstinfo.h:
24862         * gst/gstmessage.c:
24863         * gst/gstobject.c:
24864         * gst/gstobject.h:
24865         * gst/gststructure.c:
24866         * gst/gststructure.h:
24867         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
24868         * gst/gstutils.h:
24869
24870 2005-04-24  David Schleef  <ds@schleef.org>
24871
24872         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
24873         make the regressions tests work.  Remove some code that is no
24874         longer true.
24875         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
24876         Disable warning for pads without templates.
24877
24878 2005-04-24  David Schleef  <ds@schleef.org>
24879
24880         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
24881         functions that handle filtered links.
24882         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
24883         removed functions.
24884         * gst/gstutils.c: Fix/remove utility functions that handle
24885         filtered caps.
24886         * gst/gstutils.h:
24887         * gst/gstvalue.c: Add serialization/deserialization of caps
24888         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
24889         requires fixing so that the filter caps notation creates
24890         a capsfilter element and sets the filter_caps property.  I
24891         think everyone probably wants to keep the shorthand notation.
24892         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
24893         * docs/gst/tmpl/gstpad.sgml:
24894
24895         * gst/elements/gstelements.c: Register capsfilter element.
24896         * gst/Makefile.am: fix spacing
24897         * docs/random/ds/0.9-suggested-changes: random
24898
24899 2005-04-23  David Schleef  <ds@schleef.org>
24900
24901         * gst/elements/Makefile.am:
24902         * gst/elements/gstcapsfilter.c: New element that acts like an
24903         identity, but filters caps.  Will eventually replace filtered
24904         caps in pad linking.
24905         * gst/gstutils.c: (gst_element_create_all_pads): New function
24906         to create all the ALWAYS pads that are registered with an
24907         element class.  This functionality should eventually be
24908         merged in with GstElement initialization.
24909         * gst/gstutils.h:
24910         * testsuite/trigger/README: part of trigger test code that should
24911         have been checked in a long time ago.
24912
24913 2005-04-23  David Schleef  <ds@schleef.org>
24914
24915         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
24916         needed with new versions of libtool (nobody will confirm this),
24917         and hard to carry around.
24918         * gst/autoplug/Makefile.am:
24919         * gst/base/Makefile.am:
24920         * gst/elements/Makefile.am:
24921         * gst/indexers/Makefile.am:
24922         * gst/schedulers/Makefile.am:
24923         * libs/gst/bytestream/Makefile.am:
24924         * libs/gst/control/Makefile.am:
24925         * libs/gst/dataprotocol/Makefile.am:
24926         * libs/gst/getbits/Makefile.am:
24927
24928 2005-04-21  Wim Taymans  <wim@fluendo.com>
24929
24930         * docs/design/draft-push-pull.txt:
24931         * docs/design/part-MT-refcounting.txt:
24932         * docs/design/part-TODO.txt:
24933         * docs/design/part-caps.txt:
24934         * docs/design/part-events.txt:
24935         * docs/design/part-gstbus.txt:
24936         * docs/design/part-gstpipeline.txt:
24937         * docs/design/part-messages.txt:
24938         * docs/design/part-push-pull.txt:
24939         * docs/design/part-query.txt:
24940         Some more docs.
24941
24942 2005-04-21  Wim Taymans  <wim@fluendo.com>
24943
24944         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24945         (gst_message_new), (gst_message_new_error),
24946         (gst_message_new_warning), (gst_message_new_tag),
24947         (gst_message_new_state_changed), (gst_message_new_application),
24948         (gst_message_get_structure):
24949         * gst/gstmessage.h:
24950         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24951         (gst_structure_copy_conditional):
24952         Use parent refcount in GstMessage to ensure GstStructure
24953         consistency.
24954         Cleaned up headers a bit.
24955         
24956
24957 2005-04-20  Wim Taymans  <wim@fluendo.com>
24958
24959         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24960         (gst_basesink_pad_getcaps), (gst_basesink_init),
24961         (gst_basesink_chain_unlocked):
24962         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24963         (gst_type_find_helper):
24964         * gst/elements/gsttypefindelement.c:
24965         (gst_type_find_element_have_type), (gst_type_find_element_init),
24966         (stop_typefinding), (gst_type_find_element_handle_event),
24967         (find_suggest), (gst_type_find_element_chain),
24968         (gst_type_find_element_checkgetrange),
24969         (gst_type_find_element_getrange), (do_typefind),
24970         (gst_type_find_element_activate):
24971         * gst/gstbuffer.c: (_gst_buffer_sub_free),
24972         (gst_buffer_default_free), (gst_buffer_default_copy),
24973         (gst_buffer_set_caps):
24974         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24975         (gst_caps_replace):
24976         * gst/gstmessage.c: (gst_message_new),
24977         (gst_message_new_state_changed):
24978         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24979         (gst_pad_set_checkgetrange_function),
24980         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24981         (gst_pad_set_caps), (gst_pad_check_pull_range),
24982         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24983         * gst/gstpad.h:
24984         * gst/gsttypefind.c: (gst_type_find_register):
24985         Make gst_caps_replace() work like other _replace() functions.
24986         Use _caps_replace() where possible.
24987         Make sure _message_new() initialises its field.
24988         Add gst_static_pad_template_get_caps()
24989
24990
24991 2005-04-18  Andy Wingo  <wingo@pobox.com>
24992
24993         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24994         on the peer, not the pad. I think that was a typo. Pass an extra
24995         arg to see if random access is possible. Activate the pads as
24996         PULL_RANGE if possible.
24997
24998         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24999
25000         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
25001         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
25002         to PROP_....
25003
25004 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25005
25006         * docs/faq/using.xml:
25007           Add note on gstreamer-properties (#154996).
25008
25009 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25010
25011         * docs/random/bbb/optional-properties:
25012           Some analysis on optional properties.
25013
25014 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25015
25016         * docs/gst/tmpl/gstelementfactory.sgml:
25017         * gst/gstelement.h:
25018         * gst/gstelementfactory.c: (gst_element_factory_init),
25019         (gst_element_factory_cleanup), (gst_element_register),
25020         (__gst_element_factory_add_static_pad_template),
25021         (gst_element_factory_get_static_pad_templates),
25022         (gst_element_factory_can_src_caps),
25023         (gst_element_factory_can_sink_caps):
25024         * gst/registries/Makefile.am:
25025         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
25026         (gst_xml_registry_class_init), (gst_xml_registry_init),
25027         (gst_xml_registry_new), (gst_xml_registry_set_property),
25028         (gst_xml_registry_get_property), (get_time), (make_dir),
25029         (gst_xml_registry_get_perms_func),
25030         (plugin_times_older_than_recurse), (plugin_times_older_than),
25031         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
25032         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
25033         (add_to_char_array), (read_string), (read_uint), (read_enum),
25034         (load_pad_template), (load_feature), (load_plugin), (load_paths),
25035         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
25036         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
25037         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
25038         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
25039         (gst_xml_registry_rebuild):
25040         * gst/registries/gstlibxmlregistry.h:
25041         * tools/gst-compprep.c: (main):
25042         * tools/gst-inspect.c: (print_pad_templates_info):
25043         * tools/gst-xmlinspect.c: (print_element_info):
25044           Use libxml2 for registry parsing, use staticpadtemplates in
25045           elementfactories. Makes gst_init() +/- 10x faster.
25046
25047 2005-04-12  Wim Taymans  <wim@fluendo.com>
25048
25049         * gst/base/Makefile.am:
25050         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25051         (gst_basesink_pad_getcaps), (gst_basesink_init),
25052         (gst_basesink_event), (gst_basesink_change_state):
25053         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25054         (gst_basesrc_init), (gst_basesrc_query),
25055         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25056         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25057         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25058         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25059         (gst_basesrc_stop), (gst_basesrc_activate),
25060         (gst_basesrc_change_state):
25061         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25062         (helper_find_suggest), (gst_type_find_helper):
25063         * gst/base/gsttypefindhelper.h:
25064         * gst/elements/Makefile.am:
25065         * gst/elements/gstelements.c:
25066         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25067         (gst_fakesink_get_times), (gst_fakesink_event),
25068         (gst_fakesink_preroll), (gst_fakesink_render):
25069         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25070         (gst_fakesrc_init), (gst_fakesrc_event_handler),
25071         (gst_fakesrc_get_property), (gst_fakesrc_create),
25072         (gst_fakesrc_start), (gst_fakesrc_stop):
25073         * gst/elements/gstfakesrc.h:
25074         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
25075         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25076         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25077         (gst_filesrc_create_read), (gst_filesrc_create),
25078         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
25079         (gst_filesrc_start):
25080         * gst/elements/gsttypefindelement.c:
25081         (gst_type_find_element_have_type), (gst_type_find_element_init),
25082         (start_typefinding), (stop_typefinding), (push_buffer_store),
25083         (gst_type_find_element_handle_event),
25084         (gst_type_find_element_chain),
25085         (gst_type_find_element_checkgetrange),
25086         (gst_type_find_element_getrange), (do_typefind),
25087         (gst_type_find_element_activate),
25088         (gst_type_find_element_change_state):
25089         * gst/elements/gsttypefindelement.h:
25090         * gst/gstpipeline.c: (pipeline_bus_handler):
25091         Added typefind helper.
25092         Small preroll fix in the base sink.
25093         Disable typefind code in basesrc.
25094         Crude port of typefindelement.
25095         Fakesrc cleanups.
25096
25097
25098 2005-04-11  Wim Taymans  <wim@fluendo.com>
25099
25100         * check/gst/gstbus.c: (gstbus_suite):
25101         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
25102         * check/gstcheck.h:
25103           Fix up the timeout so that the test does not fail.
25104
25105 2005-04-06  Wim Taymans  <wim@fluendo.com>
25106
25107         * gst/base/README:
25108         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25109         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
25110         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25111         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25112         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25113         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25114         (gst_basesrc_stop), (gst_basesrc_activate),
25115         (gst_basesrc_change_state), (basesrc_find_peek),
25116         (basesrc_find_suggest), (gst_basesrc_type_find):
25117         * gst/base/gstbasesrc.h:
25118         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
25119         (gst_filesrc_class_init), (gst_filesrc_init),
25120         (gst_filesrc_finalize), (gst_filesrc_set_location),
25121         (gst_filesrc_set_property), (gst_filesrc_get_property),
25122         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25123         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25124         (gst_filesrc_create_read), (gst_filesrc_create),
25125         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
25126         * gst/elements/gstfilesrc.h:
25127         * gst/gstelement.c: (gst_element_get_state_func),
25128         (gst_element_lost_state), (gst_element_pads_activate):
25129         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25130         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25131         (gst_pad_pull_range):
25132         * gst/gstpad.h:
25133         More work on the generic source base class, implement seeking,
25134         query.
25135         Make filesrc extend the base source class.
25136         Added gst_pad_set_checkgetrange_function to GstPad.
25137
25138 2005-04-06  Andy Wingo  <wingo@pobox.com>
25139
25140         * pkgconfig/gstreamer-base.pc.in:
25141         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
25142
25143         * pkgconfig/Makefile.am:
25144         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
25145
25146 2005-04-04  Wim Taymans  <wim@fluendo.com>
25147
25148         * gst/base/Makefile.am:
25149         * gst/base/README:
25150         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25151         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25152         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25153         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
25154         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25155         (gst_basesrc_base_init), (gst_basesrc_class_init),
25156         (gst_basesrc_init), (gst_basesrc_get_formats),
25157         (gst_basesrc_get_query_types), (gst_basesrc_query),
25158         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
25159         (gst_basesrc_set_property), (gst_basesrc_get_property),
25160         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
25161         (gst_basesrc_loop), (gst_basesrc_activate),
25162         (gst_basesrc_change_state):
25163         * gst/base/gstbasesrc.h:
25164         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
25165         (gst_fakesrc_class_init), (gst_fakesrc_init),
25166         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
25167         (gst_fakesrc_get_property), (gst_fakesrc_create):
25168         * gst/elements/gstfakesrc.h:
25169         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
25170         (gst_filesrc_open_file), (gst_filesrc_loop),
25171         (gst_filesrc_activate), (filesrc_find_peek),
25172         (gst_filesrc_type_find):
25173         Made base source class, make fakesrc extend it.
25174         Add comments to basesink class.
25175         Some filesrc cleanup.
25176
25177 2005-03-31  David Schleef  <ds@schleef.org>
25178
25179         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
25180         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
25181         expected to link against libgstreamer.
25182         * gst/base/Makefile.am: link against libgstreamer
25183         * gst/elements/Makefile.am: same
25184
25185 2005-03-31  Andy Wingo  <wingo@pobox.com>
25186
25187         * tests/instantiate/Makefile.am:
25188         * tests/instantiate/caps.c: Add test to test speed of caps copy
25189         and free.
25190
25191         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
25192         GMemChunk to be fair.
25193
25194         * gst/gsttrashstack.h: Remove warning about using the fallback
25195         trash stack implementation, it's still faster than malloc.
25196
25197 2005-03-30  Andy Wingo  <wingo@pobox.com>
25198
25199         * tests/complexity.c: Add a copyright.
25200
25201 2005-03-31  Wim Taymans  <wim@fluendo.com>
25202
25203         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
25204         (gst_base_transform_class_init), (gst_base_transform_init),
25205         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25206         (gst_base_transform_get_property),
25207         (gst_base_transform_sink_activate),
25208         (gst_base_transform_src_activate),
25209         (gst_base_transform_change_state):
25210         * gst/base/gstbasetransform.h:
25211         * gst/elements/gstidentity.c: (gst_identity_class_init),
25212         (gst_identity_event), (gst_identity_check_perfect),
25213         (gst_identity_transform), (gst_identity_start),
25214         (gst_identity_stop):
25215         Added start/stop methods to transform base class so subclasses 
25216         don't need to deal with state changes even.
25217
25218 2005-03-31  Wim Taymans  <wim@fluendo.com>
25219
25220         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25221         (gst_event_new_discontinuous), (gst_event_discont_get_value):
25222         * gst/gstevent.h:
25223         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25224         (gst_pad_pull_range):
25225         Added rate to the discont event to prepare for variable speed
25226         and reverse playback.
25227
25228 2005-03-29  David Schleef  <ds@schleef.org>
25229
25230         * configure.ac:
25231         * testsuite/trigger/Makefile.am:
25232         * testsuite/trigger/trigger.c: A little example program to show
25233         how trigger-based elements can work.
25234
25235 2005-03-29  Wim Taymans  <wim@fluendo.com>
25236
25237         * gst/base/Makefile.am:
25238         * gst/base/README:
25239         * gst/base/gstbasesink.c: (gst_basesink_get_type),
25240         (gst_basesink_base_init), (gst_basesink_class_init),
25241         (gst_basesink_pad_getcaps), (gst_basesink_init),
25242         (gst_basesink_activate), (gst_basesink_change_state):
25243         * gst/base/gstbasesink.h:
25244         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25245         (gst_base_transform_base_init), (gst_base_transform_finalize),
25246         (gst_base_transform_class_init), (gst_base_transform_init),
25247         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25248         (gst_base_transform_event), (gst_base_transform_getrange),
25249         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25250         (gst_base_transform_set_property),
25251         (gst_base_transform_get_property),
25252         (gst_base_transform_sink_activate),
25253         (gst_base_transform_src_activate),
25254         (gst_base_transform_change_state):
25255         * gst/base/gstbasetransform.h:
25256         * gst/elements/gstidentity.c: (gst_identity_finalize),
25257         (gst_identity_class_init), (gst_identity_init),
25258         (gst_identity_event), (gst_identity_check_perfect),
25259         (gst_identity_transform), (gst_identity_set_property),
25260         (gst_identity_get_property), (gst_identity_change_state):
25261         * gst/elements/gstidentity.h:
25262         * gst/gstelement.c: (gst_element_get_state_func),
25263         (gst_element_lost_state), (gst_element_pads_activate):
25264         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25265         (gst_pad_check_pull_range), (gst_pad_pull_range):
25266         * gst/gstpad.h:
25267         Simplify pad activation.
25268         Added function to check if pull_range can be performed.
25269         Error out when pulling inactive or flushing pads.
25270         Removed const from refcounted types as it does not make sense.
25271         Simplify pad templates in basesink
25272         Added base class for simple 1-to-1 transforms.
25273         Make identity subclass the base transform.
25274
25275 2005-03-29  Andy Wingo  <wingo@pobox.com>
25276
25277         * docs/libs/gstreamer-libs-overrides.txt: 
25278         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25279         really don't understand what's going on, but like whatever. I want
25280         green buildbot!
25281
25282         * docs/gst/Makefile.am:
25283         * docs/libs/Makefile.am: Dist the overrides files.
25284
25285         * check/Makefile.am (clean-local): Remove .libs directories.
25286
25287         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25288         elements to EXTRA_DIST, so po/ files are happy.
25289
25290         * po/POTFILES.in: Er, remove it here.
25291
25292         * po/POTFILES: Remove gstspider.c.
25293
25294         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25295
25296         * docs/libs/gstreamer-libs-docs.sgml: 
25297         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25298         bytestream.
25299
25300         * tests/complexity.c (main): Set the length of the preroll queue
25301         on the sinks to prevent a lockup.
25302
25303         * libs/gst/dataprotocol/Makefile.am: 
25304         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25305         the same as the one in check/gst-libs/gdp.c.
25306
25307         * po/, docs/gst/: Commit automatic changes to docs and po files.
25308
25309         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25310         the versioned libgstbase.
25311
25312         * check/Makefile.am: Depend on an unversioned gst-register, seems
25313         to make autoconf happier.
25314
25315         * gst/base/Makefile.am: Make libgstbase a versioned lib.
25316
25317 2005-03-28  Wim Taymans  <wim@fluendo.com>
25318
25319         * configure.ac:
25320         * docs/design/part-gstelement.txt:
25321         * docs/design/part-negotiation.txt:
25322         * docs/design/part-preroll.txt:
25323         * docs/design/part-scheduling.txt:
25324         * docs/design/part-states.txt:
25325         * gst/Makefile.am:
25326         * gst/base/Makefile.am:
25327         * gst/base/README:
25328         * gst/base/gstbasesink.c: (gst_basesink_get_template),
25329         (gst_basesink_base_init), (gst_basesink_class_init),
25330         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25331         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25332         (gst_basesink_set_pad_functions),
25333         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25334         (gst_basesink_set_property), (gst_basesink_get_property),
25335         (gst_base_sink_get_template), (gst_base_sink_get_caps),
25336         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25337         (gst_basesink_preroll_queue_push),
25338         (gst_basesink_preroll_queue_empty),
25339         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25340         (gst_basesink_event), (gst_basesink_get_times),
25341         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25342         (gst_basesink_chain_unlocked), (gst_basesink_chain),
25343         (gst_basesink_loop), (gst_basesink_activate),
25344         (gst_basesink_change_state):
25345         * gst/base/gstbasesink.h:
25346         * gst/elements/Makefile.am:
25347         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25348         (gst_fakesink_class_init), (gst_fakesink_init),
25349         (gst_fakesink_set_property), (gst_fakesink_get_property),
25350         (gst_fakesink_get_times), (gst_fakesink_event),
25351         (gst_fakesink_preroll), (gst_fakesink_render),
25352         (gst_fakesink_change_state):
25353         * gst/elements/gstfakesink.h:
25354         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25355         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25356         * gst/gstelement.c: (gst_element_add_pad),
25357         (gst_element_get_state_func), (gst_element_abort_state),
25358         (gst_element_commit_state), (gst_element_lost_state),
25359         (gst_element_set_state), (gst_element_pads_activate):
25360         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25361         * gst/gstpipeline.c: (gst_pipeline_send_event),
25362         (gst_pipeline_change_state):
25363         Added state change code.
25364         Added/updated docs.
25365         Added sink base class, make fakesink extend the base class.
25366         Small cleanups in GstPipeline.
25367
25368 2005-03-26  David Schleef  <ds@schleef.org>
25369
25370         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
25371         is broken and should be implemented in a different library.
25372         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25373         * gst/gst.h: remove gstcpu.h
25374         * gst/gstcpu.c: remove
25375         * gst/gstcpu.h: remove
25376         * gst/Makefile.am.future: Remove this file.  It's ancient.
25377
25378 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25379
25380         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25381         (gst_bin_send_event):
25382           Add default event/set_manager handlers. The set_manager handler
25383           takes care that the manager is distributed over kids that were
25384           already in the bin before the manager was set. The event handler
25385           is a utility virtual function that sends the event over all sinks,
25386           so that gst_element_send_event (bin, event); has the expected
25387           behaviour.
25388         * gst/gstpad.c: (gst_pad_event_default):
25389           Re-install default event handling for discontinuities, so that
25390           seeking works without requiring hacks in applications or extra
25391           code in sinks.
25392         * gst/gstpipeline.c: (gst_pipeline_class_init),
25393         (gst_pipeline_send_event):
25394           Half hack, half utility: set a pipeline to PAUSED for seek events,
25395           since that is the only way we can guarantee a/v sync. Means that
25396           you can do gst_element_seek (pipeline, method, pos); on a pipeline
25397           and it "just works".
25398
25399 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25400
25401         * gst/gstpipeline.c: (gst_pipeline_use_clock):
25402           Lock/unlock mismatch.
25403
25404 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25405
25406         * docs/faq/gst-uninstalled:
25407           add gst-plugins-base
25408         * docs/gst/Makefile.am:
25409           don't error out until docs are fixed
25410         * docs/gst/gstreamer.types:
25411           remove thread
25412
25413 2005-03-22  Wim Taymans  <wim@fluendo.com>
25414
25415         * check/Makefile.am:
25416         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25417         * gst/gststructure.c: (gst_structure_set_valist),
25418         (gst_structure_copy_conditional):
25419         Activated more tests.
25420         Added message test.
25421         Added G_TYPE_POINTER to GstStructure.
25422         
25423
25424 2005-03-22  Wim Taymans  <wim@fluendo.com>
25425
25426         * docs/design/part-TODO.txt:
25427         * docs/design/part-events.txt:
25428         * docs/design/part-gstbin.txt:
25429         * docs/design/part-gstbus.txt:
25430         * docs/design/part-gstpipeline.txt:
25431         * docs/design/part-messages.txt:
25432         * gst/gstbus.c:
25433         * gst/gstmessage.c:
25434         Docs updates
25435
25436 2005-03-21  Wim Taymans  <wim@fluendo.com>
25437
25438         * gst/gstbus.c: (gst_bus_post):
25439         Fix copy-and-paste error.
25440
25441 2005-03-21  Wim Taymans  <wim@fluendo.com>
25442
25443         * check/Makefile.am:
25444         * gst/Makefile.am:
25445         * gst/elements/Makefile.am:
25446         * gst/elements/gstelements.c:
25447         * gst/elements/gstfakesink.c: (gst_fakesink_init),
25448         (gst_fakesink_event), (gst_fakesink_chain):
25449         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25450         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25451         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25452         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25453         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25454         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25455         (gst_fakesrc_loop), (gst_fakesrc_activate),
25456         (gst_fakesrc_change_state):
25457         * gst/elements/gstfakesrc.h:
25458         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25459         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25460         (gst_filesrc_open_file), (gst_filesrc_loop),
25461         (gst_filesrc_activate), (gst_filesrc_change_state),
25462         (filesrc_find_peek), (filesrc_find_suggest),
25463         (gst_filesrc_type_find):
25464         * gst/elements/gstidentity.c: (gst_identity_finalize),
25465         (gst_identity_class_init), (gst_identity_init),
25466         (gst_identity_proxy_getcaps), (identity_queue_push),
25467         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25468         (gst_identity_getrange), (gst_identity_chain),
25469         (gst_identity_sink_loop), (gst_identity_src_loop),
25470         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25471         (gst_identity_set_property), (gst_identity_get_property),
25472         (gst_identity_change_state):
25473         * gst/elements/gstidentity.h:
25474         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25475         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25476         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25477         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25478         (gst_tee_sink_activate):
25479         * gst/elements/gsttee.h:
25480         * gst/gst.c: (gst_register_core_elements), (init_post):
25481         * gst/gst.h:
25482         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25483         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25484         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25485         (gst_bin_change_state):
25486         * gst/gstbin.h:
25487         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25488         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25489         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25490         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25491         (gst_bus_set_sync_handler), (gst_bus_create_watch),
25492         (bus_watch_callback), (bus_watch_destroy),
25493         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25494         (poll_timeout), (gst_bus_poll):
25495         * gst/gstbus.h:
25496         * gst/gstcaps.h:
25497         * gst/gstdata.h:
25498         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25499         (gst_element_post_message), (gst_element_message_full),
25500         (gst_element_get_state_func), (gst_element_get_state),
25501         (gst_element_abort_state), (gst_element_commit_state),
25502         (gst_element_lost_state), (gst_element_set_state),
25503         (gst_element_pads_activate), (gst_element_change_state),
25504         (gst_element_dispose), (gst_element_set_manager_func),
25505         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25506         (gst_element_set_manager), (gst_element_get_manager),
25507         (gst_element_set_bus), (gst_element_get_bus),
25508         (gst_element_set_scheduler), (gst_element_get_scheduler):
25509         * gst/gstelement.h:
25510         * gst/gstevent.c: (gst_event_new_segment_seek),
25511         (gst_event_new_flush):
25512         * gst/gstevent.h:
25513         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25514         (_gst_message_free), (gst_message_get_type), (gst_message_new),
25515         (gst_message_new_eos), (gst_message_new_error),
25516         (gst_message_new_warning), (gst_message_new_tag),
25517         (gst_message_new_state_changed), (gst_message_new_application),
25518         (gst_message_get_structure), (gst_message_parse_tag),
25519         (gst_message_parse_state_changed), (gst_message_parse_error),
25520         (gst_message_parse_warning):
25521         * gst/gstmessage.h:
25522         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25523         (gst_real_pad_set_property), (gst_pad_set_active),
25524         (gst_pad_is_active), (gst_pad_set_blocked_async),
25525         (gst_pad_set_blocked), (gst_pad_is_blocked),
25526         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25527         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25528         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25529         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25530         (gst_pad_link_filtered), (gst_pad_relink_filtered),
25531         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25532         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25533         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25534         (gst_pad_set_caps), (gst_pad_configure_sink),
25535         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25536         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25537         (gst_real_pad_dispose), (gst_real_pad_finalize),
25538         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25539         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25540         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25541         * gst/gstpad.h:
25542         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25543         (pipeline_bus_handler), (gst_pipeline_change_state),
25544         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25545         * gst/gstpipeline.h:
25546         * gst/gstprobe.h:
25547         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25548         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25549         (gst_queue_link_src), (gst_queue_bufferalloc),
25550         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25551         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25552         (gst_queue_loop), (gst_queue_handle_src_event),
25553         (gst_queue_handle_src_query), (gst_queue_src_activate),
25554         (gst_queue_change_state):
25555         * gst/gstqueue.h:
25556         * gst/gstscheduler.c: (gst_scheduler_init),
25557         (gst_scheduler_dispose), (gst_scheduler_create_task),
25558         (gst_scheduler_factory_create):
25559         * gst/gstscheduler.h:
25560         * gst/gststructure.c: (gst_structure_get_type),
25561         (gst_structure_copy_conditional):
25562         * gst/gststructure.h:
25563         * gst/gsttaginterface.h:
25564         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25565         (gst_task_init), (gst_task_dispose), (gst_task_create),
25566         (gst_task_get_state), (gst_task_start), (gst_task_stop),
25567         (gst_task_pause):
25568         * gst/gsttask.h:
25569         * gst/gstthread.c:
25570         * gst/gstthread.h:
25571         * gst/gsttypes.h:
25572         * gst/schedulers/Makefile.am:
25573         * gst/schedulers/cothreads_compat.h:
25574         * gst/schedulers/entryscheduler.c:
25575         * gst/schedulers/faircothreads.c:
25576         * gst/schedulers/faircothreads.h:
25577         * gst/schedulers/fairscheduler.c:
25578         * gst/schedulers/gstbasicscheduler.c:
25579         * gst/schedulers/gstoptimalscheduler.c:
25580         * gst/schedulers/gthread-cothreads.h:
25581         * gst/schedulers/threadscheduler.c:
25582         (gst_thread_scheduler_task_get_type),
25583         (gst_thread_scheduler_task_class_init),
25584         (gst_thread_scheduler_task_init),
25585         (gst_thread_scheduler_task_start),
25586         (gst_thread_scheduler_task_stop),
25587         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25588         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25589         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25590         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25591         (plugin_init):
25592         * libs/gst/Makefile.am:
25593         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25594         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25595         (gst_file_pad_parent_set):
25596         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25597         (gst_dp_event_from_packet):
25598         * tests/complexity.c: (main):
25599         * tests/mass_elements.c: (main):
25600         * testsuite/states/locked.c: (message_received), (main):
25601         * testsuite/states/parent.c: (main):
25602         * tools/gst-inspect.c: (print_element_flag_info),
25603         (print_implementation_info), (print_pad_info):
25604         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25605         (main):
25606         * tools/gst-md5sum.c: (event_loop), (main):
25607         * tools/gst-typefind.c: (main):
25608         * tools/gst-xmlinspect.c: (print_element_info):
25609         Next big merge.
25610         Added GstBus for mainloop integration.
25611         Added GstMessage for sending notifications on the bus.
25612         Added GstTask as an abstraction for pipeline entry points.
25613         Removed GstThread.
25614         Removed Schedulers.
25615         Simplified GstQueue for multithreaded core.
25616         Made _link threadsafe, removed old capsnego.
25617         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25618         Added pad blocking functions.
25619         Reworked scheduling functions in GstPad to prepare for
25620         scheduling updates soon.
25621         Moved events out of data stream.
25622         Simplified GstEvent types.
25623         Added return values to push/pull.
25624         Removed clocking from GstElement.
25625         Added prototypes for state change function for next merge.
25626         Removed iterate from bins and state change management.
25627         Fixed some elements, disabled others for now.
25628         Fixed -inspect and -launch.
25629         Added check for GstBus.
25630
25631 2005-03-10  Wim Taymans  <wim@fluendo.com>
25632
25633         * docs/design/part-MT-refcounting.txt:
25634         * docs/design/part-clocks.txt:
25635         * docs/design/part-gstelement.txt:
25636         * docs/design/part-gstobject.txt:
25637         * docs/design/part-standards.txt:
25638         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25639         (gst_bin_remove_func), (gst_bin_remove):
25640         * gst/gstbin.h:
25641         * gst/gstbuffer.c:
25642         * gst/gstcaps.h:
25643         * testsuite/clock/clock1.c: (main):
25644         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25645         (main):
25646         * testsuite/dlopen/loadgst.c: (do_test):
25647         * testsuite/refcounting/bin.c: (add_remove_test1),
25648         (add_remove_test2), (main):
25649         * testsuite/refcounting/element.c: (main):
25650         * testsuite/refcounting/element_pad.c: (main):
25651         * testsuite/refcounting/pad.c: (main):
25652         * tools/gst-launch.c: (sigint_handler_sighandler):
25653         * tools/gst-typefind.c: (main):
25654         Doc updates.
25655         Added doc about clock.
25656         removed gst_bin_iterate_recurse_up(), marked methods
25657         for removal.
25658         Fix more testsuites.
25659
25660 2005-03-09  Wim Taymans  <wim@fluendo.com>
25661
25662         * gst/gstpad.c: (gst_pad_get_direction),
25663         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25664         (gst_pad_collect_valist):
25665         * testsuite/bins/interface.c: (main):
25666         * testsuite/caps/audioscale.c: (test_caps):
25667         * testsuite/caps/caps.c: (test1), (test2), (test3):
25668         * testsuite/caps/deserialize.c: (main):
25669         * testsuite/caps/enumcaps.c: (main):
25670         * testsuite/caps/filtercaps.c: (main):
25671         * testsuite/caps/intersect2.c: (main):
25672         * testsuite/caps/random.c: (main):
25673         * testsuite/caps/renegotiate.c: (my_fixate), (main):
25674         * testsuite/caps/sets.c: (check_caps):
25675         * testsuite/caps/simplify.c: (check_caps), (main):
25676         * testsuite/caps/subtract.c: (check_caps):
25677         Fix _pad_get_direction wrt ghostpads.
25678         Fix caps testsuite.
25679
25680 2005-03-09  Wim Taymans  <wim@fluendo.com>
25681
25682         * check/Makefile.am:
25683         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25684         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25685         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25686         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25687         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25688         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25689         (gst_bin_remove), (gst_bin_iterate_recurse_up),
25690         (bin_element_is_sink), (gst_bin_iterate_sinks),
25691         (gst_bin_iterate_all_by_interface):
25692         * gst/gstbin.h:
25693         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25694         (gst_element_change_state), (gst_element_dispose),
25695         (gst_element_finalize), (gst_element_set_loop_function):
25696         * gst/gstelement.h:
25697         * gst/gstiterator.c: (find_custom_fold_func):
25698         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25699         (gst_pad_collectv), (gst_pad_collect_valist),
25700         (gst_pad_template_new):
25701         * gst/gstpipeline.c: (gst_pipeline_class_init),
25702         (gst_pipeline_dispose), (gst_pipeline_set_property),
25703         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25704         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25705         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25706         * gst/gstutils.h:
25707         * gst/schedulers/entryscheduler.c:
25708         * gst/schedulers/gstbasicscheduler.c:
25709         (gst_basic_scheduler_cothreaded_chain),
25710         (gst_basic_scheduler_chain_add_element):
25711         * testsuite/bins/interface.c: (main):
25712         Added GstBin test.
25713         Added GstSystemClock test.
25714         Implemented clock distribution code in GstBin.
25715         Implemented iterate sinks method for future use.
25716         Rearranged gstelement.h
25717         Fix GstIterator comparison bug.
25718         Moved some code to GstPipeline, mostly clocking related.
25719
25720 2005-03-09  Wim Taymans  <wim@fluendo.com>
25721
25722         * configure.ac:
25723         * gst/gst_private.h:
25724         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25725         (gst_bin_remove_func), (gst_bin_remove),
25726         (gst_bin_get_by_name_recurse_up):
25727         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
25728         (gst_clock_id_compare_func), (gst_clock_id_wait),
25729         (gst_clock_id_wait_async), (gst_clock_init),
25730         (gst_clock_adjust_unlocked), (gst_clock_get_time):
25731         * gst/gstelement.h:
25732         * gst/gstinfo.c: (_gst_debug_init):
25733         * gst/gstobject.h:
25734         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25735         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
25736         * gst/gstpad.h:
25737         Bump version number, we're now 0.9.0
25738         Add future debugging category.
25739         Fix NULL _unref() in _get_by_name_recurse_up
25740         Rearrange gstpad.h.
25741         Update some docs.
25742
25743 2005-03-08  Wim Taymans  <wim@fluendo.com>
25744
25745         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
25746         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
25747         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25748         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
25749         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
25750         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
25751         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
25752         * gst/elements/gstidentity.c: (gst_identity_class_init):
25753         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
25754         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
25755         * gst/elements/gstshaper.c: (gst_shaper_class_init):
25756         * gst/elements/gststatistics.c: (gst_statistics_class_init):
25757         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
25758         (gst_tee_link):
25759         * gst/gstelement.c: (gst_element_class_init),
25760         (gst_element_base_class_init), (gst_element_init),
25761         (gst_element_get_random_pad), (gst_element_wait_state_change),
25762         (gst_element_change_state), (gst_element_dispose),
25763         (gst_element_finalize), (gst_element_set_loop_function):
25764         * gst/gstelement.h:
25765         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
25766         * gst/gstthread.c: (gst_thread_class_init),
25767         (gst_thread_release_children_locks), (gst_thread_change_state):
25768         * gst/schedulers/gstbasicscheduler.c:
25769         (gst_basic_scheduler_loopfunc_wrapper),
25770         (gst_basic_scheduler_chain_wrapper),
25771         (gst_basic_scheduler_src_wrapper),
25772         (gst_basic_scheduler_remove_element):
25773         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
25774         Remove threadsafe properties. Fix elements because GObject
25775         complains when installing a property before declaring a
25776         set/get_property handler.
25777         Rearrange gstelement.h file, use STATE macros for state locks.
25778         Free mutexes in the finalize method instead of dispose.
25779
25780 2005-03-08  Wim Taymans  <wim@fluendo.com>
25781
25782         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25783         * gst/gstthread.c: (gst_thread_release_children_locks):
25784         Added parentage check.
25785         Fix build og GstThread again.
25786
25787 2005-03-08  Wim Taymans  <wim@fluendo.com>
25788
25789         * docs/design/part-MT-refcounting.txt:
25790         * docs/design/part-conventions.txt:
25791         * docs/design/part-gstobject.txt:
25792         * docs/design/part-relations.txt:
25793         * docs/design/part-standards.txt:
25794         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25795         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
25796         (gst_bin_get_by_name), (gst_bin_get_by_interface),
25797         (gst_bin_iterate_all_by_interface):
25798         * gst/gstbuffer.h:
25799         * gst/gstclock.h:
25800         * gst/gstelement.c: (gst_element_class_init),
25801         (gst_element_change_state), (gst_element_set_loop_function):
25802         * gst/gstelement.h:
25803         * gst/gstiterator.c:
25804         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
25805         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
25806         (gst_object_dispatch_properties_changed), (gst_object_set_name),
25807         (gst_object_set_parent), (gst_object_unparent),
25808         (gst_object_check_uniqueness):
25809         * gst/gstobject.h:
25810         Docs updates, clean up some headers.
25811
25812 2005-03-07  Wim Taymans  <wim@fluendo.com>
25813
25814         * check/.cvsignore:
25815         * check/Makefile.am:
25816         * check/gst-libs/.cvsignore:
25817         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
25818         * check/gst/.cvsignore:
25819         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
25820         (START_TEST), (gstbus_suite), (main):
25821         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
25822         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
25823         (gst_data_suite), (main):
25824         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
25825         (add_fold_func), (gstiterator_suite), (main):
25826         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
25827         (thread_name_object), (thread_name_object_default),
25828         (gst_object_name_compare), (gst_object_suite), (main):
25829         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
25830         (gst_pad_suite), (main):
25831         * check/gstcheck.c: (gst_check_log_message_func),
25832         (gst_check_log_critical_func), (gst_check_init):
25833         * check/gstcheck.h:
25834         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
25835         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
25836         Added checks.
25837
25838 2005-03-07  Wim Taymans  <wim@fluendo.com>
25839
25840         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
25841         (gst_list_iterator_next), (gst_list_iterator_resync),
25842         (gst_list_iterator_free), (gst_iterator_new_list),
25843         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
25844         (gst_iterator_free), (gst_iterator_push), (filter_next),
25845         (filter_resync), (filter_uninit), (filter_free),
25846         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
25847         (gst_iterator_foreach), (find_custom_fold_func),
25848         (gst_iterator_find_custom):
25849         * gst/gstiterator.h:
25850         Added missing files.
25851
25852 2005-03-07  Wim Taymans  <wim@fluendo.com>
25853
25854         * Makefile.am:
25855         * configure.ac:
25856         * docs/design/part-MT-refcounting.txt:
25857         * docs/design/part-conventions.txt:
25858         * docs/design/part-gstobject.txt:
25859         * docs/design/part-relations.txt:
25860         * examples/mixer/mixer.c: (main):
25861         * examples/thread/thread.c: (eos), (main):
25862         * gst/Makefile.am:
25863         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
25864         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
25865         (gst_spider_plug_from_srcpad):
25866         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
25867         (gst_spider_identity_change_state),
25868         (gst_spider_identity_sink_loop_type_finding):
25869         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
25870         * gst/elements/gstidentity.c: (gst_identity_init):
25871         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
25872         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
25873         * gst/elements/gsttypefindelement.c: (free_entry):
25874         * gst/gst.c:
25875         * gst/gst.h:
25876         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
25877         (gst_bin_set_clock_func), (gst_bin_auto_clock),
25878         (gst_bin_set_index), (gst_bin_set_element_sched),
25879         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
25880         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
25881         (gst_bin_iterate_elements), (iterate_child_recurse),
25882         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
25883         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
25884         (compare_interface), (gst_bin_get_by_interface),
25885         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
25886         * gst/gstbin.h:
25887         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
25888         (gst_buffer_default_free), (gst_buffer_default_copy),
25889         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
25890         (gst_buffer_create_sub):
25891         * gst/gstbuffer.h:
25892         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
25893         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
25894         (gst_caps_unref), (gst_static_caps_get),
25895         (gst_caps_remove_and_get_structure), (gst_caps_append),
25896         (gst_caps_append_structure), (gst_caps_remove_structure),
25897         (gst_caps_copy_nth), (gst_caps_set_simple),
25898         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
25899         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
25900         (gst_caps_structure_intersect_field), (gst_caps_intersect),
25901         (gst_caps_structure_subtract_field), (gst_caps_subtract),
25902         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
25903         (gst_caps_structure_figure_out_union),
25904         (gst_caps_switch_structures), (gst_caps_do_simplify),
25905         (gst_caps_replace), (gst_caps_from_string),
25906         (gst_caps_copy_conditional):
25907         * gst/gstcaps.h:
25908         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
25909         (_gst_clock_id_free), (gst_clock_id_unref),
25910         (gst_clock_id_compare_func), (gst_clock_id_wait),
25911         (gst_clock_id_wait_async), (gst_clock_class_init),
25912         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
25913         (gst_clock_get_time), (gst_clock_set_time_adjust),
25914         (gst_clock_set_property), (gst_clock_get_property):
25915         * gst/gstclock.h:
25916         * gst/gstcompat.h:
25917         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
25918         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
25919         * gst/gstdata.h:
25920         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25921         (gst_element_requires_clock), (gst_element_provides_clock),
25922         (gst_element_set_clock), (gst_element_clock_wait),
25923         (gst_element_wait), (gst_element_set_time_delay),
25924         (gst_element_is_indexable), (gst_element_add_pad),
25925         (gst_element_add_ghost_pad), (gst_element_remove_pad),
25926         (pad_compare_name), (gst_element_get_static_pad),
25927         (gst_element_request_pad), (gst_element_get_request_pad),
25928         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
25929         (gst_element_class_get_pad_template_list),
25930         (gst_element_class_get_pad_template), (gst_element_error_func),
25931         (gst_element_get_random_pad), (gst_element_get_event_masks),
25932         (gst_element_send_event), (gst_element_seek),
25933         (gst_element_get_query_types), (gst_element_query),
25934         (gst_element_get_formats), (gst_element_convert),
25935         (gst_element_is_locked_state), (gst_element_set_locked_state),
25936         (gst_element_sync_state_with_parent), (gst_element_change_state),
25937         (gst_element_finalize), (gst_element_yield),
25938         (gst_element_interrupt), (gst_element_set_scheduler),
25939         (gst_element_get_scheduler), (gst_element_set_loop_function):
25940         * gst/gstelement.h:
25941         * gst/gstevent.h:
25942         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25943         (gst_format_get_by_nick), (gst_format_get_details),
25944         (gst_format_iterate_definitions):
25945         * gst/gstformat.h:
25946         * gst/gstindex.c: (gst_index_gtype_resolver):
25947         * gst/gstinfo.c:
25948         * gst/gstinfo.h:
25949         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25950         (gst_mem_chunk_free):
25951         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25952         (gst_object_ref), (gst_object_unref), (gst_object_sink),
25953         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25954         (gst_object_dispatch_properties_changed),
25955         (gst_object_set_name_default), (gst_object_set_name),
25956         (gst_object_get_name), (gst_object_set_name_prefix),
25957         (gst_object_get_name_prefix), (gst_object_set_parent),
25958         (gst_object_get_parent), (gst_object_unparent),
25959         (gst_object_check_uniqueness), (gst_object_save_thyself),
25960         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25961         (gst_object_set_property), (gst_object_get_property),
25962         (gst_object_get_path_string):
25963         * gst/gstobject.h:
25964         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25965         (gst_real_pad_init), (gst_real_pad_get_property),
25966         (gst_pad_custom_new), (gst_pad_get_direction),
25967         (gst_pad_set_active), (gst_pad_is_active),
25968         (gst_pad_set_event_function), (gst_pad_is_linked),
25969         (gst_pad_link_free), (gst_pad_link_intersect),
25970         (gst_pad_link_fixate), (gst_pad_set_caps),
25971         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25972         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25973         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25974         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25975         (gst_pad_get_caps), (gst_pad_peer_get_caps),
25976         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25977         (gst_pad_realize), (gst_pad_get_allowed_caps),
25978         (gst_real_pad_dispose), (gst_real_pad_finalize),
25979         (gst_pad_collectv), (gst_pad_collect_valist),
25980         (gst_pad_template_dispose), (gst_pad_template_new),
25981         (gst_pad_get_internal_links):
25982         * gst/gstpad.h:
25983         * gst/gstpipeline.c: (gst_pipeline_dispose),
25984         (gst_pipeline_change_state):
25985         * gst/gstpipeline.h:
25986         * gst/gstplugin.c:
25987         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25988         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25989         * gst/gstpluginfeature.h:
25990         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25991         * gst/gstquery.c: (_gst_query_type_initialize),
25992         (gst_query_type_register), (gst_query_type_get_by_nick),
25993         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25994         * gst/gstquery.h:
25995         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25996         * gst/gstscheduler.c: (gst_scheduler_add_element),
25997         (gst_scheduler_factory_create):
25998         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25999         (gst_structure_free), (gst_structure_set_name),
26000         (gst_structure_id_set_value), (gst_structure_set_value),
26001         (gst_structure_set_valist), (gst_structure_remove_field),
26002         (gst_structure_remove_fields),
26003         (gst_structure_remove_fields_valist),
26004         (gst_structure_remove_all_fields), (gst_structure_foreach),
26005         (gst_structure_map_in_place),
26006         (gst_caps_structure_fixate_field_nearest_int),
26007         (gst_caps_structure_fixate_field_nearest_double):
26008         * gst/gststructure.h:
26009         * gst/gstsystemclock.c: (gst_system_clock_class_init),
26010         (gst_system_clock_init), (gst_system_clock_dispose),
26011         (gst_system_clock_async_thread),
26012         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
26013         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
26014         * gst/gstsystemclock.h:
26015         * gst/gsttag.c: (gst_tag_list_add_value_internal),
26016         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
26017         * gst/gsttaginterface.c:
26018         * gst/gstthread.c: (gst_thread_dispose),
26019         (gst_thread_release_children_locks), (gst_thread_change_state),
26020         (gst_thread_main_loop):
26021         * gst/gsttrashstack.h:
26022         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
26023         * gst/gsttypes.h:
26024         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26025         (gst_element_request_pad), (gst_element_get_pad_from_template),
26026         (gst_element_request_compatible_pad),
26027         (gst_element_get_compatible_pad_filtered),
26028         (gst_element_get_compatible_pad), (gst_element_state_get_name),
26029         (gst_element_link_pads_filtered), (gst_element_link_filtered),
26030         (gst_element_link_many), (gst_element_link),
26031         (gst_element_link_pads), (gst_element_unlink_pads),
26032         (gst_element_unlink_many), (gst_element_unlink),
26033         (gst_pad_can_link_filtered), (gst_pad_can_link),
26034         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
26035         (gst_object_default_error), (gst_bin_add_many),
26036         (gst_bin_remove_many), (gst_element_populate_std_props),
26037         (gst_element_class_install_std_props), (gst_buffer_merge),
26038         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
26039         (link_fold_func), (gst_pad_proxy_setcaps):
26040         * gst/gstutils.h:
26041         * gst/gstvalue.c: (gst_value_deserialize_string):
26042         * gst/parse/grammar.y:
26043         * gst/schedulers/gstbasicscheduler.c:
26044         (gst_basic_scheduler_cothreaded_chain),
26045         (gst_basic_scheduler_chain_recursive_add),
26046         (gst_basic_scheduler_pad_link):
26047         * gst/schedulers/gstoptimalscheduler.c:
26048         (get_group_schedule_function),
26049         (gst_opt_scheduler_state_transition),
26050         (gst_opt_scheduler_add_element), (element_get_reachables_func):
26051         * libs/gst/bytestream/bytestream.c:
26052         * libs/gst/dataprotocol/dataprotocol.c:
26053         (gst_dp_header_from_buffer):
26054         * po/nb.po:
26055         * po/ru.po:
26056         * tests/threadstate/threadstate2.c: (eos):
26057         * tools/gst-compprep.c: (main):
26058         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
26059         (print_pad_info), (print_children_info):
26060         * tools/gst-launch.c: (idle_func), (main):
26061         * tools/gst-md5sum.c: (idle_func), (main):
26062         * tools/gst-xmlinspect.c: (print_element_info):
26063         First THREADED backport attempt, focusing on adding locks and
26064         making sure the API is threadsafe. Needs more work. More docs
26065         follow this week.
26066
26067 2005-02-24  Andy Wingo  <wingo@pobox.com>
26068
26069         * tests/bench-complexity.scm:
26070         * tests/complexity.gnuplot: New files, good for running complexity
26071         benchmarks.
26072
26073         * tests/Makefile.am:
26074         * tests/complexity.c: New test, sets up N elements, at each level
26075         teeing into M streams per element. Eeeenteresting.
26076
26077         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
26078         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
26079         running bench-mass_elements.scm.
26080
26081         * tests/bench-mass_elements.scm: New script, runs mass_elements
26082         for various numbers of identities, outputting the results to a
26083         file. Requires guile 1.6. Just for testing.
26084
26085 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26086
26087         * gst/schedulers/fairscheduler.c:
26088           compile with debug disabled
26089
26090 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26091
26092         * configure.ac:
26093           hunting season on 0.9 is now OPEN