gst/gststructure.c: Also allow white space for names so we don't break backwards...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gststructure.c:
4           Also allow white space for names so we don't break
5           backwards compatibility.
6
7 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
8
9         * docs/design/part-TODO.txt:
10         * docs/design/part-segments.txt:
11         * docs/design/part-streams.txt:
12         Small updates.
13
14 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
15
16         * docs/gst/gstreamer-sections.txt:
17          Fixed documentation from my previous commit (added new API add
18          gst_value_set_structure(), add gst_value_get_structure() and
19          GST_VALUE_HOLDS_STRUCTURE).
20
21 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
22
23         * gst/gstdebugutils.c:
24           Reflow code to fix uninitialized variable warning.
25
26 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
27
28         * gst/gstcaps.c: (gst_caps_to_string),
29         (gst_caps_from_string_inplace):
30         * gst/gststructure.c: (gst_structure_get_abbrs),
31         (gst_structure_to_string), (gst_structure_from_string):
32         * gst/gstvalue.c: (gst_value_set_structure),
33         (gst_value_get_structure), (gst_value_serialize_structure),
34         (gst_value_deserialize_structure), (_gst_value_initialize):
35         * gst/gstvalue.h:
36         * tests/check/gst/gststructure.c: (GST_START_TEST),
37         (gst_structure_suite):
38         * tests/check/gst/gstvalue.c: (GST_START_TEST):
39          Added GstStructure to gst_value_table and its related functions.
40          Changed gst_structure_to_string to print ';' in the end.
41          Changed gst_caps_to_string to not print ';' beteween its
42          fields (structures) anymore and remove the lastes ';' from latest
43          structure. Now it is possible to have nested structures.
44          In addition, backward compatibilty is assured by accepting '\0' as
45          end delimiter. Fixes: #487969.
46          API: add gst_value_set_structure()
47          API: add gst_value_get_structure()
48          API: add GST_VALUE_HOLDS_STRUCTURE
49
50 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
51
52         * gst/gstbus.c:
53           When no GSource callback has been set up, tell developer
54           to use a function that actually exists.
55
56 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
57
58         * docs/gst/gstreamer-sections.txt:
59         * gst/Makefile.am:
60         * gst/gst.c:
61         * gst/gst.h:
62         * gst/gstdebugutils.c:
63         * gst/gstdebugutils.h:
64         * gst/gstinfo.c:
65         * gst/gstinfo.h:
66         * tools/gst-launch.c:
67           Allow dumping pipelines as dot graphs. Fixes #456573.
68
69 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
70
71         * gst/gststructure.c:
72           Allow '+' as well, it can be part of media or mime types
73           such as image/svg+xml.
74
75 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
76
77         * docs/gst/gstreamer-sections.txt:
78         * gst/gstbus.c:
79         * gst/gstbus.h:
80           API: add gst_bus_pop_filtered
81           API: add gst_bus_timed_pop_filtered
82           Two new functions for waiting for specific message types on the
83           bus for a specified amount of time without iterating any main
84           loops or main contexts.
85
86         * tests/check/gst/gstbus.c:
87           Some tests for the new functions.
88
89 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
90
91         * docs/libs/gstreamer-libs-sections.txt:
92           Make gtk-doc ignore stuff it should ignore.
93
94 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
95
96         * libs/gst/check/gstcheck.c:
97         * libs/gst/check/gstcheck.h:
98           Allow runtime selection of unit tests to run via the GST_CHECKS
99           environment variable (test case function names, comma-separated).
100
101 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
102
103         * gst/gststructure.c:
104         * tests/check/gst/gststructure.c:
105           Revert serialisation change and constrain structure-names after
106           consensus on irc. Update api documentation to reflect the change.
107
108 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
109
110         * gst/gststructure.c:
111           Improve serialization and fix tests.
112
113         * tests/check/gst/gststructure.c:
114           Add another test that covers why I actually did the previous structure
115           change.
116
117 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
118
119         * tools/gst-inspect.c: (print_element_info):
120         Don't crash when inspecting an element.
121
122 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
123
124         * tests/check/gst/gststructure.c:
125           Add unit test for escaping of structure name when serialising
126           and deserialising to/from strings.
127
128 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
129
130         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
131         (gst_single_queue_new):
132         * plugins/elements/gstqueue.c: (gst_queue_init),
133         (gst_queue_push_one):
134         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
135         upstream is tricked into thinking it can suggest a format downstream
136         while downstream does not support that format. The real problem is that
137         core calls acceptcaps when pushing a buffer with new caps, for which we
138         do a little workaround by setting the caps on the srcpad ourselves
139         before pushing the buffer (until this is figured out). Fixes #486758.
140
141 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
142
143         * gst/gststructure.c:
144         * gst/gstvalue.c:
145           Add some more comments and debug output. Quote structure name to fix
146           deserialisation of some strings.
147
148 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
149
150         * gst/gstbuffer.h:
151           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
152           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
153
154 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
155
156         * tools/gst-inspect.c:
157           Save approx. 400 1 byte allocs when printing. Use API to acces element
158           details.
159
160         * tools/gst-run.c:
161           Avoid a strdup.
162
163         * tools/gst-xmlinspect.c:
164           Use API to acces element details.
165
166 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
167
168         * gst/gstinfo.c:
169           Fix some spelling errors.
170
171 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
172
173         * gst/gstbin.c: (bin_handle_async_done):
174         Correctly set the next state if all of our async children commited their
175         state. This makes sure we can actually cancel the state change in
176         progress. Fixes a regression in Rhythmbox when seeking.
177
178 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
179
180         * gst/gstbin.c:
181           Don't shadow local variable.
182
183         * gst/gstinfo.c:
184           Don't shadow global function name.
185
186 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
187
188         * gst/gstelementfactory.c:
189         * gst/gstpluginfeature.c:
190         * gst/gstpluginfeature.h:
191         * gst/gstregistrybinary.c:
192         * gst/gstregistryxml.c:
193         * gst/gsttypefind.c:
194           Use already-interned string for the private GstPluginFeature
195           plugin_name field.
196
197 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
198
199         * docs/libs/gstreamer-libs-sections.txt:
200           Add new API to docs; fixes the build.
201
202 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
203         
204         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
205
206         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
207         (gst_base_sink_event):
208         * libs/gst/base/gstbasesink.h:
209         Add function to wait for EOS, subclasses can use this to correctly wait
210         for devices to drain before performing the EOS logic. Fixes #485343.
211         API: gst_base_sink_wait_eos()
212
213 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
214
215         * gst/gstplugin.h:
216           Cast description string constants in GST_PLUGIN_DEFINE macros
217           to a (gchar*) to make C++ code using these macros compile
218           without warning with g++-4.2 (see #462737).  Even if slightly
219           ugly, this seems preferable to putting the description strings
220           into the GLib quark table or making the structure member a
221           const gchar * and doing casts in core code that allocs and
222           frees these strings, or requiring a cast in the C++ code.
223
224 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
225
226         * gst/gstinfo.h:
227           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
228           to print the entire class/function signature into the log
229           file for C++ code.  This only affects C++ code, for C code
230           everything remains the same.
231
232 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
233
234         * gst/gstbin.c: (remove_from_queue):
235         Work around a problem with pipelines containing (semi)loops until a
236         proper, more complicated solution is ready. See #475455.
237
238 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
239
240         * gst/gstplugin.c:
241         * gst/gstplugin.h:
242         * gst/gstregistrybinary.c:
243         * gst/gstregistryxml.c:
244           Put more strings into the GLib quark table. No need to keep
245           a hundred-something copies of identical version strings,
246           license strings, package name strings and package origin
247           strings around. 
248
249 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
250
251         * docs/manual/advanced-dataaccess.xml:
252           Don't imply that it's okay to unconditionally change
253           buffer data or buffer metadata in a pad probe callback,
254           and a bunch of other comments. Fixes #430031.
255
256 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
257
258         * win32/common/gstenumtypes.c:
259         * win32/common/gstenumtypes.h:
260         * win32/common/gstversion.h:
261           Update generated files.
262
263 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
264
265         * docs/manual/advanced-autoplugging.xml:
266           Prefix section with broken code with a warning (see #342432).
267
268 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
269
270         * docs/manual/appendix-integration.xml:
271         * docs/manual/basics-init.xml:
272           Call g_thread_init() before g_option_context_new() to
273           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
274
275 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
276
277         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
278         (gst_base_sink_queue_object_unlocked),
279         (gst_base_sink_queue_object), (gst_base_sink_event),
280         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
281         When we received EOS and are waiting for when to post the EOS message,
282         our state is prerolled and we should not return ASYNC.
283         Reorganize some code paths to implement this behavior.
284
285         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
286         (gst_sinks_suite):
287         Add unit test to verify above EOS fix.
288
289 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
290
291         * plugins/elements/gsttypefindelement.c:
292         (gst_type_find_element_have_type), (gst_type_find_element_init),
293         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
294         Move detecting the input caps of the sinkpad to the setcaps function.
295         This allows us to update the output caps when we receive new input caps
296         instead of always using the first detected caps.
297
298 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
299
300         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
301         (gst_base_sink_get_position):
302         Don't try to preroll non-async elements after a flush.
303         Subtract latency form clock times when reporting position.
304
305 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
306
307         * gst/gstpad.c: (gst_pad_pause_task):
308         * gst/gstutils.c:
309         Small comment and documentation update.
310
311 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
312
313         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
314         (gst_base_src_set_live), (gst_base_src_is_live),
315         (gst_base_src_query_latency), (gst_base_src_perform_seek),
316         (gst_base_src_default_event), (gst_base_src_wait),
317         (gst_base_src_do_sync), (gst_base_src_get_range),
318         (gst_base_src_pad_get_range), (gst_base_src_loop),
319         (gst_base_src_unlock), (gst_base_src_unlock_stop),
320         (gst_base_src_set_flushing), (gst_base_src_set_playing),
321         (gst_base_src_activate_push), (gst_base_src_activate_pull),
322         (gst_base_src_change_state):
323         Rework the locking of basesrc in a similar fashion to basesink. We
324         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
325         us to handle live sources and semi live ones much better.
326         Simplify flushing.
327         Fix unlocking when seeking, shutting down and pausing in live sources.
328
329 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
330
331         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
332         Fix compilation again.
333
334 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
335
336         * gst/gstelement.c:
337           Use meaningful categories for the logs to clean the default one.
338
339 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
340
341         * tests/check/pipelines/cleanup.c:
342           Print message name and not just number.
343
344 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
345
346         * docs/design/draft-tagreading.txt:
347           Add some more thoughts.
348
349 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
350
351         * tests/check/pipelines/simple-launch-lines.c:
352           Print message name and not just number.
353
354 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
355
356         * libs/gst/base/gsttypefindhelper.c:
357           Speedup typefinding. This is work in progress (see #459862).
358
359 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
360
361         * gst/gstplugin.c:
362           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
363           Spotted by Josep Torra Valles <josep@fluendo.com>.
364
365 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
366
367         * gst/gstclock.h:
368           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
369           field has moved to GstObject.
370
371 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
372
373         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
374         (gst_base_src_get_range), (gst_base_src_change_state):
375         Call unlock for live sources so that they can't get stuck in _create and
376         produce a buffer before they are set back to PLAYING.
377
378 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
379
380         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
381         (gst_queue_locked_dequeue):
382         Comment the segment-related code... in the PROPER function.
383         See #482147 and my commit from yesterday.
384
385 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
386
387         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
388         Also initialize the counter that calculates the first timestamp on a
389         buffer correctly for non-live sources.
390
391 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
392
393         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
394         Disable code that's breaking the current-time-level reporting.
395         See #482147
396
397 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
398
399         * docs/gst/gstreamer-sections.txt:
400         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
401         as they shouldn't show up. Fixes the docs build.
402
403 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
404         
405         * gst/gstinfo.h:
406         Add an explicit variable importation needed on VS6 (only for MSC_VER)
407         Define M_PI which is used in files which are including gstinfo.h. 
408         VS6 includes doesn't define it.
409         * win32/common/libgstbase.def:
410         * win32/common/libgstcontroller.def:
411         * win32/common/libgstreamer.def:
412         Add new exported functions and variables.
413         * win32/vs6/libgstcontroller.dsp:
414         * win32/vs6/libgstreamer.dsp:
415         Update the list of files to build.
416         
417 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
418
419         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
420
421         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
422         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
423         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
424         Improve debugging. Fixes #480858.
425
426 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
427
428         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
429
430         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
431         First patch of code cleanups, use the macros and right arguments in the
432         macros to signal and lock the queue. See #480858.
433
434 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
435
436         * gst/gstbus.c: (poll_func):
437         Improve debugging when dealing with _poll().
438
439 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
440
441         * gst/gstregistryxml.c:
442           Fix memory leak I introduced a few days ago.
443
444 2007-09-26  Michael Smith <msmith@fluendo.com>
445
446         * gst/gstbuffer.c: (gst_buffer_finalize):
447           Make it once again possible to free GstBuffers in the default
448           build.
449           The poisoning scribbles on parts of the miniobject we need in
450           order to free it.
451           Fixes #480341
452
453 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
454
455         * docs/gst/gstreamer-sections.txt:
456         * gst/gsttaglist.c:
457         * gst/gsttaglist.h:
458         API: add GST_TAG_COMPOSER, fixes #459809.
459
460 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
461
462         * gst/gstplugin.c:
463         * gst/gstplugin.h:
464         Add the 3-clause BSD license and the MIT/X11 license to the license
465         list. Fixes #479784.
466
467 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
468
469         * docs/faq/getting.xml:
470           Add Q+A about different GStreamer versions (#364056).
471
472 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
473
474         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
475         (gst_base_sink_event), (gst_base_sink_change_state):
476         Return correct gboolean from query function.
477
478 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
479
480         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
481         (gst_base_sink_event), (gst_base_sink_query),
482         (gst_base_sink_change_state):
483         Simplify latency query.
484         When not synchronizing, we can report latency without querying the peer
485         element.
486
487 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
488
489         * gst/gstobject.h:
490         * gst/gstvalue.c:
491         Fix small typos in the docs.
492
493 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
494
495         * docs/design/draft-latency.txt:
496         * docs/design/draft-push-pull.txt:
497         * docs/design/draft-tagreading.txt:
498         * docs/design/part-MT-refcounting.txt:
499         * docs/design/part-activation.txt:
500         * docs/design/part-block.txt:
501         * docs/design/part-element-source.txt:
502         * docs/design/part-events.txt:
503         * docs/design/part-gstbin.txt:
504         * docs/design/part-gstelement.txt:
505         * docs/design/part-gstobject.txt:
506         * docs/design/part-gstpipeline.txt:
507         * docs/design/part-messages.txt:
508         * docs/design/part-preroll.txt:
509         * docs/design/part-push-pull.txt:
510         * docs/design/part-qos.txt:
511         * docs/design/part-query.txt:
512         * docs/design/part-scheduling.txt:
513         * docs/design/part-seeking.txt:
514         * docs/design/part-segments.txt:
515         * docs/design/part-states.txt:
516         Documentation updates and typo fixes.
517
518 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
519
520         * plugins/elements/gstfakesink.c:
521           Add some debug text to error message to indicate that
522           we errored out on request.
523
524         * tools/gst-launch.c:
525           When the state change to PLAYING fails, check for an
526           error message on the bus and print it.
527
528 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
529
530         translated by: Jorge González González <aloriel@gmail.com>
531
532         * po/LINGUAS:
533         * po/es.po:
534           Added Spanish translation.
535
536 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
537
538         * plugins/elements/gstqueue.c: (gst_queue_push_one):
539         Fix printf arguments.
540
541 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
542
543         * tests/check/generic/states.c:
544           Improved state change unit test.
545
546 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
547
548         * gst/gstbin.h:
549           Move priv to the right place.
550
551         * gst/gstsystemclock.c:
552           Add FIXME: and improve log.
553
554         * tests/check/Makefile.am:
555         * tests/examples/manual/Makefile.am:
556           Work with all types of registries.
557
558 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
559
560         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
561         Don't unref the event after pushing it. Fixes #478401.
562
563 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
564
565         * .cvsignore:
566         * tests/examples/manual/.cvsignore:
567           Ignore registries in any format.
568
569 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
570
571         * gst/glib-compat-private.h:
572           Add compatibility macro for g_intern_string() for
573           GLib-2.8 (any reason we can't just bump the
574           requirement to at least 2.10?)
575
576         * gst/gstpadtemplate.h:
577         * gst/gstelementfactory.c:
578         * gst/gstregistryxml.c:
579         * gst/gstregistrybinary.c:
580           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
581           up the internal code accordingly.  This shouldn't be a problem, since
582           there is no reason external code could ever assume the string in such
583           a structure is dynamically allocated unless it did that itself;  the
584           use of g_strdup() is private to element factories.  The new code also
585           saves some memory by putting pad template name strings into the GLib
586           quark table instead of allocating them dynamically.
587           Declaring this field constant fixes warnings with g++-4.2 when using
588           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
589
590 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
591
592         * gst/gstelementfactory.c:
593           Release static caps. Fixes #475723.
594
595 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
596
597         * gst/gstinfo.c:
598         * gst/gstinfo.h:
599           Make some internal API take const gchar * instead of just
600           gchar * to avoid compiler warnings with g++-4.2.2 when
601           passing string constants (partially fixes #478092).
602
603 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
604
605         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
606         A latency query fails when one of the sinks fail.
607
608         * gst/gstelement.c: (gst_element_set_base_time):
609         Improve debugging.
610
611 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
612
613         * gst/gstbin.c: (gst_bin_continue_func):
614         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
615         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
616         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
617
618         Fix minor compilation warnings shown with Forte.
619
620 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
621
622         * plugins/elements/gstqueue.c: (apply_buffer),
623         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
624         Measure queue level based on the diff between head and tail timestamps
625         even when pushing the first buffer.
626
627 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
628
629         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
630         (gst_base_sink_event), (gst_base_sink_change_state):
631         Sinks that don't preroll can always be queried for the latency.
632         Don't post ASYNC start when we are not async.
633
634 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
635
636         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
637         (gst_queue_handle_sink_event), (gst_queue_chain),
638         (gst_queue_push_one), (gst_queue_handle_src_query),
639         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
640         * plugins/elements/gstqueue.h:
641         When downstream returns UNEXPECTED from pushing a buffer, don't try to
642         push more buffers but allow pushing of EOS and NEWSEGMENT.
643         Add some more debug info here and there. Fixes #476514.
644
645 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
646
647         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
648         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
649         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
650         (gst_base_sink_set_flushing), (gst_base_sink_query),
651         (gst_base_sink_change_state):
652         Latency query is allowed after we are prerolled. Introduce a new flag
653         for this and stop abusing other variables.
654
655 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
656
657         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
658         Push OOB events downstream when we get them in send_event. This allows
659         the application to insert events in the pipeline.
660         Add some more comments.
661
662 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
663
664         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
665         (do_bin_latency), (gst_bin_change_state_func):
666         * gst/gstpipeline.c: (gst_pipeline_change_state):
667         Move latency query from GstPipeline to GstBin so that we can also
668         use it when async-handling is enabled on bins.
669
670 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
671
672         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
673         (gst_base_src_do_sync), (gst_base_src_change_state):
674         Update docs.
675         Clean up the timestamping and syncing code for pseudo live sources.
676
677 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
678
679         Patch by: Steve Fink  <sphink gmail com>
680
681         * docs/manual/appendix-checklist.xml:
682           Mention less -R switch in the section about debug output (#474055).
683
684 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
685
686         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
687         Queue can latency to the pipeline up to the configured max size in time.
688         Report this fact in the latency query.
689
690 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
691
692         Patch by: Sebastien Moutte <sebastien at moutte dot net>
693
694         * libs/gst/controller/gstinterpolation.c:
695         * libs/gst/controller/gstlfocontrolsource.c:
696         Use gst_guint64_to_gdouble() when converting from a uint64 or
697         GstClockTime to double to fix the build on win32. Fixes #474371.
698
699 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
700
701         * gst/gstbuffer.c: (gst_buffer_finalize):
702         Implement poisoning for GstBuffer if --enable-poisoning is specified.
703         When finalizing a buffer the complete struct is filled with 0xff,
704         thus making a use of the buffer after the final unref impossible.
705
706 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
707
708         * tests/check/libs/controller.c: (GST_START_TEST):
709         Use fail_unless_equals_int(a, b) instead of
710         fail_unless_equals (a == b) to get better output on failures.
711
712 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
713
714         * tests/check/gst/gsturi.c:
715           Also check for the other file URI variant on win32.
716
717 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
718
719         * gst/gsturi.c: (gst_uri_get_location):
720           If there's no hostname, we want to return 'c:/foo/bar.txt'
721           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
722
723         * tests/check/gst/gsturi.c:
724           Unit test for the above and a few more things.
725
726 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
727
728         * docs/design/part-live-source.txt:
729         Add docs on how live sources should timestamp.
730
731         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
732         Add some more debug info.
733         For subclasses that are live and like to sync, add aditional startup
734         latency to sync time and timestamps so that we timstamp according to the
735         design doc.
736
737 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
738
739         * gst/gstbuffer.c:
740           Also do a g_type_class_ref() for the subbuffer type in
741           the init function.
742
743 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
744
745         * docs/gst/gstreamer-sections.txt:
746         * gst/gstpad.c: (gst_pad_peer_query):
747         * gst/gstpad.h:
748         Add function to perform a query on the peer of a pad.
749         API: gst_pad_peer_query()
750
751 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
752
753         * tests/check/gst/gstsystemclock.c:
754           Cleanup the test a little (use gst-logging and not g_message). Improve
755           test to check if a wait reached the target.
756
757 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
758
759         * docs/libs/gstreamer-libs-sections.txt:
760           Add new API to docs and fix the build.
761
762 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
763
764         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
765         (gst_base_src_init), (gst_base_src_set_do_timestamp),
766         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
767         (gst_base_src_get_property), (gst_base_src_do_sync):
768         * libs/gst/base/gstbasesrc.h:
769         Add property to make the basesrc timestamp buffers based on the current
770         running time.
771         API: GstBaseSrc::do-timestamp
772         API: gst_base_src_set_do_timestamp()
773         API: gst_base_src_get_do_timestamp()
774
775 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
776
777         * docs/random/release:
778           Really make sure translations are up-to-date before
779           a release (#465010).
780
781 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
782
783         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
784         Always destroy the timer, also in error cases.
785
786 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
787
788         * docs/manual/highlevel-xml.xml:
789         Fix XML example code. Fixes #472714.
790
791 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
792
793         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
794         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
795         (gst_base_sink_query):
796         Protect eos and have_preroll with the OBJECT lock so we don't need to
797         take the PREROLL lock when querying the latency. Fixes #473846.
798
799 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
800
801         * gst/gstelement.c:
802           Give some log-messages a category.
803
804 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
805
806         * gst/gststructure.c:
807         (gst_structure_fixate_field_nearest_fraction):
808         Fix fraction list fixation code. Take the fraction with the smallest
809         difference with the target instead of the first one in the list.
810
811         * tests/check/gst/gststructure.c: (GST_START_TEST),
812         (gst_structure_suite):
813         Added test to verify correct fraction list fixation behaviour.
814
815 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
816
817         * win32/common/libgstreamer.def:
818           Export gst_bus_add_signal_watch too.
819
820 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
821
822         * docs/libs/gstreamer-libs-sections.txt:
823         Add new methods to docs.
824
825         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
826         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
827         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
828         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
829         * libs/gst/base/gstbasesink.h:
830         Add ts-offset property to fine-tune the synchronisation.
831         API: GstBaseSink::ts-offset property
832         API: gst_base_sink_set_ts_offset()
833         API: gst_base_sink_get_ts_offset()
834
835 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
836
837         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
838         (gst_base_sink_init), (gst_base_sink_set_sync),
839         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
840         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
841         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
842         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
843         (gst_base_sink_get_property), (gst_base_sink_change_state):
844         * libs/gst/base/gstbasesink.h:
845         Add async property to instruct the sink never to inform the parent about
846         ASYNC state changes, update docs.
847         Check argument with g_return_* for the public functions.
848         API: GstBaseSink::async property
849         API: gst_base_sink_set_async_enabled()
850         API: gst_base_sink_is_async_enabled()
851
852 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
853
854         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
855         Improve debugging.
856
857         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
858         (gst_base_src_default_query), (gst_base_src_wait),
859         (gst_base_src_do_sync), (gst_base_src_change_state):
860         Rearrange some code so that we can add support for measuring the 
861         startup latency.
862
863 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
864
865         * docs/random/ensonic/dynlink.txt:
866           More thoughs on this.
867
868         * plugins/elements/gstcapsfilter.c:
869           Add bugzilla ticket number to FIXME comment.
870
871 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
872
873         * docs/design/part-TODO.txt:
874         * docs/design/part-block.txt:
875         Update some docs.
876
877 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
878
879         * gst/Makefile.am:
880           Revert patch which uses $(gst_headers) instead of $^ because it
881           breaks make dist.
882
883 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
884
885         * tests/check/gst/gstbin.c: (GST_START_TEST):
886           Fix leaks in the new unit test.
887
888 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
889
890         * gst/gst.c:
891           Don't use GST_INFO before the debug system is actually initialised
892           (shouldn't do any harm, but won't print anything either, so we can
893           just as well remove it).
894
895         * gst/gstinfo.h:
896           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
897           compilers that don't support variadic macros (such as MSVC), should
898           check for debug_level <= __gst_debug_min as well, since that's the
899           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
900           inline helper functions. Should improve performance a bit, but also
901           makes sure uses of GST_INFO et.al are ignored if the debugging
902           system isn't initialised yet (instead of printing an assertion
903           failure).
904
905 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
906
907         patch by: David Nečas <yeti@physics.muni.cz>
908
909         * gst/Makefile.am:
910           Replace some non portable makefile constructs.
911
912 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
913
914         * common/gtk-doc-plugins.mak:
915           Grrrrr. Don't remove the types file on make clean.
916
917 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
918
919         * tools/gst-launch.1.in:
920         Add colorspace to example pipeline. Fixes #458274.
921
922 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
923
924         * docs/random/release:
925           The release manager should run 'make download-po' before making a
926           release to make sure translations are up-to-date.
927
928         * po/LINGUAS:
929         * po/be.po:
930         * po/pl.po:
931         * po/rw.po:
932           Add some new translations.
933
934 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
935
936         * tools/gst-launch.c: (event_loop), (main):
937         Don´t try to do any state management when a live pipeline posts
938         buffering messages.
939         Also make the buffering string translatable.
940
941 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
942
943         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
944         (bin_handle_async_start), (gst_bin_handle_message_func):
945         Improve debugging.
946         When adding elements, insert messages into the bus of the newly added
947         element and make sure the element is the source of the message. This
948         allows the parent bin to intercept the message and do the
949         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
950         messages to the app (which is not allowed).
951         Update some docs.
952
953         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
954         Fix testsuite so that is does not work around messages that should not
955         have been posted in the first place.
956
957 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
958
959         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
960         (update_degree), (gst_bin_sort_iterator_next):
961         Fix annoying bug in the sorted iterator where a sink that is not really
962         a sink (when it has downstream links) screwed up the iterator.
963
964         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
965         Unit test to verify the fix.
966
967 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
968
969         * gst/gstmessage.h:
970         Add some more docs for the messages.
971
972         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
973         (gst_base_sink_query):
974         Add some more debugging.
975
976         * tools/gst-launch.c: (event_loop):
977         When interrupting, don't try to set pipeline to PAUSED twice.
978
979 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
980
981         
982         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
983         (bin_handle_async_start), (gst_bin_handle_message_func):
984         Move ASYNC_START message posting to where it belongs, similar to
985         async_done. 
986         Don't post ASYNC_START when we are in error. 
987         Post ASYNC_START when we added an async element to a bin.
988
989 2007-08-14  Julien MOUTTE  <julien@moutte.net>
990
991         * gst/gstindex.c: (gst_index_add_association): Fix index entry
992         generation from vargs. Fixes #466595.
993
994 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
995
996         * gst/gstbin.c: (gst_bin_element_set_state):
997         Always change the state of a NO_PREROLL element even if it has ASYNC
998         elements inside (in case of a bin).
999
1000         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1001         Unit test for this case.
1002
1003 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1004
1005         * libs/gst/check/gstbufferstraw.c:
1006         * libs/gst/check/gstcheck.h:
1007         * libs/gst/controller/gstcontroller.c:
1008         * libs/gst/controller/gstcontrolsource.h:
1009         * libs/gst/controller/gstlfocontrolsource.h:
1010         * plugins/elements/gstcapsfilter.h:
1011         * plugins/elements/gstfdsink.h:
1012         * plugins/elements/gstfdsrc.h:
1013           Add more missing docs.
1014
1015 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1016
1017         * gst/gststructure.c:
1018         Add Since tag to docs.
1019
1020 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1021
1022         * docs/gst/gstreamer-sections.txt:
1023         * gst/gststructure.c: (gst_structure_get_uint):
1024         * gst/gststructure.h:
1025         Add function to get uint from a structure.
1026         API: gst_structure_get_uint()
1027
1028 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1029
1030         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1031         (gst_caps_intersect):
1032         Fix proper check for simple caps.
1033
1034 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1035
1036         * docs/gst/Makefile.am:
1037         * docs/libs/Makefile.am:
1038           Remove cruft and do some cleanups.
1039
1040         * docs/gst/gstreamer-docs.sgml:
1041         * docs/libs/gstreamer-libs-docs.sgml:
1042           Prepare for comming gtkdoc features (rebase against online docs).
1043
1044 2007-08-10  Michael Smith <msmith@fluendo.com>
1045
1046         * docs/gst/gstreamer-sections.txt:
1047           Add gst_registry_add_path to docs.
1048
1049 2007-08-10  Michael Smith <msmith@fluendo.com>
1050
1051         * gst/gstregistry.h:
1052           Add gst_registry_add_path, which was missing from this header.
1053
1054 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1055
1056         * libs/gst/controller/gstlfocontrolsource.c:
1057           Printf format fix.
1058
1059 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1060
1061         * libs/gst/base/gstbasesink.c:
1062           Don't send an async_start message during downwards state change if 
1063           target state is less than READY
1064
1065 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1066
1067         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1068
1069         * po/LINGUAS:
1070         * po/hu.po:
1071           Added Hungarian translation.
1072
1073 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1074
1075         * po/fi.po:
1076         * po/it.po:
1077         * po/nl.po:
1078         * po/sv.po:
1079         * po/uk.po:
1080           Updated translations.
1081
1082 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1083
1084         * libs/gst/controller/Makefile.am:
1085         Dist gstlfocontrolsourceprivate.h
1086
1087 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
1088
1089         * docs/libs/gstreamer-libs.types:
1090         Don't register the enum type gst_lfo_waveform_get_type() in the
1091         .types file - only GObject derived types belong.
1092
1093 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1094
1095         Patch by: <arenevier at fdn dot fr>
1096
1097         * gst/gstbuffer.h:
1098         Remove comma from last element in enum to avoid compile errors when
1099         using -pendantic. Fixes #464366.
1100
1101 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
1102
1103         * docs/design/part-TODO.txt:
1104         Add some more TODO items
1105
1106         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1107         Improve debugging.
1108
1109         * gst/gstcaps.c: (gst_caps_intersect):
1110         Optimize trivial intersection case between identical caps pointers.
1111
1112         * gst/gstelement.c: (gst_element_continue_state),
1113         (gst_element_set_state_func):
1114         * gst/gstpad.c:
1115         Fix spelling and grammar mistakes.
1116
1117 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
1118
1119         * po/POTFILES.in:
1120         * po/POTFILES.skip:
1121           Update POTFILES. Fixes #461599.
1122
1123 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1124
1125         * gst/gst.c:
1126         Fix confusing typo in debug output.
1127
1128 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
1129
1130         reviewed by: Stefan Kost <ensonic@users.sf.net>
1131
1132         * libs/gst/controller/Makefile.am:
1133         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1134         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1135         (gst_lfo_control_source_new),
1136         (gst_lfo_control_source_set_waveform),
1137         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1138         (gst_lfo_control_source_finalize),
1139         (gst_lfo_control_source_dispose),
1140         (gst_lfo_control_source_set_property),
1141         (gst_lfo_control_source_get_property),
1142         (gst_lfo_control_source_class_init):
1143         * libs/gst/controller/gstlfocontrolsource.h:
1144         * libs/gst/controller/gstlfocontrolsourceprivate.h:
1145         API: Add GstLFOControlSource, a control source that gives values
1146         for specific timestamps based on several periodic waveforms.
1147         Fixes #459717.
1148
1149         * tests/check/libs/controller.c: (GST_START_TEST),
1150         (gst_controller_suite):
1151         * docs/libs/gstreamer-libs-docs.sgml:
1152         * docs/libs/gstreamer-libs-sections.txt:
1153         * docs/libs/gstreamer-libs.types:
1154         Add documentation and unit tests for GstLFOControlSource.
1155
1156 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
1157
1158         * configure.ac:
1159         Back to CVS
1160
1161 === release 0.10.14 ===
1162
1163 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
1164
1165         * configure.ac:
1166           releasing 0.10.14, "Breathing Vacuum"
1167
1168 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
1169
1170         * gst/gstelement.c: (gst_element_class_set_details_simple):
1171         * gst/gstelement.h:
1172           Make strings passed to gst_element_class_set_details_simple()
1173           constant, as they should be (#462752).
1174
1175 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
1176
1177         * gst/gstbin.c: (gst_bin_change_state_func),
1178         (bin_handle_async_done), (gst_bin_handle_message_func):
1179         Don't forget about the fact that some element went ASYNC even after a
1180         resync. This makes us post the ASYNC_DONE message correctly.
1181         Fixes #462558.
1182
1183 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1184
1185         * gst/gstregistry.c: (gst_registry_add_feature):
1186         When replacing an existing feature in the registry, make sure to
1187         continue holding a reference until we've replaced the name string
1188         within our feature hash table. Make sure to use g_hash_table_replace
1189         instead of g_hash_table_insert to ensure the new name string is used
1190         as a key instead of the old one that we're about to free.
1191         Fixes: #462085
1192
1193 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1194
1195         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1196         (gst_plugin_feature_set_name):
1197         Revert patch from #459466 until after the release and we can work
1198         out exactly what the problem is (if any).
1199
1200 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1201
1202         * docs/gst/gstreamer-sections.txt:
1203         * gst/gsttaglist.c:
1204         * gst/gsttaglist.h:
1205           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1206
1207 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1208
1209         * docs/libs/Makefile.am:
1210         Include our build-prefix libs and includes before the generic ones to
1211         avoid linking against the installed libs when we want the build-tree
1212         ones.
1213
1214 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         Patch by: Steve Fink  <sphink gmail com>
1217
1218         * docs/pwg/building-testapp.xml:
1219           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1220           if people try to build or install the example from the plugin
1221           template against a GStreamer from package using the configure
1222           defaults.
1223
1224 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1225
1226         Patch by: Steve Fink  <sphink gmail com>
1227
1228         * tools/gst-inspect.1.in:
1229           Document --print-all and --print-plugin-auto-install-info command
1230           line options in man page.
1231
1232 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1233
1234         * docs/gst/gstreamer-sections.txt:
1235         Add docs for new api function.
1236
1237 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
1238
1239         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1240         * gst/gstelementfactory.h:
1241         API: gst_element_factory_has_interface()
1242         Added method to check if an element factory implements a named
1243         interface.
1244
1245 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
1246
1247         * configure.ac:
1248         * docs/gst/gstreamer.types.in:
1249           Another conditional doc check.
1250
1251         * gst/gstmessage.c:
1252         * gst/gstparamspecs.h:
1253         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1254         * gst/gstvalue.c:
1255         * gst/gstxml.h:
1256           API-doc fixes.
1257
1258 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1259
1260         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1261         (gst_registry_binary_load_feature),
1262         (gst_registry_binary_load_plugin),
1263         (gst_registry_binary_read_cache):
1264           Print error just once and with additional info.
1265
1266 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1267
1268         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1269         (helper_find_suggest), (helper_find_get_length),
1270         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1271         (gst_type_find_helper_for_buffer):
1272           Cleanup the typefindhelper code and add private doc comments.
1273
1274 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
1275
1276         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1277         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1278         Fix capsfilter for cases where the caps set on capsfilter will provide
1279         additional information.
1280         Fixes #449197
1281
1282 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
1283
1284         * gst/gsttypefindfactory.c:
1285           Fix docs that recommened wrong function to use.
1286
1287 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1288
1289         * tools/gst-inspect.c: (print_plugin_features):
1290           Also give media-type for typefinders in element output.
1291
1292 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1293
1294         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1295         (gst_registry_remove_features_for_plugin_unlocked),
1296         (gst_registry_add_feature), (gst_registry_remove_feature),
1297         (gst_registry_lookup_feature_locked):
1298         * gst/gstregistry.h:
1299           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1300           Fixes #459501.
1301
1302 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
1303
1304         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1305         (gst_plugin_feature_set_name):
1306           Avoid double memory usage for pluginfeature names. Fixes #459466.
1307
1308 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1309
1310         * gst/gstpad.h:
1311           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1312           driving the pipeline may need to explicitly check for NOT_LINKED as
1313           well, since IS_FATAL doesn't cover that.
1314
1315 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
1316
1317         * docs/pwg/advanced-types.xml:
1318           Fix typo and duplicate entry in video formats list.
1319
1320 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
1321
1322         * libs/gst/controller/gstinterpolation.c:
1323         Also round to the nearest int when using cubic interpolation.
1324
1325 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
1326
1327         * libs/gst/controller/gstinterpolation.c:
1328         When linearly interpolating integer types, round to the nearest int
1329         by adding 0.5. Don't do it for float/double types.
1330         Fixes the failing controller test on my machine, which is somehow
1331         rounding differently than on the buildbots.
1332
1333 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1334
1335         * tools/gst-plot-timeline.py:
1336           Better log parsing (categories can have -). Adjust text vs. lines, so
1337           that they span the same y-range.        
1338
1339 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1340
1341         * docs/random/ensonic/audiobaseclasses.txt:
1342         * docs/random/ensonic/dynlink.txt:
1343         * docs/random/ensonic/profiling.txt:
1344           Save my thoughts.
1345
1346         * docs/random/moving-plugins:
1347           Add note to use g_assert type macros.
1348
1349 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
1350
1351         * configure.ac:
1352         * libs/gst/check/Makefile.am:
1353           Add libm check as we use in for plugins.
1354
1355 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
1356
1357         * gst/gstbin.c: (gst_bin_continue_func):
1358         Check that the state_cookie hasn't changed since the continue_func
1359         was scheduled. Avoids problems where the state changes back to
1360         something it shouldn't be because it was changed in the meantime.
1361
1362 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
1363
1364         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1365         (gst_registry_binary_save_string),
1366         (gst_registry_binary_save_pad_template),
1367         (gst_registry_binary_save_feature),
1368         (gst_registry_binary_save_plugin),
1369         (gst_registry_binary_load_feature),
1370         (gst_registry_binary_load_plugin),
1371         (gst_registry_binary_read_cache):
1372           Fix memory leak. Be less verbose in the log.
1373
1374 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1375
1376         * tests/check/elements/.cvsignore:
1377         Add file to cvsignore as commanded.
1378
1379 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1380
1381         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1382         (mq_dummypad_event), (run_output_order_test):
1383         Use a GStaticMutex to protect all cases where libcheck
1384         fail_if/fail_unless macros might be called from multiple threads
1385         simultaneously to avoid errors like:
1386           "check_pack.c:107: :-1081725400:Bad message type arg"
1387
1388 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1389
1390         * tests/check/pipelines/stress.c: (GST_START_TEST):
1391         Make sure we set the pipeline back to the NULL state before
1392         dropping our final reference.
1393
1394 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
1395
1396         * tests/check/elements/tee.c: (GST_START_TEST):
1397         Make the tee stress-test a little less stressful so it doesn't just
1398         time out on slow-machines, and remove a small race when it's starting 
1399         up by adding a get_state() call.
1400
1401 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
1402
1403         * gst/gst.c:
1404           Avoid reading registry twice on startup. Fixes #457322.
1405
1406 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1407
1408         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1409         * pkgconfig/gstreamer-check.pc.in:
1410         Substitute the CFLAGS for libcheck into our .pc file too so that
1411         dependent modules will pick it up properly if libcheck is installed
1412         into some other prefix.
1413
1414 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
1415
1416         * configure.ac:
1417         Revert the pkg-config check for libcheck, since it pulls in the
1418         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1419         a proper solution, either from the check project, or something else.
1420
1421 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
1422
1423         * configure.ac:
1424           Use pkg-config to locate check.
1425
1426 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
1427
1428         * gst/gsttaglist.c:
1429           Fix doc syntax.
1430
1431         * gst/gstutils.c:
1432         * gst/gstutils.h:
1433           Add deprecation guards.
1434
1435         * libs/gst/base/gstcollectpads.h:
1436           Don't document object (this is implicitly private).
1437
1438 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
1439
1440         * gst/gststructure.c: (gst_structure_parse_value):
1441           When deserialising foo=bar without a type cast, check if it's a
1442           boolean before falling back to a string type, otherwise things like
1443           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1444           because the filtercaps end up having a signed=(string)true field,
1445           which causes problems later when intersection caps.
1446
1447         * tests/check/gst/gststructure.c: (GST_START_TEST):
1448           Add a unit test for this.
1449
1450 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
1451
1452         Reviewed by: Stefan Kost <ensonic@users.sf.net>
1453
1454         * libs/gst/controller/Makefile.am:
1455         * libs/gst/controller/gstcontroller.c:
1456         (gst_controlled_property_add_interpolation_control_source),
1457         (gst_controlled_property_new), (gst_controlled_property_free),
1458         (gst_controller_find_controlled_property),
1459         (gst_controller_new_valist), (gst_controller_new_list),
1460         (gst_controller_new), (gst_controller_remove_properties_valist),
1461         (gst_controller_remove_properties_list),
1462         (gst_controller_remove_properties),
1463         (gst_controller_set_property_disabled),
1464         (gst_controller_set_disabled), (gst_controller_set_control_source),
1465         (gst_controller_get_control_source), (gst_controller_get),
1466         (gst_controller_sync_values), (gst_controller_get_value_array),
1467         (_gst_controller_dispose), (gst_controller_get_type),
1468         (gst_controlled_property_set_interpolation_mode),
1469         (gst_controller_set), (gst_controller_set_from_list),
1470         (gst_controller_unset), (gst_controller_unset_all),
1471         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1472         * libs/gst/controller/gstcontroller.h:
1473         * libs/gst/controller/gstcontrollerprivate.h:
1474         * libs/gst/controller/gstcontrolsource.c:
1475         (gst_control_source_class_init), (gst_control_source_init),
1476         (gst_control_source_get_value),
1477         (gst_control_source_get_value_array), (gst_control_source_bind):
1478         * libs/gst/controller/gstcontrolsource.h:
1479         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1480         (gst_object_get_control_source):
1481         * libs/gst/controller/gstinterpolation.c:
1482         (gst_interpolation_control_source_find_control_point_node),
1483         (gst_interpolation_control_source_get_first_value),
1484         (_interpolate_none_get), (interpolate_none_get),
1485         (interpolate_none_get_boolean_value_array),
1486         (interpolate_none_get_enum_value_array),
1487         (interpolate_none_get_string_value_array),
1488         (_interpolate_trigger_get), (interpolate_trigger_get),
1489         (interpolate_trigger_get_boolean_value_array),
1490         (interpolate_trigger_get_enum_value_array),
1491         (interpolate_trigger_get_string_value_array):
1492         * libs/gst/controller/gstinterpolationcontrolsource.c:
1493         (gst_control_point_free), (gst_interpolation_control_source_reset),
1494         (gst_interpolation_control_source_new),
1495         (gst_interpolation_control_source_set_interpolation_mode),
1496         (gst_interpolation_control_source_bind),
1497         (gst_control_point_compare), (gst_control_point_find),
1498         (gst_interpolation_control_source_set_internal),
1499         (gst_interpolation_control_source_set),
1500         (gst_interpolation_control_source_set_from_list),
1501         (gst_interpolation_control_source_unset),
1502         (gst_interpolation_control_source_unset_all),
1503         (gst_interpolation_control_source_get_all),
1504         (gst_interpolation_control_source_get_count),
1505         (gst_interpolation_control_source_init),
1506         (gst_interpolation_control_source_finalize),
1507         (gst_interpolation_control_source_dispose),
1508         (gst_interpolation_control_source_class_init):
1509         * libs/gst/controller/gstinterpolationcontrolsource.h:
1510         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1511         API: Refactor GstController into the core controller which can take
1512         a GstControlSource for providing actual values for timestamps.
1513         Implement a interpolation control source and use this for backward
1514         compatibility, deprecate a bunch of functions that are now handled
1515         by GstControlSource or GstInterpolationControlSource.
1516         Make it possible to disable the controller completely or only for
1517         specific properties. Fixes #450711.
1518         * docs/libs/gstreamer-libs-docs.sgml:
1519         * docs/libs/gstreamer-libs-sections.txt:
1520         * docs/libs/gstreamer-libs.types:
1521         Add new functions and classes to the docs.
1522         * tests/check/libs/controller.c: (GST_START_TEST),
1523         (gst_controller_suite):
1524         * tests/examples/controller/audio-example.c: (main):
1525         Port unit test and example to the new API and add some new
1526         unit tests.
1527
1528 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
1529
1530         Patch by: Mark Nauwelaerts <manauw at skynet be>
1531
1532         * plugins/elements/gstmultiqueue.c:
1533         (gst_multi_queue_get_internal_links), (apply_buffer),
1534         (single_queue_overrun_cb), (gst_single_queue_new):
1535         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1536         the pipeline layout can be tracked correctly. Fixes #453732.
1537
1538 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
1539
1540         * docs/gst/Makefile.am:
1541         * docs/libs/Makefile.am:
1542         * docs/plugins/Makefile.am:
1543           Simplify --extra-dir as gtkdoc scans recursively.
1544
1545 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1546
1547         * tools/gst-launch.c: (main):
1548         When we got an error, there is no point in waiting for preroll when
1549         shutting down.
1550
1551 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
1552
1553         * plugins/elements/gsttee.c: (gst_tee_base_init),
1554         (gst_tee_request_new_pad), (gst_tee_release_pad),
1555         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1556         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1557         (gst_tee_chain):
1558         Be a lot smarter when deciding what srcpad to use for proxying
1559         the buffer_alloc. Also handle pad added/removed when doing so.
1560         Fixes #357959.
1561         Keep track of what pads we already pushed on in case we have pads
1562         added/removed while pushing. Fixes #374639 
1563
1564         * tests/check/Makefile.am:
1565         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1566         (tee_suite):
1567         Added unit test for pad resync.
1568
1569 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1570
1571         * po/nl.po:
1572         * po/sv.po:
1573           Updated translations.
1574
1575 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1576
1577         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1578
1579         * po/LINGUAS:
1580         * po/fi.po:
1581           Added new Finnish translation.
1582
1583 2007-06-28  Wim Taymans  <wim@fluendo.com>
1584
1585         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1586         (single_queue_overrun_cb):
1587         When figuring out when a queue is filled, use our internal time estimate
1588         based on segments, just like check_full does.
1589
1590 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1591
1592         * gst/gstminiobject.c: (gst_mini_object_get_type):
1593           Remove 3 do-nothing methods.
1594
1595 2007-06-27  Wim Taymans  <wim@fluendo.com>
1596
1597         Patch by: Tim Angus <tim at ngus dot net>
1598
1599         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1600         (gst_capsfilter_set_property):
1601         Take a reference instead of a copy when setting "caps".
1602         Fix documentation to clarify this behaviour. Fixes #449414.
1603
1604 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
1605
1606         * gst/gstindexfactory.c: (gst_index_factory_get_type):
1607         * gst/gstplugin.c: (gst_plugin_init):
1608         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1609         * gst/gstquery.c: (gst_query_get_type):
1610         * gst/gstregistry.c: (gst_registry_init):
1611         * gst/gsturi.c: (gst_uri_handler_base_init):
1612           Remove empty instance_init() functions to save relocs and lessen the
1613           noise. Remove some of the function prototypes that are doubled by
1614           G_DEFINE_TYPE.
1615           
1616 2007-06-27  Wim Taymans  <wim@fluendo.com>
1617
1618         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1619
1620         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1621         Add peer and direction in the XML serialisation of ghostpads.
1622         Fixes #449226.
1623
1624 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1625
1626         * configure.ac:
1627           Preserve useful information, thanks Tim.
1628
1629 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
1630
1631         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1632         (gst_single_queue_flush), (apply_segment), (apply_buffer),
1633         (gst_single_queue_push_one), (gst_multi_queue_loop),
1634         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1635         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1636         (compute_high_id), (gst_single_queue_new):
1637         * plugins/elements/gstmultiqueue.h:
1638         Take the multiqueue lock when updating the fill level so we don't get
1639         confused. 
1640
1641         After applying a buffer or event on the src pad segment, make sure to
1642         call gst_data_queue_limits_changed() to get the data queue to unblock
1643         and check the filled state again.
1644         
1645         Rework the not-linked pad handling so the logic is that not-linked 
1646         pads can push as fast as they like, but only so they never get 
1647         ahead of any linked pads.
1648
1649         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1650         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1651         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1652
1653         Add a test to check that not-linked pads always stay behind
1654         linked pads.
1655
1656         Fixes: #430682
1657
1658 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
1659
1660         * docs/random/release:
1661           Some updates to the release procedure.
1662
1663 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
1664
1665         * gst/gstelementfactory.c: (__gst_element_details_clear):
1666           Microoptimization that saves stunning 80 bytes.
1667
1668 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
1669
1670         * docs/plugins/gstreamer-plugins.args:
1671         * docs/plugins/inspect/plugin-coreelements.xml:
1672         * docs/plugins/inspect/plugin-coreindexers.xml:
1673           Update docs with caps info.
1674
1675 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1676
1677         * po/it.po:
1678           Updated Italian translation.
1679
1680 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1681
1682         * ChangeLog:
1683         * po/vi.po:
1684           Update Vietnamese translations.
1685
1686 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1687
1688         * libs/gst/base/gstbasesink.c:
1689           Remove unused signal enum.
1690
1691 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1692
1693         * docs/gst/gstreamer-sections.txt:
1694         * gst/gstelement.c:
1695         * gst/gstutils.c: (gst_type_register_static_full):
1696         Beef up and include the docs for gst_type_register_static_full and
1697         gst_element_class_set_details_simple and add the API keyword
1698         in the ChangeLog.
1699
1700 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
1701
1702         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1703         (update_time_level), (gst_single_queue_push_one),
1704         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1705         (single_queue_overrun_cb), (single_queue_underrun_cb),
1706         (single_queue_check_full):
1707         Fix setting max-* properties after adding queues.
1708         Use IS_FILLED for checking visible items.
1709         Signal overrun if multiple queues overrun.
1710         Add extra debug output.
1711         Patch by: Wim Taymans <wim@fluendo.com>
1712
1713 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
1714
1715         * gst/gstelement.c: (gst_element_class_set_details_simple):
1716         * gst/gstelement.h:
1717         * gst/gstutils.c: (gst_type_register_static_full):
1718         * gst/gstutils.h:
1719         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1720         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1721         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1722         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1723         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1724         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1725         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1726         * plugins/elements/gstidentity.c: (gst_identity_base_init):
1727         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1728         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1729         (apply_buffer), (gst_queue_chain):
1730         * plugins/elements/gsttee.c: (gst_tee_base_init):
1731         * plugins/elements/gsttypefindelement.c:
1732         (gst_type_find_element_base_init),
1733         (gst_type_find_element_class_init):
1734           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1735           API: add gst_type_register_static_full
1736           API: add gst_element_class_set_details_simple
1737
1738 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
1739
1740         * docs/pwg/advanced-types.xml:
1741           Fix typo in iana.org URI.
1742
1743 2007-06-19  Andy Wingo  <wingo@pobox.com>
1744
1745         * tests/check/pipelines/simple-launch-lines.c
1746         (test_state_change_returns): Enable pull-mode tests now that
1747         basesink has been fixed.
1748
1749         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1750         Changed from gst_base_sink_is_prerolled, reversing the sense of
1751         the return value. Returns FALSE also if the sink is in pull mode,
1752         in which case it needs no preroll.
1753         (gst_base_sink_query, gst_base_sink_change_state): Update for
1754         needs_preroll change.
1755         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1756         chaining up, in which we return SUCCESS directly if we activated
1757         in pull mode instead of ASYNC. Involves countering an async_start
1758         message sent before chaining up; not sure if this is correct, in
1759         an ideal world we only send async-start when activating in push
1760         mode.
1761
1762         * tests/check/pipelines/simple-launch-lines.c
1763         (test_state_change_returns): New test, partially disabled until
1764         basesink is fixed.
1765
1766 2007-06-19  Wim Taymans  <wim@fluendo.com>
1767
1768         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1769         (gst_multi_queue_sink_event):
1770         Fix event leak.
1771
1772 2007-06-19  Wim Taymans  <wim@fluendo.com>
1773
1774         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1775         (gst_bin_change_state_func), (bin_push_state_continue),
1776         (bin_handle_async_start), (bin_handle_async_done),
1777         (gst_bin_handle_message_func):
1778         Move the common code for posting state-change messages into
1779         one function.
1780         Broadcast the state signal after we posted the messages.
1781         Mark the bin as busy when it's doing a state-change.
1782         Make sure async-start/done messages don't interfere with the bin's
1783         state when it's busy.
1784         After the state change, let the bin check which elements completed the
1785         state change while it was busy so that it can update its state.
1786
1787 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
1788
1789         * docs/random/release:
1790         Add a note about updating the doap file to the release checklist
1791
1792 2007-06-18  Wim Taymans  <wim@fluendo.com>
1793
1794         * plugins/elements/gstmultiqueue.c: (apply_buffer),
1795         (gst_single_queue_push_one), (gst_multi_queue_chain),
1796         (gst_multi_queue_sink_event):
1797         Make sure we don't reference the buffer/event after we have given away
1798         ownership in the queue.
1799
1800 2007-06-18  Wim Taymans  <wim@fluendo.com>
1801
1802         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1803         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
1804         Update queue state _after_ adding the item in the queue because else we
1805         could end up being full without the element added yet.
1806
1807 2007-06-18  Wim Taymans  <wim@fluendo.com>
1808
1809         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1810         (gst_bin_remove_func), (gst_bin_get_state_func),
1811         (gst_bin_element_set_state), (gst_bin_continue_func),
1812         (bin_push_state_continue), (bin_handle_async_start),
1813         (bin_handle_async_done), (gst_bin_handle_message_func):
1814         * gst/gstbin.h:
1815         Immediatly commit the toplevel bin state when receiving an async-done
1816         message. This enables us to avoid spawning a thread to commit the state
1817         in some common cases and it also avoids some races.
1818         Avoid spawning a state thread when adding/removing async elements to a
1819         toplevel bin. Instead we immediatly update the bin state.
1820         Get rid of iterating all the children when getting the state in the bin
1821         because it is now always up-to-date.
1822         Fix bug where locked elements would always return _SUCCESS even it they
1823         returned NO_PREROLL before being locked.
1824         Fix the order of the state_change, async-start/done messages that was
1825         sometimes incorrect.
1826         Mark the state_dirty field as deprecated, we don't need it anymore as we
1827         are always up-to-date.
1828
1829         * gst/gstelement.c: (gst_element_get_state_func),
1830         (gst_element_continue_state):
1831         Small debug inprovements.
1832         Return the previous element state return when nothing is pending instead
1833         of blindly returning SUCCESS.
1834
1835         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
1836         (gst_sinks_suite):
1837         Add a whole bunch of new testcases.
1838
1839 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1840
1841         * po/uk.po:
1842         * po/vi.po:
1843           Update translations.
1844
1845 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
1846
1847         * gst/gstpad.c:
1848         Fix typo in the docs.
1849
1850 2007-06-15  Wim Taymans  <wim@fluendo.com>
1851
1852         * docs/libs/gstreamer-libs-sections.txt:
1853         Add docs for new methods.
1854
1855 2007-06-15  Wim Taymans  <wim@fluendo.com>
1856
1857         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
1858         (gst_multi_queue_item_new):
1859         Don't use GSlice because we don't depend on >= 2.10 yet.
1860
1861 2007-06-15  Wim Taymans  <wim@fluendo.com>
1862
1863         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1864         (update_time_level), (apply_segment), (apply_buffer),
1865         (gst_single_queue_push_one), (gst_multi_queue_item_new),
1866         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
1867         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
1868         (single_queue_underrun_cb), (single_queue_check_full):
1869         Remove debug printf.
1870
1871 2007-06-15  Wim Taymans  <wim@fluendo.com>
1872
1873         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
1874         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
1875         (gst_data_queue_set_flushing), (gst_data_queue_push),
1876         (gst_data_queue_pop), (gst_data_queue_drop_head),
1877         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
1878         * libs/gst/base/gstdataqueue.h:
1879         Various cleanups.
1880         Added methods to get the current levels and to inform the queue that the
1881         'full' limits changed.
1882
1883         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1884         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1885         (gst_single_queue_flush), (update_time_level), (apply_segment),
1886         (apply_buffer), (gst_single_queue_push_one),
1887         (gst_multi_queue_item_steal_object),
1888         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1889         (gst_multi_queue_loop), (gst_multi_queue_chain),
1890         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1891         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
1892         (gst_multi_queue_src_query), (single_queue_overrun_cb),
1893         (single_queue_underrun_cb), (single_queue_check_full),
1894         (gst_single_queue_new):
1895         Keep track of time in the queue by measuring the difference between
1896         running_time on input and output. This gives more accurate results and
1897         can compensate for segments correctly.
1898         Make a queue by default only 5 buffers deep. We will now increase the
1899         buffer size depending on the filledness of the other queues.
1900         Factor out commong flush code.
1901         Make sure we don't add additional refcounts to buffers when we can avoid
1902         it.
1903         Propagate GstFlowReturn differently.
1904         Use GSlice for intermediate GstMultiQueueItems.
1905         Keep track of EOS.
1906         Resize queues on over and underruns based on filled level of other
1907         queues.
1908         When checking if the queue is filled, prefer to measure in time if we
1909         can and fall back to bytes when no time is known.
1910
1911         * plugins/elements/gstqueue.c:
1912         Fix return value.
1913
1914 2007-06-15  Wim Taymans  <wim@fluendo.com>
1915
1916         * libs/gst/base/gstbasetransform.c:
1917         (gst_base_transform_sink_event):
1918         Work around the brokenness of the event vmethod in basetransform. Prefer
1919         to return TRUE when the subclass returned FALSE (meaning don't forward
1920         the event). 
1921
1922         * libs/gst/base/gstbasetransform.h:
1923         Clarify the docs.
1924
1925 2007-06-15  Wim Taymans  <wim@fluendo.com>
1926
1927         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
1928         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1929         (gst_base_src_default_query), (gst_base_src_get_range),
1930         (gst_base_src_start):
1931         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
1932         Improve debugging.
1933
1934 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1935
1936         * docs/pwg/advanced-types.xml:
1937           Added more formats to caps table.
1938
1939 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1940
1941         * tools/gst-launch.c: (main):
1942           Remove crufy code. GOption does not need this workaround.
1943
1944 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1945
1946         * libs/gst/controller/gstcontroller.c:
1947         (gst_controlled_property_set_interpolation_mode):
1948           Fix wrong getter for enums in controller.
1949
1950 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1951
1952         * libs/gst/check/gstcheck.c: (gst_check_init):
1953           Intercept criticals and warnings in the Gst-Phonon log domain, so
1954           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
1955           well.
1956         
1957 2007-06-14  Edward Hervey  <edward@fluendo.com>
1958
1959         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
1960         Since this file doesn't include "gst.h" it will not go through the
1961         macros that disable GST_LOG if debugging was disabled.
1962
1963 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1964
1965         * libs/gst/check/Makefile.am:
1966         * libs/gst/check/gstcheck.h:
1967         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1968         * pkgconfig/gstreamer-check.pc.in:
1969           Ugly 'fix' for the controller unit test on the p5 bot: in
1970           fail_unless_equals_float() check whether the values are 'almost
1971           equal' by allowing a small absolute error, which should be good
1972           enough for our use cases (normal numbers and values close to 0).
1973           Proper fixage left to floating point arithmetic aficionados.
1974
1975 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1976
1977         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
1978         (gst_base_sink_render_object), (gst_base_sink_get_position):
1979           Add two breaks thats where missing.
1980
1981 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1982
1983         * docs/libs/gstreamer-libs-sections.txt:
1984         * libs/gst/check/gstcheck.h:
1985           API: add fail_unless_equals_float() and assert_equals_float().
1986           Add documentation for some of the macros.
1987
1988         * tests/check/libs/controller.c: (GST_START_TEST):
1989           Use newly-added asserts.
1990
1991 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1992
1993         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
1994           Show the caps change in the log to help spotting the case of not
1995           exactly matching caps.
1996
1997 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1998
1999         * docs/pwg/building-boiler.xml:
2000           Fix typos, spotted by Thijs Vermeir (#447190).
2001
2002 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2003
2004         * docs/plugins/tmpl/.cvsignore:
2005         Ignore file to keep the buildbots happy
2006
2007 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2008
2009         * docs/plugins/Makefile.am:
2010         * docs/plugins/gstreamer-plugins-docs.sgml:
2011         * docs/plugins/gstreamer-plugins-sections.txt:
2012         Pull fdsink into the docs too.
2013
2014 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2015
2016         * libs/gst/controller/gstinterpolation.c:
2017         Actually use the new functions with min/max checks for the trigger and
2018         none interpolation modes for get() and get_value_array() instead of
2019         just the latter.
2020
2021 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2022
2023         * libs/gst/controller/gstcontroller.c:
2024         (gst_controlled_property_free):
2025         Unset the minimum and maximum GValues when freeing the corresponding
2026         GstControllerProperty struct.
2027
2028 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2029
2030         * libs/gst/controller/gstcontroller.c:
2031         (gst_controlled_property_new):
2032         * libs/gst/controller/gstcontrollerprivate.h:
2033         * libs/gst/controller/gstinterpolation.c:
2034         (gst_controlled_property_find_control_point_node),
2035         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2036         (interpolate_none_get_string_value_array),
2037         (interpolate_trigger_get),
2038         (interpolate_trigger_get_enum_value_array),
2039         (interpolate_trigger_get_string_value_array):
2040         Protect against values larger or smaller than the minimum or maximum
2041         allowed value for the property when using values that can be compared.
2042
2043         Optimize trigger interpolator a bit by taking the last requested value
2044         into account instead of always looping through the complete list.
2045
2046         Fix coding style a bit, everywhere else we use "return foo" instead
2047         of "return (foo)".
2048         
2049         * tests/check/libs/controller.c: (GST_START_TEST),
2050         (gst_controller_suite):
2051         Add unit test for the protection against too large or too small
2052         values.
2053
2054 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2055
2056         * docs/random/slomo/controller.txt:
2057         Add some thoughts about the future of the controller.
2058
2059 2007-06-08  Wim Taymans  <wim@fluendo.com>
2060
2061         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2062         Don't overflow in retimestamping code.
2063
2064 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2065
2066         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2067         Use gst_util_guint64_to_gdouble for conversions.
2068         * win32/common/libgstreamer.def:
2069         Add new exported functions.
2070
2071 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
2072
2073         * gst/gstutils.c:
2074           Small docs addition.
2075
2076 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2077
2078         * README:
2079           Remove that test line again.
2080
2081 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2082
2083         * README:
2084           Test commit mail sending.
2085
2086 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2087
2088         * configure.ac:
2089           Fix typo and test commit mail sending.
2090
2091 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
2092
2093         * tests/examples/controller/audio-example.c:
2094           Improve comment and test commit mail sending.
2095
2096 2007-06-07  Wim Taymans  <wim@fluendo.com>
2097
2098         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2099         (gst_bin_remove_func), (gst_bin_element_set_state),
2100         (bin_handle_async_start), (bin_handle_async_done),
2101         (gst_bin_handle_message_func):
2102         Add helper function to find messages.
2103         Generate the async-done messages together with the state change
2104         messages.
2105         Small cleanups in handling toplevel bins.
2106
2107 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2108
2109         * libs/gst/base/gstdataqueue.c:
2110         * libs/gst/base/gstdataqueue.h:
2111         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2112         (gst_multi_queue_item_new), (gst_multi_queue_chain),
2113         (gst_multi_queue_sink_event):
2114         * tests/check/elements/multiqueue.c: (multiqueue_suite):
2115           Fix multiqueue leaking buffers and events when downstream or the
2116           queue are flushing. Make refcounting assumptions explicit and
2117           document them (shouldn't break existing code that uses it other than
2118           maybe leak miniobjects, but that already happens anyway). Add unit
2119           test for the most common flushing case. Fixes #423700.
2120           
2121 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2122
2123         * libs/gst/controller/gstcontroller.c:
2124         Clarify docs: The get_all, get_value_array(s) functions
2125         don't modify the GObject properties.
2126
2127 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
2128
2129         * libs/gst/controller/gstcontroller.c:
2130         (gst_controlled_property_set_interpolation_mode),
2131         (gst_controlled_property_prepend_default),
2132         (gst_controlled_property_new), (gst_controller_set_unlocked),
2133         (gst_controller_set), (gst_controller_set_from_list),
2134         (gst_controller_unset), (gst_controller_unset_all):
2135         * libs/gst/controller/gstcontrollerprivate.h:
2136         * libs/gst/controller/gstinterpolation.c:
2137         Factor out the 'set' logic into gst_controller_set_unlocked for the
2138         gst_controller_set and gst_controller_set_from_list functions.
2139
2140         To make life of the interpolators easier always add a control point
2141         at timestamp zero with the default value.
2142
2143         In the linear interpolator make things more obvious by better variable
2144         naming (slope).
2145
2146         Implement cubic interpolation mode (by using a natural cubic spline)
2147         and map the quadratic interpolation mode to this too (as quadratic
2148         doesn't make much sense, see discussion on the list).
2149
2150         * tests/check/libs/controller.c: (GST_START_TEST),
2151         (gst_controller_suite):
2152         Add unit test for the cubic interpolation mode and check everywhere
2153         if the interpolation mode could be set as expected.
2154
2155 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2156
2157         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2158           Don't use GLib-2.10 functions, we still depend on
2159           GLib-how-old-is-it-again-2.8.
2160
2161 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
2162
2163         * docs/gst/gstreamer-sections.txt:
2164         * gst/Makefile.am:
2165         * gst/gst.c:
2166         * gst/gst.h:
2167         * gst/gstparamspecs.c: (_gst_param_fraction_init),
2168         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2169         (_gst_param_fraction_values_cmp),
2170         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2171         * gst/gstparamspecs.h:
2172         * gst/gstvalue.c:
2173         * tests/check/Makefile.am:
2174         * tests/check/gst/.cvsignore:
2175         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2176         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2177         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2178         (GST_START_TEST), (gst_param_spec_suite):
2179           API: add GstParamSpecFraction, so elements can have fraction
2180           properties without lots of painful string parsing (#444648).
2181
2182 2007-06-05  Wim Taymans  <wim@fluendo.com>
2183
2184         * gst/gstobject.c: (gst_object_class_init):
2185         Fix signal signature.
2186
2187         * gst/gstsegment.c:
2188         Add small clarification in the api docs.
2189
2190         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2191         States are protected with object lock.
2192
2193 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2194
2195         * AUTHORS:
2196         I should probably be listed as an author by now.
2197
2198         * docs/random/release:
2199         Update the release doc
2200
2201 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
2202
2203         * gst/gstvalue.c:
2204           Make docs for gst_value_compare() mention return enums that
2205           actually exist.
2206
2207 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
2208
2209         * configure.ac:
2210           Back to CVS
2211
2212 === release 0.10.13 ===
2213
2214 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
2215
2216         * configure.ac:
2217           releasing 0.10.13, "With or without you"
2218
2219 2007-05-25  Wim Taymans  <wim@fluendo.com>
2220
2221         * gst/gstbin.c: (bin_handle_async_done):
2222         Make sure that the child bin stops after completing the async state
2223         change so that the parent can continue the state change to PLAYING.
2224         Fixes #441159.
2225
2226 2007-05-25  Wim Taymans  <wim@fluendo.com>
2227
2228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2229         (unref_data), (gst_collect_pads_remove_pad),
2230         (gst_collect_pads_check_pads):
2231         Use additional refcounting to avoid crashes when dynamically adding and
2232         removing pads. Fixes #420206.
2233
2234 2007-05-24  Wim Taymans  <wim@fluendo.com>
2235
2236         * tools/gst-launch.c: (event_loop):
2237         When buffering goes from a two digit to a single digit number, make sure
2238         to remove the old second digit by writing a blank over it.
2239
2240 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2241
2242         * libs/gst/base/gstdataqueue.c:
2243           Eliminate tabs and trailing comma in enum list; fix some typos.
2244
2245 2007-05-24  Wim Taymans  <wim@fluendo.com>
2246
2247         * tests/check/gst/gstbin.c: (GST_START_TEST):
2248         Allow refcount of 3 and 4 because some state thread might still be busy
2249         with it.
2250
2251 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         * plugins/elements/Makefile.am:
2254         * plugins/elements/gstmultiqueue.h:
2255         * plugins/elements/gstqueue.h:
2256           These are not installed headers, no need for padding.
2257
2258 2007-05-24  Wim Taymans  <wim@fluendo.com>
2259
2260         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2261         (gst_bin_continue_func):
2262         Enable latency for next release.
2263         Restore STATE_LOCK around recalc_state that was left out during the
2264         rewrite and could result in racy behaviour when _get_state and
2265         recalc_state are run concurrently. See #440463.
2266
2267 2007-05-23  Wim Taymans  <wim@fluendo.com>
2268
2269         * tests/check/gst/gstsystemclock.c: (store_callback),
2270         (GST_START_TEST):
2271         Improve test_async_order to also work when both timers are already
2272         expired when we get scheduled to check it.
2273
2274 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2275
2276         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2277         (gst_bin_set_property), (gst_bin_get_property),
2278         (gst_bin_remove_func), (gst_bin_handle_message_func):
2279         * gst/gstbin.h:
2280           'private' is a c++ keyword, let's not use that in header files,
2281           otherwise c++ compilers will throw a tantrum.
2282
2283 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2284
2285         * plugins/elements/gstelements.c:
2286         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2287         (gst_file_sink_get_current_offset):
2288         * plugins/indexers/gstindexers.c: (plugin_init):
2289           Use #ifdef for HAVE_XYZ for consistency.
2290
2291         * tests/check/Makefile.am:
2292         * tests/check/elements/.cvsignore:
2293         * tests/check/elements/filesink.c: (setup_filesink),
2294         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2295           Add some unit tests for filesink.
2296
2297 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
2298
2299         Patch by: Mark Nauwelaerts <manauw at skynet be>
2300
2301         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2302         (gst_file_sink_query), (gst_file_sink_do_seek),
2303         (gst_file_sink_get_current_offset), (gst_file_sink_render):
2304         * plugins/elements/gstfilesink.h:
2305           Fix position reporting; rename data_written member to current_pos to
2306           reflect its real meaning (fixes #412648).
2307
2308 2007-05-22  Edward Hervey  <edward@fluendo.com>
2309
2310         * docs/gst/gstreamer-sections.txt:
2311         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2312         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2313         (gst_bin_remove_func), (gst_bin_handle_message_func):
2314         * gst/gstbin.h:
2315         Add a property for bins that handle the state change of their childs.
2316         Fixes #435880
2317
2318 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2319
2320         * libs/gst/controller/gstinterpolation.c:
2321         Use an array of the correct type when using _get_value_array with
2322         linear interpolation.
2323
2324 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
2325
2326         * gst/gstelement.c (gst_element_requires_clock,
2327           gst_element_provides_clock, gst_element_request_pad,
2328           gst_element_class_set_details, gst_element_class_set_details_simple,
2329           gst_element_default_send_event, gst_element_abort_state,
2330           gst_element_continue_state, gst_element_set_state,
2331           gst_element_set_state_func, iterator_activate_fold_with_resync):
2332         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2333           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2334           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2335           gst_pad_get_range, gst_pad_pull_range):
2336         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2337           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2338           GstPadActivateModeFunction, GstPadChainFunction,
2339           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2340           GstPadFixateCapsFunction, GstPadTemplate):
2341         * gst/gstpipeline.c (gst_pipeline_change_state,
2342           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2343           gst_pipeline_set_clock, gst_pipeline_auto_clock,
2344           gst_pipeline_get_delay):
2345           Whitespace and docs fixes.
2346
2347 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2348
2349         * libs/gst/controller/gstinterpolation.c:
2350         (interpolate_trigger_get_enum_value_array),
2351         (interpolate_trigger_get_string_value_array):
2352         Add support for retrieving value arrays when using the trigger
2353         interpolation mode. 
2354
2355 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2356
2357         * libs/gst/controller/gstcontroller.c:
2358         (gst_controller_get_value_array):
2359         * libs/gst/controller/gstcontroller.h:
2360         Clarify the docs of gst_controller_get_value_array(): The array where
2361         the values should be written to must be allocated as there seems to be
2362         no way to get the size of a random GType. This doesn't change any
2363         behaviour. Also fix some typos all over the place and remove an unused,
2364         commented function that is not necessary as g_object_set() could be
2365         used instead.
2366         * tests/check/libs/controller.c: (GST_START_TEST),
2367         (gst_controller_suite):
2368         Add unit test for gst_controller_get_value_array().
2369
2370 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
2371
2372         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2373
2374         Disable part of the gst_buffer_try_new_and_alloc test, because
2375         it can happily succeed on 64-bit systems where there's more address
2376         space available.
2377
2378 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2379
2380         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2381         Add unit test for the improved caps checking from bug #421543.
2382
2383 2007-05-21  Wim Taymans  <wim@fluendo.com>
2384
2385         * docs/design/part-synchronisation.txt:
2386         Small addition.
2387
2388         * gst/gstbin.c: (gst_bin_query):
2389         * plugins/elements/gstqueue.c: (apply_segment):
2390         Improve debugging.
2391
2392         * gst/gstmessage.h:
2393         Improve docs.
2394
2395 2007-05-21  Wim Taymans  <wim@fluendo.com>
2396
2397         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2398         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2399         (gst_pad_configure_src):
2400         Added simple version of improved caps checking. It was previously
2401         assumed that a setcaps function would check the validity of the caps but
2402         people prefer us to check caps against the template automatically. 
2403         Fixes #421543.
2404
2405 2007-05-21  Wim Taymans  <wim@fluendo.com>
2406
2407         * libs/gst/base/gstbasetransform.h:
2408         Fix macro for locking/unlocking the transform lock.
2409
2410 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2411
2412         * docs/plugins/tmpl/.cvsignore:
2413           Ignore more.
2414
2415 2007-05-18  Edward Hervey  <edward@fluendo.com>
2416
2417         * plugins/elements/gstqueue.c: (gst_queue_loop):
2418         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2419         for the subtle art of warning a potentially blocking thread that it
2420         should check the source pad return value, and relay the information
2421         upstream.
2422
2423 2007-05-18  Edward Hervey  <edward@fluendo.com>
2424
2425         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2426         Release the queue lock !
2427
2428 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2429
2430         * docs/libs/gstreamer-libs-sections.txt:
2431         Add the two new controller functions to the appropiate places.
2432
2433 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2434
2435         reviewed by: Stefan Kost <ensonic@users.sf.net>
2436
2437         * libs/gst/controller/gstcontroller.c:
2438         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2439         (_gst_controller_get_property), (_gst_controller_set_property),
2440         (_gst_controller_init), (_gst_controller_class_init):
2441         * libs/gst/controller/gstcontroller.h:
2442         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2443         (gst_object_get_control_rate), (gst_object_set_control_rate):
2444         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2445         Add API that provides sync suggestion timestamps for elements that
2446         call gst_object_sync_values() from which those elements can subdivide
2447         their processing loop to get the best results for the controlled
2448         properties. For now it just suggests last_sync + control_rate as
2449         new timestamp but this will be improved in the future.
2450
2451         While doing that change the control-rate property to a GstClockTime
2452         from guint and change it's meaning from samples to nanoseconds as
2453         the GstController doesn't know anything about sampling rate. Strictly
2454         speaking this breaks ABI but as the control-rate property didn't do
2455         anything in the past and as such couldn't be used this should be no
2456         problem.        
2457
2458 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2459
2460         reviewed by: Stefan Kost <ensonic@users.sf.net>
2461
2462         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2463         (gst_controller_unset_all):
2464         * libs/gst/controller/gstcontrollerprivate.h:
2465         * libs/gst/controller/gstinterpolation.c:
2466         (gst_controlled_property_find_control_point_node):
2467         Save last synced value from the list to continue searching from there
2468         in future syncs. This speeds everything up a bit.
2469         
2470 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2471
2472         reviewed by: Stefan Kost <ensonic@users.sf.net>
2473
2474         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2475         (gst_control_point_find), (gst_controlled_property_new),
2476         (gst_control_point_free), (gst_controlled_property_free),
2477         (gst_controller_set), (gst_controller_set_from_list),
2478         (gst_controller_unset), (gst_controller_unset_all),
2479         (gst_controller_sync_values):
2480         * libs/gst/controller/gstcontroller.h:
2481         * libs/gst/controller/gstcontrollerprivate.h:
2482         * libs/gst/controller/gstinterpolation.c:
2483         (gst_controlled_property_find_control_point_node),
2484         (interpolate_none_get), (interpolate_trigger_get):
2485         Add a new private GstControlPoint struct which "inherits" from
2486         GstTimedValue to allow different interpolators to store internal
2487         values next to each control point. From the outside everything is
2488         still a GstControlPoint so we don't loose binary compatibility.
2489         Also fixup all the GValue handling to not leak GValues or list nodes.
2490         * tests/check/libs/controller.c: (GST_START_TEST):
2491         Free the list nodes and GValues in the controller_misc test.
2492
2493 2007-05-17  Edward Hervey  <edward@fluendo.com>
2494
2495         * gst/gstsegment.c:
2496         Small doc fix.
2497
2498 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2499
2500         * gst/gstplugin.c: (gst_plugin_load_file):
2501           If we fail to load a plugin because of unresolved symbols or missing
2502           libraries and spew a warning to stderr, we may just as well mention
2503           which plugin it was that failed to load.
2504
2505 2007-05-13  David Schleef  <ds@schleef.org>
2506
2507         * docs/Makefile.am: the gtk-doc makefile snippet correctly
2508           handles the case when ENABLE_GTK_DOC is false, and installs
2509           the prebuilt documentation.  So gtk-doc subdirs are 
2510           unconditionally enabled.  Fixes: #349099.
2511
2512 2007-05-13  David Schleef  <ds@schleef.org>
2513
2514         * gst/gstutils.h: Reword some documentation.
2515
2516 2007-05-12  David Schleef  <ds@schleef.org>
2517
2518         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2519           do anything with the passed "module" parameter, so remove it.
2520           Allows removal of additional vestigal code.
2521
2522 2007-05-12  David Schleef  <ds@schleef.org>
2523
2524         * gst/gstplugin.c:
2525           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2526           Switch to using g_stat() because it's more portable.
2527
2528 2007-05-12  David Schleef  <ds@schleef.org>
2529
2530         * gst/gst.c:
2531           Add GST_DISABLE_OPTION_PARSING, in order to disable option
2532           parsing for embedded systems.
2533         * gst/gstelementfactory.c:
2534           Allow gst_element_register() to be called with plugin==NULL.
2535           Did nobody notice that static elements were broken?
2536
2537 2007-05-12  Wim Taymans  <wim@fluendo.com>
2538
2539         * tools/gst-launch.c: (event_loop):
2540         Give more interesting info when buffering starts and stops.
2541         Fix case where buffering starts but we fail to update the buffering flag
2542         because the target state is not PLAYING.
2543
2544 2007-05-12  Wim Taymans  <wim@fluendo.com>
2545
2546         * plugins/elements/gstqueue.c: (gst_queue_init),
2547         (gst_queue_finalize), (update_time_level), (apply_segment),
2548         (apply_buffer), (gst_queue_locked_flush),
2549         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2550         (gst_queue_handle_sink_event), (gst_queue_chain),
2551         (gst_queue_push_one), (gst_queue_loop):
2552         * plugins/elements/gstqueue.h:
2553         Refactor an cleanup queue a bit.
2554         Do better time level calculations that also work when the srcpad is not
2555         yet running.
2556         Remove some unneeded debug lines.
2557
2558         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2559         Added testcase for time level measurement.
2560         Try to make some stuff more racefree.
2561
2562 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2563
2564         * gst/gsturi.c: (gst_element_make_from_uri):
2565           Don't leak plugin feature.
2566
2567         * tests/check/Makefile.am:
2568         * tests/check/gst/.cvsignore:
2569         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2570           Add brain-dead unit test.
2571
2572 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2573
2574         Patch by: Jeroen Wouters <woutersj at gmail com>
2575
2576         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2577           Treat protocol strings in a case-insensitive way (#437563).
2578
2579 2007-05-11  Michael Smith <msmith@fluendo.com>
2580
2581         * gst/gstplugin.c: (gst_plugin_load_file):
2582         * gst/gstregistry.c: (gst_registry_scan_path_level):
2583           Don't print a g_warning for any failure to load a shared object.
2584           Instead, push this down into gstplugin.c, and warn _only_ if we
2585           failed to open the module (i.e. failure to link).
2586           Avoids warnings on normal, working, non-plugin .so files.
2587
2588 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
2589
2590         * gst/gstplugin.c (gst_plugin_load_file):
2591         * gst/gstregistry.c (GST_CAT_DEFAULT,
2592           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2593           Print a g_warning if there was an error when loading a plugins during
2594           registry scan. The shuld help beginners starting with gst-plugin
2595           template.
2596
2597 2007-05-10  Wim Taymans  <wim@fluendo.com>
2598
2599         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2600         (update_time_level), (gst_queue_locked_flush),
2601         (gst_queue_handle_sink_event), (gst_queue_chain),
2602         (gst_queue_push_one), (gst_queue_loop):
2603         * plugins/elements/gstqueue.h:
2604         Be smarter when calculating the current amount of data in the queue by
2605         measuring the difference between start and end timestamps (in running
2606         time) inside the queue. Fixes #432876.
2607         API: GstQueue::pushing to notify elements that we are pushing data again
2608         since the running signal is rather broken for this purpose.
2609
2610 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
2611
2612         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2613           gst_queue_base_init, gst_queue_init):
2614           use GST_BOILERPLATE
2615
2616 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
2617
2618         * win32/common/libgstreamer.def:
2619         Add new exported functions.
2620         * win32/vs6/grammar.dsp:
2621         Use grammar pre-generated files.
2622
2623 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2624
2625         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
2626
2627         * gst/Makefile.am:
2628         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2629         * gst/gstparse.h:
2630         * gst/gstutils.c: (gst_parse_bin_from_description):
2631         * gst/gstutils.h:
2632           Maintain API and ABI when --disable-parse is used. Now that
2633           we have an appropriate error code, we can just return NULL and the
2634           appropriate error when gst_parse_launch() is used despite it having
2635           been disabled (#342564).
2636
2637         * tests/check/Makefile.am:
2638         * tests/check/pipelines/.cvsignore:
2639         * tests/check/pipelines/parse-disabled.c:
2640           Make sure these functions exist and return NULL plus a GError when
2641           --disable-parse is used.
2642
2643 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
2644
2645         * tests/benchmarks/complexity.c: (main):
2646         * tests/benchmarks/mass-elements.c: (main):
2647           Set a good example and don't leak messages.
2648
2649 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
2650
2651         * docs/gst/Makefile.am:
2652         * docs/libs/Makefile.am:
2653           Correct fixxrefs options.
2654
2655         * docs/plugins/Makefile.am:
2656         * docs/plugins/gstreamer-plugins-docs.sgml:
2657         * docs/plugins/gstreamer-plugins-sections.txt:
2658         * plugins/elements/Makefile.am:
2659         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2660         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2661           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2662           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2663           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2664           _GstCapsFilterClass, trans_class):
2665         * plugins/elements/gstelements.c (name, rank, type, _elements):
2666         * plugins/elements/gstidentity.c
2667           (gst_identity_check_imperfect_timestamp,
2668           gst_identity_check_imperfect_offset):
2669           Document capsfilter and add doc-blurb to identity.
2670
2671 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
2672
2673         * libs/gst/controller/gstcontroller.c:
2674         (gst_controlled_property_set_interpolation_mode):
2675         * libs/gst/controller/gstinterpolation.c:
2676           Don't crash if someone tries to set an interpolation mode that
2677           is invalid or that isn't supported yet. Fixes #422295.
2678
2679         * tests/check/libs/controller.c: (GST_START_TEST),
2680         (gst_controller_suite):
2681           Add a test case for the above.
2682
2683 2007-05-03  Edward Hervey  <edward@fluendo.com>
2684
2685         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2686         Properly set the last_stop position on GstSegment. This will only happen
2687         if there is a buffer to push out.
2688
2689 2007-05-03  Wim Taymans  <wim@fluendo.com>
2690
2691         * libs/gst/base/gstbasetransform.c:
2692         (gst_base_transform_buffer_alloc):
2693         always_in_place does not mean that the sink and source caps are the
2694         same! Make sure we don't blindly proxy the buffer_alloc in this case.
2695
2696 2007-05-03  Wim Taymans  <wim@fluendo.com>
2697
2698         * docs/libs/gstreamer-libs-sections.txt:
2699         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2700         (gst_base_src_default_query), (gst_base_src_get_range):
2701         * libs/gst/base/gstbasesrc.h:
2702         API: gst_base_src_query_latency(). Added method so that subclasses can
2703         easily get the latency values of the base source class.
2704
2705 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
2706
2707         * tools/gst-inspect.c (print_implementation_info):
2708         Remove 0.8 cruft.
2709
2710 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2711
2712         * tools/Makefile.am:
2713         * tools/gst-launch.1.in:
2714           Don't create a customised man page based on the host architecture,
2715           describe the default registry path generically. That way the man
2716           page is the same for all architectures and packagers have one
2717           multilib issue less to deal with. Fixes #434926.
2718
2719 2007-05-02  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstpad.c:
2722         Fix documentation as spotted by rg on IRC. 
2723
2724 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
2725
2726         * gst/gstutils.c:
2727           Improve docs for gst_element_{link,unlink}.
2728
2729 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
2730
2731         * docs/design/part-events.txt:
2732         * docs/design/part-overview.txt:
2733         * gst/gstevent.c:
2734         * gst/gsturi.c:
2735         * gst/gsturi.h:
2736         * libs/gst/base/gstbasesink.c:
2737           Typo fixes; minor docs addition.
2738
2739 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2740
2741         * docs/gst/gstreamer-sections.txt:
2742         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2743         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2744         * gst/gsturi.h:
2745         API: Add gst_uri_protocol_is_supported(), which checks if a sink
2746         or src that supports a given URI protocol exists.
2747
2748 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2749
2750         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2751         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2752         Set the location to NULL if "file://" is set as URI. Otherwise
2753         some random previous URI would still be set if "file://" is
2754         set on an already used filesink/filesrc.
2755
2756 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2757
2758         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2759         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2760         Special case the "file://" URI as as this is used by some
2761         applications to test with gst_element_make_from_uri if there's
2762         an element that supports the URI protocol.
2763         Also move the g_path_is_absolute() check for the location part
2764         of the URI to also check this for "file://localhost/bla" URIs.
2765
2766 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
2767
2768         * docs/gst/gstreamer-sections.txt:
2769         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2770         * gst/gstbuffer.h:
2771         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2772         (gst_buffer_suite):
2773           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2774
2775 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
2776
2777         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2778         (gst_registry_binary_load_pad_template),
2779         (gst_registry_binary_load_plugin),
2780         (gst_registry_binary_read_cache):
2781         * gst/gstregistrybinary.h:
2782           Implement no-mmap alternative for registry reading. Do code cleanups.
2783           Add more comments about avoiding strdups for all text data. Comments
2784           welcome.
2785
2786 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2787
2788         * gst/gstregistrybinary.h (GstBinaryPluginElement,
2789           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
2790           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
2791           Comment structs and reformat to fix the build (that stuff should go
2792           into a priv. header).
2793
2794 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
2795
2796         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2797         (gst_registry_binary_load_feature):
2798         * gst/gstregistrybinary.h:
2799           Refactor so that we can implement multiple features. Add support for
2800           TypeFindFactory features.
2801
2802 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
2803
2804         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
2805
2806         * configure.ac:
2807           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
2808
2809 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
2810
2811         * gst/gstbin.c: (gst_bin_element_set_state),
2812         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
2813         (bin_handle_async_done), (gst_bin_handle_message_func):
2814           Fix build with --gst-disable-gst-debug
2815
2816 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2817
2818         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
2819           Make sure streaming has finished before calling the ::stop() vfunc,
2820           since that vfunc might clear state which is being used in the
2821           streaming thread. This fixes a race that caused crashes in
2822           audioresample when shutting down a pipeline (#420106).
2823
2824 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2825
2826         * docs/gst/gstreamer-sections.txt:
2827           That was one byte missing.
2828
2829 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2830
2831         * configure.ac:
2832         * docs/gst/gstreamer-sections.txt:
2833         * gst/Makefile.am:
2834         * gst/gstconfig.h.in:
2835         * gst/gstobject.c: (gst_object_class_init),
2836         (gst_signal_object_class_init):
2837         * gst/gstobject.h:
2838           2nd attempt to have a xml-less build as a joined effort of #413123
2839           and #421480.
2840
2841 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
2842
2843         * docs/design/draft-tagreading.txt:
2844           Added open issues/thoughts to draft.
2845
2846 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2847
2848         * gst/parse/grammar.tab.pre.c:
2849         * gst/parse/grammar.tab.pre.h:
2850         * gst/parse/lex._gst_parse_yy.pre.c:
2851         Update the prebuild parser sources.
2852
2853 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2854
2855         * gst/parse/Makefile.am:
2856         And now fix the building of the flex sources. Now everything should
2857         work as expected.
2858
2859 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2860
2861         * gst/parse/Makefile.am:
2862         Now hopefully fix the build failures by setting proper rule
2863         dependencies and moving instead of copying.
2864
2865 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2866
2867         * tests/benchmarks/complexity.gnuplot:
2868         * tests/benchmarks/complexity.scm:
2869         * tests/benchmarks/mass-elements.gnuplot:
2870         * tests/benchmarks/mass-elements.scm:
2871           Total licensification.
2872
2873 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2874
2875         * gst/parse/Makefile.am:
2876           Fix the build by correcting the rule that gave wrong files to flex.
2877
2878 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2879
2880         * tests/benchmarks/complexity.c:
2881         * tests/benchmarks/mass-elements.c:
2882           Change licence to LGPL as granted by Benjamin and Andy.
2883
2884 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2885
2886         * gst/parse/Makefile.am:
2887         Add correct grammar.tab.h dependency if compiling without new enough
2888         flex. Fixes #431150.
2889
2890 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2891
2892         * gst/parse/Makefile.am:
2893         Fix typo and use outdated sources if the flex/bison sources are newer
2894         than the pregenerated ones but flex is too old. Print a warning in
2895         that case. This should fix the build on the build bot.
2896
2897 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2898
2899         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
2900         * gst/parse/Makefile.am:
2901         * gst/parse/grammar.y:
2902         * gst/parse/parse.l:
2903         Make the parser reentrant and recursively callable. This requires flex
2904         >= 2.5.31, for older versions pregenerated sources are used as we
2905         can't bump the build dependency. Finally fixes #349180.
2906
2907         * gst/gstparse.c: (gst_parse_launch):
2908         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
2909         now anyway.
2910
2911         * docs/gst/Makefile.am:
2912         * docs/gst/Makefile.am:
2913         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
2914         (__gst_parse_strfree), (__gst_parse_link_new),
2915         (__gst_parse_link_free), (__gst_parse_chain_new),
2916         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
2917         (gst_parse_element_set), (gst_parse_free_link),
2918         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
2919         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
2920         (_gst_parse_launch):
2921         * gst/parse/grammar.tab.pre.h:
2922         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
2923         (yy_get_previous_state), (yy_try_NUL_trans), (input),
2924         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
2925         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
2926         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
2927         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
2928         (_gst_parse_yypop_buffer_state),
2929         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
2930         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
2931         (yy_fatal_error), (_gst_parse_yyget_extra),
2932         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
2933         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
2934         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
2935         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
2936         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
2937         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
2938         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
2939         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
2940         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
2941         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
2942         (_gst_parse_yyfree):
2943         If the installed flex version is too old use pre-generated parser
2944         sources. These pre-generated parser sources are always updated when
2945         the actual flex/bison sources change but require everybody who wants
2946         to change something in the parser to have flex >= 2.5.31 installed.
2947
2948 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
2949
2950         * common/m4/gst-gettext.m4:
2951         * gst/gst-i18n-lib.h:
2952           Make --disable-nls to work
2953
2954 2007-04-17  Wim Taymans  <wim@fluendo.com>
2955
2956         * gst/gstconfig.h.in:
2957         Revert previous change that broke the build.
2958
2959 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
2960
2961         * configure.ac:
2962         * gst/Makefile.am:
2963         * gst/gstconfig.h.in:
2964           Drop libxml2 dependency when building with 
2965           --enable-binary-registry --disable-loadsave
2966
2967 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
2968
2969         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2970         (gst_registry_binary_read_cache):
2971         * gst/gstregistrybinary.h:
2972           Remove unnecessary <sys/mman.h> include which broke the win32 build
2973           with MingW; move includes from header file to .c file, even if the
2974           header file isn't installed; use g_strerror() where UTF-8 strings
2975           are expected, such as in GST_DEBUG messages.
2976
2977 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2978
2979         * docs/libs/gstreamer-libs-sections.txt:
2980         Remove bogus addition for API I didn't end up keeping.
2981
2982         * libs/gst/base/gstbasesrc.h:
2983         Mention Since: 0.10.13 in the documentation.
2984
2985         Add the API keyword to the previous ChangeLog entry.
2986
2987 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2988
2989         * docs/libs/gstreamer-libs-sections.txt:
2990         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2991         (gst_base_src_default_prepare_seek_segment),
2992         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
2993         * libs/gst/base/gstbasesrc.h:
2994         Allow basesrc derived classes to execute seeks in other formats
2995         by providing a prepare_seek_segment vmethod. Sub-classes can choose
2996         to prepare the GstSegment in any format that their perform_seek method
2997         will be able to understand. The default implementation provides the
2998         old behaviour of attempting to convert the seek offsets to the 
2999         configured native format.
3000
3001         API: basesrc::prepare_seek_segment vmethod.
3002
3003 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3004
3005         * gst/gstelement.c: (gst_element_get_state_func):
3006         Don't output the same debug statement twice.
3007
3008         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3009         (gst_adapter_peek), (gst_adapter_take_buffer):
3010         Optimise the case where we have buffers at the head of the queue that
3011         can be joined quickly (because they're contiguous sub-buffers) by
3012         merging them together rather than copying data out into new memory.
3013
3014         * gst/parse/grammar.y:
3015         * tests/check/pipelines/parse-launch.c:
3016         Fix a leak in an error path for parse_launch, and add a check 
3017         for it to the testsuite.
3018
3019 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3020
3021         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3022           Don't deadlock when releasing a pad - gst_pad_set_active may try
3023           and take the multiqueue lock too.
3024
3025 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3026
3027         * gst/gsterror.c: (_gst_core_errors_init):
3028         * gst/gsterror.h:
3029           API: add GST_CORE_ERROR_DISABLED (#392804).
3030
3031 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3032
3033         * docs/faq/gst-uninstalled:
3034           don't get empty paths on the PATH variables
3035         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3036           Don't format for the uncommon terminal width of 84 characters.
3037
3038 2007-04-06  Wim Taymans  <wim@fluendo.com>
3039
3040         * gst/gstpipeline.c: (reset_stream_time),
3041         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3042         Only try to select a different pipeline clock when we went back to
3043         PAUSED and not when we merely got flushed.
3044
3045 2007-04-05  Michael Smith  <msmith@fluendo.com>
3046
3047         * tools/gst-launch.1.in:
3048           fractions are better supported in gstreamer than ractions, so
3049           suggest using those.
3050
3051 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3052
3053         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3054
3055         * po/LINGUAS:
3056         * po/da.po:
3057           Added Danish translation.
3058
3059 2007-04-05  Wim Taymans  <wim@fluendo.com>
3060
3061         * libs/gst/base/gstbasesink.c:
3062         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3063         Fix leak caused when refusing newsegment after EOS.
3064
3065         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3066         (gst_fake_sink_init), (gst_fake_sink_set_property),
3067         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3068         (gst_fake_sink_render), (gst_fake_sink_change_state):
3069         * plugins/elements/gstfakesink.h:
3070         Add num-buffers property to make the element generate EOS after a
3071         configurable amount of buffers.
3072         API: fakesink::num-buffers property.
3073
3074         * tests/check/elements/fakesink.c: (GST_START_TEST),
3075         (fakesink_suite):
3076         Fix GstBus leak in test.
3077         Test for fakesink num-buffers.
3078
3079 2007-04-05  Wim Taymans  <wim@fluendo.com>
3080
3081         * libs/gst/base/gstbasesink.c:
3082         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3083         (gst_base_sink_change_state):
3084         Don't accept anything after an EOS, return UNEXPECTED instead.
3085
3086         * tests/check/elements/fakesink.c: (GST_START_TEST),
3087         (fakesink_suite):
3088         Unit test for new EOS behaviour.
3089
3090 2007-04-05  Wim Taymans  <wim@fluendo.com>
3091
3092         * gst/gstelement.c: (gst_element_get_request_pad):
3093         Make padtemplates also work when they don't contain %s or %d.
3094
3095 2007-04-05  Wim Taymans  <wim@fluendo.com>
3096
3097         * docs/gst/gstreamer-sections.txt:
3098         * gst/gstclock.c: (gst_clock_adjust_unlocked),
3099         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3100         * gst/gstclock.h:
3101         Improve _adjust_unlocked() so that it overflows less.
3102         Add gst_clock_unadjust_unlocked to convert from external time to
3103         internal time based on calibration.
3104         Add some more debug.
3105         API: GstClock::gst_clock_unadjust_unlocked()
3106
3107 2007-04-03  Wim Taymans  <wim@fluendo.com>
3108
3109         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3110
3111         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3112         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3113         when releasing sink pad. Fixes #425400.
3114
3115 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
3116
3117         * docs/random/ensonic/dynlink.txt:
3118           More work on proposal for new core api.
3119
3120         * docs/libs/gstreamer-libs-sections.txt:
3121         * libs/gst/base/gstbasetransform.h:
3122           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3123           
3124         * libs/gst/controller/gstcontroller.c:
3125         (on_object_controlled_property_changed),
3126         (gst_controller_sync_values),
3127         (gst_controller_set_interpolation_mode):
3128         * libs/gst/controller/gstcontroller.h:
3129           Less verbose logging add docs for unimplemented parts and correctly
3130           return when using unavailable parts.
3131
3132 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3133
3134         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3135         Move all the debug to the CLOCK category, and associate it with
3136         the clock object.
3137
3138 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
3139
3140         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3141         Make take_buffer a bit quicker by removing redundant checks
3142         caused by calling gst_adapter_take.
3143
3144 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3145
3146         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3147           Don't leak GCond.
3148
3149         * tests/check/Makefile.am:
3150         * tests/check/elements/.cvsignore:
3151         * tests/check/elements/multiqueue.c: (setup_multiqueue),
3152         (GST_START_TEST), (multiqueue_suite):
3153           Add some dead simple unit tests for the 'multiqueue' element
3154           (some bits don't work yet and are disabled for now).
3155
3156 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
3157
3158         * gst/gstelement.c: (gst_element_get_request_pad),
3159         (gst_element_class_get_request_pad_template):
3160           Make gst_element_get_request_pad() create request pads only for
3161           request pad templates and not for, say, sometimes pad templates.
3162
3163 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
3164
3165         * docs/design/draft-klass.txt:
3166           Add example that needs more thinking.
3167         
3168         * docs/design/draft-missing-plugins.txt:
3169           More thoughts about wrapper plugins.
3170         
3171         * docs/random/ensonic/embedded.txt:
3172         * docs/random/ensonic/profiling.txt:
3173           More design work.
3174
3175 2007-03-25  Wim Taymans  <wim@fluendo.com>
3176
3177         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3178         (gst_base_src_loop):
3179         Only push the segment events in the PLAYING state for live sources.
3180
3181 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
3182
3183         * gst/gstpipeline.c: (gst_pipeline_change_state):
3184         Modify the clock distribution path in PAUSED->PLAYING so that we 
3185         never attempt to choose a new clock unless we're actually leaving
3186         the PAUSED state for the first time. This prevents choosing a
3187         different clock when the state_change gets called for a 2nd time due
3188         to some element doing an async state change.
3189
3190 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3191
3192         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3193         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3194         (gst_pad_chain_unchecked), (gst_pad_push):
3195         Revert last commit. This needs some more thoughts.
3196
3197 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3198
3199         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3200         (gst_pad_chain_unchecked), (gst_pad_push):
3201         Check in set_caps if the caps are compatible with the pad and remove
3202         two functions that are redundant now. Fixes #421543.
3203
3204 2007-03-22  Wim Taymans  <wim@fluendo.com>
3205
3206         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3207         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3208         Unref some more to make valgrind happy.
3209
3210 2007-03-22  Wim Taymans  <wim@fluendo.com>
3211
3212         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3213         (gst_system_clock_id_wait_jitter),
3214         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3215         Fix anoying regression that survived a few releases. When adding an
3216         async entry while blocking on a sync entry, the sync entry will unblock
3217         but still be busy, so it should continue to wait instead of returning
3218         _BUSY to the app.
3219         Add some comments here and there.
3220
3221         * tests/check/gst/gstsystemclock.c: (mixed_thread),
3222         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3223         Add testcase for this.
3224
3225 2007-03-22  Wim Taymans  <wim@fluendo.com>
3226
3227         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3228         Handle errors from the clock sync better, only UNSCHEDULED indicates a
3229         WRONG_STATE and can silently pause the task. All other cases should
3230         error out.
3231
3232 2007-03-22  Wim Taymans  <wim@fluendo.com>
3233
3234         Patch by: Ville Syrjala <syrjala at sci dot fi>
3235
3236         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3237         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
3238         Improve debugging.
3239
3240 2007-03-21  Michael Smith  <msmith@fluendo.com>
3241
3242         * docs/pwg/advanced-types.xml:
3243           Fix some errors in the typefinding docs pointed out on irc.
3244
3245 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
3246
3247         * libs/gst/base/gstbasesrc.c:
3248         Clarify FIXME comment in the face of having added unlock_stop()
3249
3250 2007-03-21  Wim Taymans  <wim@fluendo.com>
3251
3252         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3253         Prepare for release where we warn against possible app breakage in the
3254         case of live pipelines along with an env var to enable/disable live
3255         preroll mode (GST_COMPAT=[no-]live-preroll).
3256
3257 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3258
3259         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3260         So we should use correct constants for checking for None offset.
3261
3262 2007-03-20  Wim Taymans  <wim@fluendo.com>
3263
3264         * docs/design/part-block.txt:
3265         Mention the fact that the newly switched element should be set to at
3266         least PAUSED.
3267
3268 2007-03-20  Wim Taymans  <wim@fluendo.com>
3269
3270         * gst/gst.c:
3271         Fix compilation with registry disabled as spotted by Saur.
3272
3273 2007-03-20  Wim Taymans  <wim@fluendo.com>
3274
3275         Patch by: Olivier Crete <tester at tester dot ca>
3276
3277         * gst/gstelement.c: (gst_element_sync_state_with_parent):
3278         Look at the pending state too when syncing the element state to the
3279         parent. Fixes #420133.
3280
3281 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
3282
3283         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3284         (gst_base_sink_change_state):
3285         * libs/gst/base/gstbasesink.h:
3286         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3287         (gst_base_src_default_event), (gst_base_src_unlock_stop),
3288         (gst_base_src_deactivate):
3289         * libs/gst/base/gstbasesrc.h:
3290         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3291         for sub-classes to correctly clear any state they set trying to
3292         unlock, such as clearing out unlock commands from a command fd.
3293         API: basesrc::unlock_stop
3294         API: basesink::unlock_stop
3295
3296         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3297         (gst_fd_sink_render), (gst_fd_sink_unlock),
3298         (gst_fd_sink_unlock_stop):
3299         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3300         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3301         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3302
3303         Implement unlock_stop in fdsrc and fdsink.
3304         Implement seeking in fdsrc when a seekable fd is passed, as in
3305         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3306
3307 2007-03-19  Wim Taymans  <wim@fluendo.com>
3308
3309         Patch by: Evan Nemerson <evan at coeus dash group dot com>
3310
3311         * gst/gstelement.c: (gst_element_class_init):
3312         Fix pad-added and pad-removed signal signatures so that the pad type is
3313         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3314
3315 2007-03-19  Wim Taymans  <wim@fluendo.com>
3316
3317         * docs/gst/gstreamer-sections.txt:
3318         Add new element field and method.
3319
3320         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3321         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3322         (gst_bin_recalc_state), (gst_bin_get_state_func),
3323         (gst_bin_element_set_state), (gst_bin_change_state_func),
3324         (gst_bin_continue_func), (bin_bus_handler),
3325         (bin_push_state_continue), (bin_handle_async_start),
3326         (bin_handle_async_done), (gst_bin_handle_message_func):
3327         Make async state changes a bit smarter by using new ASYNC_START and
3328         ASYNC_DONE messages. This reduces the number of times we run the state
3329         recalculation thread.
3330         Don't change state of element with a pending ASYNC_START message.
3331         Deprecate STATE_DIRTY messages.
3332         
3333         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3334         (gst_element_get_state_func), (gst_element_continue_state),
3335         (gst_element_lost_state), (gst_element_set_state_func),
3336         (gst_element_change_state):
3337         * gst/gstelement.h:
3338         Keep the state that was last set by the app in a new element field.
3339         Don't allow state changes when handling an element event.
3340         Post ASYNC_START and ASYNC_DONE messages.
3341         Change lost_state so that we go to PAUSED and wait for the parent to set
3342         us to PLAYING again (so latency calculation can be performed)
3343         Export gst_element_change_state() method so that subclasses can use it.
3344         API: gst_element_change_state()
3345         API: GST_STATE_TARGET
3346
3347         * gst/gstpipeline.c: (gst_pipeline_class_init),
3348         (reset_stream_time), (gst_pipeline_change_state),
3349         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3350         Using the new ASYNC_START message we can reset the base_time when
3351         needed. This can then be used to implement base_time redistribution in
3352         flushing seeks so that we can remove the explicit seek handling.
3353         Perform latency query and configuration when going to PLAYING.
3354
3355         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3356         (gst_base_sink_query), (gst_base_sink_change_state):
3357         Post new ASYNC_START/ASYNC_DONE messages.
3358
3359         * tests/check/generic/sinks.c: (GST_START_TEST):
3360         Fix test because the bin will not set the async element to PLAYING right
3361         away.
3362
3363         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3364         Make the message check a little stronger.
3365         Handle ASYNC messages.
3366
3367         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3368         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3369         Expect ASYNC_DONE messages.
3370
3371 2007-03-19  Wim Taymans  <wim@fluendo.com>
3372
3373         * docs/gst/gstreamer-sections.txt:
3374         * gst/gstmessage.c: (gst_message_new_async_start),
3375         (gst_message_new_async_done), (gst_message_parse_info),
3376         (gst_message_parse_async_start):
3377         * gst/gstmessage.h:
3378         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3379         support.
3380
3381 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
3382
3383         * tools/gst-inspect.c:
3384         (print_plugin_automatic_install_info_codecs):
3385           Now that we don't check for the 'Codec' keyword any longer in the
3386           klass, we shouldn't spew a warning if the klass isn't a decoder or
3387           encoder (since it might be a Source/Network, for example).
3388
3389 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
3390
3391         * tools/gst-inspect.c:
3392         (print_plugin_automatic_install_info_codecs):
3393           Don't require decoder/demuxer/depayloader elements or
3394           encoder/muxer/paylader elements to have 'Codec' as part of their
3395           factory class string when introspecting a plugin's capabilities.
3396           draft-klass.txt mentions that it might be removed in future, and
3397           flump3dec doesn't have it as part of its class string, so chances
3398           are others might also not have it.
3399
3400 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3401
3402         * po/af.po:
3403         * po/az.po:
3404         * po/bg.po:
3405         * po/ca.po:
3406         * po/cs.po:
3407         * po/de.po:
3408         * po/en_GB.po:
3409         * po/fr.po:
3410         * po/it.po:
3411         * po/nb.po:
3412         * po/nl.po:
3413         * po/ru.po:
3414         * po/sq.po:
3415         * po/sr.po:
3416         * po/sv.po:
3417         * po/tr.po:
3418         * po/uk.po:
3419         * po/vi.po:
3420         * po/zh_CN.po:
3421         * po/zh_TW.po:
3422           Update translations from translation project
3423
3424 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
3425
3426         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3427         (gst_child_proxy_set_property):
3428           Invert precondition check to be alike the ones in the mimiced gobject
3429           api.
3430
3431 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
3432
3433         * docs/design/draft-tagreading.txt:
3434         * docs/random/ensonic/audiobaseclasses.txt:
3435           Do some Architect work.
3436
3437         * gst/gstobject.c: (gst_object_set_name):
3438           Add a WARNING.
3439
3440         * gst/gstpad.c:
3441           Add docs that point from gst_pad_get_range to gst_pad_pull_range
3442
3443 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
3444
3445         * gst/gstsystemclock.c: (gst_system_clock_init),
3446         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3447         Defer starting the async system clock thread until the first async
3448         wait is scheduled. Fixes #414986.
3449
3450 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3451
3452         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3453         (gst_single_queue_free):
3454           Fix small leak (free GstSingleQueue structure too, not only contents).
3455
3456 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
3457
3458         * gst/gstbin.c:(gst_bin_add):
3459         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3460         * win32/common/libgstbase.def:
3461         * win32/common/libgstreamer.def:
3462         Add new exported functions.
3463
3464 2007-03-09  Wim Taymans  <wim@fluendo.com>
3465
3466         * docs/plugins/gstreamer-plugins-sections.txt:
3467         Fix GstTee docs.
3468
3469 2007-03-09  Wim Taymans  <wim@fluendo.com>
3470
3471         * docs/gst/gstreamer-sections.txt:
3472         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3473         * gst/gstbuffer.h:
3474         Add metadata copy functions. Fixes #393099.
3475         API: gst_buffer_copy_metadata()
3476
3477         * gst/gstutils.c: (gst_buffer_stamp):
3478         * libs/gst/base/gstbasetransform.c:
3479         (gst_base_transform_prepare_output_buffer):
3480         Use new metadata copy functions.
3481
3482 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3483
3484         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3485         (gst_identity_init), (gst_identity_check_perfect),
3486         (gst_identity_check_imperfect_timestamp),
3487         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3488         (gst_identity_set_property), (gst_identity_get_property):
3489         * plugins/elements/gstidentity.h:
3490         Separate out check-imperfect-timestamp and check-imperfect-offset.
3491         Put back check-perfect as it was to keep compatibility.
3492
3493 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
3494
3495         * gst/gstelement.c: (gst_element_dispose):
3496         There's no need to warn if VOID_PENDING is not NONE here, as
3497         long as the state is NULL it's ok, and that's checked immediately
3498         above.
3499
3500 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3501
3502         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3503         Fix check for perfect stream to ignore buffers with -1 
3504         offsets/offset ends when checking data contiguity.
3505
3506 2007-03-08  Wim Taymans  <wim@fluendo.com>
3507
3508         * tools/gst-launch.c: (event_loop):
3509         Print INFO messages.
3510
3511 2007-03-08  Wim Taymans  <wim@fluendo.com>
3512
3513         * libs/gst/base/gstbasetransform.c:
3514         (gst_base_transform_sink_eventfunc),
3515         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3516         (gst_base_transform_activate):
3517         * libs/gst/base/gstbasetransform.h:
3518         Add support for dropping buffers with custom GstFlowReturn.
3519         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3520         buffers or dropped buffers.
3521
3522         * docs/libs/gstreamer-libs-sections.txt:
3523         docs for new custom return code.
3524
3525         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3526         Use drop support in base class to implement drop-probability.
3527
3528 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3529
3530         * gst/gst.c: (load_plugin_func):
3531         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3532         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3533         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3534           Remove newlines at end of debug log strings.
3535
3536 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3537
3538         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3539         Only post bus message at max, once per buffer received.
3540
3541 2007-03-07  Wim Taymans  <wim@fluendo.com>
3542
3543         * docs/design/Makefile.am:
3544         * docs/design/part-synchronisation.txt:
3545         Add doc about synchronisation
3546
3547         * docs/design/draft-latency.txt:
3548         * docs/design/part-TODO.txt:
3549         * docs/design/part-clocks.txt:
3550         * docs/design/part-events.txt:
3551         * docs/design/part-gstbus.txt:
3552         * docs/design/part-gstpipeline.txt:
3553         * docs/design/part-live-source.txt:
3554         * docs/design/part-messages.txt:
3555         * docs/design/part-overview.txt:
3556         * docs/design/part-streams.txt:
3557         * docs/design/part-trickmodes.txt:
3558         Documentation updates.
3559
3560 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3561
3562         * gstreamer.doap:
3563         Update the doap file.
3564
3565 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3566
3567         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3568         Rename non-perfect to imperfect for Mike and for the sanctity of the
3569         language.
3570         Also make sure bus message gets emitted for data-incontiguities.
3571
3572 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3573
3574         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3575         (gst_identity_start):
3576         * plugins/elements/gstidentity.h:
3577         Emit bus message if check-perfect is true and we encounter a
3578         non-perfect stream between 2 consecutive buffers.
3579         Fixes #415394.
3580
3581 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
3582
3583         * configure.ac:
3584         Back to CVS
3585
3586 === release 0.10.12 ===
3587
3588 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
3589
3590         * configure.ac:
3591           releasing 0.10.12, "Inevitable Demise"
3592
3593 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
3594
3595         * configure.ac:
3596          Version 0.10.11.2 (0.10.12 pre-release)
3597          Bump libtool versioning.
3598
3599 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
3600
3601         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3602           Log flow-names and not numbers.
3603
3604 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * configure.ac:
3607           Convert to new AG_GST style.
3608
3609 2007-02-28  Wim Taymans  <wim@fluendo.com>
3610
3611         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3612         Don't unref query twice.
3613
3614 2007-02-28  Wim Taymans  <wim@fluendo.com>
3615
3616         * gst/gstvalue.c: (gst_value_transform_object_string),
3617         (_gst_value_initialize):
3618         Implement GstObject -> string transform so we print object names
3619         when serializing GValues containing GstObjects.
3620
3621 2007-02-28  Wim Taymans  <wim@fluendo.com>
3622
3623         * docs/gst/gstreamer-sections.txt:
3624         Add new stuff to docs.
3625
3626 2007-02-28  Wim Taymans  <wim@fluendo.com>
3627
3628         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3629         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3630         (gst_base_sink_change_state):
3631         Improve latency query code.
3632         Don't leak latency events.
3633
3634         * tests/check/gst/gstbin.c: (GST_START_TEST):
3635         Improve debugging.
3636
3637 2007-02-28  Wim Taymans  <wim@fluendo.com>
3638
3639         * gst/gstelement.c: (gst_element_message_full),
3640         (gst_element_get_state_func):
3641         * gst/gstelement.h:
3642         Improve docs a little. Added Since: for new macro.
3643
3644         * gst/gstobject.c: (gst_object_sink):
3645         * gst/gstpipeline.c: (gst_pipeline_change_state),
3646         (gst_pipeline_set_new_stream_time):
3647         * gst/gstpipeline.h:
3648         Improve debugging and docs.
3649
3650         * gst/gstutils.c: (gst_element_state_change_return_get_name):
3651         Improve debugging.
3652
3653 2007-02-28  Wim Taymans  <wim@fluendo.com>
3654
3655         * gst/gstelement.c: (gst_element_message_full),
3656         (gst_element_set_locked_state), (gst_element_get_state_func),
3657         (gst_element_change_state):
3658         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3659         Documentation updates.
3660         Small code cleanups.
3661
3662         * gst/gstmessage.c: (gst_message_new_info),
3663         (gst_message_parse_info):
3664         * gst/gstmessage.h:
3665         API: gst_message_new_info()
3666         API: gst_message_parse_info()
3667         Add INFO message create and parse code.
3668
3669 2007-02-28  Wim Taymans  <wim@fluendo.com>
3670
3671         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3672         (bin_query_latency_done):
3673         Also report the live parameter of a latency query.
3674
3675 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3676
3677         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3678           Copy the current generic/states example from -base and adapt so
3679           we can use the exact same code everywhere.
3680           Check a STATES_IGNORE_ELEMENTS env var which can be used
3681           to ignore certain element factories for this test, which is
3682           what is being done in -base
3683         * tests/check/Makefile.am:
3684           Mention this environment variable.
3685
3686 2007-02-27  Wim Taymans  <wim@fluendo.com>
3687
3688         * docs/gst/gstreamer-sections.txt:
3689         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3690         (gst_bus_timed_pop), (gst_bus_pop):
3691         * gst/gstbus.h:
3692         API: gst_bus_timed_pop()
3693         Implement gst_bus_timed_pop() to do a blocking timed wait for a
3694         message to arrive on the bus.
3695
3696         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3697         (gst_bus_suite):
3698         Two unit tests for new _timed_pop() function.
3699
3700 2007-02-23  Wim Taymans  <wim@fluendo.com>
3701
3702         * gst/gstpipeline.c: (gst_pipeline_change_state),
3703         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3704         Don't ref a NULL clock in _provide_clock_func().
3705         Don't allow an INVALID delay.
3706         Don't try to calculate base_time with an invalid start_time.
3707         Also distribute and notify a NULL clock when it was selected.
3708
3709         * tools/gst-launch.c: (event_loop):
3710         Don't crash when a NULL clock was selected in the pipeline.
3711
3712 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3713
3714         * docs/design/Makefile.am:
3715         * docs/design/draft-missing-plugins.txt:
3716         * docs/random/draft-missing-plugins.txt:
3717           Some small updates: update plugin system identifier prefix
3718           ('gstreamer.net' to 'gstreamer'), mention our new install
3719           API in libgstbaseutils rather than libgimme-codec, add
3720           reference to the online docs.
3721
3722 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * win32/common/config.h:
3725           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
3726           use moap cl ci to only check in what is mentioned in the ChangeLog.
3727
3728 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3729
3730         * docs/gst/gstreamer-sections.txt:
3731         * gst/gstelement.h:
3732           Fix up documentation to link to the correct GstGError section.
3733           Add GST_ELEMENT_INFO macro since someone else added a Info message.
3734
3735 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3736
3737         * tools/gst-launch.c: (event_loop):
3738           Make sure that we actually show the important message part of a
3739           warning message.
3740           No need to check if the gerror is not NULL to free; first of all
3741           g_free accepts NULL; and second the default error handler would
3742           segfault if gerror was NULL.
3743
3744 2007-02-21  Wim Taymans  <wim@fluendo.com>
3745
3746         * docs/gst/gstreamer-sections.txt:
3747         Removed docs as well.
3748
3749 2007-02-21  Wim Taymans  <wim@fluendo.com>
3750
3751         * gst/gstmessage.c: (gst_message_parse_duration):
3752         * gst/gstmessage.h:
3753         Remove new messages for release.
3754
3755 2007-02-20  Wim Taymans  <wim@fluendo.com>
3756
3757         * docs/design/part-gstghostpad.txt:
3758         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3759         (gst_ghost_pad_new_full):
3760         Make the ghostpad a parent of the internal pad again for better backward
3761         compatibility. Don't write code that relies on this however.
3762
3763         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3764         (gst_pad_link_check_hierarchy):
3765         Require that parents should be GstElements in the hierarchy check.
3766
3767 2007-02-20  Wim Taymans  <wim@fluendo.com>
3768
3769         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3770         (gst_bin_change_state_func), (bin_query_min_max_init),
3771         (bin_query_latency_fold), (bin_query_latency_done),
3772         (gst_bin_query):
3773         Improve debug info.
3774         Implement latency query.
3775
3776 2007-02-20  Wim Taymans  <wim@fluendo.com>
3777
3778         * docs/design/part-gstghostpad.txt:
3779         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3780         (gst_ghost_pad_internal_do_activate_push),
3781         (gst_ghost_pad_internal_do_activate_pull),
3782         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3783         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
3784         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
3785         Do not set the internal pad as a parent anymore so we can avoid
3786         hierarchy linking errors when the ghostpad has no parent yet. This also
3787         fixes failed activation because of unlinked internal pads, which in
3788         turn fixes the impossible case where you have to activate a pad before
3789         you can add it to a running element.
3790         Also fix the docs.
3791
3792         * gst/gstpad.c: (pre_activate), (post_activate),
3793         (gst_pad_set_active), (gst_pad_activate_pull),
3794         (gst_pad_activate_push), (gst_pad_check_pull_range):
3795         Add some more debug info.
3796         Mark activation mode in pre_activate so that we don't try to activate in
3797         endless loops. Fixes #385084.
3798
3799 2007-02-19  Wim Taymans  <wim@fluendo.com>
3800
3801         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3802         (gst_base_transform_check_get_range):
3803         Implement a checkgetrange function instead of relying on the default
3804         core behaviour that assumes we can operate in pull mode if we have a
3805         getrange function. First step at fixing #385084.
3806
3807 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
3808
3809         * gst/gstchildproxy.h:
3810         * libs/gst/base/gstbasesink.h:
3811         * libs/gst/base/gstbasesrc.h:
3812         * libs/gst/base/gstbasetransform.h:
3813         More docs coverage and some ChangeLog surgery (add missing names)
3814
3815 2007-02-15  Wim Taymans  <wim@fluendo.com>
3816
3817         * docs/design/part-TODO.txt:
3818         * docs/design/part-activation.txt:
3819         * docs/design/part-block.txt:
3820         * docs/design/part-buffering.txt:
3821         * docs/design/part-clocks.txt:
3822         * docs/design/part-element-source.txt:
3823         * docs/design/part-events.txt:
3824         * docs/design/part-gstbin.txt:
3825         * docs/design/part-gstbus.txt:
3826         * docs/design/part-gstpipeline.txt:
3827         * docs/design/part-live-source.txt:
3828         * docs/design/part-messages.txt:
3829         * docs/design/part-overview.txt:
3830         * docs/design/part-qos.txt:
3831         * docs/design/part-query.txt:
3832         * docs/design/part-states.txt:
3833         * docs/design/part-trickmodes.txt:
3834         Some doc updates. Start renaming from stream_time to running_time where
3835         it was used wrongly.
3836
3837 2007-02-15  Wim Taymans  <wim@fluendo.com>
3838
3839         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3840         Answer LATENCY query.
3841
3842 2007-02-15  Wim Taymans  <wim@fluendo.com>
3843
3844         * tests/check/gst/gstevent.c: (event_probe), (test_event),
3845         (GST_START_TEST):
3846         Improve debugging.
3847
3848 2007-02-15  Wim Taymans  <wim@fluendo.com>
3849
3850         * gst/gstpad.c: (gst_pad_get_internal_links_default),
3851         (gst_pad_dispatcher):
3852         Improve debugging of default pad dispatcher and query functions.
3853
3854 2007-02-15  Wim Taymans  <wim@fluendo.com>
3855
3856         * docs/gst/gstreamer-sections.txt:
3857         Remove old unused method.
3858
3859 2007-02-13  Wim Taymans  <wim@fluendo.com>
3860
3861         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3862         Fix check
3863
3864 2007-02-13  Wim Taymans  <wim@fluendo.com>
3865
3866         * docs/design/part-seeking.txt:
3867         Some small update.
3868
3869         * gst/gstsegment.c: (gst_segment_set_seek):
3870         Revert old bogus change that should make seeking work again.
3871
3872 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3873
3874         * docs/random/ensonic/dynlink.txt:
3875         * docs/random/ensonic/interfaces.txt:
3876         * docs/random/ensonic/receipies.txt:
3877           Possible dynamic reconnection api, plus some type fixes the other two
3878           docs.
3879
3880 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
3881
3882         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3883         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3884         Also check for an absolute path following file:// in the filesrc
3885         element. Remove redundant check and call g_path_is_absolute() on the
3886         unescaped location.
3887
3888 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * docs/design/draft-klass.txt:
3891           Add existing category analysis.
3892           
3893         * gst/gstcaps.c:
3894           Fix doc example, framerate is a fraction.
3895
3896 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3897
3898         * configure.ac:
3899         * docs/gst/Makefile.am:
3900         * docs/gst/gstreamer-sections.txt:
3901         * docs/libs/Makefile.am:
3902           Erm, forgot a bunch of --extra-dir.
3903
3904 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3905
3906         * configure.ac:
3907         * docs/gst/Makefile.am:
3908         * docs/libs/Makefile.am:
3909         * docs/plugins/Makefile.am:
3910           Add crossreferences to glib/gobject docs.
3911
3912 2007-02-12  Wim Taymans  <wim@fluendo.com>
3913
3914         * docs/design/draft-latency.txt:
3915         Small update.
3916
3917         * docs/libs/gstreamer-libs-sections.txt:
3918         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3919         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
3920         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
3921         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
3922         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
3923         (gst_base_sink_get_position), (gst_base_sink_query),
3924         (gst_base_sink_change_state):
3925         * libs/gst/base/gstbasesink.h:
3926         API: gst_base_sink_query_latency() to let subclasses query the upstream
3927         latency.
3928         API: gst_base_sink_get_latency() to let subclasses query the configured
3929         latency in the sink.
3930         Implement query and set latency.
3931         Update some docs.
3932         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
3933         don't continue preroll when we are flushing. Fixes #405284.
3934
3935         * tests/check/pipelines/stress.c: (change_state_timeout),
3936         (quit_timeout), (GST_START_TEST), (stress_suite):
3937         Test for #405284.
3938
3939 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3940
3941         Patch by: René Stadler <mail at renestadler de>
3942
3943         * docs/gst/gstreamer-sections.txt:
3944         * gst/gsttaglist.c: (_gst_tag_initialize):
3945         * gst/gsttaglist.h:
3946           API: add GST_TAG_REFERENCE_LEVEL (#403597).
3947
3948 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
3949
3950         * docs/libs/Makefile.am:
3951           Fix path to core docs.
3952
3953         * gst/gstbin.c: (gst_bin_get_by_interface),
3954         (gst_bin_iterate_all_by_interface):
3955           Refix docs by also renaming 'interface' to 'iface' in implementation.
3956
3957         * docs/gst/gstreamer-sections.txt:
3958         * gst/gstcaps.c:
3959         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
3960         * gst/gstchildproxy.h:
3961         * gst/gstelementfactory.c:
3962         * gst/gstpadtemplate.h:
3963         * libs/gst/controller/gstcontroller.c:
3964         (gst_controlled_property_new):
3965           Document more.
3966
3967 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
3968
3969         * gst/gstbin.h:(gst_bin_get_by_interface),
3970         (gst_bin_iterate_all_by_interface):
3971         Replace interface parameter name by iface as interface is 
3972         a reserved keyword in Visual Studio for C++ projects so it removes
3973         a build error for application developpers using VS.
3974         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
3975         Fix a bug on Windows in uri format check. Now the prefix checked
3976         is file:// and next we check if the path after file:// is absolute.
3977         * win32/common/libgstbase.def:
3978         * win32/common/libgstdataprotocol.def:
3979         * win32/common/libgstgstreamer.def:
3980         Add new exported functions.
3981
3982 2007-02-09  Andy Wingo  <wingo@pobox.com>
3983
3984         * tests/check/pipelines/simple-launch-lines.c
3985         (simple_launch_lines_suite, test_tee): Disable tee test until I
3986         have time to fix it :-(
3987
3988         * tests/check/Makefile.am (noinst_HEADERS): 
3989         * tests/check/libs/libsabi.c: 
3990         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
3991         * tests/check/gst/gstabi.c: 
3992         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
3993
3994         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
3995         tests for push and pull tee behavior.
3996
3997         * plugins/elements/gsttee.h: 
3998         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
3999         mark as deprecated as well as unimplemented. It was a crack idea.
4000         Add support for tee operating in pull mode, off by default.
4001
4002         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4003         normal-case logs down to LOG, raise errors to WARNING.
4004         (gst_registry_xml_read_cache): Don't log before calling a function
4005         that logs.
4006
4007         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4008         exit (registry finalize).
4009         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4010         DEBUG log when we emit signals that people don't even have the
4011         chance to connect to.
4012         (gst_registry_scan_path_level): Less logging in the normal case.
4013
4014 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4015
4016         Patch by: Michal Benes <michal dot benes at itonis dot tv>
4017
4018         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4019         Correctly generate EOS for non-seekable files. We don't have a total
4020         length for them and would get an unexpected end of file if we only
4021         special-cased for regular files. (Fixes: #404569)
4022
4023 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4024
4025         * tests/check/elements/filesrc.c: (GST_START_TEST),
4026         (filesrc_suite):
4027         Add unit test for the GstURIHandler interface in filesrc. This also
4028         tests the newly added file://localhost/foo/bar support.
4029
4030 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4031
4032         * gst/gstelementfactory.h:
4033           The klass string is not a hierarchy. Add reference to the design doc
4034           for more information and common types.
4035
4036 2007-02-02  Wim Taymans  <wim@fluendo.com>
4037
4038         * gst/gstquery.c: (gst_query_new_latency):
4039         Remove old structure field.
4040
4041 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
4042
4043         * tools/gst-launch.1.in:
4044           Give example for network streaming (#351998)
4045
4046 2007-02-02  Wim Taymans  <wim@fluendo.com>
4047
4048         * docs/gst/gstreamer-sections.txt:
4049         Add docs for new methods.
4050
4051         * gst/gstevent.c: (gst_event_new_latency),
4052         (gst_event_parse_latency):
4053         * gst/gstevent.h:
4054         Add new LATENCY event to configure latency in a pipeline.
4055         API: gst_event_new_latency
4056         API: gst_event_parse_latency
4057
4058         * gst/gstmessage.c: (gst_message_new_buffering),
4059         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4060         (gst_message_new_latency), (gst_message_parse_buffering),
4061         (gst_message_parse_lost_preroll):
4062         * gst/gstmessage.h:
4063         Added messages used in draft-latency.
4064         API: gst_message_new_lost_preroll
4065         API: gst_message_parse_lost_preroll
4066         API: gst_message_new_prerolled
4067         API: gst_message_new_latency
4068
4069         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4070         (gst_query_parse_latency):
4071         * gst/gstquery.h:
4072         Implemented new latency query as in design doc.
4073         API: gst_query_new_latency
4074         API: gst_query_set_latency
4075         API: gst_query_parse_latency
4076
4077 2007-02-02  Wim Taymans  <wim@fluendo.com>
4078
4079         * docs/design/draft-latency.txt:
4080         Slight redesign to allow for dynamic latency adjustments.
4081
4082         * docs/design/part-negotiation.txt:
4083         Fix some typos.
4084
4085 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4086
4087         reviewed by: Wim Taymans <wim@fluendo.com>
4088
4089         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4090         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4091         Allow file://localhost/foo/bar URLs and correctly fail for every other
4092         hostname that one sets. This was gnomevfssrc is linked for those if
4093         installed as it can handle it (#403172)
4094
4095 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4096
4097         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4098
4099         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4100         (unref_data), (gst_collect_pads_add_pad_full):
4101         * libs/gst/base/gstcollectpads.h:
4102         Don't put the previously added destroy notify in the GstCollectData
4103         struct as all it's padding is already used and we don't want to break
4104         ABI. Instead put in the pad's GObject data for now. This should be
4105         cleaned up for 0.11 (#402393).
4106
4107 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
4108
4109         reviewed by: Wim Taymans <wim@fluendo.com>
4110
4111         * docs/libs/gstreamer-libs-sections.txt:
4112         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4113         (unref_data), (gst_collect_pads_add_pad),
4114         (gst_collect_pads_add_pad_full):
4115         * libs/gst/base/gstcollectpads.h:
4116         API: Add function to specify a destroy notification for custom
4117         GstCollectData when adding new pads in GstCollectPads (#402393).
4118
4119 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
4120
4121         * po/sv.po:
4122           Update Swedish translation (#378255).
4123
4124 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4125
4126         * docs/design/draft-klass.txt:
4127           Fix the previous change, this is a list of categories and not a hierarchy.
4128
4129 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
4130
4131         * docs/design/draft-klass.txt:
4132           Add info about how to get a list of used classes.
4133
4134 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
4135
4136         * plugins/elements/gsttypefindelement.c:
4137         (gst_type_find_element_chain_do_typefinding),
4138         (gst_type_find_element_change_state):
4139           Don't leak found caps in chain function (no idea why that never
4140           showed up as a leak anywhere).
4141
4142 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
4143
4144         * gst/gstplugin.h:
4145           Fix and expand GstPluginDesc API docs.
4146
4147 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4148
4149         * gst/gstcaps.c:
4150         * gst/gstelementfactory.c:
4151         * gst/gstpadtemplate.h:
4152           api doc fixes
4153
4154         * libs/gst/controller/gstcontroller.c:
4155         (gst_controlled_property_new):
4156         * tests/examples/controller/audio-example.c:
4157           comment fixes
4158
4159 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
4160
4161         * configure.ac:
4162           comment about refining the xml deps
4163
4164         * docs/manuals.mak:
4165           comments about moving away from jade for docs
4166         
4167         * gst/gst.c:
4168           recommit the ifdefs to use the binary registry
4169         
4170         * gst/gstbin.c: (gst_bin_change_state_func):
4171           this break is obsolete
4172
4173         * gst/gstelementfactory.h:
4174           better GST_ELEMENT_DETAILS docs, add comment about translation
4175
4176         * gst/gstinfo.h:
4177           remove eol slash
4178
4179         * gst/gstobject.c: (gst_signal_object_get_type):
4180           add G_UNLIKELY as usual
4181
4182         * gst/gstpad.c: (gst_pad_event_default):
4183           add fall trhu comment
4184
4185         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4186         (gst_registry_binary_initialize_magic),
4187         (gst_registry_binary_save_string),
4188         (gst_registry_binary_save_pad_template),
4189         (gst_registry_binary_save_feature),
4190         (gst_registry_binary_save_plugin),
4191         (gst_registry_binary_write_cache),
4192         (gst_registry_binary_check_magic),
4193         (gst_registry_binary_load_pad_template),
4194         (gst_registry_binary_load_feature),
4195         (gst_registry_binary_load_plugin),
4196         (gst_registry_binary_read_cache):
4197           comment typo and formatting
4198
4199         * gst/gstutils.c: (gst_element_state_get_name),
4200         (gst_element_state_change_return_get_name):
4201           remove obsolete breaks
4202
4203         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4204           add FIXME 0.11 and remove cpp comment
4205
4206 2007-01-29  Edward Hervey  <edward@fluendo.com>
4207
4208         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4209         Fix print statement in an even more portable way.
4210
4211 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
4212
4213         * docs/gst/gstreamer-sections.txt:
4214         * gst/gstutils.h:
4215           API: add GST_ROUND_DOWN_* macros (#401781).
4216
4217 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
4218
4219         * docs/gst/gstreamer.types.in:
4220         * gst/gstregistry.c: (gst_registry_class_init):
4221           Document registry signals and make gtk-doc pick them up (#401381).
4222
4223 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4224
4225         * docs/pwg/building-testapp.xml:
4226           Add some audioconverts and audioresample to the pipeline, and some
4227           more comments and error handling.
4228
4229 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
4230
4231         * docs/manual/manual.xml:
4232         * docs/pwg/pwg.xml:
4233           Fix typo (#400987).
4234
4235 2007-01-26  Wim Taymans  <wim@fluendo.com>
4236
4237         * gst/gstcaps.c: (gst_static_caps_get):
4238         Init caps flags too.
4239
4240 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
4241
4242         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4243
4244         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4245         If not using mmap'ed files try to seek to the end instead of the
4246         start to determine whether we can seek at all. This fixes the case
4247         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4248         seeks for everything afterwards fail. Fixes #400656
4249
4250 2007-01-25  Wim Taymans  <wim@fluendo.com>
4251
4252         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4253         Add some refcount debugging.
4254         Make gst_static_caps_get threadsafe, which is needed when autoplugging
4255         in multiple streaming threads.
4256
4257 2007-01-25  Wim Taymans  <wim@fluendo.com>
4258
4259         Patch by: David Schleef <ds at schleef dot org>
4260
4261         * docs/libs/gstreamer-libs-sections.txt:
4262         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4263         * libs/gst/base/gstadapter.h:
4264         API: gst_adapter_copy() that can reduce the amount of memcpy when
4265         getting data from the adapter. Fixes #388201.
4266
4267 2007-01-25  Edward Hervey  <edward@fluendo.com>
4268
4269         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4270         In print statements, "%x" is for guint. Fixes build on macosx.
4271
4272 2007-01-24  Edward Hervey  <edward@fluendo.com>
4273
4274         * plugins/elements/gstmultiqueue.c:
4275         (gst_multi_queue_loop):
4276         Small fix.
4277         (single_queue_overrun_cb), (single_queue_underrun_cb),
4278         (single_queue_check_full), (gst_single_queue_new):
4279         Implement single queue growth system.
4280         This uses the extra-size properties, and will grow single queues by
4281         that much if one goes full whereas there are others empty. This is
4282         called extra-mode in the code.
4283         When a single queue's levels go back below the initial max-size
4284         limits, it is no longer in extra-mode. This is to ensure we don't
4285         consume too much memory.
4286         Fixes #399875
4287
4288 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
4289
4290         * gst/gst.c: (gst_init_get_option_group):
4291           Make warning about late g_thread_init() calls a bit more explicit,
4292           so that it's more obvious to application developers what they need
4293           to do if a user files a bug against their application.
4294
4295 2007-01-22  Edward Hervey  <edward@fluendo.com>
4296
4297         * plugins/elements/gstmultiqueue.c:
4298         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4299         Remove previous hack of unsetting the flushing flag for the source pad
4300         instead of activating it. Instead, fix the source pad activate function
4301         so that it no longer depends on having a parent set or not.
4302
4303 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
4304
4305         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4306
4307         * docs/manual/basics-bus.xml:
4308           Fix example code, gst_element_unref() doesn't exist any longer.
4309
4310 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
4311
4312         Patch by: Mark Nauwelaerts <manauw at skynet be>
4313
4314         * gst/gstpad.c:
4315           Fix two docs typoes (#399094).
4316
4317 2007-01-19  Edward Hervey  <edward@fluendo.com>
4318
4319         * docs/faq/gst-uninstalled:
4320         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4321         depending on libgstbaseutils can work in uninstalled environment.
4322
4323 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
4324
4325         * gst/gsttaglist.h:
4326         * gst/gsttagsetter.c:
4327         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4328         statement for new tag.
4329
4330 2007-01-17  Edward Hervey  <edward@fluendo.com>
4331
4332         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4333         When dynamically creating single queues, activate sinkpad before adding
4334         it.
4335         We should be doing the same thing for the source pad, but we can't
4336         since it would call a method which needs the parent to be set in order
4337         to work propertly. Instead of activating the source pad, we just unset
4338         the flushing flag, which is the minimal requirement for adding a pad
4339         to an element in a state greater than READY.
4340
4341 2007-01-17  Edward Hervey  <edward@fluendo.com>
4342
4343         * docs/faq/gst-uninstalled:
4344         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4345         Mac OS X.
4346
4347 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4348
4349         * tests/check/gst/gstabi.c:
4350         * tests/check/gst/struct_hppa.h:
4351         * tests/check/libs/libsabi.c:
4352         * tests/check/libs/struct_hppa.h:
4353           Add ABI structs for HPPA (see #393796).
4354
4355 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
4356
4357         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4358           Actually write ABI structs to the file specified in the GST_ABI
4359           environment variable, as the message we print claims we would.
4360
4361 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4362
4363         * tests/check/gst/gsttask.c:
4364           Fix header comment.
4365
4366 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4367
4368         * gst/gsttaglist.c: (_gst_tag_initialize):
4369           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4370           previous two entries.
4371
4372 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4373
4374         * docs/gst/gstreamer-sections.txt:
4375         * gst/gsttaglist.c: (_gst_tag_initialize):
4376         * gst/gsttaglist.h:
4377           Add tag support for beat-per-minute.
4378
4379 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
4380
4381         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4382         (gst_registry_binary_initialize_magic),
4383         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4384         (gst_registry_binary_save_pad_template),
4385         (gst_registry_binary_save_feature),
4386         (gst_registry_binary_save_plugin),
4387         (gst_registry_binary_write_cache),
4388         (gst_registry_binary_check_magic),
4389         (gst_registry_binary_load_pad_template),
4390         (gst_registry_binary_load_feature),
4391         (gst_registry_binary_load_plugin),
4392         (gst_registry_binary_read_cache):
4393         * gst/gstregistrybinary.h:
4394           Use glib types, cleanup comments, impement interfaces and uri-types.
4395
4396 2007-01-13  Andy Wingo  <wingo@pobox.com>
4397
4398         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4399         getrange() to return buffers with other caps, while we fix
4400         demuxers and typefind, or otherwise change part-negotiation.txt.
4401
4402 2007-01-12  Andy Wingo  <wingo@pobox.com>
4403
4404         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4405         Factor start/stop into this private function instead of partially
4406         in activate functions and partially in the change_state function.
4407         Fixes setup before the element has changed from READY->PAUSED, as
4408         is the case in pull-mode pipelines.
4409         (gst_base_transform_sink_activate_push)
4410         (gst_base_transform_src_activate_pull): Refactor to use
4411         gst_base_transform_activate().
4412         (gst_base_transform_change_state): Removed, not needed any more.
4413
4414         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4415         Truncate before fixating.
4416         
4417         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4418         Don't set_caps() if the result of fixating is ANY, as it's not
4419         supported, and not necessary in the case of a link with no
4420         template caps on either side. Fixes tests/check/libs/basesrc in
4421         some pull-mode tests.
4422
4423         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4424         (gst_base_transform_init, gst_base_transform_sink_activate_push)
4425         (gst_base_transform_src_activate_pull): 
4426         Track the activation mode.
4427         (gst_base_transform_setcaps): In pull mode, when activating the
4428         src pad, after activating the sink pad, activate the sink pad's
4429         peer, as discussed in part-negotiation.txt.
4430
4431         * libs/gst/base/gstbasesrc.h: 
4432         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4433         vmethod, as in basesink.
4434
4435         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4436
4437         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4438         mode, first proxy the setcaps to the peer pad.
4439         (gst_base_sink_pad_fixate): Add a fixate function that calls the
4440         new fixate vmethod.
4441         (gst_base_sink_default_activate_pull): Rename from
4442         gst_base_sink_activate_pull.
4443         (gst_base_sink_negotiate_pull): New function, performs negotiation
4444         in pull mode before calling ::activate_pull().
4445         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4446         vmethod instead of the default implementation. I have no idea how
4447         this worked before. Negotiate before calling activate_pull.
4448
4449         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4450         sink pads in pull mode. In addition to being correct, fixes
4451         filesrc ! decodebin ! identity ! fakesink.
4452         (gst_pad_get_range, gst_pad_pull_range): Don't call
4453         gst_pad_set_caps() if the caps changes; instead error out with
4454         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4455
4456 2007-01-12  Andy Wingo  <wingo@pobox.com>
4457
4458         * docs/design/part-negotiation.txt: Update with more policy.
4459
4460 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4461
4462         * libs/gst/check/gstbufferstraw.h:
4463         * libs/gst/check/gstcheck.h:
4464           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4465           belongs.
4466
4467 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4468
4469         * tests/check/Makefile.am:
4470         * tests/check/gst/.cvsignore:
4471         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4472         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4473         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4474         (GST_START_TEST), (gst_tag_setter_suite):
4475           Add minimal unit test for beforementioned GstTagSetter bug.
4476
4477 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
4478
4479         Patch by: René Stadler <mail at renestadler dot de>
4480
4481         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4482           gst_tag_list_merge() returns a new list, so it's not the best idea
4483           to ingore its return value. Effectively meant that tags could only
4484           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4485           Also add function guard to require a non-NULL taglist as input (has
4486           always been so due to gst_tag_list_copy(), just making it explicit).
4487
4488 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4489
4490         * docs/random/draft-missing-plugins.txt:
4491           Some additions: mention new API that is supposed to be used at the
4492           various stages; short blob about new gst-inspect introspection
4493           option; mention potential future problem with plugins that have
4494           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
4495
4496 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4497
4498         * tools/gst-inspect.c:
4499         (print_plugin_automatic_install_info_codecs),
4500         (print_plugin_automatic_install_info_protocols),
4501         (print_plugin_automatic_install_info), (main):
4502         Add --print-plugin-auto-install-info option to gst-inspect, so we can
4503         introspect plugin files and get machine-parsable output that corresponds
4504         to the last bit of the missing-plugin installer string (small gotcha:
4505         doesn't take into account ranks).
4506
4507 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
4508
4509         * configure.ac:
4510         * docs/gst/gstreamer-sections.txt:
4511         * gst/Makefile.am:
4512         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
4513         (gst_registry_lookup_locked):
4514         * gst/gstregistry.h:
4515         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4516         (gst_registry_binary_initialize_magic),
4517         (gst_registry_binary_save_string),
4518         (gst_registry_binary_save_pad_template),
4519         (gst_registry_binary_save_feature),
4520         (gst_registry_binary_save_plugin),
4521         (gst_registry_binary_write_cache),
4522         (gst_registry_binary_check_magic),
4523         (gst_registry_binary_load_pad_template),
4524         (gst_registry_binary_load_feature),
4525         (gst_registry_binary_load_plugin),
4526         (gst_registry_binary_read_cache):
4527         * gst/gstregistrybinary.h:
4528         * gst/gstregistryxml.c: (load_feature),
4529         (gst_registry_xml_read_cache):
4530           commit binary registry (disabled by default, see #359653)
4531
4532 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4533
4534         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
4535           Fix 'make check' too.
4536
4537 2007-01-10  Andy Wingo  <wingo@pobox.com>
4538
4539         * docs/design/part-negotiation.txt: Fix a typo, add a couple
4540         notes.
4541         
4542         * docs/design/part-negotiation.txt: Update with, um, one way that
4543         pull-mode negotiation might work?
4544
4545         * gst/gstpad.h: 
4546         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
4547         that the pad must be a src pad; makes sense to call it the other
4548         way in pull mode, and the logic is symmetric anyway.
4549
4550 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4551
4552         * plugins/elements/gstfilesink.c:
4553           Include <stdio.h> for fseeko().
4554
4555 2007-01-10  Wim Taymans  <wim@fluendo.com>
4556
4557         * gst/gstevent.c:
4558         * gst/gstevent.h:
4559         Reserve LATENCY event.
4560
4561 2007-01-09  Wim Taymans  <wim@fluendo.com>
4562
4563         * docs/design/draft-latency.txt:
4564         Updates.
4565
4566 2007-01-09  Wim Taymans  <wim@fluendo.com>
4567
4568         * docs/design/draft-latency.txt:
4569         Updates.
4570
4571         * gst/gstelement.h:
4572         * gst/gststructure.c:
4573         * gst/gsttrace.c:
4574         Small typo fixes.
4575
4576 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4577
4578         * tests/check/.cvsignore:
4579           Ignore test-registry.xml as well.
4580
4581 2007-01-09  Wim Taymans  <wim@fluendo.com>
4582
4583         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
4584         unref data at the end when we are done with the pad.
4585
4586 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4587
4588         * docs/gst/gstreamer-sections.txt:
4589         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
4590         (init_post), (gst_deinit), (gst_update_registry):
4591         * gst/gst.h:
4592           API: add gst_update_registry() (#391296).
4593
4594         * tests/check/Makefile.am:
4595         * tests/check/gst/gstregistry.c:
4596         * tests/check/gst/.cvsignore:
4597           Simple unit test for the above.
4598
4599 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4600
4601         * gst/gstregistry.c: (gst_registry_scan_path_level):
4602           Plugin extension on HP-UX is .sl, add that to the list of approved
4603           plugin extensions (see #393796).
4604
4605         * tests/check/gst/gstpad.c: (GST_START_TEST):
4606           ulong => gulong. Fixes compilation with HP-UX compiler.
4607
4608         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4609           Fix compilation if valgrind headers are not available.
4610
4611 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
4612
4613         * win32/common/libgstreamer.def: 
4614           Add new exported function.
4615         * win32/vs6/libgstbase.dsp: 
4616           Add gstdataqueue.c to the build.
4617         * win32/vs6/libgstcoreelements.dsp:
4618           Add gstmultiqueue.c to the build.
4619         
4620 2007-01-06  Andy Wingo  <wingo@pobox.com>
4621
4622         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
4623         activate_pull(), providing for a way to specialize the process of
4624         spawning a thread to pull on the sink pad. There is a default
4625         implementation.
4626
4627         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
4628         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
4629         (gst_base_sink_init): Renamed pad activation functions (inserting
4630         "_pad" in their names). Refactor to use the new activate_pull
4631         vmethod, as appropriate.
4632         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
4633         default activate_pull function to start a task pulling from the
4634         sink pad, as before.
4635
4636         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
4637         on the pads if necessary, as in push()/chain(). Update docs.
4638         Shouldn't affect existing pull() usage as it is currently only
4639         being used on buffers without caps.
4640
4641 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4642
4643         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4644         (init_pre):
4645           Call g_thread_init() first thing in gst_init() / gst_check_init().
4646           When initialisation is done via gst_init_get_option_group() and
4647           GOption parsing, issue a warning if the GLib thread system has not
4648           been initialised yet by the time gst_init_get_option_group() is
4649           called, as it's quite likely other GLib functions such as
4650           g_option_context_new() have been called already then, and
4651           g_thread_init() must be called before any other GLib function. The
4652           application in question must be fixed in that case, since memory
4653           corruption might happen otherwise.
4654           We issue the warning because even if the GLib folks decide to work
4655           around the problem on their end in future, this is still an issue
4656           with all GLib versions >= 2.10.0, so we should warn until we depend
4657           on a GLib version we know to be safe.
4658           Update documentation as well.
4659           Closes bug #391278.
4660
4661 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4662
4663         * tools/gst-inspect.c: (main):
4664         * tools/gst-launch.c: (main):
4665         * tools/gst-typefind.c: (main):
4666         * tools/gst-xmlinspect.c: (main):
4667           Call g_thread_init() really really early, before any other GLib
4668           function (see #342564 and recent discussion on gtk-devel-list).
4669
4670 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4671
4672         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
4673
4674         * gst/gst_private.h:
4675         * gst/gstconfig.h.in:
4676         * gst/gstinfo.h:
4677           On win32, all the __declspec stuff for symbol exporting is
4678           apparently only needed with MSVC, but doesn't work with MingW.
4679           Fixes compilation with MingW and #391909.
4680
4681 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4682
4683         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
4684           Change some GST_ERROR_OBJECT that aren't really errors to
4685           GST_WARNING_OBJECT in order to reduce terminal spam.
4686
4687 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4688
4689         * tests/check/Makefile.am:
4690           disable test again, as there seem to be still race problems
4691
4692 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
4693
4694         * tests/check/Makefile.am:
4695         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4696         (GST_START_TEST), (queue_suite):
4697           enable queue test again, add tests for the leaky behaviour
4698
4699 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
4700
4701         * configure.ac:
4702         * tests/examples/Makefile.am:
4703           Compile adapter test/example only if the required headers are
4704           available (fixes #391915).
4705
4706 2007-01-01  David Schleef  <ds@schleef.org>
4707
4708         * gst/gstplugin.c:
4709           Restore the previous signal handler for SIGSEGV instead of
4710           setting to default, since we may have stolen it away from
4711           someone.  (i.e., Mono)
4712
4713 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4714
4715         * docs/random/draft-missing-plugins.txt:
4716           Some small additions and clarifications.
4717
4718 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
4719
4720         * gst/gstregistryxml.c: (gst_registry_save_escaped):
4721           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4722           since that can lead to random memory corruptions and crashes
4723           (may or may not be related to #383244, #386711, and #386711).
4724
4725 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4726
4727         * tests/check/.cvsignore:
4728         * tests/check/Makefile.am:
4729           sync .cvsignome and CLEANFILES
4730
4731 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4732
4733         * tests/check/Makefile.am:
4734           fix distcheck
4735
4736 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4737
4738         * docs/design/part-states.txt:
4739           two tiny additional comments
4740         
4741         * gst/gststructure.c:
4742           doc fixing
4743
4744         * tests/check/Makefile.am:
4745         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4746         (GST_START_TEST):
4747           disable test for now, unless it gets fixed
4748
4749 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4750
4751         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4752         (GST_START_TEST):
4753           fix race in underrun test
4754
4755 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4756
4757         * tests/check/elements/.cvsignore:
4758           ignore more
4759
4760         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4761         (GST_START_TEST):
4762           try to narrow test failure
4763
4764 2006-12-21  David Schleef  <ds@schleef.org>
4765
4766         * plugins/elements/gstfakesrc.c:
4767           Use g_random_int_range(), since it produces better random
4768           numbers in a range than almost-correct floating point code.
4769
4770 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
4771
4772         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4773         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4774         (gst_check_teardown_sink_pad):
4775           do not automatically (de)activate pads
4776
4777         * tests/check/Makefile.am:
4778         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4779         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4780           add new, yet simple tests for queue
4781
4782         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
4783         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
4784         * tests/check/elements/filesrc.c: (cleanup_filesrc),
4785         (GST_START_TEST):
4786         * tests/check/elements/identity.c: (cleanup_identity):
4787           consistent pad (de)activation
4788
4789 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4790
4791         Patch by: Sebastian Dröge  <slomo ubuntu com>
4792
4793         * libs/gst/base/gstcollectpads.c:
4794           Fix two doc typos (#387866).
4795
4796 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4797
4798         * docs/manual/advanced-dparams.xml:
4799           Fix typo (g_object_control_properties() doesn't exist).
4800
4801 2006-12-19  Edward Hervey  <edward@fluendo.com>
4802
4803         * gst/gstsegment.c: (gst_segment_set_seek):
4804         Fine tune the cases where the segment start/stop values are really
4805         updated.
4806         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4807         Add tests for the return values of gst_segment_set_seek().
4808
4809 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
4810
4811         * gst/gst.c:
4812           Docs typo fix.
4813
4814         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4815         (gst_queue_init):
4816           Fix incorrect documentation and flesh it out a bit more.
4817           Set default values for the max properties on the GParamSpec as well,
4818           so it shows up correctly in gst-inspect.
4819
4820 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
4821
4822         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
4823           Correct docs of queue, add more detail and crosslink it more.
4824
4825 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4826
4827         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4828           Print additional debug info when the stream isn't perfectly
4829           timestamped; don't try to use invalid durations.
4830
4831 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4832
4833         * docs/design/Makefile.am:
4834           Dist new design docs.
4835
4836 2006-12-16  Wim Taymans  <wim@fluendo.com>
4837
4838         Patch by: Sjoerd Simons <sjoerd at luon dot net>
4839
4840         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
4841         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4842         (gst_collect_pads_stop), (gst_collect_pads_event),
4843         (gst_collect_pads_chain):
4844         * libs/gst/base/gstcollectpads.h:
4845         Add refcounting to the collectpads data so we can track when it's safe
4846         to free the data. Fixes #383382.
4847
4848 2006-12-15  Wim Taymans  <wim@fluendo.com>
4849
4850         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4851         (gst_collect_pads_remove_pad):
4852         Automatically activate/deactivate pads when they are added to a
4853         started/stoped collectpads.
4854
4855 2006-12-15  Wim Taymans  <wim@fluendo.com>
4856
4857         * gst/gstelement.c: (gst_element_add_pad):
4858         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4859         * gst/gstpad.c: (gst_pad_init):
4860         Set pads to FLUSHING when they are created. Check, warn and fix when a
4861         demuxer adds an inactive pad to itself when running. Fixes #339326.
4862
4863 2006-12-15  Wim Taymans  <wim@fluendo.com>
4864
4865         * gst/gstelement.c: (gst_element_class_init),
4866         (gst_element_default_send_event), (gst_element_send_event),
4867         (gst_element_default_query), (gst_element_query):
4868         Expose default element send_event and query handling as vmethods that
4869         subclasses can chain up to.
4870
4871 2006-12-15  Wim Taymans  <wim@fluendo.com>
4872
4873         * gst/gstelement.c: (gst_element_set_state_func):
4874         Small documentation fixes.
4875
4876 2006-12-15  Wim Taymans  <wim@fluendo.com>
4877
4878         * docs/design/draft-latency.txt:
4879         Checked in draft for handling latency in pipelines.
4880
4881 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4882
4883         * Makefile.am:
4884         * gstreamer.doap:
4885         * gstreamer.spec.in:
4886           adding .doap file
4887
4888 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         * gst/gst.c: (init_pre), (init_post):
4891           init_pre() and init_post() might be called via our GOptionGroup or
4892           from gst_init(), and we should skip both of them if we've already
4893           been initialised, otherwise we will init some things twice or add
4894           two default log functions.
4895
4896 2006-12-13  Edward Hervey  <edward@fluendo.com>
4897
4898         * docs/manual/basics-bus.xml:
4899         No, gst_main_loop does not exist. Its g_main_loop.
4900         Discovered by somebody who abused the copy-paste technique of coding :)
4901
4902 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4903
4904         * gst/gstghostpad.c:
4905           Log ghostpad debug stuff to the GST_PADS category as well rather
4906           than just to the default category.
4907
4908 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4909
4910         * configure.ac:
4911         * gst/gst.c: (init_pre):
4912           Add some basic system details such as OS and architecture
4913           to the debug output if possible, courtesy of uname().
4914
4915 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4916
4917         * docs/gst/running.xml:
4918           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
4919           environment variables.
4920
4921 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4922
4923         * tests/check/gst/gstbin.c: (GST_START_TEST):
4924         It is acceptable to have a refcount of 2 or 3 at this point in the
4925         test, because the pipeline might be just posting its state_change
4926         message. The next line then waits for that message to appear using
4927         bus_poll, so that should be fine too.
4928
4929 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4930
4931         * gst/gst.c: (ensure_current_registry_forking):
4932         Ignore EINTR when reading from the child registry pipe.
4933         Explicitly ignore the return value from close, since it makes no
4934         difference.
4935
4936         * gst/gstminiobject.c: (gst_mini_object_ref),
4937         (gst_mini_object_unref):
4938         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
4939
4940         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
4941         When removing cached plugins, remove their features too, so they're
4942         not visible after they've disappeared.
4943
4944         * gst/gstutils.c: (prepare_link_maybe_ghosting):
4945         In the unlikely case that we are linking pads with no parents, don't
4946         crash trying to get the non-existent parent bin.
4947
4948         * gst/parse/grammar.y:
4949         Output debug in the PIPELINE category
4950
4951 2005-03-08  Wim Taymans  <wim@fluendo.com>
4952
4953         Patch by: René Stadler <mail at renestadler dot de>
4954
4955         * gst/gstclock.c: (gst_clock_new_periodic_id):
4956         Reject invalid clock times for interval of periodic ids.
4957         Fixes ##383506.
4958
4959 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
4960
4961         * gst/gstelementfactory.c: (gst_element_factory_create):
4962         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4963         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4964         * tools/gst-inspect.c: (print_element_info):
4965         Fix refcounting of gst_plugin_feature_load to match the docs. 
4966         Fixes: #380129
4967
4968 2006-12-07  Wim Taymans  <wim@fluendo.com>
4969
4970         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4971         (gst_base_sink_get_position):
4972         Improve debugging of events.
4973
4974 2006-12-07  Wim Taymans  <wim@fluendo.com>
4975
4976         Patch by: René Stadler <mail at renestadler dot de>
4977
4978         * gst/gstclock.c: (gst_clock_id_wait):
4979         Make period ids add the interval to the origial requested time instead
4980         of the possibly updated time which can be wrong when there are multiple
4981         waiters for the same id. Fixes #382592.
4982
4983         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
4984         (gst_system_clock_id_wait_jitter_unlocked),
4985         (gst_system_clock_id_wait_jitter):
4986         Fix restart in the async notify thread when an async entry is added to
4987         the front of the list. Fixes #381492. 
4988
4989         * tests/check/gst/gstsystemclock.c: (store_callback),
4990         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
4991         Added test for multiple async waits.
4992         Added test for async wait order.
4993
4994 2006-12-07  Wim Taymans  <wim@fluendo.com>
4995
4996         * gst/gstbin.c: (gst_bin_query):
4997         Add some more docs about the POSITION query.
4998
4999 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5000
5001         * configure.ac:
5002         Bump version nano - back to CVS.
5003
5004 === release 0.10.11 ===
5005
5006 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
5007
5008         * configure.ac:
5009           releasing 0.10.11, "Love never runs on time"
5010
5011 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
5012
5013         * win32/common/libgstbase.def:
5014         * win32/common/libgstreamer.def:
5015         * win32/vs8/libgstbase.vcproj:
5016         * win32/vs8/libgstcoreelements.vcproj:
5017         * win32/vs8/libgstreamer.vcproj:
5018         Fix compilation on win32 under VS8
5019         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5020         Partially fixes #381175
5021
5022 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5023
5024         * gst/gstvalue.c: (gst_value_compare_fraction):
5025         If someone is foolish enough to compare 2 fractions with denominator =
5026         0, return UNORDERED rather than aborting.
5027
5028 2006-11-28  Edward Hervey  <edward@fluendo.com>
5029
5030         * libs/gst/base/Makefile.am:
5031         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5032         (gst_data_queue_base_init), (gst_data_queue_class_init),
5033         (gst_data_queue_init), (gst_data_queue_new),
5034         (gst_data_queue_cleanup), (gst_data_queue_finalize),
5035         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5036         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5037         (gst_data_queue_is_empty), (gst_data_queue_is_full),
5038         (gst_data_queue_set_flushing), (gst_data_queue_push),
5039         (gst_data_queue_pop), (gst_data_queue_drop_head),
5040         (gst_data_queue_set_property), (gst_data_queue_get_property):
5041         * libs/gst/base/gstdataqueue.h:
5042         New GstDataQueue object for threadsafe queueing. Most useful for
5043         elements that need some queueing functionnality.
5044         * docs/libs/gstreamer-libs-docs.sgml:
5045         * docs/libs/gstreamer-libs-sections.txt:
5046         Insert documentation for GstDataQueue
5047         * plugins/elements/Makefile.am:
5048         * plugins/elements/gstelements.c:
5049         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5050         (gst_multi_queue_class_init), (gst_multi_queue_init),
5051         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5052         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5053         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5054         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5055         (gst_multi_queue_loop), (gst_multi_queue_chain),
5056         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5057         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5058         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5059         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5060         (wake_up_next_non_linked), (compute_next_non_linked),
5061         (single_queue_overrun_cb), (single_queue_underrun_cb),
5062         (single_queue_check_full), (gst_single_queue_new):
5063         * plugins/elements/gstmultiqueue.h:
5064         New multiqueue element, using GstDataQueue. Used for queuing multiple
5065         streams.
5066         Closes #344639 and #347785
5067
5068 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
5069
5070         * docs/pwg/advanced-types.xml:
5071           add more missing type details
5072
5073         * tools/gst-run.c: (main):
5074           remove unused variable
5075
5076 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
5077
5078         * docs/libs/Makefile.am:
5079         * docs/libs/gstreamer-libs.types:
5080           add types of base classes to enable gobject specific stuff in the docs
5081
5082         * docs/random/ensonic/embedded.txt:
5083           more ideas about isolating platform specific things
5084
5085 2006-11-20  Wim Taymans  <wim@fluendo.com>
5086
5087         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5088
5089         * libs/gst/check/gstcheck.h:
5090         Fix compilation and running against 0.9.4. Fixes #377332.
5091
5092 2006-11-20  Wim Taymans  <wim@fluendo.com>
5093
5094         * gst/gstsegment.c: (gst_segment_set_seek),
5095         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5096         (gst_segment_to_running_time):
5097         Fix boundary checking in to_running_time() and to_stream_time().
5098         Fixes #377183.
5099
5100         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5101         stream and running time can now be calculated for the complete
5102         clipped segment.
5103
5104 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
5105
5106         * gst/gstpad.c: (gst_pad_push_event):
5107           Can't access event structure after giving away ownership of
5108           the event.
5109
5110 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
5111
5112         * docs/random/ensonic/embedded.txt:
5113         * docs/random/ensonic/profiling.txt:
5114         * docs/random/ensonic/receipies.txt:
5115           more thinking
5116
5117 2006-11-13  Wim Taymans  <wim@fluendo.com>
5118
5119         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5120
5121         * gst/gstpad.c:
5122         Fix documentation for gst_pad_dispatcher. Fixes #374475.
5123
5124 2006-11-13  Wim Taymans  <wim@fluendo.com>
5125
5126         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5127
5128         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5129         Store new length in segment duration so we don't keep on calling the
5130         potentially expensize get_size() call. Fixes #370865.
5131
5132 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
5133
5134         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
5135
5136         * win32/common/libgstreamer.def:
5137           Add two missing symbols (#366492).
5138
5139 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
5140
5141         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5142         (gst_adapter_take_buffer):
5143         Fix format string to use all its arguments.
5144         Remove useless >= check on a guint
5145
5146 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5147
5148         * tests/examples/adapter/.cvsignore:
5149         Ignore build file as commanded by the build-bot
5150
5151 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5152
5153         * tests/examples/adapter/Makefile.am:
5154         * tests/examples/adapter/adapter_test.c: (run_test_take),
5155         (run_test_take_buffer), (run_tests), (main):
5156
5157         Add new files from the previous commit
5158
5159 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
5160
5161         * Makefile.am:
5162         * configure.ac:
5163         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5164         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5165         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5166         * libs/gst/base/gstadapter.h:
5167         * tests/check/libs/adapter.c: (create_and_fill_adapter),
5168         (GST_START_TEST), (gst_adapter_suite):
5169         * tests/examples/Makefile.am:
5170         Do some optimisation work in GstAdapter to avoid copies in more cases.
5171         It could still do slightly better by merging buffers when
5172         gst_buffer_is_span_fast is true, but is already faster. 
5173
5174         Also, avoid traversing a single-linked list to append each incoming 
5175         buffer inside the adapter.
5176
5177         Add simple test app that times the adapter behaviour in different
5178         situations, and extend the unit test to check that bytes enter and
5179         exit the adapter in their original order.
5180
5181 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
5182
5183         * docs/random/draft-missing-plugins.txt:
5184           Update: use element message instead of adding a new message
5185           type to the core; don't provide GStreamer API to initiate the
5186           plugin download, just provide API to compose the strings needed
5187           and let an external libgimmestuff handle the rest.
5188
5189 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
5190
5191         * tools/gst-inspect.c: (print_element_properties_info):
5192         Print a string instead of 'unknown type' for GValueArray properties
5193
5194 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
5195
5196         * docs/random/draft-missing-plugins.txt:
5197         More small fixes.
5198
5199 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5200
5201         * tests/examples/typefind/typefind.c: (type_found), (main):
5202           Make typefind element example work again (#371894); add a
5203           license header.
5204
5205 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5206
5207         * docs/random/draft-missing-plugins.txt:
5208           Commit initial draft about how to deal with missing plugins,
5209           needs work (API too).
5210
5211 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
5212
5213         * docs/pwg/advanced-types.xml:
5214           documents the new caps elements (see #363118)
5215
5216 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5217
5218         * gst/gstplugin.c: (gst_plugin_load_file):
5219         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5220         (gst_file_src_map_region), (gst_file_src_start):
5221         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5222         (gst_file_index_commit):
5223           Use g_strerror() instead of strerror() - we want UTF-8.
5224
5225 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5226
5227         Patch by: Peter Kjellerstedt <pkj at axis com>
5228
5229         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5230           Another printf fix (#371493).
5231
5232 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5233
5234         * tests/check/gst/gsttag.c:
5235           relicence (okay with author=company)
5236
5237 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5238
5239         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5240         (gst_pad_push_event):
5241           Enhance debug and improve docs
5242         
5243         * gst/gsturi.c:
5244           Fix docs
5245
5246 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5247
5248         * docs/random/ensonic/distributed.txt:
5249         * docs/random/ensonic/profiling.txt:
5250           more ideas
5251
5252 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
5253
5254         * docs/gst/gstreamer-sections.txt:
5255           add new API and fix the build
5256           
5257         * gst/gstbin.c: (gst_bin_recalc_state):
5258         * gst/gstelement.c: (gst_element_message_full),
5259         (gst_element_get_state_func), (gst_element_set_state_func):
5260           use new API and improve logging
5261         
5262         * gst/gstutils.c: (gst_element_state_change_return_get_name):
5263         * gst/gstutils.h:
5264           API: add function to get StateChangereturn names to improve logs 
5265
5266 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5267
5268         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5269           I'm considering shooting the next person to put strerror stuff
5270           in the translateable part of the message.
5271
5272 2006-11-03  Wim Taymans  <wim@fluendo.com>
5273
5274         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5275         Get the type and printf conversion specifiers right.
5276
5277 2006-11-03  Wim Taymans  <wim@fluendo.com>
5278
5279         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5280
5281         * gst/gstpad.c: (gst_pad_init), (pre_activate),
5282         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5283         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5284         Some small cleanups. Improve debugging.
5285         * gst/gstpad.h:
5286         Signal all waiting threads with a broadcast instead of just one.
5287         Fixes #369942.
5288
5289 2006-11-03  Wim Taymans  <wim@fluendo.com>
5290
5291         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5292         (gst_fd_src_create):
5293         Add some debugging. 
5294         Only update fd when it's different from the old.
5295
5296 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5297
5298         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5299           Printf fixes for PPC/OSX, take two (#369366).
5300
5301 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5302
5303         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
5304
5305         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5306         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5307         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5308           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5309           don't cast to long long for portability reasons, but use
5310           GLib's types instead.
5311
5312 2006-10-30  Michael Smith  <msmith@fluendo.com>
5313
5314         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5315           Get the arguments to lseek() the right way around.
5316           Fixes 367677.
5317
5318 2006-10-30  Wim Taymans  <wim@fluendo.com>
5319
5320         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5321
5322         * gst/gstinfo.h:
5323         _declspec should be __declspec (two underscores, not one). Fixes 366572.
5324
5325 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5326
5327         Patch by: Kjartan Maraas  <kmaraas at gnome org>
5328
5329         * docs/design/part-MT-refcounting.txt:
5330         * docs/random/wtay/capsnego2-docs:
5331         * gst/gstclock.c:
5332         * gst/gstxml.c:
5333           Typo fixes (#366212).
5334
5335 2006-10-28  Wim Taymans  <wim@fluendo.com>
5336
5337         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5338
5339         * gst/gst.c:
5340         * win32/common/libgstbase.def:
5341         * win32/common/libgstreamer.def:
5342         * win32/vs8/libgstbase.vcproj:
5343         * win32/vs8/libgstcontroller.vcproj:
5344         Add needed entries in .def files.
5345         Use HAVE_UNISTD_H.
5346         Rearrange def files in vs8 solutions. Fixes #366286.
5347
5348 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
5349
5350         * win32/common/gstconfig.h:
5351           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5352           hand-made win32 gstconfig.h. Fixes #366321.
5353
5354 2006-10-27  Wim Taymans  <wim@fluendo.com>
5355
5356         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5357         (gst_ghost_pad_new_full):
5358         Make acceptcaps return TRUE when we don't have a target, just like
5359         setcaps does.
5360
5361 2006-10-27  Wim Taymans  <wim@fluendo.com>
5362
5363         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5364         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5365
5366 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5367
5368         * gst/gststructure.c: (gst_structure_id_set_value):
5369           If someone tries to set a non-UTF8 string field on a structure,
5370           don't just print a warning, but also ignore the request and do
5371           not change/add that field to the structure.
5372
5373         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5374           Test for the above.
5375
5376 2006-10-25  David Schleef  <ds@schleef.org>
5377
5378         * gst/gstinfo.c:
5379           g_hash_table_insert() needs a cast to a non-const pointer duh.
5380
5381 2006-10-25  David Schleef  <ds@schleef.org>
5382
5383         * gst/gstinfo.c:
5384         * gst/gstinfo.h:
5385           Change name parameter of _gst_debug_register_funcptr to const
5386           to reflect the constness of its use in the function as well
5387           as to quiet a gcc warning.
5388
5389 2006-10-25  Edward Hervey  <edward@fluendo.com>
5390
5391         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5392         Don't push the buffer if it's empty.
5393         Closes #363095
5394
5395 2006-10-24  Wim Taymans  <wim@fluendo.com>
5396
5397         * gst/gstevent.h:
5398         Add small comment.
5399
5400         * libs/gst/base/gstbasetransform.c:
5401         (gst_base_transform_sink_eventfunc):
5402         Debug segment values *after* updating them as this is more
5403         interesting.
5404
5405 2006-10-23  Wim Taymans  <wim@fluendo.com>
5406
5407         * docs/design/part-events.txt:
5408         Update some docs.
5409
5410         * docs/design/part-block.txt:
5411         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5412         (gst_pad_push_event):
5413         Revert BLOCKING patch, it tries to be smart without really having a
5414         clear idea what or how. So, now we discard all FLUSHING events again on
5415         a blocking pad. Should fix gnonlin again.
5416
5417 2006-10-23  Wim Taymans  <wim@fluendo.com>
5418
5419         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5420
5421         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5422         (gst_base_src_start), (gst_base_src_activate_push):
5423         Make sure size is always initialized. Fixes #364388.
5424
5425 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
5426
5427         * docs/random/ensonic/distributed.txt:
5428           add some ideas about doing distributed processing
5429
5430         * docs/random/ensonic/profiling.txt:
5431           get_rusage look promising
5432
5433 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5434
5435         * docs/manual/basics-helloworld.xml:
5436           Add a cast in example to fix compile warning
5437
5438 2006-10-18  Wim Taymans  <wim@fluendo.com>
5439
5440         * gst/gstsegment.c: (gst_segment_set_last_stop),
5441         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5442         Relax arg checking again, -1 is allowed.
5443
5444 2006-10-18  Wim Taymans  <wim@fluendo.com>
5445
5446         * gst/gstsegment.c: (gst_segment_set_last_stop),
5447         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5448         _set_last_stop() must be with a value != -1
5449         A _TYPE_SET to -1 means seek to 0.
5450         Calc last_stop correctly for negative rates.
5451         Make sure we work with positive durations when updating a segment.
5452
5453 2006-10-18  Wim Taymans  <wim@fluendo.com>
5454
5455         * docs/design/part-live-source.txt:
5456         * gst/gstclock.h:
5457         Small docs fixes.
5458
5459 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
5460
5461         * gst/gstbuffer.h:
5462           Add an explicit cast to GstBuffer** to keep old code that added an
5463           explicit cast to GstMiniObject** for gst_mini_object_replace()
5464           compiling without warning.
5465
5466 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
5467
5468         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5469           check for validity of dates
5470
5471 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5472
5473         * docs/gst/gstreamer-sections.txt:
5474           Forgot this one, makes gtk-doc shut up.
5475
5476 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5477
5478         Patch by: Peter Kjellerstedt <pkj at axis com>
5479
5480         * gst/gstobject.h:
5481           Don't define xmlNodePtr to gpointer if the core was built with
5482           --disable-loadsave and --disable-registry, this will break
5483           applications that want to use libxml2 but are buildling against a
5484           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5485           instead so we don't have to mess with the libxml2 namespace
5486           (#361675).
5487
5488 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
5489
5490         * gst/gstbuffer.h:
5491           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5492           type-punned pointer warnings.
5493
5494 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5495
5496         * gst/gstelement.h:
5497           Add casts to the correct return type to state <=> state transition
5498           macros.
5499
5500 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
5501
5502         * docs/design/part-live-source.txt:
5503           describe howto handle latency
5504         
5505         * docs/random/ensonic/profiling.txt:
5506           more ideas
5507
5508         * tools/gst-plot-timeline.py:
5509           fix log parsing for solaris, remove unused function
5510
5511 2006-10-16  Wim Taymans  <wim@fluendo.com>
5512
5513         * docs/design/part-trickmodes.txt:
5514         * gst/gstevent.c:
5515         Update some docs regarding reverse playback.
5516
5517 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5518
5519         Patch by: Marcus Granado  <mrc dot gran at gmail com>
5520
5521         * win32/vs8/grammar.vcproj:
5522           Error out with a warning if glib-genmarshal.exe is not in path,
5523           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
5524
5525 2006-10-13  Wim Taymans  <wim@fluendo.com>
5526
5527         * gst/gstsegment.c: (gst_segment_set_seek):
5528         When seeking to stop -1, set last_stop (current position) to the
5529         duration of the segment.
5530
5531 2006-10-13  Wim Taymans  <wim@fluendo.com>
5532
5533         * gst/gstelement.h:
5534         Clarify _NO_PREROLL a bit more.
5535
5536         * gst/gstevent.c:
5537         Fix docs.
5538
5539         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
5540         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
5541         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
5542         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
5543         due to wrong locking order. Fixes #361769.
5544         Remove some redundant/misplaced checks in pad_block.
5545
5546         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5547         For negative rates, count backwards from the duration.
5548
5549 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5550
5551         * gst/gsterror.c: (_gst_library_errors_init):
5552           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
5553           up with something better).
5554
5555 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5556
5557         * win32/vs6/libgstreamer.dsp:
5558         * win32/vs7/libgstreamer.vcproj:
5559         * win32/vs8/libgstreamer.vcproj:
5560           Don't reference glib-compat.c which is currently not used and not
5561           disted; add gstquark.c which was recently added. Fixes #361730.
5562
5563 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
5564
5565         * win32/common/libgstbase.def:
5566         * win32/common/libgstcontroller.def:
5567         * win32/common/libgstreamer.def:
5568           Add gst_caps_merge() and a bunch of other recently-added functions.
5569           Fixes #361732.
5570
5571 2006-10-11  Wim Taymans  <wim@fluendo.com>
5572
5573         * docs/plugins/gstreamer-plugins.args:
5574         * docs/plugins/inspect/plugin-coreelements.xml:
5575         * docs/plugins/inspect/plugin-coreindexers.xml:
5576         Update element args.
5577
5578         * gst/gstsystemclock.c:
5579         Small comment update.
5580
5581         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5582         (gst_tee_request_new_pad), (gst_tee_release_pad),
5583         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
5584         (gst_tee_sink_activate_pull):
5585         * plugins/elements/gsttee.h:
5586         Some tee loving:
5587         Add default property defines.
5588         Implement release pad function.
5589         Give properties better blubs etc.
5590         Activate pads before adding them to a running tee.
5591         Do simple buffer_alloc on the first requested pad.
5592         Post error when activation fails.
5593
5594 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5595
5596         * gst/gst.c: (ensure_current_registry_forking):
5597           Check return value of write() to make compiler happy.
5598
5599 2006-10-11  Wim Taymans  <wim@fluendo.com>
5600
5601         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5602
5603         * plugins/elements/gstqueue.c: (gst_queue_chain):
5604         Recheck queue filledness after signalling the overrun when we're about
5605         to leak downstream because we released the lock when emitting the signal
5606         and the queue could be empty again. Fixes #352345.
5607
5608 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
5609
5610         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5611           Fix refcounting here too, just like we did for _new_valist() a few
5612           days ago (#357180) (thanks to René Stadler). Also remove all those
5613           'Since: 0.9' from the gtk-doc blobs.
5614
5615         * tests/check/libs/controller.c: (controller_refcount_new_list),
5616         (gst_controller_suite):
5617           Unit test for the above.
5618
5619 2006-10-10  Wim Taymans  <wim@fluendo.com>
5620
5621         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
5622
5623         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5624         (gst_pad_save_thyself):
5625         Update some docs.
5626         Write pad direction in XML output. Fixes #345496.
5627
5628 2006-10-10  Wim Taymans  <wim@fluendo.com>
5629
5630         Patch by: René Stadler <mail at renestadler dot de>
5631
5632         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5633         (gst_controller_new_list), (_gst_controller_dispose),
5634         (_gst_controller_finalize), (_gst_controller_class_init):
5635         Take ref to controlled object so that it cannot disappear. 
5636         Fixes #357432.
5637
5638 2006-10-10  Wim Taymans  <wim@fluendo.com>
5639
5640         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5641         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5642         (gst_check_teardown_sink_pad):
5643         Activate/deactivate pads in setup/teardown respectively.
5644
5645 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5646
5647         Patch by: Josep Torre Valles <josep@fluendo.com>
5648
5649         * gst/Makefile.am:
5650         Cast values when making gstenumtypes.h.  This pacifies Forte
5651         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
5652         in the enumeration.
5653
5654 2006-10-09  Wim Taymans  <wim@fluendo.com>
5655
5656         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
5657         Rename some more @cur to @start to fix docs. 
5658
5659         * gst/gstsegment.c: (gst_segment_set_seek):
5660         Fix typo.
5661         time and start must always stay in sync as defined in design doc.
5662
5663         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5664         Rename param to fix docs.
5665
5666         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5667         Check that start and time are in sync.
5668
5669         * tests/check/pipelines/parse-launch.c:
5670         (gst_parse_test_element_change_state):
5671         Activate pad before adding to the element.
5672
5673 2006-10-09  Wim Taymans  <wim@fluendo.com>
5674
5675         * docs/design/part-qos.txt:
5676         Fix typo.
5677
5678         * gst/gstevent.c:
5679         * gst/gstevent.h:
5680         Update seek event docs regarding negative rates.
5681         Rename @cur to @start. 
5682
5683         * gst/gstsegment.c: (gst_segment_set_seek):
5684         * gst/gstsegment.h:
5685         Update set_seek docs regarding negative rates.
5686         Correctly update last_stop to @stop when dealing with negative
5687         rates.
5688         Rename @cur to @start. 
5689
5690         * tests/check/gst/gstpad.c: (GST_START_TEST):
5691         Activate pads before trying to use them.
5692
5693         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5694         (gst_segment_suite):
5695         Add simple check for segments and negative rates.
5696
5697 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5698
5699         * gst/gsttaglist.c: (gst_tag_list_is_empty):
5700         * gst/gsttaglist.h:
5701         * docs/gst/gstreamer-sections.txt:
5702           API: add gst_tag_list_is_empty() (#360467).
5703
5704         * tests/check/gst/gsttag.c: (GST_START_TEST):
5705           And a test case.
5706
5707 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5708
5709         * gst/gstmessage.h:
5710         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
5711         a value that doesn't fit on enumeration.
5712
5713 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5714
5715         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5716         Remove local debugging system and use Gstreamer's instead.
5717
5718 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5719
5720         Patch by: Josep Torre Valles <josep@fluendo.com>
5721
5722         * common/m4/gst-error.m4:
5723         Disable warning of statement not reached on Forte.
5724         * gst/gstmessage.h:
5725         Fix warning on Forte (value doesn't fit on enumeration).
5726         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5727         Fix warning on Forte (value doesn't fit on enumeration).
5728         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5729         DEBUG macro says it takes minimum of 2 args and so Forte
5730         complains about the use with just 1 arg.
5731         * plugins/elements/gstfdsink.c:
5732         * plugins/elements/gstfdsrc.c:
5733         * plugins/elements/gstfilesink.c:
5734         * plugins/elements/gstfilesrc.c:
5735         Use correct return type for the uri handler implementations.
5736
5737         All these fix warnings in Forte.  Fixes bug #360860.
5738
5739 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5740
5741         * gst/gstelement.h:
5742           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5743           format string, so don't use G_GNUC_PRINTF for those versions.
5744
5745 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5746
5747         * gst/gsttaglist.c: (gst_is_tag_list):
5748         * gst/gsttaglist.h:
5749           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5750
5751         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5752           Small test for the above.
5753
5754 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
5755
5756         * gst/gsttaglist.h:
5757           Less tabs, more spaces.
5758
5759 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
5760
5761         * gst/gstinfo.h:
5762           Those two function declarations do actually belong there, revert
5763           commit from yesterday that turned them intro macros.
5764
5765 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5766
5767         Patch by: Josep Torre Valles <josep@fluendo.com>
5768
5769         * gst/gst.c: (gst_init_get_option_group):
5770         Fix empty declaration and type mismatch.
5771         * gst/gstbin.c: (gst_bin_change_state_func):
5772         Fix type mismatch.
5773         * gst/gstelement.c: (gst_element_continue_state),
5774         (gst_element_set_state_func), (gst_element_change_state),
5775         (gst_element_change_state_func):
5776         Fix type mismatches.
5777         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5778         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5779         Cast as appropriate.
5780         * gst/gstobject.c: (gst_class_signal_connect):
5781         Cast as appropriate.  The function pointer parameter really
5782         has the wrong type but would break API if we change it.
5783         * gst/gstquery.c:
5784         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
5785         order of including string.h.
5786         * gst/gstutils.c: (gst_element_state_get_name):
5787         Remove unreachable line.
5788         * gst/gstxml.c: (gst_xml_parse_doc):
5789         Fix type mismatch.
5790         All these caught by Forte.
5791
5792 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5793
5794         Patch by: Josep Torre Valles <josep@fluendo.com>
5795
5796         * common/m4/gst-error.m4:
5797         Fixed bug #360151.
5798         We need to disable warnings on Forte for empty declarations
5799         due to gst-indent adding ;s to lines that just use macros
5800         where the macro actually doesn't need a ; at end to end
5801         statement.
5802
5803 2006-10-06  Wim Taymans  <wim@fluendo.com>
5804
5805         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5806         (gst_file_sink_close_file), (gst_file_sink_event),
5807         (gst_file_sink_render):
5808         Add some FIXME for the NEWSEGMENT handling.
5809
5810 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5811
5812         * gst/parse/grammar.y:
5813         Remove static function gst_parse_element_lock as all it does
5814         is return.  Looks like cruft from 0.8.
5815
5816 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5817
5818         Patch by: Josep Torre Valles <josep@fluendo.com>
5819
5820         * common/m4/gst-error.m4:
5821         * configure.ac:
5822         * libs/gst/net/Makefile.am:
5823         Fix a compilation issue with Forte on Solaris.  inet_aton is in
5824         libresolv.
5825
5826 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5827
5828         * gst/gstpad.c: (pre_activate):
5829         * gst/gstregistry.c: (gst_registry_scan_path_level):
5830         * gst/gstregistryxml.c: (load_plugin):
5831         * libs/gst/controller/gstcontroller.c:
5832         (gst_controlled_property_set_interpolation_mode):
5833         * libs/gst/dataprotocol/dataprotocol.c:
5834         (gst_dp_packet_from_event_1_0):
5835         * libs/gst/net/gstnetclientclock.c:
5836         (gst_net_client_clock_observe_times):
5837         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5838           Printf fixes.
5839
5840 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
5841
5842         * configure.ac:
5843         * docs/gst/gstreamer-sections.txt:
5844         * gst/gstconfig.h.in:
5845         * gst/gstelement.h:
5846         * gst/gstinfo.h:
5847           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
5848           whether we can use G_GNUC_PRINTF in other header files and at
5849           least check the printf format/arguments of debug messages and
5850           GST_ELEMENT_ERROR messages when the printf extension is not
5851           being used.
5852           Replace more tabs with spaces in gstinfo.h and remove two spurious
5853           function declarations in GST_DISABLE_DEBUG part with macros.
5854
5855 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5856
5857         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
5858           More docs for the sync-message signal (mention that it is not
5859           emitted by default); log message structures of messages posted on
5860           the bus as well.
5861
5862 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
5863
5864         * gst/gst.c: (ensure_current_registry_forking):
5865         Use a pipe pair to receive status results from the forked child, and
5866         ignore the result from waitpid. Fixes #355499
5867
5868 2006-10-02  Wim Taymans  <wim@fluendo.com>
5869
5870         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5871         (gst_ghost_pad_suite):
5872         Fix leak in check.
5873
5874 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * gst/gstpad.c:
5877           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
5878
5879 2006-10-02  Edward Hervey  <edward@fluendo.com>
5880
5881         * docs/design/part-block.txt:
5882         Further explain the use of flushing on blocked pads.
5883         * docs/gst/gstreamer-sections.txt:
5884         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5885         (gst_pad_push_event):
5886         * gst/gstpad.h:
5887         Added new GstPadFlag : GST_PAD_BLOCKING.
5888         Adds the notion of pads really blocking, which enables to properly
5889         handle FLUSH_START/FLUSH_STOP events on blocked pads.
5890         Fixes #358999
5891         API: gst_pad_is_blocking()
5892         API: GST_PAD_IS_BLOCKING() macro
5893         API: GST_PAD_BLOCKING GstPadFlag
5894         
5895 2006-10-02  Wim Taymans  <wim@fluendo.com>
5896
5897         Patch by: mrcgran <mrc.gran at gmail dot com>
5898
5899         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
5900         Filter the proxied caps against the padtemplate if we have one.
5901
5902         * gst/gstquery.c: (gst_query_new_segment):
5903         Add include for gstinfo.h so that compilation with
5904         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
5905
5906 2006-10-02  Wim Taymans  <wim@fluendo.com>
5907
5908         Patch by: Alessandro Decina  <alessandro at nnva org>
5909
5910         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
5911         (gst_file_sink_set_location), (gst_file_sink_open_file),
5912         (gst_file_sink_close_file), (gst_file_sink_event),
5913         (gst_file_sink_render):
5914         Set file to NULL when closing filesink so that we can set a new filename
5915         in READY. Fixes #358613.
5916
5917 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5918
5919         Patch by: Alessandro Decina  <alessandro at nnva org>
5920
5921         * gst/gstevent.c: (_gst_event_copy):
5922           Fix gst_mini_object_make_writable() and gst_event_copy() for events
5923           with event structures by setting the parent refcount address of the
5924           copied structure to the address of the refcount member of the newly
5925           copied event rather than the address of the refcount member of the
5926           original event. Fixes #358737.
5927
5928         * tests/check/gst/gstevent.c: (GST_START_TEST):
5929           Unit test for the above.
5930
5931 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
5932
5933         * docs/design/Makefile.am:
5934           Dist some more files.
5935
5936 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5937
5938         * tests/check/libs/controller.c: (GST_START_TEST),
5939         (gst_controller_suite):
5940           Add test for the previous fix; add some more tests
5941           for correct refcounting behaviour; fix a few leaks
5942           in test cases; call gst_controller_init() at start
5943           of all tests.
5944
5945 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5946
5947         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5948         (gst_controller_set_from_list):
5949           Don't g_return_val_if_fail() on timed values with invalid timestamps
5950           inside a critical section without unlocking the mutex. Spotted by
5951           René Stadler. (#357617)
5952           Also, fix up refcounting properly: when returning an existing
5953           controller, we should increase the reference only once and not
5954           once per property and when trying to control a property again
5955           we should also increase the refcount.
5956
5957 2006-09-29  Wim Taymans  <wim@fluendo.com>
5958
5959         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5960         * libs/gst/net/gstnettimeprovider.c:
5961         (gst_net_time_provider_thread):
5962         Stop reading commands when EOF as well.
5963
5964         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5965         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5966         * plugins/elements/gstidentity.c: (gst_identity_class_init):
5967         Unify description of the dump property.
5968
5969 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5970
5971         * tests/examples/manual/.cvsignore:
5972         OK, so it's actually cvsignore that needs changing. Stop laughing.
5973
5974 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5975
5976         * tests/examples/manual/Makefile.am:
5977         Gah, declare vars *before* using them
5978
5979 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
5980
5981         * gst/gst.c: (init_pre), (scan_and_update_registry),
5982         (ensure_current_registry_nonforking),
5983         (ensure_current_registry_forking), (ensure_current_registry),
5984         (init_post), (gst_debug_help), (gst_deinit):
5985         * gst/gst_private.h:
5986         * gst/gstregistry.c: (gst_registry_finalize),
5987         (gst_registry_remove_features_for_plugin_unlocked),
5988         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5989         (gst_registry_scan_path),
5990         (_priv_gst_registry_remove_cache_plugins),
5991         (_priv_gst_registry_cleanup):
5992         * gst/gstregistry.h:
5993         Re-commit the registry changes, along with an extra fix:
5994           When a cached plugin is encountered at a different file path,
5995           update the stored path in the registry cache so that the parent
5996           process knows where it actually is now when it re-reads the registry
5997           cache. Fixes the thing that broke distcheck with the previous commit.
5998
5999         * tests/check/Makefile.am:
6000         Clean up files named 'core' too when running make clean.
6001
6002         * tests/examples/manual/Makefile.am:
6003         Set up a registry path for running these tests, and clean it properly
6004         for distcheck.
6005
6006 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6007
6008         * configure.ac:
6009         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6010         want gmodule-no-export-2.0.pc instead so that we don't drag in
6011         --export-dynamic on every project that links to GStreamer.
6012
6013         Also, make our export regex only match the start of symbols, rather 
6014         than any symbol that contains '_gst' somewhere.
6015
6016         * libs/gst/check/Makefile.am:
6017         The libgstcheck we build does however need export-dynamic, as it
6018         produces some symbols that don't match our _gst... style regex.
6019         Fixes: #318031
6020
6021 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6022
6023         * gst/gst.c: (init_pre), (scan_and_update_registry),
6024         (ensure_current_registry_nonforking),
6025         (ensure_current_registry_forking), (ensure_current_registry),
6026         (init_post), (gst_debug_help), (gst_deinit):
6027         * gst/gst_private.h:
6028         * gst/gstregistry.c: (gst_registry_finalize),
6029         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6030         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6031         (_gst_registry_cleanup):
6032         * gst/gstregistry.h:
6033           Revert previous change until I figure out why it breaks distcheck.
6034
6035 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6036
6037         * gst/gst.c: (init_pre), (scan_and_update_registry),
6038         (ensure_current_registry_nonforking),
6039         (ensure_current_registry_forking), (ensure_current_registry),
6040         (init_post), (gst_debug_help), (gst_deinit):
6041
6042           Make init_pre and init_post take the full complement of GOptionFunc
6043           args so they can return useful GErrors. Make the registry updating
6044           functions do so.
6045
6046           Call _priv_gst_registry_remove_cache_plugins after scanning files to
6047           ensure that the registry we're about to write out doesn't contain
6048           stale information about old-deleted plugin files.
6049
6050           Make _priv_gst_registry_remove_cache_plugins return a boolean so
6051           that deletion of plugin files is considered a registry change.
6052
6053         * gst/gst_private.h:
6054         * gst/gstregistry.c: (gst_registry_finalize),
6055         (gst_registry_remove_features_for_plugin_unlocked),
6056         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6057         (gst_registry_scan_path),
6058         (_priv_gst_registry_remove_cache_plugins),
6059         (_priv_gst_registry_cleanup):
6060         * gst/gstregistry.h:
6061         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6062         by adding _priv prefix, so that they won't appear in the global
6063         symbol table. They still do atm though because of #318031. Move the
6064         prototypes to gst_private.h
6065
6066         When removing a plugin, remove all features for that plugin too. 
6067         Fixes #340878.
6068
6069 2006-09-27  Wim Taymans  <wim@fluendo.com>
6070
6071         * docs/random/moving-plugins:
6072         Make it clear that the "compiled-in descriptions" really mean
6073         the element details.
6074
6075         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6076         (gst_base_sink_wait_preroll):
6077         Update docs.
6078
6079         * docs/libs/gstreamer-libs-sections.txt:
6080         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6081         (gst_base_src_get_range), (gst_base_src_activate_push):
6082         * libs/gst/base/gstbasesrc.h:
6083         Added function to block while waiting for PLAYING, this function
6084         is used by live sources that block on the clock.
6085         API: gst_base_src_wait_playing()
6086
6087 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6088
6089         Patch by: Peter Kjellerstedt <pkj at axis com>
6090
6091         * Makefile.am:
6092           gst-element-check.m4 is generated and should therefore be
6093           copied from the build dir rather than the source dir (#357593).
6094           'make distcheck' hasn't noticed this because we were disting
6095           the file as well, so stop doing that.
6096
6097 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6098
6099         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6100           Add some tests for gst_caps_intersect().
6101
6102         * tools/gst-launch.c: (event_loop):
6103           Print all buffering percentages we get, even the 100% one.
6104
6105 2006-09-26  Wim Taymans  <wim@fluendo.com>
6106
6107         * tools/gst-inspect.c: (print_element_properties_info),
6108         (print_signal_info):
6109         Fix printing of flags to match the look of enums.
6110
6111 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6112
6113         * gst/gstelementfactory.c:
6114           Fix typo in docs blurb.
6115
6116 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6117
6118         * gst/gsturi.c: (search_by_entry):
6119           Don't assert/crash here if a uri handler doesn't return any
6120           supported protocols. The list of protocols could be generated
6121           dynamically at runtime or at plugin registration, and an error
6122           in the underlying library shouldn't be fatal (#353301).
6123
6124 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * gst/gstinfo.c:
6127           Fix warning if HAVE_PRINTF_EXTENSION is undefined
6128           (spotted by Peter Kjellerstedt).
6129
6130 2006-09-23  Wim Taymans  <wim@fluendo.com>
6131
6132         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6133
6134         * libs/gst/base/gstbasesrc.c:
6135         (gst_base_src_default_check_get_range), (gst_base_src_start),
6136         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6137         (gst_base_src_change_state):
6138         Match _start/_stop calls in the activate functions. Remove redundant
6139         _stop call from the state change function. Fixes #356910.
6140         Turn failure DEBUG into ERROR. 
6141
6142 2006-09-22  Wim Taymans  <wim@fluendo.com>
6143
6144         * docs/design/part-buffering.txt:
6145         * gst/gstmessage.c: (gst_message_new_buffering),
6146         (gst_message_parse_buffering):
6147         Update docs about buffering.
6148
6149         * docs/design/part-trickmodes.txt:
6150         Fix typo.
6151
6152 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
6153
6154         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6155         (gst_controller_new_list):
6156           Ref instances when returning them again (fixes #357180)
6157
6158 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6159
6160         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6161           Don't forget to release proxy lock when there's an error.
6162
6163 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
6164
6165         * gst/gstcaps.h:
6166           Add extra initialisers for Caps things, to fix some plugin warnings
6167           when using -Wextra
6168
6169 2006-09-18  Wim Taymans  <wim@fluendo.com>
6170
6171         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6172           Also set template on the internal pad so that a getcaps from the 
6173           target pad returns the template caps.
6174
6175 2006-09-18  Wim Taymans  <wim@fluendo.com>
6176
6177         * gst/gstelement.c: (gst_element_post_message),
6178         (gst_element_dispose):
6179         Use _DEBUG_OBJECT some more.
6180
6181         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6182         Avoid typechecks.
6183
6184         * tools/gst-launch.c: (main):
6185         If the toplevel element is not a GstPipeline, it must be put in a
6186         pipeline so that a bus and clock is selected.
6187
6188 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6189
6190         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6191           JITTER, RATE, and LATENCY query should be handled by the
6192           default case and not by the CONVERT query code.
6193
6194 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
6195
6196         * gst/gstformat.c: (gst_format_register):
6197           Fix locking order (must take lock before using n_values).
6198
6199         * gst/gstvalue.c: (gst_value_serialize_enum),
6200         (gst_value_deserialize_enum_iter_cmp),
6201         (gst_value_deserialize_enum):
6202           Fix serialisation/deserialisation of custom registered GstFormats.
6203
6204         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6205           Unit test for custom format serialisation/deserialisation.
6206
6207 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
6208
6209         * docs/pwg/building-boiler.xml:
6210         * plugins/elements/gstcapsfilter.c:
6211         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6212         section.
6213
6214 2006-09-16  Edward Hervey  <edward@fluendo.com>
6215
6216         * libs/gst/base/gstbasetransform.c:
6217         (gst_base_transform_buffer_alloc):
6218         Check if requested caps are the same as the sinks caps IF
6219         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6220         is FALSE.
6221         This fixes the renegotiation issues stated in #352827.
6222
6223 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6224
6225         * configure.ac:
6226         * docs/manual/advanced-autoplugging.xml:
6227         * tests/examples/Makefile.am:
6228         * tests/examples/manual/.cvsignore:
6229         * tests/examples/manual/Makefile.am:
6230         * tests/examples/manual/extract.pl:
6231           Extract the manual examples again like we used to do.
6232           Fix one of them.
6233
6234 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6235
6236         * win32/common/config.h:
6237           update for version
6238
6239 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
6240
6241         * gst/gsterror.c:
6242           Documents how to receive errors.
6243
6244 2006-09-15  Wim Taymans  <wim@fluendo.com>
6245
6246         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6247         (event_loop), (main):
6248         Added some comments here and there.
6249         Post an application message when an interrupt is caught instead of doing
6250         an uncontrolled state change.
6251         Clean up the event loop.
6252         Handle buffering messages, pause/resume the pipeline.
6253         Make shutdown because of an interrupt more reliable.
6254
6255 2006-09-15  Wim Taymans  <wim@fluendo.com>
6256
6257         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6258         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6259         (gst_base_sink_preroll_object):
6260         Make sure that our internal state is correct when we commit our state
6261         asynchronously. This solves a race where a state change to PLAYING
6262         could cause the sink to remain blocked in preroll in some situations.
6263
6264 2006-09-15  Wim Taymans  <wim@fluendo.com>
6265
6266         * tools/gst-inspect.c: (print_element_properties_info),
6267         (print_signal_info):
6268         List flags as hex so it's easier to deal with.
6269
6270 2006-09-15  Wim Taymans  <wim@fluendo.com>
6271
6272         * docs/libs/gstreamer-libs-sections.txt:
6273         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6274         (gst_base_sink_do_sync):
6275         * libs/gst/base/gstbasesink.h:
6276         Expose logic to wait for preroll so that subclasses such as audiosink
6277         can also use this method.
6278         API: gst_base_sink_wait_preroll()
6279
6280 2006-09-15  Wim Taymans  <wim@fluendo.com>
6281
6282         * gst/gstobject.c: (gst_object_set_parent):
6283         * gst/gstpipeline.c: (do_pipeline_seek):
6284         Small cleanups in docs and code.
6285
6286         * gst/gstsegment.c: (gst_segment_clip):
6287         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6288         if stop == start and start is in the segment, no clipping should be
6289         done. Also add a test for this.
6290
6291 2006-09-15  Wim Taymans  <wim@fluendo.com>
6292
6293         * docs/design/part-buffering.txt:
6294         * docs/gst/gstreamer-sections.txt:
6295         * gst/gstmessage.c: (gst_message_new_buffering),
6296         (gst_message_parse_buffering):
6297         * gst/gstmessage.h:
6298         Added methods to create and parse BUFFERING messages.
6299         Added preliminary docs about buffering.
6300         API: gst_message_new_buffering
6301         API: gst_message_parse_buffering
6302
6303 2006-09-06  Wim Taymans  <wim@fluendo.com>
6304
6305         * gst/gstbin.c:
6306         Update documentation.
6307
6308         * gst/gstelement.c: (gst_element_class_init),
6309         (gst_element_release_request_pad), (gst_element_set_clock),
6310         (gst_element_get_index), (gst_element_add_pad),
6311         (gst_element_remove_pad), (gst_element_get_random_pad),
6312         (gst_element_send_event), (gst_element_get_query_types),
6313         (gst_element_query), (gst_element_post_message),
6314         (gst_element_message_full), (gst_element_continue_state),
6315         (gst_element_lost_state), (gst_element_save_thyself),
6316         (gst_element_restore_thyself):
6317         Documentation updates.
6318         Rename last bit of the new-pad -> pad-added signal rename.
6319         Fix the case where an element query would only work if the source
6320         pad was linked.
6321         Avoid some useless type checking in message handling.
6322
6323         * gst/gstevent.c:
6324         * gst/gstevent.h:
6325         * gst/gstutils.c:
6326         Documentation updates.
6327
6328 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6329
6330         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6331           add an INFO line for when we actually update the fd
6332
6333 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6334
6335         * configure.ac:
6336           back to TRUNK
6337
6338 === release 0.10.10 ===
6339
6340 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
6341
6342         * configure.ac:
6343           releasing 0.10.10, "Pais"
6344
6345 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
6346
6347         * docs/manual/advanced-position.xml:
6348           Fix typo in sample code.
6349
6350 2006-09-05  Wim Taymans  <wim@fluendo.com>
6351
6352         * libs/gst/net/gstnetclientclock.c: (inet_aton),
6353         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6354         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6355         * libs/gst/net/gstnetclientclock.h:
6356         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6357         * libs/gst/net/gstnettimepacket.h:
6358         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6359         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6360         (gst_net_time_provider_thread), (gst_net_time_provider_new):
6361         * libs/gst/net/gstnettimeprovider.h:
6362         Make stuff compile on windows. Fixes #345295.
6363
6364 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6365
6366         * gst/gst.c: (ensure_current_registry_forking):
6367           Print better details when child was terminated by signal.
6368
6369 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6370
6371         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6372           Print a warning rather than g_assert() if a plugin feature
6373           is a URI handler but returns no protocols (#353976).
6374
6375 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
6376
6377         * docs/random/moving-plugins:
6378         Fix two typos.         
6379
6380 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6381
6382         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6383           Fix locking order, handle NULL function values properly.
6384
6385         * gst/gstinfo.h:
6386           Fix docs.
6387
6388         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6389           Initialise variable before using it and fix debug statement to
6390           print the address of the function rather than the address of the
6391           variable on the stack holding the address of the function.
6392
6393 2006-09-01  Wim Taymans  <wim@fluendo.com>
6394
6395         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6396         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6397         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6398         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6399         (gst_ghost_pad_parent_unset),
6400         (gst_ghost_pad_internal_do_activate_push),
6401         (gst_ghost_pad_internal_do_activate_pull),
6402         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6403         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6404         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6405         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6406         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6407         (gst_ghost_pad_new_no_target_from_template),
6408         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6409         More cleanups.
6410         Avoid needless typechecking in macros.
6411         Since the internal pad is always present and never changes, there is
6412         no need to locking or ref when retrieving it.
6413         Improve debugging a bit.
6414         Handle link errors when setting the target. Fixes #341029.
6415
6416 2006-09-01  Wim Taymans  <wim@fluendo.com>
6417
6418         * docs/libs/gstreamer-libs-sections.txt:
6419         * docs/plugins/gstreamer-plugins-sections.txt:
6420         Fix docs some more.
6421
6422         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6423         (gst_collect_pads_event):
6424         * libs/gst/base/gstcollectpads.h:
6425         Documentation updates.
6426         Free queued buffer when removing a pad.
6427
6428 2006-08-31  Michael Smith  <msmith@fluendo.com>
6429
6430         * gst/gstutils.c: (gst_element_link_pads),
6431         (gst_element_link_pads_filtered):
6432           Ensure that we set a capsfilter to NULL if we failed to link it
6433           when doing filtered linking, to avoid criticals.
6434
6435           No need to check for unreffing srcpad, which is explicly NULLed
6436           above (a trivial code cleanup).
6437
6438 2006-08-31  Wim Taymans  <wim@fluendo.com>
6439
6440         * docs/design/part-gstghostpad.txt:
6441         Update ascii art in documentation.
6442
6443         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6444         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6445         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6446         (gst_ghost_pad_internal_do_activate_push),
6447         (gst_ghost_pad_internal_do_activate_pull),
6448         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6449         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6450         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6451         (gst_ghost_pad_set_target):
6452         Small cleanups and leak fixes.
6453         Remove some checks now that the internal pad is never NULL.
6454         Fix the case where linking pads without a target would create nasty
6455         criticals. Fixes #341029.
6456         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6457         value of _set_target().
6458
6459         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6460         (gst_ghost_pad_suite):
6461         Some more tests for creating and linking untargeted ghostpads.
6462
6463 2006-08-31  Edward Hervey  <edward@fluendo.com>
6464
6465         * docs/gst/gstreamer-sections.txt:
6466         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6467         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6468         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6469         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6470         (gst_ghost_pad_new_from_template),
6471         (gst_ghost_pad_new_no_target_from_template):
6472         * gst/gstghostpad.h:
6473         Refactored *_new() functions.
6474         Templates are now used as a g_object_new() parameter.
6475         Use template in _do_getcaps() if we don't have a target.
6476         Small documentation cleanups.
6477         Added two new constructors:
6478         gst_ghost_pad_new_from_template()
6479         gst_ghost_pad_new_no_target_from_template()
6480         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6481         (gst_ghost_pad_suite):
6482         Added tests for new ghostpad instanciation functions.
6483
6484         API additions: gst_ghost_pad_new_from_template,
6485         gst_ghost_pad_new_no_target_from_template
6486
6487 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
6488
6489         * docs/random/ensonic/profiling.txt:
6490           Ideas about qos profiling.
6491
6492 2006-08-29  Wim Taymans  <wim@fluendo.com>
6493
6494         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
6495         Code cleanups.
6496         Fix memleak.
6497
6498 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
6499
6500         * gst/gstxml.c:
6501           Improve and detypofy docs.
6502
6503         * tests/check/Makefile.am:
6504         * tests/check/gst/.cvsignore:
6505         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
6506           Add a basic test suite for GstXML.
6507
6508 2006-08-29  Wim Taymans  <wim@fluendo.com>
6509
6510         * gst/gstelement.c: (activate_pads), (clear_caps),
6511         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6512         Clear the pad caps when the element shut down all of the pads and
6513         is not streaming data that could modify the caps. 
6514         Fixes #352958.
6515
6516 2006-08-28  Michael Smith  <msmith@fluendo.com>
6517
6518         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6519           Revert previous change; I misunderstood single-segment mode.
6520
6521 2006-08-28  Michael Smith  <msmith@fluendo.com>
6522
6523         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6524           Unset DISCONT on buffers when using single-segment mode.
6525
6526 2006-08-28  Wim Taymans  <wim@fluendo.com>
6527
6528         * gst/gstcaps.c: (gst_caps_merge_structure):
6529         * gst/gstcaps.h:
6530         Fix docs and indentation again.
6531
6532         * tests/check/gst/gstquery.c: (GST_START_TEST):
6533         Fix leak in tests and add some more tests.
6534
6535 2006-08-28  Edward Hervey  <edward@fluendo.com>
6536
6537         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6538         Inform GstSegment of the last stop position in order for the current
6539         segment to have a proper duration if it doesn't have a specific stop
6540         position from which a duration could be calculated.
6541         This bug was noticeable when a non-flushing, non-update new segment was
6542         followed by another segment (all buffers from the new segment were being
6543         dropped).
6544
6545 2006-08-28  Wim Taymans  <wim@fluendo.com>
6546
6547         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6548         Small comment update.
6549
6550         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6551         (gst_identity_transform_ip):
6552         Drop-probability is broken, mention this in the code with a 
6553         FIXME and also in the property description.
6554         Make silent also be silent about the drop messages.
6555
6556 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
6557
6558         * docs/manual/appendix-win32.xml:
6559           Remove mention of popt, we don't depend on that any
6560           longer (#353136). Add some comments pointing out that
6561           this section is slightly outdated.
6562
6563 2006-08-28  Wim Taymans  <wim@fluendo.com>
6564
6565         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6566
6567         * gst/gstquery.c: (gst_query_new_segment):
6568         * tests/check/gst/gstquery.c: (GST_START_TEST):
6569         Initialize variables when creating a new segment query.
6570         Fixes #353121.
6571
6572 2006-08-28  Wim Taymans  <wim@fluendo.com>
6573
6574         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6575
6576         * gst/gstelement.c: (gst_element_get_bus):
6577         * tests/check/gst/gstelement.c: (GST_START_TEST):
6578         Check for NULL before _reffing the bus. Fixes #353122.
6579
6580 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
6581
6582         * docs/manual/basics-bus.xml:
6583           Docs update: fix wrong callback return value explanation; add
6584           some lines about the implicit relationship between main loop
6585           and main context; remove duplicate main loop variable declaration.
6586
6587 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
6588
6589         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6590           Don't leak caps in unit test; add a few more simple
6591           checks. 
6592
6593 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
6594
6595         * docs/gst/gstreamer-sections.txt:
6596         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
6597         (gst_caps_structure_is_subset), (gst_caps_merge),
6598         (gst_caps_merge_structure):
6599         * gst/gstcaps.h:
6600         * libs/gst/base/gstbasetransform.c:
6601         (gst_base_transform_transform_caps):
6602         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6603           implement caps merging (fixes #352580)
6604
6605 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
6606
6607         * tools/Makefile.am:
6608         * tools/gst-plot-timeline.py:
6609           add debug-log plotting developer tool (#340674)
6610
6611 2006-08-23  Wim Taymans  <wim@fluendo.com>
6612
6613         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
6614         (gst_pad_stop_task):
6615         Improve debugging for task functions.
6616
6617         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
6618         (gst_task_start), (gst_task_pause), (gst_task_join):
6619         Make sure that the task function started and finished after a 
6620         join(). 
6621         Don't try to push the task function on the threadpool multiple
6622         times.
6623         Improve the g_warning message with some useful suggestions
6624         about how to fix the problem. 
6625
6626 2006-08-23  Wim Taymans  <wim@fluendo.com>
6627
6628         * gst/gstutils.c: (gst_pad_proxy_getcaps):
6629         Handle RESYNC correctly in _proxy_getcaps.
6630
6631 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
6632
6633         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
6634         (gst_xml_parse_memory), (gst_xml_get_element):
6635           Chain up to parent class in dispose function and also
6636           unref the elements in the toplevel_elements GList.
6637           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
6638           Always return a reference in gst_xml_get_element() rather
6639           than only sometimes.
6640
6641         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6642           Don't leak GstXml object.
6643
6644 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
6645
6646         * docs/gst/gstreamer-sections.txt:
6647         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
6648         (gst_caps_merge):
6649         * gst/gstcaps.h:
6650         * libs/gst/base/gstbasetransform.c:
6651         (gst_base_transform_transform_caps):
6652           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
6653           in a better way
6654
6655 2006-08-21  Edward Hervey  <edward@fluendo.com>
6656
6657         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
6658         Implement GObject::dispose virtual method in GstXML so we can free the
6659         top_elements GList.
6660
6661 2006-08-21  Wim Taymans  <wim@fluendo.com>
6662
6663         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
6664         (gst_buffer_create_sub):
6665         Copy duration/offset_end/caps when creating a subbuffer of the
6666         complete parent.
6667         Make the subbuffer read-only when we make the metadata writable for
6668         now. Fixes #351768.
6669
6670         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6671         Added check for metadata copy when creating subbuffers.
6672
6673 2006-08-21  Edward Hervey  <edward@fluendo.com>
6674
6675         * libs/gst/base/gstbasetransform.c:
6676         (gst_base_transform_buffer_alloc):
6677         Only call downstream buffer_alloc if transform element is passthrough
6678         or always_in_place. Closes #350449.
6679
6680 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6681
6682         * ChangeLog:
6683           ChangeLog surgery to add comments to previous changes
6684
6685 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6686
6687         * gst/gst.c:
6688           Add comments
6689
6690         * gst/gstpad.c: (gst_pad_set_active):
6691           Be more verbose in the log
6692
6693         * libs/gst/base/gstbasetransform.c:
6694         (gst_base_transform_transform_caps):
6695           Simplify caps to get rid of duplicates, fixes #345444
6696
6697 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6698
6699         * gst/gstvalue.c:
6700         * gst/gstvalue.h:
6701           Use these optimizations only internally.
6702
6703 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
6704
6705         * gst/gstvalue.c: (gst_value_compare_list),
6706         (gst_value_compare_fraction_range),
6707         (gst_value_intersect_fraction_fraction_range),
6708         (gst_value_intersect_fraction_range_fraction_range),
6709         (gst_value_subtract_fraction_fraction_range),
6710         (gst_value_subtract_fraction_range_fraction_range),
6711         (gst_value_get_compare_func), (gst_value_compare),
6712         (gst_value_compare_with_func):
6713         * gst/gstvalue.h:
6714           Saves the expensive lookup of the compare function in many cases
6715          (#345444)
6716
6717 2006-08-18  Edward Hervey  <edward@fluendo.com>
6718
6719         * tests/check/gst/gstinfo.c: (gst_info_suite):
6720         Disable test that require gstdebug if it wasn't built in core.
6721
6722 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6723
6724         * docs/random/ensonic/logging.txt:
6725           update ideas
6726           
6727         * gst/gstinfo.c: (gst_debug_log_default):
6728           reorder fields, save some columns, add optional color codes for log
6729           levels
6730
6731 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
6732
6733         * docs/random/ensonic/logging.txt:
6734           add ideas about making the logs a bit more useful
6735
6736 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6737
6738         * docs/pwg/advanced-events.xml:
6739         * docs/pwg/titlepage.xml:
6740           Update for 0.10 API (#340627). Add myself
6741           to authors list.
6742
6743 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
6744
6745         * docs/libs/gstreamer-libs-docs.sgml:
6746         * docs/libs/gstreamer-libs-sections.txt:
6747         * libs/gst/check/gstbufferstraw.c:
6748           Make gstcheck stuff show up in docs (still needs to
6749           be documented properly though).
6750
6751 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
6752
6753         * docs/gst/gstreamer-sections.txt:
6754         * gst/Makefile.am:
6755         * gst/gst.c: (init_post):
6756         * gst/gst_private.h:
6757         * gst/gstquark.c: (_priv_gst_quarks_initialize):
6758         * gst/gstquark.h:
6759         * gst/gstquery.c: (gst_query_new_position),
6760         (gst_query_set_position), (gst_query_parse_position),
6761         (gst_query_new_duration), (gst_query_set_duration),
6762         (gst_query_parse_duration), (gst_query_new_convert),
6763         (gst_query_set_convert), (gst_query_parse_convert),
6764         (gst_query_new_segment), (gst_query_set_segment),
6765         (gst_query_parse_segment), (gst_query_new_seeking),
6766         (gst_query_set_seeking), (gst_query_parse_seeking):
6767         Add internal helpers for pre-registering quarks from static strings
6768         and using the quark values directly instead of looking them up when
6769         creating and parsing queries. Can be used for event construction too.
6770         Closes #350432.
6771
6772 2006-08-16  Wim Taymans  <wim@fluendo.com>
6773
6774         * gst/gstbin.c:
6775         Fix bogus docs.
6776
6777 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6778
6779         * gst/gstutils.c: (gst_util_set_value_from_string):
6780           Fix memleak (#351502).
6781
6782         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6783           Add unit test for most of gst_util_set_value_from_string()
6784           (not that one would want to encourage use of this function).
6785
6786 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6787
6788         * libs/gst/check/gstcheck.h:
6789           Use const gchar * variables in fail_unless_equals_string
6790           macro to avoid compiler warnings (and don't use tabs for
6791           indenting).
6792
6793 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6794
6795         * tools/gst-launch.c: (print_tag):
6796           More space on the left for the tag names, to cater
6797           for the 'extended comment' tag (not touching the
6798           string for the first line since it's translated).
6799
6800 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
6801
6802         * libs/gst/check/gstcheck.h:
6803           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
6804           print something when they fail.
6805
6806 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6807
6808         * docs/gst/gstreamer-sections.txt:
6809         * gst/gsttaglist.c: (_gst_tag_initialize):
6810         * gst/gsttaglist.h:
6811           API: add GST_TAG_EXTENDED_COMMENT (#350935).
6812           Also change merge function for GST_TAG_COMMENT to
6813           use_first.
6814
6815 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6816
6817         * gst/gstinfo.c: (gst_debug_print_object):
6818           Make GST_PTR_FORMAT print messages as well.
6819
6820         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
6821         (GST_START_TEST), (gst_info_suite):
6822           More tests.
6823
6824 2006-08-14  Edward Hervey  <edward@fluendo.com>
6825
6826         * gst/gstelementfactory.c: (gst_element_register):
6827         If the GstElementClass doesn't have a GstElementDetails with all fields
6828         filled up correctly (longname, description AND author), then error out
6829         nicely instead of crashing.
6830
6831 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
6832
6833         * gst/gststructure.c:
6834           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
6835
6836         * gst/gstvalue.h:
6837           Expand on the difference between arrays and lists as we use them.
6838           
6839 2006-08-14  Wim Taymans  <wim@fluendo.com>
6840
6841         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6842         If the parent state change function failed, don't assume we can safely
6843         stop the source, this will be done when the pads are deactivated.
6844
6845 2006-08-14  Wim Taymans  <wim@fluendo.com>
6846
6847         * gst/gstbuffer.c:
6848         * gst/gsttask.c: (gst_task_join):
6849         Small doc updates.
6850
6851         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6852         (gst_pad_stop_task):
6853         When pad (de)activation failed for some reason, restore the old
6854         activation mode and set the pad to flushing instead of assuming the
6855         pad is deactivated.
6856         If the _task_join() failed, reinstall the task on the pad so that it can
6857         be stopped later and return an error.
6858
6859 2006-08-11  Andy Wingo  <wingo@pobox.com>
6860
6861         * configure.ac:
6862         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6863         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
6864         is only for users of API that don't want to see deprecated
6865         functions in the headers; people that want to compile out
6866         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
6867         CFLAGS. Fixes the build of multifdsink, or will soon..
6868
6869 2006-08-11  Wim Taymans  <wim@fluendo.com>
6870
6871         * docs/gst/gstreamer-sections.txt:
6872         Add GstClockClass vmethod docs.
6873
6874         * gst/gstcaps.h:
6875         Mark #endif with comment for associated #if
6876
6877         * gst/gstclock.c: (gst_clock_id_wait):
6878         * gst/gstclock.h:
6879         Add vmethod wait_jitter to avoid an unneeded _get_time() for
6880         most clock implementations.
6881         Document vmethods.
6882         Flesh out docs about resolution methods.
6883         API: GstClockClass::wait_jitter
6884
6885         * gst/gstsystemclock.c: (gst_system_clock_class_init),
6886         (gst_system_clock_async_thread),
6887         (gst_system_clock_id_wait_jitter_unlocked),
6888         (gst_system_clock_id_wait_jitter):
6889         Use base class wait_jitter variant for improved performance
6890         due to less clock polling.
6891
6892 2006-08-11  Edward Hervey  <edward@fluendo.com>
6893
6894         * gst/gst.c: (gst_init_check), (init_post):
6895         Set gst as being initialized before scanning/updating the registry,
6896         since there might be my python plugin loader that calls gst_init() and
6897         we don't want to loop back in.
6898         Closes #350879
6899
6900 2006-08-11  Wim Taymans  <wim@fluendo.com>
6901
6902         * docs/design/part-qos.txt:
6903         Bring docs in line with the code. Mostly the sign of the jitter was
6904         wrong in the docs. Fixes #349943.
6905
6906         * gst/gstclock.c:
6907         Fix the docs for the jitter.
6908
6909         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
6910         (gst_event_parse_tag), (gst_event_new_buffer_size),
6911         (gst_event_parse_buffer_size), (gst_event_parse_qos),
6912         (gst_event_new_seek), (gst_event_parse_seek),
6913         (gst_event_new_navigation):
6914         Make sure the GstStructure has no parent when creating custom
6915         events.
6916         Add some more argument checking so that we avoid 0.0 rates.
6917         Flesh out the docs for the QoS event some more.
6918
6919 2006-08-11  Wim Taymans  <wim@fluendo.com>
6920
6921         * docs/gst/gstreamer-sections.txt:
6922         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6923         (ensure_current_registry_forking), (ensure_current_registry),
6924         (parse_one_option), (parse_goption_arg), (gst_deinit),
6925         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
6926         * gst/gst.h:
6927         Doc updates.
6928         Added API and command line option to disable registry forking in
6929         addition to the environment variable.
6930         Constify some static arrays.
6931         Added some more debug.
6932         Don't deinit twice.
6933         API: gst_registry_fork_is_enabled()
6934         API: gst_registry_fork_set_enabled()
6935         API: --gst-disable-registry-fork command line option
6936         Fixes #348918.
6937
6938 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
6939
6940         * gst/gst.c: (gst_init):
6941           Fix typo in error message.
6942
6943 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
6944
6945         * libs/gst/controller/gstcontroller.h:
6946           fix ABI size-correction
6947
6948         * tests/check/libs/gdp.c: (gst_dp_suite):
6949           make tests that use deprecated API conditional
6950
6951 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
6952
6953         * docs/libs/gstreamer-libs-sections.txt:
6954         * libs/gst/controller/gstcontroller.c:
6955         (_gst_controller_get_property), (_gst_controller_set_property),
6956         (_gst_controller_init), (_gst_controller_class_init):
6957         * libs/gst/controller/gstcontroller.h:
6958         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
6959         (gst_object_set_control_rate):
6960           API: add gst_object_{s,g}et_control_rate(), add private data section,
6961           fix docs
6962
6963         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6964         * libs/gst/dataprotocol/dataprotocol.h:
6965           add deprecation guards to make gtk-doc happy and allow disabling cruft
6966
6967 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
6968
6969         * tests/check/Makefile.am:
6970         * tests/check/gst/.cvsignore:
6971           Let's enable the new unit test as well.
6972
6973 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
6974
6975         * configure.ac:
6976         * docs/gst/gstreamer-sections.txt:
6977         * gst/gstconfig.h.in:
6978         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
6979         (_gst_info_printf_extension_ptr),
6980         (_gst_info_printf_extension_segment):
6981           API: add GST_SEGMENT_FORMAT, which is a printf extension we
6982           register that lets us easily dump GstSegments into debug
6983           logs (#350419).
6984
6985         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
6986         (info_segment_format_printf_extension), (gst_info_suite):
6987           Add simple unit test that logs a bunch of different segments (not
6988           valgrinded at the moment because of leaks in
6989           gst_debug_add_log_function).
6990
6991 2006-08-09  Edward Hervey  <edward@fluendo.com>
6992
6993         * libs/gst/base/gstbasetransform.c:
6994         (gst_base_transform_buffer_alloc):
6995         Even if we can't figure out the proper format to request downstream,
6996         call buffer_alloc() downstream with the input parameters without setting
6997         the caps on the srcpad. This will force negotiation in the chain
6998         function.
6999         Closes #350449
7000
7001 2006-08-08  Edward Hervey  <edward@fluendo.com>
7002
7003         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7004         Unlinking from a pad without a target is now a perfectly valid case
7005         which should NOT raise an assertion.
7006         This case would happen if a linked ghostpad its target set to NULL after
7007         it was previously linked.
7008
7009 2006-08-08  Edward Hervey  <edward@fluendo.com>
7010
7011         * tests/check/libs/gdp.c:
7012         Also comment out the test (see below).
7013
7014 2006-08-08  Edward Hervey  <edward@fluendo.com>
7015
7016         * tests/check/libs/gdp.c: (gst_dp_suite):
7017         Use the architecture information from config.h and not gcc macros
7018         in order to properly disable a test that fails on PPC64.
7019
7020 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
7021
7022         * gst/gstelement.c: (gst_element_remove_pad):
7023           Don't crash printing the warning if the pad has no parent.
7024
7025 2006-08-02  Wim Taymans  <wim@fluendo.com>
7026
7027         * libs/gst/dataprotocol/dataprotocol.c:
7028         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7029         (gst_dp_crc), (gst_dp_header_payload_length),
7030         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7031         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7032         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7033         (gst_dp_event_from_packet), (gst_dp_validate_header),
7034         (gst_dp_validate_payload):
7035         Make debug category static
7036         Constify the crc table.
7037         Do some more arg checking in public functions.
7038         Fix some docs and do some small cleanups.
7039
7040         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7041         Add some more checks to see if GDP deals with bogus input.
7042
7043 2006-07-31  Wim Taymans  <wim@fluendo.com>
7044
7045         * gst/gstvalue.c: (gst_value_compare_list):
7046         Fix GstValueList comparison code. Fixes #347293.
7047
7048         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7049         Check to test GstValueList comparison.
7050
7051 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7052
7053         * gst/gstelementfactory.c: (gst_element_factory_create):
7054         Remove unnecessary ref/unref pair
7055
7056         * gst/parse/grammar.y:
7057         Make sure to free the parse buffer on all code paths.
7058         Move a g_free up to the error handler where it's easier to see.
7059
7060         * tests/check/gst/gstevent.c: (test_event):
7061         Extending timeout for downstream travelling events to 10 seconds to
7062         hopefully avoid intermittent failure on the buildbots.
7063
7064         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7065         Don't manually set the state of the src element - it will happen as a
7066         natural consequence of the pipeline changing state, and that way it
7067         will do it in the right order too.
7068
7069 2006-07-31  Wim Taymans  <wim@fluendo.com>
7070
7071         * libs/gst/base/gstbasetransform.c:
7072         (gst_base_transform_buffer_alloc):
7073         Use OBJECT_LOCK and refcounting to get the pad caps in the
7074         buffer_alloc function because the caps could change while we are
7075         busy with them. Fixes #349105
7076
7077 2006-07-31  Wim Taymans  <wim@fluendo.com>
7078
7079         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7080         Protect _PAD_CAPS with OBJECT_LOCK.
7081
7082 2006-07-31  Wim Taymans  <wim@fluendo.com>
7083
7084         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7085         (gst_pad_get_property), (gst_pad_activate_pull),
7086         (gst_pad_activate_push), (gst_pad_set_blocked_async),
7087         (gst_pad_set_activate_function),
7088         (gst_pad_set_activatepull_function),
7089         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7090         (gst_pad_set_getrange_function),
7091         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7092         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7093         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7094         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7095         (gst_pad_set_acceptcaps_function),
7096         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7097         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7098         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7099         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7100         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7101         (gst_pad_configure_sink), (gst_pad_configure_src),
7102         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7103         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7104         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7105         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7106         (gst_pad_send_event):
7107         Use _DEBUG_OBJECT when it makes sense.
7108         Protect GST_PAD_CAPS with the OBJECT_LOCK.
7109         Small cleanups and code reflows.
7110         Avoid caps refcounting in _accept_caps.
7111         Refactor alloc_buffer so that the code performed on the peer is in a
7112         separate function. Also if the pad does not implement a buffer alloc
7113         function, we should still check if the pad is flushing before falling
7114         back to the default allocator.
7115
7116 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7117
7118         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7119         Make all uses of identity and fakesink have silent=true to avoid
7120         serialising every passing data structure, which is breaking tests
7121         on FC4 for some unknown reason.
7122
7123 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7124
7125         * gst/parse/Makefile.am:
7126         * gst/parse/grammar.y:
7127         * gst/parse/parse.l:
7128           Reverted previous patch as it required to bump the flex dependency to
7129           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7130
7131 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
7132
7133         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7134
7135         * gst/parse/Makefile.am:
7136         * gst/parse/grammar.y:
7137         * gst/parse/parse.l:
7138           push & pop the state of the lexer for reentrant use case
7139           Fixes #349180
7140
7141 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
7142
7143         * libs/gst/base/gstbasesrc.h:
7144           Note in the docs that the ::newsegment vfunc is not actually used by
7145           GstBaseSrc.
7146
7147 2006-07-28  Wim Taymans  <wim@fluendo.com>
7148
7149         * libs/gst/base/gstcollectpads.c:
7150         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7151         (gst_collect_pads_clear), (gst_collect_pads_flush),
7152         (gst_collect_pads_event), (gst_collect_pads_chain):
7153         When flushing a pad, also clear the queued buffer so that we don't
7154         accidentally use it when we shouldn't.
7155         Fix leaks by inreffing incomming buffer.
7156         Flush out queued buffers in case of errors.
7157         Fixes #347452.
7158
7159 2006-07-28  Wim Taymans  <wim@fluendo.com>
7160
7161         * docs/random/phonon-gst:
7162         Random notes about a Phonon backend.
7163
7164 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7165
7166         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7167         Extra debug output
7168         * tests/check/libs/gdp.c: (gst_dp_suite):
7169         Take a whack at fixing the ppc compile using a different define to
7170         disable the broken test.
7171
7172         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7173         Remove excess g_print()
7174
7175 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7176
7177         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7178         Oops, meant to uncomment this line too to dampen the noise a bit.
7179
7180 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
7181
7182         * gst/parse/grammar.y:
7183         * gst/parse/parse.l:
7184         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7185         (GST_START_TEST), (parse_suite):
7186         Fix some of the leaks exposed by extending the parse-launch testsuite,
7187         and move the 3 I can't figure out into a separate test that won't run
7188         the pipelines unless the appropriate line is uncommented.
7189
7190 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7191
7192         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7193           Requesting 0 bytes before the end of the file should result in
7194           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7195           unit test.
7196
7197 2006-07-27  Wim Taymans  <wim@fluendo.com>
7198
7199         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7200         Fix useless assert, a uint is always positive.
7201
7202         * gst/gststructure.c: (gst_structure_nth_field_name),
7203         (gst_structure_foreach), (gst_structure_map_in_place):
7204         Check input arguments for public functions to avoid obvious crashes.
7205
7206         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7207         * plugins/elements/gstfakesink.h:
7208         Do less useless typechecking.
7209
7210 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
7211
7212         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7213           Do not use mmap() by default since there are a number of error
7214           conditions that we would like to handle in a non-fatal way that
7215           will result in a SIGBUS if we use mmap(). Examples: external
7216           devices (USB harddrive, portable music player) being unplugged
7217           while in use; file on mounted CD/DVD that can't be read because
7218           the medium is partly damaged. Fixes #348455 and #348475.
7219
7220 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
7221
7222         * gst/gstquery.h:
7223         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7224         rates are a gdouble
7225
7226 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
7227
7228         * gst/gstregistry.c:
7229           Move big documentation comment into class section header, so that it
7230           appears in the API docs.
7231
7232 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7233
7234         * docs/gst/gstreamer-sections.txt:
7235         Oops. Commit the docs additions too for new API.
7236         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7237
7238 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7239
7240         * gst/gststructure.c: (gst_structure_id_set),
7241         (gst_structure_id_set_valist):
7242         * gst/gststructure.h:
7243         Add API for setting values into structures without performing
7244         a quark lookup, if the appropriate quark is already known.
7245
7246         API: gst_structure_id_set
7247         API: gst_structure_id_set_valist
7248
7249         * gst/parse/grammar.y:
7250         * gst/parse/parse.l:
7251         Remove some dead code shown by the coverage information.
7252         Don't throw a critical g_warning when encountering a syntax error,
7253         just warn and let the normal error path handle it.
7254
7255         * plugins/elements/gstelements.c:
7256         Bump the rank of filesink up to PRIMARY so that it is preferred over
7257         gnomevfssink for file:// sink uri's
7258
7259         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7260         (GST_START_TEST), (run_delayed_test),
7261         (gst_parse_test_element_base_init),
7262         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7263         (gst_parse_test_element_change_state),
7264         (gst_register_parse_element), (parse_suite):
7265         Beef up the tests for parse syntax to check that more error cases
7266         fail as they are supposed to. Increases the test coverage a bit.
7267
7268 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7269
7270         * docs/manual/basics-elements.xml:
7271           Fix gst_element_link() example.
7272
7273         * gst/gstutils.c:
7274           Mention in API docs that one should usually gst_bin_add()
7275           elements to a bin or pipeline before doing the linking.
7276           
7277 2006-07-26  Wim Taymans  <wim@fluendo.com>
7278
7279         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7280         (gst_subbuffer_get_type), (gst_buffer_create_sub):
7281         Avoid function call for known types by keeping the buffer and
7282         subbuffer GType global.
7283
7284         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7285         Random silly optimisations in read() path.
7286
7287 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7288
7289         * tools/gst-launch.c: (main):
7290           If the top-level of the parse is a normal bin, it doesn't do the
7291           right logic to run as a top-level element, so place it inside a
7292           pipeline.
7293
7294 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7295
7296         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7297           Remove superfluous g_object_notify() calls, GObject does
7298           that for us automatically.
7299
7300 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
7301
7302         * gst/gstinfo.h:
7303           on Win32, use dllspec to export the debug category symbols
7304
7305 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
7306
7307         * gst/gsttaglist.c: (_gst_tag_initialize):
7308           Allow more than one GST_TAG_IMAGE per taglist.
7309
7310 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7311
7312         * gst/gstminiobject.c:
7313           update docs
7314         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7315         (gst_fd_src_create):
7316           log recurring events at LOG level
7317           add more debug for when the fd gets set
7318
7319 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7320
7321         * gst/gstparse.c: (gst_parse_launch):
7322           Also remove reentrance checks if flex is MT safe (#348179)
7323          Fix my empty ChangeLog entry below
7324
7325 2006-07-21  Andy Wingo  <wingo@pobox.com>
7326
7327         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7328
7329         * libs/gst/check/Makefile.am
7330         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7331         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
7332         * libs/gst/check/gstbufferstraw.h:
7333         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7334         functions, thus proving I am still a GStreamer haxor. OK I wrote
7335         them a long time ago, but anyways.
7336
7337 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
7338
7339         * configure.ac:
7340         * gst/gstparse.c: (gst_parse_launch):
7341           Check for flex version and omit mutex if we have a MT save flex
7342           (fixes #348179)
7343
7344 2006-07-21  Wim Taymans  <wim@fluendo.com>
7345
7346         * gst/gstparse.c: (gst_parse_launch):
7347         Protect recursive calls to _parse with a recursive mutex
7348         and busy flag.
7349
7350 2006-07-21  Wim Taymans  <wim@fluendo.com>
7351
7352         * tests/check/gst/gstpad.c: (GST_START_TEST):
7353         Fix leak in test.
7354
7355 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
7356
7357         * gst/gstparse.c: (gst_parse_launch):
7358           Do not hang on recursive usage of gst_parse_launch()
7359
7360 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7361
7362         * gst/gsttaglist.c:
7363           Add some more docs, comments and FIXME 0.11s here and there
7364           and also fix some typos.
7365
7366 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
7367
7368         * gst/gstsegment.h:
7369           Convert tabs to spaces for better readability. 
7370
7371 2006-07-20  Edward Hervey  <edward@fluendo.com>
7372
7373         * tests/check/libs/gdp.c: (gst_dp_suite):
7374         the test_buffer test fails at line 140 on ppc64 at the following
7375         check:
7376         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7377                 GST_BUFFER_FLAG_IN_CAPS),
7378                 "GST_BUFFER_IN_CAPS flag should have been copied !");
7379         See bug #348114 for more details.
7380
7381 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
7382
7383         * docs/pwg/advanced-scheduling.xml:
7384         * gst/gstpad.c:
7385           Fix typos (#348000).
7386
7387 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
7388
7389         * docs/pwg/intro-basics.xml:
7390           Fix wrong links (#347927).
7391
7392 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
7393
7394         * gst/gstregistry.h:
7395         * gst/gstregistryxml.c: (load_feature),
7396         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7397         * win32/common/config.h:
7398           make --disable-index work (#342564)
7399
7400 2006-07-18  Wim Taymans  <wim@fluendo.com>
7401
7402         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7403
7404         * gst/Makefile.am:
7405         * gst/gsttrace.h:
7406         The attached patch adds two missing defines to gsttrace.h when tracing
7407         is disabled.  It also corrects one existing define.
7408         Fixes #347756.
7409
7410 2006-07-17  Wim Taymans  <wim@fluendo.com>
7411
7412         * docs/gst/gstreamer-sections.txt:
7413         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7414         * gst/gst.h:
7415         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7416         Add two functions to check and change the SIGSEGV behaviour
7417         when loading plugins.
7418         Don't mess with the SIGSEGV handler when we were told not to.
7419         Fixes #347794.
7420         API: gst_segtrap_is_enabled
7421         API: gst_segtrap_set_enabled
7422
7423 2006-07-14  Wim Taymans  <wim@fluendo.com>
7424
7425         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7426         * tests/check/elements/filesrc.c: (GST_START_TEST):
7427         Revert fix for regression in #347408 after release.
7428
7429 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
7430
7431         Patch by: Antoine Tremblay <hexa00 at gmail com>
7432
7433         * gst/gstutils.c: (gst_element_unlink):
7434           Free iterator when done (#347311).
7435
7436         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7437           And add a test case for this.
7438
7439 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
7440
7441         * configure.ac:
7442         Bump nano back to CVS
7443
7444 === release 0.10.9 ===
7445
7446 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
7447
7448         * configure.ac:
7449           releasing 0.10.9, "On the road again"
7450
7451 2006-07-13  Wim Taymans  <wim@fluendo.com>
7452
7453         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7454         * tests/check/elements/filesrc.c: (GST_START_TEST):
7455         Revert pull-0 fix for release. Disable check. Fixes #347408.
7456
7457 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7458
7459         * libs/gst/dataprotocol/dataprotocol.c:
7460         (gst_dp_event_from_packet_1_0):
7461           Fixes #347337: failure to deserialize event packets with
7462           empty payload (only event type)
7463
7464 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7465
7466         * gst/Makefile.am:
7467           do not install a .c file in the header directory
7468
7469 2006-07-13  Edward Hervey  <edward@fluendo.com>
7470
7471         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7472         GhostPad no longer implicitely use the padtemplates of the targets.
7473         Fixes #347384
7474
7475 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
7476
7477         * gst/gstvalue.c: (gst_value_compare_list),
7478         (gst_value_compare_array), (_gst_value_initialize):
7479         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7480         Make GstValueArray comparison be order dependent as designed.
7481         Add checks for value lists and value array comparisons.
7482         Fixes #347221
7483
7484 2006-07-11  Edward Hervey  <edward@fluendo.com>
7485
7486         * gst/gstbin.c: (activate_pads),
7487         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7488         (gst_bin_change_state_func):
7489         (de)activate src pads before calling state_change on the childs.
7490         This is to avoid the case where a src ghostpad is blocked (holding the
7491         stream lock), which would block the deactivation of the ghostpad's
7492         target pad.
7493         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
7494         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
7495         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
7496         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7497         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7498         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7499         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7500         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
7501         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
7502         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7503         (gst_ghost_pad_class_init),
7504         (gst_ghost_pad_internal_do_activate_push),
7505         (gst_ghost_pad_internal_do_activate_pull),
7506         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7507         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7508         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
7509         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
7510         GhostPads now create their internal GstProxyPad at creation (and not
7511         when they're linked, as it was being done previously).
7512         The internal and target pads are linked straight away.
7513         The data will also travel through the other pad in order to make
7514         pad blocking and probes non-hackish (the probe/block now really happens
7515         on the GhostPad and not on the target).
7516         * gst/gstpad.c: (gst_pad_set_blocked_async),
7517         (gst_pad_link_prepare), (gst_pad_push_event):
7518         Remove previous ghostpad cruft.
7519         * gst/gstutils.c: (gst_pad_add_data_probe),
7520         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7521         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7522         (gst_pad_remove_buffer_probe):
7523         Remove previous ghost pad cruft.
7524         Added more detailed debug statements.
7525         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7526         Fix the testsuite for refcounting changes.
7527         The comments about who has references were correct, but the refcount
7528         being checked wasn't the same (!?!).
7529
7530         Fixes #341029
7531
7532 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7533
7534         * docs/gst/gstreamer-sections.txt:
7535         * gst/gstconfig.h.in:
7536         More docs for configuration options, add docs to gtk-doc.
7537
7538 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
7539
7540         * gst/Makefile.am:
7541         * gst/gstconfig.h.in:
7542         * win32/common/config.h:
7543         Fix build when disabling tracing (fixes #344016). Also start to document
7544         the defines that disable the sub-systems.
7545
7546 2006-07-10  Edward Hervey  <edward@fluendo.com>
7547
7548         * gst/gst.c: (ensure_current_registry_forking):
7549         let's make valgrind happy...
7550
7551 2006-07-09  Wim Taymans  <wim@fluendo.com>
7552
7553         * gst/gstelement.c: (activate_pads),
7554         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7555         Better pad activation code: Reset the collect value too on resync.
7556         Add some comments.
7557
7558 2006-07-09  Wim Taymans  <wim@fluendo.com>
7559
7560         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
7561         (gst_pad_activate_push):
7562         Use some more macros where it makes sense.
7563         Allow pad mode switching instead of asserting. When a pad
7564         is activated in one mode and we activate it in another, 
7565         deactivate it first before activating it in a different mode.
7566         Fixes #329198.
7567
7568 2006-07-08  Andy Wingo  <wingo@pobox.com>
7569
7570         * tools/gst-launch.c (main): Handle err == NULL.
7571
7572         * gst/gst.c (init_post, ensure_current_registry)
7573         (ensure_current_registry_forking)
7574         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
7575         factoring out the registry scanning into separate functions. Don't
7576         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
7577         Better environment var name/interface suggestions accepted.
7578
7579 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7580
7581         * gst/gstobject.c: (gst_object_set_name_default),
7582         (gst_object_set_name):
7583           Random micro-optimisation: don't use a hash table
7584           with strings as keys and the usual strdup/strcmp
7585           involved, but rather just use the GQuark of the
7586           type name as key, since it needs to be looked up
7587           anyway to get the type name string.
7588
7589         * tests/check/gst/gstobject.c: (GST_START_TEST):
7590           Fix various leaks.
7591
7592 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7593
7594         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
7595         (gst_bin_iterate_all_by_interface):
7596           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
7597           GTypes are gulongs and thus the top 4 bytes might be cut
7598           off on some platforms when doing GPOINTER_TO_INT, leading
7599           to invalid GTypes and bad things happening (see RH bug #179654).
7600           Also add a check to make sure the type passed in is really
7601           an interface type.
7602
7603 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7604
7605         * .cvsignore:
7606           Ignore more.
7607
7608 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7609
7610         * Makefile.am:
7611         * configure.ac:
7612         * gst-element-check.m4:
7613         * gst-element-check.m4.in:
7614           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
7615           instead of the unversioned gst-inspect (#324176, #168659).
7616
7617 2006-07-06  Wim Taymans  <wim@fluendo.com>
7618
7619         * gst/gstmessage.h:
7620         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
7621         warnings.
7622
7623 2006-07-06  Wim Taymans  <wim@fluendo.com>
7624
7625         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7626         (gst_base_src_wait), (gst_base_src_update_length),
7627         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
7628         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
7629         (gst_base_src_loop), (gst_base_src_start),
7630         (gst_base_src_activate_pull):
7631         Update docs.
7632         blocksize == 0 now means the default blocksize when working in push
7633         based mode.
7634         Remove some pointless asserts in _wait function.
7635         Fix offset/length calculations and EOS handling. We can now pull 0
7636         bytes as well, which is allowed.
7637         use _check_get_range() to decide if we can operate in _pull based
7638         mode.
7639         Fix refcounting leak when check_get_range function was not 
7640         implemented.
7641         API GstBaseSrc::blocksize range can be 0 too now (default)
7642
7643         * tests/check/elements/filesrc.c: (GST_START_TEST),
7644         (filesrc_suite):
7645         Added check to test _get_range() behaviour.
7646
7647 2006-07-06  Wim Taymans  <wim@fluendo.com>
7648
7649         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7650         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
7651         (gst_pad_pull_range):
7652         * gst/gstpad.h:
7653         Lots of comments and docs added to the pad functions.
7654         Flesh out the expected behaviour of the get_range() functions.
7655
7656 2006-07-06  Wim Taymans  <wim@fluendo.com>
7657
7658         * gst/gstbus.h:
7659         * gst/gstclock.h:
7660         * gst/gstevent.h:
7661         * gst/gstiterator.h:
7662         * gst/gstpad.h:
7663         * gst/gstplugin.h:
7664         * gst/gsttask.h:
7665         Remove comma at end of enumerator list. 
7666
7667 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
7668
7669         * win32/common/libgstbase.def:
7670         * win32/common/libgstdataprotocol.def:
7671         * win32/common/libsgtreamer.def:
7672         Add new exported functions.
7673
7674 2006-07-05  Wim Taymans  <wim@fluendo.com>
7675
7676         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
7677         Add some more docs here and there.
7678
7679 2006-07-05  Wim Taymans  <wim@fluendo.com>
7680
7681         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
7682         (gst_base_sink_loop), (gst_base_sink_get_position):
7683         When operating in pull mode update the offset so that we
7684         read sequentially.
7685
7686 2006-07-05  Wim Taymans  <wim@fluendo.com>
7687
7688         * gst/gstregistryxml.c: (read_string):
7689         Avoid strdup. (will happen in libxml, but hey!)
7690
7691         * gst/gsturi.c:
7692         Add some more docs.
7693
7694 2006-07-05  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
7697         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7698         (gst_buffer_suite):
7699         No point in checking if the size of the subbuffer > 0, the
7700         code handles it correclty as demonstrated by unit test.
7701         Also add a unit test for the zero sized _new_and_alloc and
7702         _copy. Fixes #346663.
7703
7704 2006-07-05  Wim Taymans  <wim@fluendo.com>
7705
7706         * libs/gst/base/gstbasetransform.c:
7707         (gst_base_transform_prepare_output_buffer),
7708         (gst_base_transform_buffer_alloc),
7709         (gst_base_transform_handle_buffer):
7710         Make sure the buffer we pass to transform_ip has a refcount of
7711         1 and thus is writable. Fixes #343196
7712
7713 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
7714
7715         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7716         (gst_file_src_init), (gst_file_src_set_property),
7717         (gst_file_src_get_property), (gst_file_src_map_region):
7718         * plugins/elements/gstfilesrc.h:
7719         Add "sequential" property, off by default, to use madvise and hint
7720         to the kernel that sequential access is desired.
7721         Touch all retrieved pages by default to ensure they are pulled
7722         into memory. (Closes #345720)
7723
7724 2006-07-03  Wim Taymans  <wim@fluendo.com>
7725
7726         * docs/design/part-block.txt:
7727         * docs/design/part-dynamic.txt:
7728         Small docs updates.
7729
7730 2006-07-03  Wim Taymans  <wim@fluendo.com>
7731
7732         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7733         (gst_caps_unref), (gst_static_caps_get),
7734         (gst_caps_append_structure):
7735         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7736         Use GSlice when the glib we build against is >= 2.10
7737
7738 2006-07-03  Wim Taymans  <wim@fluendo.com>
7739
7740         * gst/gstelement.c: (gst_element_pads_activate):
7741         Small cleanup in pad activation code.
7742
7743 2006-07-03  Wim Taymans  <wim@fluendo.com>
7744
7745         Patch by: Peter Kjellerstedt <pkj at axis dot com>
7746
7747         * gst/gst-i18n-app.h:
7748         * gst/gst-i18n-lib.h:
7749         * tools/gst-inspect.c: (print_signal_info):
7750         The attached patch will make the inclusion of gettext.h unconditional in
7751         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7752         libintl.h in tools/gst-inspect.c.
7753         This allows use of --disable-nls again and fixes #344642.
7754
7755 2006-07-03  Edward Hervey  <edward@fluendo.com>
7756
7757         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7758         Implement pad blocking on events according to part-block.txt.
7759         More comments on behaviour.
7760         * tests/check/gst/gstevent.c: (test_event):
7761         Send event to peer pad of blocked pad (else it will block).
7762
7763 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7764
7765         * libs/gst/check/gstcheck.c: (gst_check_message_error),
7766         (gst_check_run_suite):
7767           if we get the wrong message, give us the types as string
7768         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7769           Fix a translatable
7770         * tests/check/elements/filesrc.c: (GST_START_TEST):
7771           add a test for trying to open a non-existing file
7772
7773 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7774
7775         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7776           add a test for adding self
7777
7778 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7779
7780         * libs/gst/check/gstcheck.h:
7781           add some assert_ as alias for fail_unless_*
7782         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
7783           increase test coverage
7784
7785 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7786
7787         * Makefile.am:
7788           include lcov.mak for lcov coverage generation
7789         * tools/Makefile.am:
7790           add to CLEANFILES
7791
7792 2006-07-02  Edward Hervey  <edward@fluendo.com>
7793
7794         * tests/check/elements/.cvsignore:
7795         moaping
7796
7797 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7798
7799         * configure.ac:
7800           don't set CFLAGS and friends for gcov, done from GST_GCOV now
7801         * tests/check/Makefile.am:
7802           clean up gcov files
7803
7804 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7805
7806         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
7807           remove gst_caps_simplify; it was not declared and not used
7808           and deprecated in 0.8
7809
7810 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7811
7812         * docs/faq/gst-uninstalled:
7813           don't put empty paths on PYTHONPATH
7814         * docs/gst/gstreamer-sections.txt:
7815           remove some symbols that are not there
7816
7817 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7818
7819         * gst/gstcaps.c: (gst_caps_compare_structures):
7820           whitespace fixes
7821         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7822         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7823           add more tests
7824
7825 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7826
7827         * libs/gst/dataprotocol/Makefile.am:
7828           build dataprotocol test by linking to the lib, instead of
7829           compiling the source, so we get coverage
7830         * tests/check/Makefile.am:
7831         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
7832         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
7833           add a test for filesrc
7834
7835 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7836
7837         * tests/check/gst/gststructure.c: (GST_START_TEST),
7838         (gst_structure_suite):
7839           Push coverage from 59.04% to 70.00%
7840
7841 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7842
7843         * tests/check/Makefile.am:
7844           gst-inspect every element; this makes sure that we also get
7845           coverage on element's get/set functions
7846
7847 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7848
7849         * configure.ac:
7850           set CFLAGS and friends to -O0 if gcov is being used
7851           add GCOV LIBS
7852         * gst/Makefile.am:
7853         * libs/gst/base/Makefile.am:
7854         * libs/gst/check/Makefile.am:
7855         * libs/gst/controller/Makefile.am:
7856         * libs/gst/dataprotocol/Makefile.am:
7857         * libs/gst/net/Makefile.am:
7858         * plugins/elements/Makefile.am:
7859         * plugins/indexers/Makefile.am:
7860           add makefile rules to generate gcov data and clean up
7861         * tests/check/Makefile.am:
7862           add a coverage target that generates an html overview
7863           of coverage data
7864
7865 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7866
7867         * tests/check/elements/fakesink.c:
7868         * tests/check/elements/fakesrc.c:
7869         * tests/check/elements/fdsrc.c:
7870         * tests/check/elements/identity.c:
7871         * tests/check/generic/sinks.c: (gst_sinks_suite):
7872         * tests/check/generic/states.c:
7873         * tests/check/gst/gst.c:
7874         * tests/check/gst/gstabi.c:
7875         * tests/check/gst/gstbin.c:
7876         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
7877         * tests/check/gst/gstbus.c: (gst_bus_suite):
7878         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7879         * tests/check/gst/gstelement.c:
7880         * tests/check/gst/gstevent.c: (gst_event_suite):
7881         * tests/check/gst/gstghostpad.c:
7882         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
7883         * tests/check/gst/gstmessage.c: (gst_message_suite):
7884         * tests/check/gst/gstminiobject.c:
7885         * tests/check/gst/gstobject.c:
7886         * tests/check/gst/gstpad.c:
7887         * tests/check/gst/gstpipeline.c:
7888         * tests/check/gst/gstplugin.c:
7889         * tests/check/gst/gstquery.c: (gst_query_suite):
7890         * tests/check/gst/gstsegment.c: (gst_segment_suite):
7891         * tests/check/gst/gststructure.c:
7892         * tests/check/gst/gstsystemclock.c:
7893         * tests/check/gst/gsttag.c:
7894         * tests/check/gst/gsttask.c: (gst_task_suite):
7895         * tests/check/gst/gstutils.c:
7896         * tests/check/gst/gstvalue.c:
7897         * tests/check/libs/adapter.c:
7898         * tests/check/libs/basesrc.c:
7899         * tests/check/libs/collectpads.c:
7900         * tests/check/libs/controller.c:
7901         * tests/check/libs/gdp.c: (gst_dp_suite):
7902         * tests/check/libs/gstnetclientclock.c:
7903         * tests/check/libs/gstnettimeprovider.c:
7904         * tests/check/libs/libsabi.c: (libsabi_suite):
7905         * tests/check/libs/typefindhelper.c:
7906         * tests/check/pipelines/cleanup.c:
7907         * tests/check/pipelines/parse-launch.c:
7908         * tests/check/pipelines/simple-launch-lines.c:
7909         * tests/check/pipelines/stress.c: (stress_suite):
7910           use the new macro
7911
7912 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7913
7914         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
7915         * libs/gst/check/gstcheck.h:
7916           create a macro and function so that the simple unit test
7917           case can be just one macro to create main()
7918
7919 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
7920
7921         * gst/gstbin.c: (gst_bin_restore_thyself):
7922         * gst/gstxml.c: (gst_xml_make_element):
7923           Fix deserialisation from XML. Set parent manually
7924           instead of using gst_bin_add(), since gst_bin_add()
7925           will unlink all pads of the element being added.
7926           Fixes #341667.
7927
7928 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
7929
7930         Patch by: Peter Kjellerstedt <pkj at axis com>
7931
7932         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
7933           Fix missing g_strdup() and double free when using the
7934           --gst-plugin-load command line option (#346097).
7935
7936 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7937
7938         * gst/gstinfo.c:
7939           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
7940
7941         * libs/gst/net/gstnetclientclock.c:
7942         * libs/gst/net/gstnettimeprovider.c:
7943           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
7944
7945 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
7946
7947         * docs/manual/advanced-dataaccess.xml:
7948           Fix buffer probe example compilation in
7949           ADM (#345708).
7950         
7951 2006-06-22  Edward Hervey  <edward@fluendo.com>
7952
7953         * gst/gstelement.c: (gst_element_pads_activate):
7954         We need to deactivate src pads first and then sink pads.
7955         The reason is the src pads might be blocking while holding the streaming
7956         lock, so we need to deactivate them first so that deactivating the sink
7957         pads doesn't block (since it will require the streaming lock).
7958
7959 2006-06-22  Wim Taymans  <wim@fluendo.com>
7960
7961         * libs/gst/base/gstbasetransform.c:
7962         (gst_base_transform_buffer_alloc):
7963         Forgot to remove two unneeded unrefs.
7964         Simplify a check _is_equal allready checks the obvious case.
7965
7966 2006-06-22  Wim Taymans  <wim@fluendo.com>
7967
7968         * docs/design/part-block.txt:
7969         Some docs about what pad_block should do.
7970
7971 2006-06-22  Wim Taymans  <wim@fluendo.com>
7972
7973         * gst/gstcaps.c: (gst_caps_replace):
7974         Fix crasher when passed NULL. Doc clarification.
7975         Optimize for the trivial case.
7976
7977         * gst/gstpipeline.c: (gst_pipeline_change_state):
7978         Small cleanups.
7979
7980         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7981         Small documentation cleanup.
7982
7983         * libs/gst/base/gstbasetransform.c:
7984         (gst_base_transform_buffer_alloc):
7985         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
7986         is what we need and it avoids a whole lot of redundant 
7987         refcount operations.
7988
7989 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
7990
7991         Patch by: Philip Jägenstedt  <philip at lysator liu se>
7992
7993         * docs/manual/advanced-dataaccess.xml:
7994           Fix 'Embedding static elements' section to use
7995           GST_PLUGIN_DEFINE_STATIC (#345607).
7996
7997 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7998
7999         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8000           Attempt to 'fix' spuriously failing test case: it seems like the
8001           timeout of half a second is simply too small when the system is under
8002           load otherwise, and the timeout doesn't really seem to serve any
8003           particular purpose here. Give the pipeline a few seconds to preroll
8004           first, and then give it another half a second to go from PAUSED to
8005           PLAYING and marshal the message into the main thread.
8006
8007 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8008
8009         * tools/gst-feedback-m.m:
8010           Don't only use unversioned tools, try versioned tools as well
8011           (#345086).
8012
8013 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8014
8015         * gst/gstbus.c: (gst_bus_class_init):
8016           Fix some typos, make docs more explicit.
8017
8018 2006-06-20  Wim Taymans  <wim@fluendo.com>
8019
8020         * tests/check/gst/gstghostpad.c: (block_callback),
8021         (GST_START_TEST), (gst_ghost_pad_suite):
8022         Added some more ghostpad tests, mainly blocking
8023         and probes.
8024
8025 2006-06-16  Wim Taymans  <wim@fluendo.com>
8026
8027         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8028         (gst_file_sink_close_file), (gst_file_sink_do_seek),
8029         (gst_file_sink_event), (gst_file_sink_render):
8030         * plugins/elements/gstfilesink.h:
8031         Check if we can seek in the file instead of assuming
8032         we always can. Post an error when we are asked to seek in a
8033         non-seekable file (like a fifo). Fixes #343312.
8034         Some cleanups.
8035
8036 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8037
8038         * tools/gst-launch.1.in:
8039           Un-garble (fourcc) bit in filtered caps section.
8040
8041 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8042
8043         * docs/manual/advanced-autoplugging.xml:
8044         * docs/manual/basics-helloworld.xml:
8045         * docs/manual/highlevel-components.xml:
8046           Don't leak bus reference in sample code.
8047
8048 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
8049
8050         * autogen.sh:
8051           Add default for new --enable-plugin-docs switch.
8052
8053         * configure.ac:
8054           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8055           Fixes #344039.
8056
8057         * docs/Makefile.am:
8058           Use new ENABLE_PLUGIN_DOCS conditional.
8059
8060 2006-06-14  Wim Taymans  <wim@fluendo.com>
8061
8062         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8063         Make it clear with a FIXME and a real define what the #if 0
8064         previously disabled.
8065
8066 2006-06-14  Wim Taymans  <wim@fluendo.com>
8067
8068         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8069         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8070         * libs/gst/base/gstbasetransform.c:
8071         (gst_base_transform_sink_eventfunc):
8072         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8073         Don't randomly and silently reset a segment when the format 
8074         changes as this is a bug somewhere upstream. Fixes #330379.
8075
8076 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8077
8078         Patch by: Wouter Paesen  <wouter at kangaroot net>
8079
8080         * libs/gst/controller/gstcontroller.c:
8081         (gst_controlled_property_new):
8082           Fix controlling of float properties (#344849).
8083
8084         * tests/check/libs/controller.c:
8085         (gst_test_mono_source_get_property),
8086         (gst_test_mono_source_set_property),
8087         (gst_test_mono_source_class_init), (GST_START_TEST):
8088           While we're at it, add some float stuff to unit test.
8089
8090 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8091
8092         * docs/README:
8093         * docs/images/gdp-header.svg:
8094           add a gdp image
8095         * docs/libs/Makefile.am:
8096         * docs/libs/gdp-header.png:
8097         * libs/gst/dataprotocol/dataprotocol.c:
8098           add it to the API docs
8099         * docs/manual/intro-motivation.xml:
8100           fix typo
8101
8102 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8103
8104         * gst/gst.c: (scan_and_update_registry), (init_post):
8105           If the fork()'ed child process can't write the updated registry cache
8106           file to disk for some reason, make it exit with a failure exit code,
8107           so that the parent can then re-scan the plugins itself and update the
8108           registry structures in memory and work with that (rather than failing
8109           when creating elements because seemingly no plugins are available).
8110           Refactor registry scanning code into separate function for this and
8111           also separate fork() and non-fork() code paths. Fixes #344748.
8112
8113 2006-06-13  Wim Taymans  <wim@fluendo.com>
8114
8115         * docs/manual/advanced-dataaccess.xml:
8116         Fix wrong PluginDesc. Fixes #344755.
8117
8118 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8121           Fix silly bug that prevented us from creating
8122           ~/.gstreamer-0.10 and writing the registry in one
8123           go (the first call to g_mkstemp() would overwrite the
8124           placeholder in the template string, so the second call
8125           to g_mkstemp() after creating the missing directory
8126           would then error out with 'invalid argument').
8127
8128 2006-06-13  Edward Hervey  <edward@fluendo.com>
8129
8130         * gst/gst.c: (init_post):
8131         Free string.
8132
8133 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8134
8135         * gst/glib-compat-private.h:
8136         * gst/glib-compat.c:
8137         * gst/glib-compat.h:
8138         * gst/gstvalue.c: (gst_value_serialize_flags):
8139           remove GLib 2.6 compatibility code
8140
8141 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
8142
8143         * gst/parse/Makefile.am:
8144           Fix build with 'make -j N' even more (#340016).
8145
8146 2006-06-12  Wim Taymans  <wim@fluendo.com>
8147
8148         * docs/gst/gstreamer-sections.txt:
8149         Fix docs.
8150
8151 2006-06-12  Wim Taymans  <wim@fluendo.com>
8152
8153         * gst/gstsegment.c: (gst_segment_set_duration),
8154         (gst_segment_set_last_stop), (gst_segment_set_seek),
8155         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8156         (gst_segment_to_running_time), (gst_segment_clip):
8157         Use G_UNLIKELY to help the compiler a bit.
8158
8159 2006-06-12  Wim Taymans  <wim@fluendo.com>
8160
8161         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8162
8163         * gst/gstevent.c: (gst_event_get_type):
8164         * gst/gstmessage.c:
8165         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8166         (gst_pad_push):
8167         constify quark registration strings. Fixes #344115
8168         Avoid unneeded type checking is _pad_push() by internally
8169         calling gst_pad_chain_unchecked().
8170
8171 2006-06-12  Wim Taymans  <wim@fluendo.com>
8172
8173         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8174         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8175         (gst_subbuffer_finalize), (gst_buffer_create_sub),
8176         (gst_buffer_is_span_fast), (gst_buffer_span):
8177         Init _type for consistency.
8178         Use _FLAGS macro to avoid type check.
8179         Avoid unneeded type checks in subbufer code.
8180
8181 2006-06-12  Wim Taymans  <wim@fluendo.com>
8182
8183         * gst/gst.c: (gst_debug_help):
8184         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8185         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8186         (gst_plugin_feature_list_free):
8187         * gst/gstregistry.c: (gst_registry_add_plugin),
8188         (gst_registry_add_feature), (gst_registry_plugin_filter),
8189         (gst_registry_feature_filter), (gst_registry_find_plugin),
8190         (gst_registry_find_feature), (gst_registry_get_plugin_list),
8191         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8192         * gst/gstregistryxml.c: (load_feature),
8193         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8194         * gst/gstminiobject.c: (gst_mini_object_unref),
8195         (gst_mini_object_replace), (gst_value_mini_object_free),
8196         (gst_value_mini_object_copy):
8197         Use _CAST macros to avoid unneeded type checking.
8198         Added some more G_UNLIKELY.
8199
8200 2006-06-12  Wim Taymans  <wim@fluendo.com>
8201
8202         * gst/gstbuffer.h:
8203         Avoid unneeded type checking.
8204         API: GST_BUFFER_IS_DISCONT
8205
8206         * gst/gstminiobject.h:
8207         Avoid type check in flag accessor.
8208
8209         * gst/gstelementfactory.h:
8210         * gst/gstplugin.h:
8211         * gst/gstpluginfeature.h:
8212         Add _CAST macros.
8213         API: GST_ELEMENT_FACTORY_CAST
8214         API: GST_PLUGIN_CAST
8215         API: GST_PLUGIN_FEATURE_CAST
8216
8217 2006-06-12  Wim Taymans  <wim@fluendo.com>
8218
8219         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8220         (gst_object_unref):
8221         Add G_UNLIKELY in type registration.
8222         Avoid type check in _ref/_unref since that is also
8223         done in glib.
8224
8225 2006-06-12  Wim Taymans  <wim@fluendo.com>
8226
8227         * gst/gsterror.c: (gst_g_error_get_type):
8228         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8229         (gst_static_pad_template_get_type):
8230         * gst/gsttaglist.c: (gst_tag_list_get_type):
8231         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8232         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8233         * gst/gsturi.c: (gst_uri_handler_get_type):
8234         * gst/gstvalue.c: (gst_date_get_type):
8235         * gst/gstxml.c: (gst_xml_get_type):
8236         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8237         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8238         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8239         Add G_UNLIKELY in type registration.
8240
8241 2006-06-12  Wim Taymans  <wim@fluendo.com>
8242
8243         * tools/gst-inspect.c: (print_signal_info):
8244         Properly print enum values.
8245
8246 2006-06-12  Wim Taymans  <wim@fluendo.com>
8247
8248         * gst/gstinfo.c: (gst_debug_set_active),
8249         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8250         * gst/gstinfo.h:
8251         Add some G_[UN]LIKELY.
8252         Maintain __gst_debug_min to avoid formatting the arguments of
8253         debug messages that will be dropped anyway to avoid a lot of 
8254         overhead from the debugging system.
8255
8256 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8257
8258         * po/POTFILES.in:
8259         * po/POTFILES.skip:
8260           add missing files containing translatable strings, tell intltool about
8261           one exception
8262
8263 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8264
8265         * tests/check/libs/.cvsignore:
8266         add test-binary to ignore list
8267
8268 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
8269
8270         * docs/libs/gstreamer-libs-docs.sgml:
8271         reorder (put dp into a chapter) and indent
8272
8273 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * configure.ac:
8276           back to HEAD
8277
8278 === release 0.10.8 ===
8279
8280 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
8281
8282         * configure.ac:
8283           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8284
8285 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8286
8287         * gst/gst.c: (init_post):
8288           move pid declaration to declaration block
8289
8290 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8291
8292         * gst/gst.c: (init_post):
8293           use _exit() instead of exit() in our forked child; this ensures
8294           that none of the registered exit handlers from whatever is using
8295           GStreamer get executed.  This fixes gnome-mixer-applet failing
8296           to load, because ORBit would shut down.
8297           Spotted by: Edward Hervey  <edward@fluendo.com>
8298           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
8299           Fixes #344474
8300
8301 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8302
8303         * configure.ac:
8304           back to TRUNK
8305
8306 === release 0.10.7 ===
8307
8308 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
8309
8310         * configure.ac:
8311           releasing 0.10.7, "Soepeke, ik zie ou"
8312
8313 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8314
8315         * configure.ac:
8316         * po/af.po:
8317         * po/az.po:
8318         * po/bg.po:
8319         * po/ca.po:
8320         * po/cs.po:
8321         * po/de.po:
8322         * po/en_GB.po:
8323         * po/fr.po:
8324         * po/it.po:
8325         * po/nb.po:
8326         * po/nl.po:
8327         * po/ru.po:
8328         * po/sq.po:
8329         * po/sr.po:
8330         * po/sv.po:
8331         * po/tr.po:
8332         * po/uk.po:
8333         * po/vi.po:
8334         * po/zh_CN.po:
8335         * po/zh_TW.po:
8336         * win32/common/config.h:
8337           0.10.6.2 prerelease
8338
8339 2006-06-07  Wim Taymans  <wim@fluendo.com>
8340
8341         * gst/gstindex.c: (gst_index_gtype_resolver):
8342         * tools/gst-xmlinspect.c: (print_plugin_info):
8343         Fix leak spotted by coverity checker. Fixes #343827
8344         Fix another other leak found by paolo borelli.
8345
8346 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8347
8348         * libs/gst/dataprotocol/dataprotocol.c:
8349         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8350         (gst_dp_version_get_type), (gst_dp_init),
8351         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8352         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8353         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8354         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8355         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8356         (gst_dp_packetizer_free):
8357         * libs/gst/dataprotocol/dataprotocol.h:
8358           API: add a GstDPPacketizer object, and create/free functions
8359           API: add GstDPVersion enum
8360           Add 1.0 event function that uses the string serialization
8361           Serialize more useful buffer flags
8362           Fixes #343988
8363
8364 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8365
8366         * tests/check/Makefile.am:
8367         * tests/check/gst/gstabi.c:
8368         * tests/check/gst/struct_ppc64.h:
8369         * tests/check/libs/libsabi.c:
8370         * tests/check/libs/struct_ppc64.h:
8371           add ppc64 structure sizes
8372
8373 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8374
8375         * tests/check/Makefile.am:
8376         * tests/check/gst/gstabi.c:
8377         * tests/check/gst/struct_x86_64.h:
8378         * tests/check/libs/libsabi.c:
8379         * tests/check/libs/struct_x86_64.h:
8380           generate and add structure size lists for x86_64
8381
8382 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8383
8384         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8385         * libs/gst/check/gstcheck.h:
8386           factor out the method from tests that checks size of structures,
8387           and add code to generate the header containing these sizes
8388         * tests/check/gst/gstabi.c: (GST_START_TEST):
8389         * tests/check/gst/struct_i386.h:
8390         * tests/check/libs/libsabi.c: (GST_START_TEST):
8391         * tests/check/libs/struct_i386.h:
8392           use it
8393
8394 2006-06-06  Michael Smith  <msmith@fluendo.com>
8395
8396         * gst/gstsegment.h:
8397           Don't use c++-style comments, fixes #343929
8398
8399 2006-06-05  Edward Hervey  <edward@fluendo.com>
8400
8401         * gst/gst.c:
8402         plugin_paths is not used if we build without registry support.
8403
8404         * gst/gstsegment.c: (gst_segment_copy): 
8405         _copy() was always returning NULL...
8406
8407 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * libs/gst/dataprotocol/dataprotocol.c:
8410         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8411         (gst_dp_packet_from_event):
8412           factor out CRC code
8413
8414 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8415
8416         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8417           make sure we unset caps
8418
8419 2006-06-02  Michael Smith  <msmith@fluendo.com>
8420
8421         * libs/gst/check/gstcheck.c: (gst_check_init),
8422         (gst_check_chain_func):
8423         * libs/gst/check/gstcheck.h:
8424           Add a cond/mutex to the check support lib, signal this whenever we
8425           add to the buffers list. This will allow tests to not busy-wait on
8426           the buffer-list.
8427
8428 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8429
8430         * libs/gst/dataprotocol/dataprotocol.c:
8431         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8432         (gst_dp_packet_from_event):
8433           factor out some common header init code
8434
8435 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8436
8437         * docs/libs/gstreamer-libs-sections.txt:
8438         * docs/libs/tmpl/gstdataprotocol.sgml:
8439         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8440         * libs/gst/dataprotocol/dataprotocol.h:
8441           API: make gst_dp_crc() public
8442
8443 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8444
8445         * plugins/indexers/gstindexers.c: (plugin_init):
8446         conditionally register fileindexer (fixes #343598)
8447
8448 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
8449
8450         * gst/gsttagsetter.h:
8451         Can't cast ifaces to a class
8452
8453         * libs/gst/net/gstnetclientclock.h:
8454         * libs/gst/net/gstnettimeprovider.h:
8455         * plugins/elements/gstfakesink.h:
8456         * plugins/elements/gstfakesrc.h:
8457         * plugins/elements/gstfdsink.h:
8458         * plugins/elements/gstfdsrc.h:
8459         * plugins/elements/gstfilesink.h:
8460         * plugins/elements/gstfilesrc.h:
8461         * plugins/elements/gstidentity.h:
8462         * plugins/elements/gstqueue.h:
8463         * plugins/elements/gsttee.h:
8464         * plugins/indexers/gstfileindex.c:
8465         * plugins/indexers/gstmemindex.c:
8466         * tests/old/examples/plugins/example.h:
8467         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8468
8469 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * libs/gst/dataprotocol/dataprotocol.c:
8472         (gst_dp_header_from_buffer):
8473           make sure we zero the whole ABI-compatible area
8474
8475 2006-06-01  Wim Taymans  <wim@fluendo.com>
8476
8477         Patch by: Alessandro Decina <alessandro at nnva dot org>
8478
8479         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8480         Make sure the EOS flag is cleared from pads after a flush
8481         or stop. Fixes #343538.
8482
8483         * tests/check/libs/collectpads.c: (GST_START_TEST),
8484         (gst_collect_pads_suite):
8485         Added test for collectpads reusage after EOS.
8486
8487 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
8488
8489         * gst/gst.c:
8490          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8491         * win32/common/libgstbase.def:
8492          export gst_collect_pads_set_flushing
8493         * win32/common/libgstreamer.def:
8494          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
8495          gst_value_fraction_multiply
8496         * win32/vs6/gst_inspect.dsp:
8497          add a link to intl.lib
8498
8499 2006-05-30  Wim Taymans  <wim@fluendo.com>
8500
8501         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8502         (gst_collect_pads_chain):
8503         Handle the case where a pad is removed from the collection
8504         that could cause the other pads to become collectable.
8505
8506 2006-05-30  Wim Taymans  <wim@fluendo.com>
8507
8508         * gst/gstelement.c:
8509         Clarify the use of _release_request_pad() and
8510         _get_request_pad() a bit better.
8511
8512         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
8513         (gst_adapter_take_buffer):
8514         Fix some doc and comment typos.
8515
8516 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8517
8518         * docs/gst/gstreamer-sections.txt:
8519         * docs/libs/gstreamer-libs-sections.txt:
8520           add declared symbols
8521
8522 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
8523
8524         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8525         Add debug that can be enabled using a #define at the top of the file,
8526         for dumping stats about how late/early we were when waking up from
8527         waiting on the clock.
8528
8529 2006-05-30  Wim Taymans  <wim@fluendo.com>
8530
8531         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
8532         When rebuilding the pad list, don't leak the previous list.
8533
8534 2006-05-30  Wim Taymans  <wim@fluendo.com>
8535
8536         Patch by: Lutz Mueller <lutz at topfrose dot de>
8537
8538         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8539         (gst_base_src_get_query_types), (gst_base_src_update_length):
8540         Publish supported query types.
8541         Update last_stop field in get_range mode so the position
8542         query works. Fixes #342321.
8543
8544 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
8545
8546         * docs/gst/gstreamer-sections.txt:
8547         * gst/gsttaglist.c: (_gst_tag_initialize):
8548         * gst/gsttaglist.h:
8549           API: add GST_TAG_PREVIEW_IMAGE (#343341).
8550
8551 2006-05-30  Wim Taymans  <wim@fluendo.com>
8552
8553         Patch by: Alessandro Decina <alessandro at nnva dot org>
8554
8555         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8556         Unlock mutex when removing an unknown pad.
8557         Fixes #343334.
8558
8559         * tests/check/Makefile.am:
8560         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
8561         (push_event), (setup), (teardown), (GST_START_TEST),
8562         (gst_collect_pads_suite), (main):
8563         Added collecpads check, disabled for now as check crashes for
8564         some reason.
8565
8566 2006-05-29  Wim Taymans  <wim@fluendo.com>
8567
8568         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
8569         Don't leak pads lists.
8570
8571 2006-05-29  Wim Taymans  <wim@fluendo.com>
8572
8573         * docs/libs/gstreamer-libs-sections.txt:
8574         * libs/gst/base/gstcollectpads.c:
8575         (gst_collect_pads_set_flushing_unlocked),
8576         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8577         (gst_collect_pads_stop):
8578         * libs/gst/base/gstcollectpads.h:
8579         API: gst_collect_pads_set_flushing()
8580         Added api to set the pads to flushing, useful for seeking
8581         code in elements using collectpads.
8582         Clear segment when receiving a flush.
8583
8584 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
8585
8586         * gst/gst.c: (add_path_func), (init_post):
8587           Don't scan registry paths passed via --gst-plugin-path immediately
8588           (will crash, because absolutely nothing is set up and no types are
8589           registered etc.); do this later in init_post(). Fixes #343057.
8590
8591 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * gst/gst.c: (init_post):
8594           if we have fork, fork while reading/rebuilding the registry
8595           so the parent doesn't take the hit of having all plugins loaded
8596           in memory.  Fixes #342777.
8597         * configure.ac:
8598           Check if we have fork()
8599         * win32/common/config.h.in:
8600           no fork() on win32
8601
8602 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8603
8604         * plugins/elements/gstelements.c:
8605         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8606         (gst_file_src_init), (gst_file_src_set_property),
8607         (gst_file_src_get_property), (gst_file_src_start):
8608         * plugins/elements/gstfilesrc.h:
8609           API: GstFileSrc::use-mmap
8610
8611         Add a use-mmap property to enable easier testing of all code paths.
8612         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
8613         in the absence of gnomevfssrc. (Closes #340501)
8614
8615 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8616
8617         * tools/gst-inspect.c:
8618         Add missing include, removes warning of ngettext not being defined on
8619         some arches.
8620
8621 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
8622
8623         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8624         Handle NULL input and output pointers silently as a failed conversion,
8625         rather than g_warnings.
8626
8627 2006-05-25  Wim Taymans  <wim@fluendo.com>
8628
8629         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
8630         Initialize variable before using. Fixes #342820.
8631
8632 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8633
8634         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
8635           Fix off-by-one bug that would only allow peeks of N-1 bytes
8636           from the start even if the buffer to typefind on contains
8637           in fact N bytes of data (makes vorbis typefinding from a
8638           vorbis identification header buffer work).
8639
8640         * tests/check/Makefile.am:
8641         * tests/check/libs/.cvsignore:
8642         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
8643         (gst_typefindhelper_suite), (main), (foobar_typefind),
8644         (plugin_init):
8645           Add very basic unit test for gst_type_find_helper_for_buffer()
8646           that checks for the problem fixed above.
8647
8648 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * tools/gst-inspect.c: (print_interfaces),
8651         (print_element_properties_info), (print_element_list), (main):
8652           add more translatable strings
8653
8654 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
8655
8656         Patch by: Julien Moutte  <julien at moutte net>
8657
8658         * docs/gst/gstreamer-sections.txt:
8659           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
8660           
8661         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8662         (gst_fake_sink_preroll):
8663         * plugins/elements/gstfakesink.h:
8664           API: Add new GstFakeSink::preroll-handoff signal (#337100).
8665
8666 2006-05-23  Wim Taymans  <wim@fluendo.com>
8667
8668         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
8669         * gst/gstpad.h:
8670         Added _CUSTOM error and success GstFlowReturn that can be
8671         used be elements internally. 
8672         Added macro to check for SUCCESS flowreturns.
8673         API: GST_FLOW_CUSTOM_SUCCESS
8674         API: GST_FLOW_CUSTOM_ERROR
8675         API: GST_FLOW_IS_SUCCESS
8676
8677         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8678         Added check for GstFlowReturn sanity.
8679
8680 2006-05-23  Wim Taymans  <wim@fluendo.com>
8681
8682         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8683
8684         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8685         (gst_collect_pads_event):
8686         clear/reset segment info in FLUSH_STOP.
8687         Fixes #336929.
8688
8689 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
8690
8691         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
8692         (gst_collect_pads_check_collected):
8693         Flush queued buffer on _stop(), fixes playing again (#342454)
8694
8695 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8696
8697         * tests/check/gst/gststructure.c: (GST_START_TEST),
8698         (gst_structure_suite):
8699           add a test for a complete structure
8700
8701 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8702
8703         * docs/faq/developing.xml:
8704         * docs/faq/faq.xml:
8705         * docs/faq/troubleshooting.xml:
8706         * docs/faq/using.xml:
8707           Some minor FAQ updates that won't change the fact that
8708           our FAQ is badly structured, full of information hardly
8709           anyone new to GStreamer needs to know and lacking lots
8710           of information people constantly ask for.
8711           
8712 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
8713
8714         * gst/gstpad.c: (gst_pad_set_caps):
8715           Short-circuit gst_pad_set_caps if setting the existing
8716           caps pointer again, and avoid printing debug and 
8717           reffing/unreffing the caps.
8718
8719         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8720           There's actually no need to set the caps before pushing -
8721           the acceptcaps method will handle it anyway.
8722
8723 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8724
8725         * docs/gst/gstreamer-sections.txt:
8726         * win32/common/libgstreamer.def:
8727         * gst/gstutils.c: (gst_element_seek_simple):
8728         * gst/gstutils.h:
8729           API: add gst_element_seek_simple() (#342238).
8730
8731 2006-05-18  Edward Hervey  <edward@fluendo.com>
8732
8733         * gst/gsttypefind.c: (gst_type_find_get_type):
8734         * gst/gsttypefind.h:
8735         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8736         registered for GstTypeFind pointers. This allows wrapping the structure
8737         in bindings (i.e. gst-python).
8738
8739 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8740
8741         * gst/gsttagsetter.c:
8742           Docs additions and fixes (see #339918).
8743
8744 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8745
8746         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8747         The caps intersection algorithm can produce multiple copies of the
8748         caps. Until that is fixed, we need to simplify the result to be
8749         sure whether the allowed caps are fixed or not.
8750
8751         * plugins/elements/gstqueue.c: (gst_queue_init),
8752         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8753         (gst_queue_push_one):
8754         Proxied buffer alloc should not set the caps on the source pad.
8755         When pushing buffers, we always accept the caps change that triggers.
8756         This prevents negotiation errors caused by caps changing mid-stream 
8757         and then being refused on our source pad (because upstream is now
8758         refusing those caps).
8759
8760 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
8761
8762         * tests/examples/helloworld/helloworld.c: (main):
8763           Must plug audioconvert and audioresample between decoder
8764           and audio sink.
8765
8766 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
8767
8768         * gst/gstregistryxml.c: (read_string), (load_pad_template),
8769         (load_feature), (load_plugin):
8770         Allow empty strings for some of the plugin fields so we don't 
8771         drop valid plugin entries that were written out correctly
8772         (Fixes #341479)
8773
8774 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
8775         
8776         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8777           Use g_remove and g_rename instead of remove and rename that don't 
8778           handle utf8 characters. rename was failing for users who had specific
8779           characters in their name then the registry was built at each 
8780           gstreamer init.
8781         * win32/vs6/gst_inspect.dsp:
8782         * win32/vs6/gst_launch.dsp:
8783         * win32/vs6/libgstbase.dsp:
8784         * win32/vs6/libgstcoreelements.dsp:
8785         * win32/vs6/libgstreamer.dsp:
8786           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
8787           build of libgstreamer and clean unused libraries in projects link 
8788           settings.
8789
8790 2006-05-17  Edward Hervey  <edward@fluendo.com>
8791
8792         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8793         The queue is not responsible for pushing an EOS when receiving a fatal
8794         flow error. It's up to the real element driving the pipeline to do that.
8795
8796 2006-05-16  Edward Hervey  <edward@fluendo.com>
8797
8798         * plugins/elements/gstqueue.c: (gst_queue_push_one):
8799         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
8800         buffer returned a fatal error. It should just send an EOS and stop
8801         its task.
8802         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
8803         when pushing buffers on the queue and will be able to handle the event.
8804
8805 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8806
8807         * docs/manual/basics-bins.xml:
8808         * docs/manual/basics-init.xml:
8809           Fix typos and minor errors in sample code (#341856).
8810
8811 2006-05-16  Wim Taymans  <wim@fluendo.com>
8812
8813         * docs/design/part-qos.txt:
8814         Fix indexes in formulas to make more sense.
8815
8816 2006-05-15  Wim Taymans  <wim@fluendo.com>
8817
8818         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8819         Don't report POSITION based on clock time if sync is
8820         disabled in a sink.
8821
8822 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
8823
8824         * gst/gstobject.h:
8825           Add cast to make compiler happy - refcount variable was a gint
8826           in GstObject but is a guint in GObject and g_atomic_int_get()
8827           wants a gint *.
8828
8829 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8830
8831         * gst/parse/Makefile.am:
8832           chain commands using &&, which also makes parallel make work
8833
8834 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
8835
8836         * docs/gst/gstreamer-sections.txt:
8837         * gst/gstevent.c:
8838         * gst/gstevent.h:
8839         * gst/gstmessage.h:
8840           Minor docs fixes.
8841
8842 === release 0.10.6 ===
8843
8844 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
8845
8846         * configure.ac:
8847           releasing 0.10.6, "Take the cannoli"
8848
8849 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8850
8851         * tools/gst-launch.c: (print_tag):
8852           Fix use of uninitialized variable in the hypothetical
8853           case that some broken plugin creates a GST_TAG_IMAGE
8854           tag containing a NULL buffer (#341667).
8855
8856 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
8857
8858         * tools/gst-launch.c: (print_tag):
8859           Print something more intelligible for image tags when
8860           using the -t switch (#341556).
8861
8862 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8863
8864         * Makefile.am:
8865           updates for win32
8866         * configure.ac:
8867           define GST_MAJORMINOR so we have it available in win32/common/config.h
8868           Possibly remove it from our Makefile.am files later
8869         * win32/common/config.h:
8870         * win32/common/config.h.in:
8871           added GST_MAJORMINOR
8872         * win32/common/gstenumtypes.c: (register_gst_resource_error):
8873         * win32/common/gstversion.h:
8874           updated
8875
8876 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
8877
8878         * win32/MANIFEST:
8879           Update win32 files listing.
8880         * win32/common/gstversion.h:
8881           Add GST_MAJORMINOR definition.
8882         * win32/common/libgstreamer.def:
8883           Add new exported functions.
8884           
8885 2006-05-12  Michael Smith  <msmith@fluendo.com>
8886
8887         * gst/gstplugin.c: (gst_plugin_load_file):
8888           If an so file has no plugin entry point, unload the module.
8889
8890 2006-05-11  Wim Taymans  <wim@fluendo.com>
8891
8892         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
8893         (gst_queue_set_property):
8894         Don't forget to signal the _chain or _loop function 
8895         when the queue size or thresholds change since that might
8896         cause them to make progres again.
8897
8898 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
8899
8900         * gst/gstclock.c: (gst_clock_class_init):
8901         * gst/gstindex.c: (gst_index_class_init):
8902         * gst/gstobject.c: (gst_object_class_init):
8903         * gst/gstpad.c: (gst_pad_class_init):
8904         * gst/gstpipeline.c: (gst_pipeline_class_init):
8905         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8906         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
8907         * libs/gst/base/gstbasetransform.c:
8908         (gst_base_transform_class_init):
8909         * libs/gst/net/gstnetclientclock.c:
8910         (gst_net_client_clock_class_init):
8911         * libs/gst/net/gstnettimeprovider.c:
8912         (gst_net_time_provider_class_init):
8913         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
8914         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8915         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8916         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
8917         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8918         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8919         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
8920         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8921         * plugins/elements/gsttee.c: (gst_tee_class_init):
8922         * tests/old/examples/plugins/example.c: (gst_example_class_init):
8923         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8924           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
8925
8926 2006-05-11  Wim Taymans  <wim@fluendo.com>
8927
8928         * gst/gstbuffer.c: (_gst_buffer_initialize):
8929         Register subbufer along with the buffer type so that
8930         it does not accidentally gets registered from N
8931         different streaming threads in a non threadsafe way.
8932
8933 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
8934
8935         * gst/gstbuffer.h:
8936         * gst/gstevent.h:
8937         * gst/gstmessage.h:
8938           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
8939           gst_event_ref() and gst_message_ref() functions again
8940           (ugly hack, please do fix if there's a better way besides
8941           overrides.txt, which doesn't seem to work).
8942
8943 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8944
8945         * libs/gst/check/gstcheck.h:
8946           add an assert for setting state to avoid lots of repetitive code
8947           in the future
8948
8949 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8950
8951         * gst/gstvalue.c: (gst_value_serialize_flags):
8952           fix a leak if no flags are set
8953         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8954           fix leak in tests
8955
8956 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
8957
8958         * docs/manual/basics-pads.xml:
8959           Expand a bit on caps and filtered links and update
8960           examples that were still using the no longer existing
8961           gst_pad_link_filtered() (#338206).
8962
8963 2006-05-10  Wim Taymans  <wim@fluendo.com>
8964
8965         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8966         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8967         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8968         (gst_collect_pads_stop):
8969         * libs/gst/base/gstcollectpads.h:
8970         No need to call _stop in _finalize.
8971         Iterate the main pad list in _finalize.
8972         Added some more debug.
8973         Free lists and data in the right order.
8974         Also free data whem doing _remove_pad when stopped for
8975         backward compatibility protect ::started with PAD_LOCK as
8976         well.
8977
8978 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8979
8980         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
8981         (gst_structure_parse_value):
8982           add some comments
8983           rename a method so that it actually says what it does better
8984
8985 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8986
8987         * gst/gstevent.c: (_gst_event_initialize):
8988         * gst/gstformat.c: (_gst_format_initialize):
8989           make sure some essential types used by events are registered
8990           as part of gst_init()
8991         * gst/gstvalue.c: (gst_value_serialize_flags):
8992           if no flags are set, serialize them to a value that represents NONE
8993           so that deserializing them works
8994         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8995           add tests for serialization and deserialization of flags
8996
8997 2006-05-10  Wim Taymans  <wim@fluendo.com>
8998
8999         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9000         (gst_collect_pads_collect_range), (gst_collect_pads_available),
9001         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9002         (gst_collect_pads_event), (gst_collect_pads_chain):
9003         Update docs.
9004         Better debug info.
9005         Catch and return errors from the collect function
9006         Refuse data on eos pads.
9007
9008 2006-05-10  Edward Hervey  <edward@fluendo.com>
9009
9010         * gst/gstinterface.h:
9011         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9012         GInterface type checking.
9013         They were previously using non-defined macros.
9014
9015 2006-05-09  Wim Taymans  <wim@fluendo.com>
9016
9017         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9018         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9019         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9020         (gst_collect_pads_start), (gst_collect_pads_stop),
9021         (gst_collect_pads_peek), (gst_collect_pads_pop),
9022         (gst_collect_pads_available), (gst_collect_pads_read),
9023         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9024         (gst_collect_pads_is_collected), (gst_collect_pads_event),
9025         (gst_collect_pads_chain):
9026         * libs/gst/base/gstcollectpads.h:
9027         Clean up the mess that is collectpads, add comments and
9028         FIXMEs where needed.
9029         Maintain a separate pad list so we can add pads while
9030         collecting the other ones. For this we need a new separate 
9031         lock (see comics).
9032         Fix memory leak in finalize.
9033         Refactor some weird code to set/unset pad flushing flags, mark
9034         with comments.
9035         Don't crash in _available, _read, _flush when we're EOS.
9036
9037         * tests/check/libs/.cvsignore:
9038         Ignore adapter check binary.
9039
9040 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9041
9042         * gst/gstindex.c: (gst_index_resolver_get_type):
9043         * plugins/elements/gstfakesink.c:
9044         (gst_fake_sink_state_error_get_type):
9045         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9046         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9047         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9048           Const-ify GEnumValue arrays.
9049
9050 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9051
9052         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9053           Add test case for flags + gst_buffer_make_metadata_writable().
9054
9055 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9056
9057         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9058           gst_buffer_make_metadata_writable() should maintain the
9059           buffer flags (those that make sense at least) (see #340859).
9060
9061 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9062
9063         * tools/gst-inspect.c:
9064         * tools/gst-launch.c:
9065         * tools/gst-typefind.c:
9066         * tools/gst-xmlinspect.c:
9067         * tools/tools.h:
9068           Fix up includes: need to include stdlib.h in tools.h for exit().
9069
9070 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9071
9072         * gst/gsttaglist.c: (_gst_tag_initialize):
9073         * gst/gsttaglist.h:
9074           API: add GST_TAG_IMAGE tag (#340721).
9075
9076 2006-05-08  Wim Taymans  <wim@fluendo.com>
9077
9078         * gst/gstquery.c:
9079         Added some docs for the segment query.
9080
9081 2006-05-08  Wim Taymans  <wim@fluendo.com>
9082
9083         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9084         (gst_base_src_loop), (gst_base_src_change_state):
9085         Always push non-flushing serialized events in the streaming 
9086         thread.
9087
9088 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9089
9090         * gst/gsterror.c: (_gst_stream_errors_init):
9091           Add a missing error string.
9092
9093 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
9094
9095         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9096         Add applied_rate to the debug
9097
9098         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9099         Copy applied_rate into the outgoing NEWSEGMENT event
9100
9101 2006-05-08  Wim Taymans  <wim@fluendo.com>
9102
9103         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9104
9105         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9106         (gst_base_sink_change_state):
9107         call ::unlock before taking the PREROLL_LOCK so we can safely
9108         handle elements that lock in ::render.
9109         Fixes #340174.
9110
9111 2006-05-08  Edward Hervey  <edward@fluendo.com>
9112
9113         * autogen.sh: (CONFIGURE_DEF_OPT): 
9114         Darwin's libtoolize is in fact called glibtoolize.
9115         Adding glibtoolize to the list of accepted names for libtoolize.
9116
9117 2006-05-08  Wim Taymans  <wim@fluendo.com>
9118
9119         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9120         Unify error handling, don't post an error message
9121         when a push() returns EOS but perform our normal EOS
9122         handling code. Fixes #340772.
9123
9124 2006-05-08  Wim Taymans  <wim@fluendo.com>
9125
9126         * docs/design/part-overview.txt:
9127         Make upsteam/downstream concepts more clear.
9128         Give an example of serialized/non-serialized events.
9129
9130         * docs/design/part-events.txt:
9131         * docs/design/part-streams.txt:
9132         Mention applied_rate.
9133
9134         * docs/design/part-trickmodes.txt:
9135         Mention applied rate, flesh out some more use cases.
9136
9137         * gst/gstevent.c: (gst_event_new_new_segment),
9138         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9139         (gst_event_parse_new_segment_full), (gst_event_new_tag),
9140         (gst_event_parse_tag), (gst_event_new_buffer_size),
9141         (gst_event_parse_buffer_size), (gst_event_new_qos),
9142         (gst_event_parse_qos), (gst_event_parse_seek),
9143         (gst_event_new_navigation):
9144         * gst/gstevent.h:
9145         Add applied_rate field to NEWSEGMENT event.
9146         API: gst_event_new_new_segment_full()
9147         API: gst_event_parse_new_segment_full()
9148
9149         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9150         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9151         (gst_segment_to_stream_time), (gst_segment_to_running_time):
9152         * gst/gstsegment.h:
9153         Add applied_rate to GstSegment structure.
9154         Make calculation of stream_time and running_time more correct
9155         wrt rate/applied_rate.
9156         Add some more docs.
9157         API: GstSegment::applied_rate field
9158         API: gst_segment_set_newsegment_full();
9159
9160         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9161         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9162         * libs/gst/base/gstbasetransform.c:
9163         (gst_base_transform_sink_eventfunc),
9164         (gst_base_transform_handle_buffer):
9165         Parse and use applied_rate in the GstSegment field.
9166
9167         * tests/check/gst/gstevent.c: (GST_START_TEST):
9168         Add check for applied_rate field.
9169
9170         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9171         (gstsegments_suite):
9172         Add more checks for various GstSegment operations.
9173
9174 2006-05-08  Wim Taymans  <wim@fluendo.com>
9175
9176         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9177         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9178         (gst_base_sink_get_position), (gst_base_sink_change_state):
9179         Store the sync time of the buffer end position separatly in a
9180         new variable eos_rtime so we can properly sync the EOS event.
9181         Fixes #340697.
9182         Fix the docs for gst_base_sink_set_qos_enabled().
9183         Don't set segment start to invalid value when we receive a 
9184         non TIME newsegment.
9185         get closer to handling position reporting for negative rates 
9186         correctly.
9187
9188 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9189
9190         * gst/gstcaps.c:
9191         Docs about how to print caps for debug purposes.
9192
9193         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9194         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9195
9196 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
9197
9198         * gst/gstelement.c:
9199           use full enum names and preprend a '%' in docs strings to make recent 
9200           gtk-doc turn that into a link
9201
9202 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9203
9204         * docs/manual/basics-bins.xml:
9205         * docs/manual/basics-bus.xml:
9206         * docs/manual/basics-pads.xml:
9207           Some typo fixes, some additions, some clarifications. 
9208
9209 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9210
9211         * tools/gst-inspect.c: (main):
9212         * tools/gst-launch.c: (main):
9213         * tools/gst-run.c: (main):
9214         * tools/gst-typefind.c: (main):
9215         * tools/gst-xmlinspect.c: (main):
9216           Use the string passed to g_option_context_new() for
9217           what it's intended for - the program name is already
9218           printed elsewhere.
9219
9220 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9221
9222         * tools/Makefile.am:
9223         * tools/gst-inspect.c: (main):
9224         * tools/gst-launch.c: (main):
9225         * tools/gst-xmlinspect.c: (main):
9226         * tools/tools.h:
9227           Add back --version command line option (#340460).
9228
9229         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9230           Add --version option and use GOption for argument parsing; refactor a
9231           bit; accept directories as arguments and recurse into them; lastly,
9232           print a decent error message when things go wrong.
9233
9234 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9235
9236         * docs/manual/basics-bins.xml:
9237         Don't mention GstThread (#340611)
9238         * docs/manual/basics-elements.xml:
9239         Update link to GObject tutorial (#340607)
9240         
9241 2006-05-05  Wim Taymans  <wim@fluendo.com>
9242
9243         * gst/gstbuffer.h:
9244         * gst/gstminiobject.c:
9245         Add note about refcounting and miniobject/buffer writeability
9246         to docs. Fixes #340604
9247
9248         * gst/gstelementfactory.h:
9249         Added some explanation about @klass.
9250
9251 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9252
9253         * docs/manual/intro-motivation.xml:
9254         * docs/manual/manual.xml:
9255         Avoid CORBA & Bonobo references (#340598)
9256
9257 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9258
9259         * docs/manual/basics-bus.xml:
9260         * docs/manual/basics-pads.xml:
9261         Fix up some inaccuracies and omissions (#340609)
9262         
9263 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
9264
9265         * gst/gstghostpad.c:
9266           Small typo in docs (#340625)
9267
9268 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9269
9270         * gst/parse/Makefile.am:
9271           Make 'make -j' proof (see #340698).
9272
9273 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
9274
9275         * configure.ac:
9276           Require GLib-2.8 here as well.
9277
9278 2006-05-05  Wim Taymans  <wim@fluendo.com>
9279
9280         * gst/glib-compat.c:
9281         * gst/gst.c: (init_pre):
9282         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9283         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9284         (gst_object_dispatch_properties_changed):
9285         * gst/gstobject.h:
9286         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9287         * gst/gststructure.c: (gst_structure_set_valist):
9288         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9289         Remove pre glib2.8 compatibility, fixes #340508
9290
9291 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9292
9293         * gst/gsttaglist.h:
9294           Mention type of tags in doc blurbs.
9295
9296 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
9297
9298         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9299         (gst_pad_configure_src), (gst_pad_push):
9300         Restore acceptcaps checking behaviour now that good plugins have
9301         been released.
9302
9303 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9304
9305         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9306
9307         * gst/gst.c:
9308         * gst/gstbus.c:
9309         * gst/gstclock.c:
9310         * gst/gstevent.c:
9311         * gst/gstformat.c:
9312         * gst/gstmessage.c:
9313         * gst/gstparse.c:
9314         * gst/gstquery.c:
9315         * gst/gstutils.c:
9316         * gst/parse/Makefile.am:
9317         * libs/gst/base/gstadapter.c:
9318         * libs/gst/base/gstbasesrc.c:
9319         * libs/gst/base/gstpushsrc.c:
9320         * libs/gst/base/gsttypefindhelper.c:
9321         * plugins/elements/gstfakesrc.c:
9322         * plugins/elements/gstidentity.c:
9323           Make sure gstprivate.h and/or config.h are
9324           always included first, otherwise some of our
9325           defines (like _FILE_OFFSET_BITS) might be
9326           redefined in the system headers. Fixes build
9327           on opensolaris (#340016).
9328
9329 2006-05-04  Wim Taymans  <wim@fluendo.com>
9330
9331         * docs/libs/gstreamer-libs-sections.txt:
9332         API: addition: gst_adapter_take_buffer()
9333         
9334         * libs/gst/base/gstadapter.c: (gst_adapter_push),
9335         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9336         (gst_adapter_available_fast):
9337         * libs/gst/base/gstadapter.h:
9338         Prepare for optimizing the hell out of this hugely inefficient
9339         piece of code. 
9340         Added gst_adapter_take_buffer() so we can at least start thinking
9341         about subbuffering and merging.
9342         Added some comments.
9343
9344         * tests/check/Makefile.am:
9345         * tests/check/libs/adapter.c: (GST_START_TEST),
9346         (gst_adapter_suite), (main):
9347         Added GstAdapter check.
9348
9349 2006-05-04  Wim Taymans  <wim@fluendo.com>
9350
9351         * docs/design/part-overview.txt:
9352         Fix some typos, add blurb about buffer flags.
9353
9354 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9355
9356         * docs/libs/gstreamer-libs-sections.txt:
9357           make sure GstBaseTransformClass shows up in the docs
9358         * libs/gst/base/gstbasetransform.c:
9359         * libs/gst/base/gstbasetransform.h:
9360           move docs so gtk-doc picks it up now
9361
9362 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9363
9364         * docs/libs/gstreamer-libs-sections.txt:
9365           add missing symbols to docs
9366
9367 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
9368
9369         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9370           back out the newsegment handling change, see #340060 for ongoing
9371           discussion
9372
9373 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
9374
9375         * tools/gst-run.c: (get_candidates), (main):
9376           Fix wrong g_file_test() usage (see glib docs for why it doesn't
9377           work); fix typo in error message. Fixes #340079.
9378
9379 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9380
9381         * common/Makefile.am:
9382         * docs/Makefile.am:
9383         * docs/faq/Makefile.am:
9384         * docs/gst/Makefile.am:
9385         * docs/libs/Makefile.am:
9386         * docs/manual/Makefile.am:
9387         * docs/plugins/Makefile.am:
9388         * docs/pwg/Makefile.am:
9389         * docs/slides/Makefile.am:
9390         * docs/upload.mak:
9391         * common/upload.mak:
9392           move upload.mak to common
9393
9394 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9395
9396         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9397           add more asserts on refcounts
9398           do more cleanup at end of tests
9399           fix test leaks showing in FC5
9400
9401 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
9402
9403         * plugins/elements/gsttypefindelement.c:
9404         (gst_type_find_element_handle_event):
9405         reverted wrong change and reflowed code to avoid others falling into
9406         this trap
9407
9408 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9409
9410         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9411           fix changelog entry about last collectpads change,
9412           add notes about proper fix
9413
9414 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9415
9416         * gst/gst.c:
9417         * gst/gstregistry.c: (gst_registry_scan_path_level),
9418         (gst_registry_scan_path):
9419         * gst/gstregistry.h:
9420           only write out registry if it has changed, fixes #338339
9421
9422 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9423
9424         * gst/gstbin.c:
9425         * gst/gstpipeline.c:
9426         * plugins/elements/gstcapsfilter.c:
9427         * plugins/elements/gstfakesink.c:
9428         * plugins/elements/gstfakesrc.c:
9429         * plugins/elements/gstfdsink.c:
9430         * plugins/elements/gstfdsrc.c:
9431         * plugins/elements/gstfilesink.c:
9432         * plugins/elements/gstfilesrc.c:
9433         * plugins/elements/gstidentity.c:
9434         * plugins/elements/gstqueue.c:
9435         * plugins/elements/gsttee.c:
9436         * plugins/elements/gsttypefindelement.c:
9437         (gst_type_find_element_handle_event):
9438           make GstElementDetails const
9439
9440 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9441
9442         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9443         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9444         (gst_collect_pads_is_collected), (gst_collect_pads_event):
9445           more detailed debug and formatting cleanup,
9446           forward newsegments to src-pad (so that e.g. adder not eats them)
9447
9448 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9449
9450         * gst/gstutils.c: (gst_element_link_pads):
9451           cleanup double code
9452
9453 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
9454
9455         * libs/gst/controller/gstcontroller.c:
9456         (gst_controller_sync_values):
9457           some little tuning
9458         * tests/check/libs/controller.c: (GST_START_TEST),
9459         (gst_controller_suite):
9460           a new test for live value handling
9461
9462 2006-04-28  Wim Taymans  <wim@fluendo.com>
9463
9464         * gst/gstutils.c: (push_and_ref):
9465         Added some more docs.
9466         Fix refcount issue whith gst_element_found_tags() helper 
9467         function. Fixes #338335
9468
9469         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9470         Added testsuite for gst_element_found_tags().
9471
9472 2006-04-28  Michael Smith  <msmith@fluendo.com>
9473
9474         * gst/gstvalue.c: (gst_value_serialize_flags):
9475           Avoid NULL dereference when trying to serialize flags containing
9476           invalid values.
9477
9478 2006-04-28  Michael Smith  <msmith@fluendo.com>
9479
9480         * plugins/elements/gsttypefindelement.c:
9481         (gst_type_find_element_handle_event):
9482           If we get EOS before any data is accumulated, don't use
9483           uninitialised local variables.
9484
9485 2006-04-28  Michael Smith  <msmith@fluendo.com>
9486
9487         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9488         (gst_dp_event_from_packet):
9489           Fixes in reading/writing events over GDP (not currently used?) - 
9490           dereferencing NULL events for unknown/invalid event types, memory
9491           leak, and change g_warning to GST_WARNING.
9492
9493 2006-04-28  Wim Taymans  <wim@fluendo.com>
9494
9495         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
9496         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9497         (gst_base_sink_get_position), (gst_base_sink_change_state):
9498         When frame dropping is enabled, we should not ignore frames
9499         without a duration.
9500         Update some documentation.
9501
9502 2006-04-28  Wim Taymans  <wim@fluendo.com>
9503
9504         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9505         (gst_base_src_send_event), (gst_base_src_change_state):
9506         Documentation updates.
9507
9508 2006-04-28  Wim Taymans  <wim@fluendo.com>
9509
9510         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
9511         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
9512         handle EAGAIN, EINTR and short writes correctly. Also clean
9513         up some error cases, avoid a deadlock on bad file descriptors and
9514         use GST_DEBUG_OBJECT.
9515         Fixes #339843
9516
9517 2006-04-28  Wim Taymans  <wim@fluendo.com>
9518
9519         * gst/gstvalue.c: (gst_value_serialize_buffer),
9520         (gst_value_deserialize_buffer):
9521         Don't try to serialize a GValue with a NULL buffer. 
9522         Fixes #339821.
9523
9524         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9525         Added check for serialisation of NULL buffers.
9526
9527 2006-04-28  Wim Taymans  <wim@fluendo.com>
9528
9529         * gst/gstminiobject.c: (gst_value_take_mini_object):
9530         Taking a NULL miniobject is valid, fix the case where
9531         we try to unref the NULL miniobject.
9532
9533 2006-04-28  Wim Taymans  <wim@fluendo.com>
9534
9535         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9536
9537         * gst/gstbin.c: (gst_bin_handle_message_func):
9538         Update docs.
9539         Don't leak bin refcount when a state recalc is
9540         in progress and we delay another one #339808.
9541
9542 2006-04-28  Wim Taymans  <wim@fluendo.com>
9543
9544         * docs/design/part-TODO.txt:
9545         Mention QoS as an ongoing work item.
9546
9547         * docs/design/part-buffering.txt:
9548         New doc about buffering that needs to be fleshed out
9549         at some point.
9550
9551         * docs/design/part-qos.txt:
9552         More QoS policy for decoders/demuxers/transforms
9553
9554         * docs/design/part-trickmodes.txt:
9555         Small update.
9556
9557 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * configure.ac:
9560           back to HEAD
9561
9562 === release 0.10.5 ===
9563
9564 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
9565
9566         * configure.ac:
9567           releasing 0.10.5, "Fogo"
9568
9569 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9570
9571         patch by: Wim Taymans
9572
9573         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9574         (gst_pad_configure_src), (gst_pad_push):
9575         * gst/gstpipeline.c: (gst_pipeline_init):
9576           Fix internal data flow errors.  Fixes #338711.
9577
9578 2006-04-12  Wim Taymans  <wim@fluendo.com>
9579
9580         * tests/check/gst/gstelement.c: (GST_START_TEST):
9581         Don't leak the factory.
9582
9583 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9584
9585         * configure.ac:
9586         * win32/common/config.h:
9587           prerelease
9588
9589 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9590
9591         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9592         (gst_controller_unset_all):
9593           Free allocated GstTimedValues when freeing list nodes.
9594           Should fix leaks 'make check-valgrind' complains about.
9595
9596         * win32/common/libgstcontroller.def:
9597           Add gst_controller_unset_all.
9598
9599 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
9600
9601         * docs/libs/gstreamer-libs-sections.txt:
9602         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9603         (gst_controller_unset_all):
9604         * libs/gst/controller/gstcontroller.h:
9605         API: Added new method gst_controller_unset_all()
9606         fixed gst_controller_unset()
9607         * tests/check/libs/controller.c: (GST_START_TEST),
9608         (gst_controller_suite):
9609         Added two testcases for new and fixed method
9610
9611 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
9612
9613         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9614           MSG_DONTWAIT is not defined on Cygwin, so work
9615           around that (fixes #317048).
9616           
9617 2006-04-11  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/gstelementfactory.c: (gst_element_register),
9620         (gst_element_factory_create), (gst_element_factory_make):
9621         Some cleanups.
9622         Fixed a FIXME.
9623         Updated docs (Fixes #131079)
9624
9625         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9626         Small cleanups.
9627
9628         * tests/check/gst/gstelement.c: (GST_START_TEST),
9629         (gst_element_suite):
9630         Added testcase for elementfactory class field.
9631
9632 2006-04-10  Wim Taymans  <wim@fluendo.com>
9633
9634         * gst/gstsegment.c:
9635         Added some more docs.
9636
9637         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
9638         (gst_base_sink_reset_qos):
9639         Calculate more accurate rate values.
9640
9641 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
9642
9643         * gst/gst_private.h:
9644           add a new #ifdef to use __declspec(dllimport) only for
9645           other modules and not for gstreamer core
9646         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
9647           use gst_guint64_to_gdouble for conversion
9648         * win32/common/libgstreamer.def:
9649           add new exported functions
9650         * win32/vs6/gst_inspect.dsp:
9651         * win32/vs6/gst_launch.dsp:
9652         * win32/vs6/libgstbase.dsp:
9653         * win32/vs6/libgstcontroller.dsp:
9654         * win32/vs6/libgstcoreelements.dsp:
9655         * win32/vs6/libgstdataprotocol.dsp:
9656         * win32/vs6/libgstnet.dsp:
9657           update project files
9658
9659 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9660
9661         * gst/gstbuffer.c: (gst_subbuffer_class_init):
9662         * gst/gstclock.c: (gst_clock_class_init):
9663         * gst/gstelement.c: (gst_element_class_init):
9664         * gst/gstindex.c: (gst_index_class_init):
9665         * gst/gstindexfactory.c: (gst_index_factory_class_init):
9666         * gst/gstobject.c: (gst_object_class_init),
9667         (gst_signal_object_class_init):
9668         * gst/gstpad.c: (gst_pad_class_init):
9669         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
9670         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
9671         * gst/gstregistry.c: (gst_registry_class_init):
9672         * gst/gstsystemclock.c: (gst_system_clock_class_init):
9673         * gst/gsttask.c: (gst_task_class_init):
9674         * gst/gstxml.c: (gst_xml_class_init):
9675         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9676         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9677         (gst_base_src_loop):
9678         * libs/gst/controller/gstcontroller.c:/
9679         (_gst_controller_class_init):
9680         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9681         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
9682         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
9683         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9684         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9685         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
9686
9687 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
9688
9689         * gst/gstpad.c: (gst_pad_link):
9690           Must set peer pads before calling the link function, otherwise
9691           a task started from a link function might get a flow-not-linked
9692           result when trying to push because the other thread where the
9693           linking happens hasn't had a chance to set the peers yet. This
9694           might happen for example when a queue gets linked to a downstream
9695           element, as queue starts a streaming task when its source pad
9696           gets linked. Happens in real life when playing back flac/musepack
9697           files in playbin (#332390).
9698           
9699 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
9700
9701         * gst/gstindex.h:
9702         * gst/gstxml.h:
9703         * libs/gst/base/gstadapter.h:
9704         * libs/gst/base/gstbasesink.h:
9705         * libs/gst/base/gstbasesrc.h:
9706         * libs/gst/base/gstbasetransform.h:
9707         * libs/gst/base/gstcollectpads.h:
9708         * libs/gst/base/gstpushsrc.h:
9709         Fix broken GObject macros
9710
9711 2006-04-07  Wim Taymans  <wim@fluendo.com>
9712
9713         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9714         Initialize start and stop times, thanks valgrind.
9715
9716 2006-04-07  Wim Taymans  <wim@fluendo.com>
9717
9718         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9719         Be a bit nicer to badly behaving upstream elements that expect
9720         us to deal with non TIME segments and timestamps (such as fakesrc
9721         in the testsuite).
9722
9723 2006-04-07  Wim Taymans  <wim@fluendo.com>
9724
9725         * gst/gstbus.c:
9726         Small documentation clarification about the signal watch.
9727
9728         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9729         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9730         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9731         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9732         (gst_base_sink_get_position_last),
9733         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9734         Convert and store timestamps in stream time and running time, the
9735         raw timestamps are not useful, also document this better.
9736         Use different window sizes for good and bad QoS observations so
9737         we react to badness a little quicker.
9738         Keep track of the amount of rendered and dropped buffers.
9739         Send QoS timestamps in running time.
9740
9741         * libs/gst/base/gstbasetransform.c:
9742         (gst_base_transform_sink_eventfunc),
9743         (gst_base_transform_handle_buffer):
9744         Compare QoS timestamps against running time.
9745
9746 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9747
9748         * gst/gstpad.c:
9749           Typo fixes in docs.
9750
9751 2006-04-06  Michael Smith  <msmith@fluendo.com>
9752
9753         * gst/gstpad.c: (gst_pad_set_property):
9754           Use g_value_get_object() instead of g_value_dup_gst_object(),
9755           to avoid double-reffing the pad template (which we then sink,
9756           so this worked previously if (and only if) the pad template
9757           was floating.
9758
9759         * gst/gstpadtemplate.c: (gst_pad_template_init),
9760         (gst_pad_template_pad_created):
9761           Never return floating references to pad templates, create
9762           them as initially-sunken.
9763
9764           Document an extra function (and make this stop sinking our
9765           pad template, since that is now guaranteed to do nothing,
9766           since we created it sunken).
9767
9768         * gst/gstghostpad.c:
9769           Fix docs typo.
9770
9771 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
9772
9773         * gst/gstinfo.c: (__gst_in_valgrind):
9774           Add some newlines.
9775
9776         * plugins/elements/gsttypefindelement.c:
9777         (gst_type_find_element_chain):
9778           Don't leak buffer caps.
9779
9780 2006-04-06  Michael Smith  <msmith@fluendo.com>
9781
9782         * gst/parse/grammar.y:
9783           Fix a leak in parse-launch for any source-or-sink named element 
9784           references used.
9785
9786         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9787           Unref the pipeline if it exists after we've failed parsing.
9788
9789 2006-04-05  Michael Smith  <msmith@fluendo.com>
9790
9791         * gst/gstpipeline.c: (gst_pipeline_init):
9792           When we create a pipeline bus, initially create it in flushing mode.
9793           Fixes leaks in at least one test, and makes a new pipeline work the
9794           same as one that has gone to READY and then back to NULL.
9795
9796         * gst/gstelement.c:
9797           Typo fix in docs.
9798
9799 2006-04-05  Michael Smith  <msmith@fluendo.com>
9800
9801         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9802           Unref a pad we reffed.
9803         * tests/check/gst/gstutils.c: (GST_START_TEST):
9804           Unref bins
9805
9806 2006-04-05  Michael Smith  <msmith@fluendo.com>
9807
9808         * gst/gstquery.c: (gst_query_set_formats),
9809         (gst_query_set_formatsv):
9810           Fix leaking GValues in queries, as shown by valgrind/testsuite.
9811
9812 2006-04-05  Michael Smith  <msmith@fluendo.com>
9813
9814         * tests/check/generic/sinks.c: (GST_START_TEST):
9815           Fix a variety of memleaks in sinks check, which are only sometimes 
9816           shown by running the tests under valgrind (weird?).
9817
9818 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
9819
9820         * docs/version.entities.in:
9821           Fix the substituted entity name after thomas' changes on the
9822           weekend.
9823
9824 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9825
9826         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
9827         VALGRIND_PRINTF
9828         
9829 2006-04-05  Andy Wingo  <wingo@pobox.com>
9830
9831         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
9832
9833         * libs/gst/base/gstbasetransform.c
9834         (gst_base_transform_sink_eventfunc): When resetting our segment on
9835         FLUSH_STOP, also update the flag saying we haven't seen a
9836         newsegment.
9837
9838 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9839
9840         Patch by: Paolo Borelli  <pborelli at katamail dot com>
9841
9842         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9843         (gst_plugin_check_license):
9844           minor clean-ups: G_DEFINE_TYPE already takes care of the
9845           parent_class stuff, no need to do it twice. Mark array of
9846           license strings as constant. (#337103)
9847           
9848 2006-04-04  Michael Smith  <msmith@fluendo.com>
9849
9850         * tools/gst-inspect.c: (print_element_list):
9851           Free the right plugin list; fixes a memory leak.
9852
9853 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9854
9855         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
9856
9857         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9858           Don't error out on empty buffers (#336945).
9859           
9860 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
9861
9862         * docs/libs/gstreamer-libs-sections.txt:
9863         * gst/gsttaglist.c:
9864         * libs/gst/base/gstbasesink.c:
9865         * libs/gst/base/gstbasesink.h:
9866         * libs/gst/base/gstbasesrc.c:
9867         * libs/gst/base/gstbasesrc.h:
9868           Documentation updates. Make BaseSink and BaseSrc docs contain the
9869           class structure so that people can actually see the prototypes for
9870           virtual functions they're supposed to be overriding.
9871
9872 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
9873
9874         * plugins/elements/gsttypefindelement.c:
9875         (gst_type_find_element_chain):
9876           More debug info; when skipping typefinding, send cached
9877           events in all cases.
9878
9879 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * configure.ac:
9882           use new AS_VERSION and AS_NANO macros
9883         * gst/gst-i18n-lib.h:
9884         * gst/gst.c:
9885         * gst/gsterror.c:
9886         * gst/gstversion.h.in:
9887         * win32/common/config.h:
9888         * win32/common/config.h.in:
9889           update accordingly
9890
9891 2006-03-31  Michael Smith  <msmith@fluendo.com>
9892
9893         * plugins/elements/gsttypefindelement.c:
9894         (gst_type_find_element_chain):
9895           Do not typefind content if the buffers already have caps.
9896           Neccesary for icydemux (#333657), and the right thing to do anyway.
9897
9898 2006-03-30  Wim Taymans  <wim@fluendo.com>
9899
9900         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9901         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
9902         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
9903         (gst_base_sink_record_qos_observation),
9904         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9905         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
9906         (gst_base_sink_change_state):
9907         More QoS measurements as described in the design doc.
9908         Get rid of ringbuffer with observations, running average is
9909         more simple and equally good.
9910         Calculates valid proportion now.
9911         Added beginning of flood measurement.
9912
9913 2006-03-29  Wim Taymans  <wim@fluendo.com>
9914
9915         * docs/design/part-qos.txt:
9916         * gst/gstclock.c:
9917         Small documentation updates and additions.
9918
9919 2006-03-29  Wim Taymans  <wim@fluendo.com>
9920
9921         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9922         (gst_base_src_send_event), (gst_base_src_loop),
9923         (gst_base_src_change_state):
9924         Perform the EOS logic when we reach the segment stop position.
9925         Fix compilation on gcc4.1
9926
9927 2006-03-29  Wim Taymans  <wim@fluendo.com>
9928
9929         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9930
9931         * plugins/elements/gstqueue.c: (gst_queue_init),
9932         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9933         (gst_queue_set_property):
9934         * plugins/elements/gstqueue.h:
9935         In queue, when EOS is received, if minimum threshold > max_size -
9936         current_level, there is chance that queue blocks forever in conditional
9937         item del wait. This is because the queue is not emptied completely due
9938         to minimum threshold.  Here is another approach. Instead of setting
9939         cur_levels to max in EOS, just zero all minimum threshold levels. This
9940         should make sure that queue gives out all data. When going to READY
9941         (stop) state, just reset the original minimum threshold levels.
9942         Fixes #336336.
9943
9944 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
9945
9946         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
9947         (gst_type_find_element_handle_event),
9948         (gst_type_find_element_send_cached_events),
9949         (gst_type_find_element_change_state):
9950         * plugins/elements/gsttypefindelement.h:
9951           When typefinding is done in push mode, we should cache
9952           events we receive during typefinding instead of just
9953           dropping them (e.g. newsegment, custom events from
9954           dvdreadsrc etc.) and then send them out once we've
9955           determined the type of the stream (and decodebin
9956           has had a chance to plug in a decoder/demuxer).
9957           
9958 2006-03-27  Wim Taymans  <wim@fluendo.com>
9959
9960         * docs/design/part-qos.txt:
9961         First QoS ideas.
9962
9963 2006-03-27  Wim Taymans  <wim@fluendo.com>
9964
9965         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
9966
9967         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9968         (gst_base_src_send_event), (gst_base_src_change_state):
9969         Handle element seek correctly when we are streaming.
9970         Fixes #326998.
9971
9972 2006-03-24  Michael Smith  <msmith@fluendo.com>
9973
9974         * docs/faq/gst-uninstalled:
9975           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
9976           allow you to correctly run intalled applications built against old 
9977           core, using plugins that require updated core (e.g. running
9978           installed totem against a full uninstalled gstreamer stack)
9979
9980 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9981
9982         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9983         more debug details
9984
9985 2006-03-24  Wim Taymans  <wim@fluendo.com>
9986
9987         * docs/gst/gstreamer-sections.txt:
9988         Rearrange the order of the methods so that related methods
9989         are grouped together in sections.
9990
9991 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9992
9993         * gst/gstelement.c:
9994           Little clarification in the docs
9995
9996 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
9997
9998         * docs/README:
9999         formatting fix
10000         * plugins/elements/gstidentity.c:
10001         * plugins/elements/gstqueue.c:
10002         * plugins/elements/gsttee.c:
10003         * plugins/elements/gsttypefindelement.c:
10004         GST_ELEMENT_DETAILS formatting
10005
10006 2006-03-24  Wim Taymans  <wim@fluendo.com>
10007
10008         * libs/gst/base/gstbasesink.h:
10009         Only add fields, not insert or we break ABI.
10010
10011 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10012
10013         * win32/common/libgstbase.def:
10014         * win32/common/libgstreamer.def:
10015           Update, add recently added functions.
10016
10017 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10018
10019         * docs/gst/gstreamer-sections.txt:
10020         * gst/gstutils.c: (gst_pad_query_peer_position),
10021         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10022         * gst/gstutils.h:
10023           API: add some new utility functions:
10024            - gst_pad_query_peer_position()
10025            - gst_pad_query_peer_duration()
10026            - gst_pad_query_peer_convert()
10027           
10028 2006-03-23  Wim Taymans  <wim@fluendo.com>
10029
10030         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10031         (gst_base_sink_init), (gst_base_sink_finalize),
10032         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10033         (gst_base_sink_set_property), (gst_base_sink_get_property),
10034         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10035         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10036         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10037         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10038         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10039         (gst_base_sink_preroll_object), (gst_base_sink_event),
10040         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10041         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10042         (gst_base_sink_query), (gst_base_sink_change_state):
10043         Decouple max-lateness and the fact that QoS messages are generated
10044         with a new property (qos).
10045         added API: GstBaseSink::async_play()
10046         Add vmethod so subclasses can be notified of ASYNC playing
10047         state changes.
10048         Collect timestamp start and stop to report better current
10049         position in EOS/PLAYING/PAUSED/READY/NULL.
10050         Refactor QoS/frame dropping and other measurements.
10051         API: GstBaseSrc::qos
10052         Fixes #326311
10053
10054         * libs/gst/base/gstbasesink.h:
10055         Added Private struct.
10056         API: gst_base_sink_set_qos_enabled()
10057         API: gst_base_sink_is_qos_enabled()
10058
10059 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10060
10061         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10062           If compiling against GLib-2.8 or newer, try to read the
10063           registry file using GMappedFile first before falling back
10064           to fopen() + fread() (#332151).
10065
10066 2006-03-22  Wim Taymans  <wim@fluendo.com>
10067
10068         * gst/gstinfo.c: (gst_debug_set_active),
10069         (gst_debug_category_set_threshold):
10070         Disable debugging unless explicitly activated.
10071         Fixes #335480.
10072
10073 2006-03-22  Wim Taymans  <wim@fluendo.com>
10074
10075         * gst/gstelement.c: (gst_element_set_locked_state),
10076         (gst_element_dispose):
10077         Cleanup the error case.
10078
10079         * gst/gstobject.c: (gst_object_dispose):
10080         print a critical when some object was disposed with
10081         a parent, also revive the object since it might
10082         crash the parent.
10083
10084 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
10085
10086         * tools/gst-launch.1.in:
10087           Fix another typo.
10088
10089 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10090
10091         * configure.ac:
10092         * tests/check/Makefile.am:
10093           disable some tests when we don't have a registry
10094         * tests/check/gst/gstutils.c: (gst_utils_suite):
10095           don't build the part that needs parsing
10096
10097 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * gst/Makefile.am
10100         * tests/examples/Makefile.am:
10101           fix --disable-parse build
10102
10103 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10104
10105         * tools/gst-feedback.1.in:
10106           Fix typo: s/feeback/feedback/ (#133494).
10107
10108 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10109
10110         * tools/Makefile.am:
10111         * tools/gst-launch.1.in:
10112           Add FILES section and correct entry about GST_REGISTRY_PATH
10113           environment variable (#133495; #133494).
10114
10115 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10116
10117         * tools/Makefile.am:
10118         * tools/gst-md5sum.1.in:
10119         * tools/gst-md5sum.c:
10120           Remove gst-md5sum and man page (the md5sink element
10121           required was removed ages ago)
10122
10123 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10124
10125         * gst/gststructure.c: (gst_structure_id_set_value):
10126           Make sure that string fields in structures/taglists
10127           contain valid UTF-8 - we don't want to pass rubbish to
10128           applications because of a buggy plugin (cp. #334167).
10129
10130 2006-03-21  Edward Hervey  <edward@fluendo.com>
10131
10132         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10133         (gst_bin_handle_message_func):
10134         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10135         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10136         (gst_element_set_bus_func):
10137         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10138         * gst/gstminiobject.c: (gst_value_set_mini_object),
10139         (gst_value_take_mini_object):
10140         * gst/gstpad.c: (gst_pad_set_pad_template):
10141         * gst/gstpipeline.c: (gst_pipeline_dispose),
10142         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10143         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10144         (gst_collect_pads_chain):
10145         * libs/gst/net/gstnettimeprovider.c:
10146         (gst_net_time_provider_set_property):
10147         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10148         It's in fact all issues with gst_*object_replace().
10149
10150 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
10151
10152         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
10153         
10154         * pkgconfig/gstreamer-check-uninstalled.pc.in:
10155         * pkgconfig/gstreamer-check.pc.in:
10156           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10157
10158 2006-03-21  Edward Hervey  <edward@fluendo.com>
10159
10160         * gst/gstbuffer.h:
10161         * gst/gstevent.h:
10162         * gst/gstmessage.h:
10163         gst_[buffer|event|message]_ref() macros are replaced by a static
10164         inline functions because gcc-4.1 will about if the return value
10165         isn't used.
10166         * tests/check/gst/gstevent.c: (event_probe):
10167         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10168
10169 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
10170
10171         * gst/gstutils.h:
10172         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10173         the type' case. (Closes: #335195 for now). In the future, when we
10174         depend on GLib 2.10, we could also intern the type name using
10175         g_intern_static_string()
10176
10177 2006-03-20  Wim Taymans  <wim@fluendo.com>
10178
10179         * gst/gstbin.c: (gst_bin_handle_message_func),
10180         (bin_query_max_init), (bin_query_position_fold),
10181         (bin_query_position_done), (gst_bin_query):
10182         Position query should also take max of all streams.
10183
10184 2006-03-20  Wim Taymans  <wim@fluendo.com>
10185
10186         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10187         (gst_fake_src_finalize):
10188         Fix leaks in fakesrc.
10189
10190         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10191         Fix leaks in the testcase.
10192
10193 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
10194
10195         * gst/gst_private.h:
10196           add win32 specific import decoration(__declspec(dllimport)) 
10197           for all extern GstDebugCategory * variables
10198         * win32/common/libgstbase.def:
10199         * win32/common/libgstcontroller.def:
10200         * win32/common/libgstreamer.def:
10201           Add some exports, remove empty lines
10202         * win32/common/libgstdataprotocol.def:
10203         * win32/common/libgstdataprotocol.dsp:
10204         * win32/common/libgstnet.def:
10205         * win32/common/libgstnet.dsp:
10206           new project files and exportation files added
10207         
10208 2006-03-19  Wim Taymans  <wim@fluendo.com>
10209
10210         * tests/check/libs/basesrc.c: (eos_event_counter):
10211         Use proper return value for probe.
10212
10213 2006-03-17  Wim Taymans  <wim@fluendo.com>
10214
10215         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10216         (gst_pad_push):
10217         Don't leak buffers, caps and pads on negotiation errors.
10218
10219 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
10220
10221         * docs/faq/cvs.xml:
10222         * docs/faq/dependencies.xml:
10223         * docs/faq/developing.xml:
10224         * docs/faq/faq.xml:
10225         * docs/faq/general.xml:
10226         * docs/faq/getting.xml:
10227         * docs/faq/legal.xml:
10228         * docs/faq/troubleshooting.xml:
10229         * docs/faq/using.xml:
10230         Faq review and update.
10231
10232 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
10233
10234         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10235         (gst_pad_push):
10236         Don't pound the cpu to pieces by checking get_caps when accept_caps
10237         is called with the same caps as the pad already has.
10238         Use GST_DEBUG_OBJECT when outputting caps change information.
10239
10240 2006-03-15  Wim Taymans  <wim@fluendo.com>
10241
10242         * gst/gstclock.c: (gst_clock_class_init):
10243         Fix docs.
10244
10245 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
10246
10247         * gst/gstbuffer.h:
10248         Documentation fix.
10249
10250         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10251         (gst_pad_accept_caps), (gst_pad_configure_sink),
10252         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10253         Make the default acceptcaps behaviour be to check the requested 
10254         caps against the gst_pad_get_caps output. 
10255
10256         Ensure that gst_pad_accept_caps is used to check caps when a pad
10257         doesn't have a setcaps function, so that pads automatically refuse 
10258         caps that they don't allow in their pad template. (Fixes #332986)
10259
10260         When a buffer with attached caps is pushed, ensure that the source 
10261         pad receives those caps even if the element didn't call
10262         gst_pad_set_caps first.
10263
10264 2006-03-15  Wim Taymans  <wim@fluendo.com>
10265
10266         * libs/gst/base/gstadapter.c:
10267         Add some docs.
10268
10269 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
10270
10271         * win32/common/libgstbase.def:
10272         * win32/common/libgstcontroller.def:
10273         * win32/common/libgstreamer.def:
10274           Add a whole bunch of missing functions (#334434).
10275
10276 2006-03-14  Wim Taymans  <wim@fluendo.com>
10277
10278         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10279         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10280         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10281         Better debug info when we receive a segment event.
10282         Reorganize a bit so we can pass the get_times() results around.
10283         Use the segment format when calculating the running time.
10284         Don't do QoS is sync is disabled or we have no clock or the
10285         element does not want us to sync to the clock.
10286         Don't drop buffers if QoS is disabled for now.
10287
10288 2006-03-14  Wim Taymans  <wim@fluendo.com>
10289
10290         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10291         Marked the stats property as unimplemented so people don't get
10292         wild ideas.
10293         Add debug message when regression goes wrong.
10294         Added some more docs.
10295
10296 2006-03-14  Wim Taymans  <wim@fluendo.com>
10297
10298         * gst/gstsegment.c: (gst_segment_to_stream_time):
10299         Return correct return type in case of errors.
10300
10301 2006-03-14  Wim Taymans  <wim@fluendo.com>
10302
10303         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10304           Don't segfault on invalid formats.
10305
10306 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10307
10308         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10309           Can't use gst_segment_to_running_time() when the segment
10310           is not in GST_TIME_FORMAT (like with filesink, for example).
10311           Stops flac encoding pipelines from spewing critical warnings
10312           at EOS (#331248).
10313           
10314 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
10315
10316         * gst/gstpipeline.c: (gst_pipeline_class_init):
10317           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10318
10319         * plugins/elements/gsttypefindelement.c:
10320         (gst_type_find_element_handle_event):
10321           Don't try to typefind empty streams.
10322
10323 2006-03-14  Wim Taymans  <wim@fluendo.com>
10324
10325         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10326         (gst_base_sink_do_qos):
10327         Separate QoS calculation.
10328         Only drop buffers when lateness is bigger than the 
10329         duration of the buffer.
10330
10331 2006-03-13  Wim Taymans  <wim@fluendo.com>
10332
10333         * gst/gstpipeline.c: (gst_pipeline_set_property),
10334         (gst_pipeline_get_property), (do_pipeline_seek),
10335         (gst_pipeline_change_state), (gst_pipeline_set_delay),
10336         (gst_pipeline_get_delay):
10337         Don't deadlock when reading properties.
10338
10339 2006-03-13  Wim Taymans  <wim@fluendo.com>
10340
10341         * libs/gst/base/gstbasetransform.c:
10342         (gst_base_transform_class_init), (gst_base_transform_init),
10343         (gst_base_transform_sink_event),
10344         (gst_base_transform_sink_eventfunc),
10345         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10346         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10347         (gst_base_transform_set_property),
10348         (gst_base_transform_get_property),
10349         (gst_base_transform_change_state), (gst_base_transform_update_qos),
10350         (gst_base_transform_set_qos_enabled),
10351         (gst_base_transform_is_qos_enabled):
10352         * libs/gst/base/gstbasetransform.h:
10353         Make basetransform virtual method for src events too.
10354         Handle QOS in basetransform.
10355         API: gst_base_transform_update_qos()
10356         API: gst_base_transform_set_qos_enabled()
10357         API: gst_base_transform_is_qos_enabled()
10358
10359 2006-03-13  Wim Taymans  <wim@fluendo.com>
10360
10361         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10362         (gst_base_sink_do_sync):
10363         Small cleanups.
10364         Use QOS debug category.
10365
10366 2006-03-13  Wim Taymans  <wim@fluendo.com>
10367
10368         * plugins/elements/gstqueue.c:
10369         Very small doc update.
10370
10371 2006-03-13  Wim Taymans  <wim@fluendo.com>
10372
10373         * gst/gst_private.h:
10374         * gst/gstinfo.c: (_gst_debug_init):
10375         Added QOS debug category
10376
10377 2006-03-13  Wim Taymans  <wim@fluendo.com>
10378
10379         * docs/gst/gstreamer-sections.txt:
10380         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10381         * gst/gstbin.h:
10382         * gst/gstbus.c: (gst_bus_class_init):
10383         * gst/gstbus.h:
10384         * gst/gstclock.c:
10385         * gst/gstelement.c: (gst_element_set_locked_state):
10386         * gst/gstsegment.c:
10387         Documentation updates.
10388
10389         * gst/gstpipeline.c: (gst_pipeline_get_type),
10390         (gst_pipeline_class_init), (gst_pipeline_init),
10391         (gst_pipeline_dispose), (gst_pipeline_set_property),
10392         (gst_pipeline_get_property), (do_pipeline_seek),
10393         (gst_pipeline_send_event), (gst_pipeline_change_state),
10394         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10395         (gst_pipeline_get_delay):
10396         * gst/gstpipeline.h:
10397         Added methods for setting the delay.
10398         API: gst_pipeline_set_delay()
10399         API: gst_pipeline_get_delay()
10400         Add pipeline debug category
10401         Various cleanups.
10402         Updated docs.
10403         Don't reset stream time when seek failed.
10404
10405 2006-03-13  Wim Taymans  <wim@fluendo.com>
10406
10407         * docs/design/draft-klass.txt:
10408         * docs/design/part-clocks.txt:
10409         * docs/design/part-events.txt:
10410         * docs/design/part-gstbin.txt:
10411         * docs/design/part-gstpipeline.txt:
10412         * docs/design/part-messages.txt:
10413         * docs/design/part-negotiation.txt:
10414         * docs/design/part-overview.txt:
10415         * docs/design/part-preroll.txt:
10416         * docs/design/part-seeking.txt:
10417         * docs/design/part-states.txt:
10418         * docs/design/part-streams.txt:
10419         Documentation updates.
10420
10421 2006-03-12  Julien MOUTTE  <julien@moutte.net>
10422
10423         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10424         us to leak strings...
10425
10426 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10427
10428         * libs/gst/net/gstnettimeprovider.c:
10429           fix docs
10430         * win32/common/config.h:
10431           update
10432
10433 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
10434
10435         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10436
10437         * configure.ac:
10438           Don't check for libgnomeui (leftover from old examples
10439           that aren't built or disted any longer) (#334303).
10440           
10441 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
10442
10443         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10444         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10445           Emit RESOURCE_NO_SPACE_LEFT error here as well when
10446           there's no space left on the device.
10447
10448 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
10449
10450         * gst/gstclock.h:
10451           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10452           to cast the input to GstClockTime before comparing with
10453           another GstClockTime value.
10454
10455 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10456
10457         * configure.ac:
10458           back to trunk
10459
10460 === release 0.10.4 ===
10461
10462 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
10463
10464         * configure.ac:
10465           releasing 0.10.4, "Light"
10466
10467 2006-03-10  Michael Smith  <msmith@fluendo.com>
10468
10469         * libs/gst/dataprotocol/dataprotocol.c:
10470           Fix docs for dataprocotol to not get the return types completely
10471           wrong for a few functions.
10472
10473 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10474
10475         * docs/gst/gstreamer-sections.txt:
10476         * gst/gstpipeline.c: (gst_pipeline_class_init),
10477         (gst_pipeline_init), (gst_pipeline_set_property),
10478         (gst_pipeline_get_property), (gst_pipeline_change_state),
10479         (gst_pipeline_set_auto_flush_bus),
10480         (gst_pipeline_get_auto_flush_bus):
10481         * gst/gstpipeline.h:
10482           Add new API: gst_pipeline_set_auto_flush_bus() and
10483           gst_pipeline_get_auto_flush_bus() to disable automatic
10484           flushing of the pipeline's GstBus when going from READY
10485           to NULL state (#332045).
10486
10487 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10488
10489         * docs/gst/gstreamer-sections.txt:
10490         * gst/gsturi.c: (gst_uri_has_protocol):
10491         * gst/gsturi.h:
10492            Add new API: gst_uri_has_protocol() (#333779).
10493
10494 2006-03-09  Wim Taymans  <wim@fluendo.com>
10495
10496         * gst/gstclock.c: (gst_clock_entry_new),
10497         (gst_clock_id_compare_func), (gst_clock_id_wait),
10498         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
10499         (gst_clock_init), (gst_clock_get_internal_time),
10500         (gst_clock_set_master), (do_linear_regression),
10501         (gst_clock_add_observation), (gst_clock_set_property):
10502         * gst/gstclock.h:
10503         Review docs.
10504         Small cleanups.
10505         Fix a possible segfault when the window-size is made smaller.
10506         Calculate jitter before performing the clock wait. Ideally
10507         the clock implementation should calculate jitter but we need
10508         API breakage for that.
10509
10510         * gst/gstsystemclock.c: (gst_system_clock_init):
10511         Docs review.
10512         
10513         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10514         Remove leftover else
10515
10516         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
10517         (gst_systemclock_suite):
10518         Added check to test GST_CLOCK_DIFF.
10519
10520 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
10521
10522         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
10523         (gst_type_find_helper_get_range):
10524           If we are provided with the size, we should implement
10525           GstTypeFind::get_length, so that typefind functions who
10526           want to can actually peek at the middle of a file.
10527
10528 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
10529
10530         * docs/manual/advanced-dataaccess.xml:
10531           Add some very very basic error checking.
10532
10533         * docs/pwg/appendix-checklist.xml:
10534           Some updates to the list of things to check when writing an element.
10535
10536 2006-03-08  Wim Taymans  <wim@fluendo.com>
10537
10538         * docs/design/part-element-transform.txt:
10539         Added some docs about the design of tranform elements.
10540
10541         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10542         (gst_base_src_loop), (gst_base_src_change_state):
10543         Mark buffers with the DISCONT flag.
10544
10545 2006-03-08  Michael Smith  <msmith@fluendo.com>
10546
10547         * gst/gstregistry.h:
10548         * gst/gstregistryxml.c: (gst_registry_save),
10549         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
10550         (gst_registry_xml_save_pad_template),
10551         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
10552         (gst_registry_xml_write_cache):
10553           Rewrite registry-saving to avoid race conditions and check for
10554           failed writes.
10555
10556 2006-03-08  Wim Taymans  <wim@fluendo.com>
10557
10558         * libs/gst/base/gstbasetransform.c:
10559         (gst_base_transform_transform_caps),
10560         (gst_base_transform_transform_size),
10561         (gst_base_transform_prepare_output_buffer),
10562         (gst_base_transform_get_unit_size),
10563         (gst_base_transform_buffer_alloc),
10564         (gst_base_transform_handle_buffer),
10565         (gst_base_transform_change_state):
10566         Cleanups, separate normal flow from errors, add sensible
10567         DEBUG lines.
10568         Don't try to renegotiate when allocating an output buffer.
10569         Also copy DISCONT buffer flag when copying a buffer.
10570         Reset the transform after we finish streaming, not during.
10571
10572 2006-03-08  Wim Taymans  <wim@fluendo.com>
10573
10574         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10575         Use last buffer timestamp in qos message.
10576
10577 2006-03-07  Wim Taymans  <wim@fluendo.com>
10578
10579         Patch by: Christophe Fergeau
10580
10581         * docs/pwg/advanced-tagging.xml:
10582         * docs/pwg/building-pads.xml:
10583           fixes #333416
10584
10585 2006-03-07  Wim Taymans  <wim@fluendo.com>
10586
10587         * docs/libs/gstreamer-libs-sections.txt:
10588         Added basesink new methods.
10589
10590         * gst/gstevent.c:
10591         * gst/gstevent.h:
10592         Docs updates. Flesh out the QoS docs.
10593
10594         * libs/gst/base/gstadapter.c:
10595         Small doc clarification about ownership and flushing.
10596
10597         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
10598         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
10599         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
10600         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10601         * libs/gst/base/gstbasesink.h:
10602         API additions: 
10603         Added new methods to allow subclass to control max-lateness 
10604         and sync.
10605         Generate very basic QoS events based on last sync observation.
10606         Updated docs, fix typo, added some QoS blurb.
10607
10608         * libs/gst/base/gstbasesrc.c:
10609         Remove obsolete _get_state() calls from docs.
10610
10611 2006-03-07  Wim Taymans  <wim@fluendo.com>
10612
10613         * docs/libs/gstreamer-libs-sections.txt:
10614         * libs/gst/base/gstbasetransform.h:
10615         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
10616         Fix docs for GstBaseSrc.
10617
10618 2006-03-07  Wim Taymans  <wim@fluendo.com>
10619
10620         * docs/gst/gstreamer-sections.txt:
10621         * gst/gstbuffer.h:
10622         * gst/gstvalue.c:
10623         * libs/gst/base/gstbasetransform.h:
10624         Small documentation fixes.
10625
10626 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10627
10628         * gst/gstvalue.c:
10629           Document thread-unsafety of gst_value_register_foo_func()
10630           when used at the same time as gst_value_foo() (#322628).
10631
10632 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
10633
10634         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
10635         (gst_push_src_check_get_range):
10636           Push sources don't support pull mode by default.
10637
10638 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10639
10640         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10641         (gst_base_src_init), (gst_base_src_pad_check_get_range),
10642         (gst_base_src_default_check_get_range):
10643         * libs/gst/base/gstbasesrc.h:
10644           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
10645           provide default implementation, and rename
10646           gst_base_src_check_get_range() to
10647           gst_base_src_pad_check_get_range() for clarity.
10648
10649 2006-03-06  Wim Taymans  <wim@fluendo.com>
10650
10651         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10652         Make property overridable.
10653
10654 2006-03-06  Wim Taymans  <wim@fluendo.com>
10655
10656         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10657         (gst_base_sink_init), (gst_base_sink_set_property),
10658         (gst_base_sink_get_property), (gst_base_sink_do_sync):
10659         * libs/gst/base/gstbasesink.h:
10660         API addition: Make max-lateness a property.
10661
10662 2006-03-06  Wim Taymans  <wim@fluendo.com>
10663
10664         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
10665         (gst_base_sink_do_sync), (gst_base_sink_render_object):
10666         Don't ever draw a frame that is >10ms late.
10667
10668 2006-03-06  Michael Smith  <msmith@fluendo.com>
10669
10670         * gst/gstmessage.c: (_gst_message_copy):
10671           When copying a message, set the parent_refcount of the enclosed
10672           structure to point at the copy, not the original message.
10673
10674 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
10675
10676         Patch by: Christophe Fergeau
10677
10678         * gst/gstutils.h:
10679           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
10680           usable in c++ code (#333417)
10681
10682 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10683
10684         * gst/gstclock.h:
10685           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
10686
10687 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
10688
10689         * libs/gst/base/gstbasetransform.c:
10690         (gst_base_transform_transform_caps):
10691           Make sure caps are writable before passing them to
10692           gst_caps_append().
10693
10694 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10695
10696         * gst/gsterror.h:
10697           Fix some minor docs errors.
10698
10699 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
10700
10701           Patch by: Ross Burton <ross at burtonini dot com>
10702
10703         * gst/gsterror.c: (_gst_resource_errors_init):
10704         * gst/gsterror.h:
10705           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
10706
10707 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10708
10709         * gst/gst.c:
10710         Add a check and output a g_warning when GStreamer is built
10711         against GLib 2.6 but running against 2.8 or higher, and vice 
10712         versa. (Closes: #323542)
10713
10714 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
10715
10716         * gst/parse/parse.l:
10717           Commit patch for parse_launch syntax from #331255. Removes 
10718           support for quoted strings and mimetypes when writing filtered 
10719           caps. See the bug report for more details - I'm pretty sure this
10720           obscure feature is not in use by _anyone_ anywhere.
10721
10722           With this simple change, the size of the gstreamer.so here 
10723           drops from 2193KB to 1565KB.
10724
10725 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10726
10727         * plugins/elements/gsttypefindelement.h:
10728         * plugins/elements/gsttypefindelement.c:
10729         (gst_type_find_element_src_event), (start_typefinding),
10730         (stop_typefinding), (gst_type_find_element_handle_event),
10731         (gst_type_find_element_chain),
10732         (gst_type_find_element_chain_do_typefinding):
10733           Use gst_type_find_helper_for_buffer() for chain-based
10734           typefinding.
10735
10736 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10737
10738         * plugins/elements/gsttypefindelement.c:
10739         (gst_type_find_element_class_init),
10740         (gst_type_find_element_set_property),
10741         (gst_type_find_element_get_property):
10742           Deprecate "maximum" property (not only was it only taken into
10743           account for typefinding in push-mode anyway, it also was never
10744           actually possible to set it in the first place because the
10745           property was registered with the numeric property ID for the
10746           "minimum" property). Register "maximum" property correctly,
10747           for the sake of future copy'n'pasters. Remove some cruft
10748           from property get/set functions.
10749
10750 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
10751
10752         * plugins/elements/gsttypefindelement.c:
10753         (gst_type_find_element_activate):
10754           Use gst_type_find_helper_get_range() here, so we
10755           can honour the "minimum" property and also emit
10756           the signal with the correct probability of the found caps.
10757
10758 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
10759
10760         * docs/libs/gstreamer-libs-sections.txt:
10761         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10762         (helper_find_suggest), (gst_type_find_helper_get_range),
10763         (gst_type_find_helper):
10764         * libs/gst/base/gsttypefindhelper.h:
10765           New API: gst_type_find_helper_get_range() (#333042).
10766
10767 2006-03-02  Michael Smith  <msmith@fluendo.com>
10768
10769         * gst/gstregistryxml.c: (load_feature):
10770           Asserting on a failure to read part of the registry is Not Cool.
10771           Just log a warning and return NULL (which is already handled)
10772
10773 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
10774
10775         * win32/common/libgstbase.def:
10776           added export of gst_type_find_helper_for_buffer
10777         * win32/common/libgstbase.def:
10778           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10779           gst_ghost_pad_get_target
10780
10781 2006-02-28  Wim Taymans  <wim@fluendo.com>
10782
10783         * docs/design/draft-klass.txt:
10784         We use Filter now.
10785         Added Connector to mark elements that are only used to
10786         allow pipeline connections.
10787         Moved Debug to extra feature since most of them are 
10788         functionally something else.
10789
10790 2006-02-28  Wim Taymans  <wim@fluendo.com>
10791
10792         * docs/design/draft-klass.txt:
10793         Some updates and clarifications.
10794
10795 2006-02-28  Wim Taymans  <wim@fluendo.com>
10796
10797         * docs/design/draft-klass.txt:
10798         Proposal for klass field values.
10799
10800         * docs/design/part-streams.txt:
10801         Start of a doc describing stream anatomy.
10802
10803 2006-02-28  Wim Taymans  <wim@fluendo.com>
10804
10805         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
10806         Help the compiler a bit with type registration.
10807         Use existing forward cod path instead of duplicating it when 
10808         handling a message.
10809         
10810         * gst/gstbus.c: (gst_bus_get_type):
10811         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
10812         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
10813         * gst/gstclock.c: (gst_clock_get_type):
10814         * gst/gstelement.c: (gst_element_get_type),
10815         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10816         * gst/gstindexfactory.c: (gst_index_factory_get_type):
10817         * gst/gstminiobject.c: (gst_mini_object_get_type):
10818         * gst/gstpad.c: (gst_pad_get_type):
10819         * gst/gstsegment.c: (gst_segment_get_type):
10820         * gst/gststructure.c: (gst_structure_get_type):
10821         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10822         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
10823         * gst/gstvalue.c:
10824         Help compiler with type registration.
10825
10826         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
10827         Small doc update.
10828
10829 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10830
10831         * plugins/elements/gsttypefindelement.c:
10832         (gst_type_find_element_handle_event):
10833           When we get an EOS event and have not found a type yet
10834           (most likely because we had not yet accumulated
10835           TYPE_FIND_MIN_SIZE of data yet), try to determine the
10836           type given the data we have so far. Fixes typefinding
10837           for very short streams again, most notably quicktime
10838           redirections as used on Apple's trailer site (#331701).
10839
10840 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10841
10842         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
10843         (gst_type_find_helper):
10844           Try typefinding factories with the highest rank first.
10845
10846 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10847
10848         * docs/libs/gstreamer-libs-docs.sgml:
10849         * docs/libs/gstreamer-libs-sections.txt:
10850         * libs/gst/base/gsttypefindhelper.c:
10851           Add section for typefind helper and add documentation
10852           for the old and the new function.
10853
10854 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10855
10856         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
10857         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
10858         (gst_type_find_helper_for_buffer):
10859         * libs/gst/base/gsttypefindhelper.h:
10860           New API: gst_type_find_helper_for_buffer() (#332723).
10861           
10862 2006-02-27  Michael Smith  <msmith@fluendo.com>
10863
10864         Patch by: Loïc Minier
10865
10866         * configure.ac:
10867         * docs/Makefile.am:
10868         * docs/slides/Makefile.am:
10869           prevent CVS directories getting disted.
10870
10871 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
10872
10873         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
10874           Use the REFCOUNTING category for caps refcounting.
10875           
10876 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10877
10878         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10879           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
10880
10881 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
10882
10883         * plugins/elements/gsttypefindelement.c:
10884         (gst_type_find_element_activate):
10885           Use gst_pad_check_pull_range() before _activate_pull()
10886           to avoid unnecessary open/close (see #331690).
10887
10888 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10889
10890         * gst/gstutils.c:
10891           Docs enhancement: make it crystal clear what the
10892           gst_pad_add_*_probe() callbacks should look like.
10893
10894 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
10895
10896         * libs/gst/base/gstbasesrc.c:
10897           Document how applications can stop recording from
10898           live sources (see #330996).
10899
10900 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10901
10902         * tests/check/Makefile.am:
10903         * tests/check/libs/basesrc.c: (eos_event_counter),
10904         (basesrc_eos_events_pull), (basesrc_eos_events_push),
10905         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
10906         (gst_basesrc_suite), (main):
10907           ... and add some tests for the base source EOS stuff.
10908
10909 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10910
10911         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
10912           Test case originally showed the problem fixed below,
10913           but was then amended. Add checks back at the place
10914           where they used to be.
10915
10916 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10917
10918         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10919         (gst_base_src_init), (gst_base_src_loop),
10920         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10921         (gst_base_src_change_state):
10922         * libs/gst/base/gstbasesrc.h:
10923           Don't unconditionally send EOS when going from PAUSED to
10924           READY state, esp. make sure we don't send two EOS events
10925           in some cases (e.g. one when reaching EOS and one when
10926           going from PAUSED to READY). Also, we don't want to send
10927           EOS events when operating in pull mode. However, we do
10928           want to send an EOS event when shutting down a live
10929           source explicitly, for example (fixes #330996).
10930           
10931 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10932
10933         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10934           Update src->read_position after a seek when not using mmap.
10935           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
10936
10937 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
10938
10939         * gst/Makefile.am:
10940         * gst/gstparse.h:
10941         * gst/gstutils.c:
10942         * gst/gstutils.h:
10943         Make things work with --disable-parse as they do with 
10944         --disable-load-save - the symbols involved disappear, but the
10945         header is still installed and GST_DISABLE_PARSE is included via
10946         gstconfig.h
10947
10948 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10949
10950         * libs/gst/base/gstbasetransform.c:
10951         (gst_base_transform_change_state): Fix a stupid bug. I was 
10952         sure I compiled that.
10953
10954 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10955
10956         * gst/gstpad.c: (gst_pad_set_blocked_async):
10957         * gst/gstutils.c: (gst_pad_add_data_probe),
10958         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10959         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10960         (gst_pad_remove_buffer_probe): Make those function act on the
10961         ghostpad target when it's a ghostpad. (Closes #331727)
10962
10963 2006-02-20  Julien MOUTTE  <julien@moutte.net>
10964
10965         * libs/gst/base/gstbasetransform.c:
10966         (gst_base_transform_change_state): Make basetransform reusable.
10967         (Closes #331898)
10968
10969 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
10970
10971         * docs/random/release:
10972         Move the current documentation of how to do a release to the top
10973         of the file.
10974
10975         * gst/gstbin.c: (gst_bin_class_init),
10976         (gst_bin_handle_message_func):
10977         Allow multiple state-recalculation threads. (Closes #328873)
10978
10979 2006-02-19  Julien MOUTTE  <julien@moutte.net>
10980
10981         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
10982         * gst/gstpad.c: (gst_pad_set_event_function),
10983         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10984         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
10985         2 strings. You can't use the STR_NULL macro on that.
10986
10987 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
10988
10989         * gst/gstpad.c: (gst_pad_set_event_function),
10990         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10991         (gst_pad_set_getcaps_function)
10992         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
10993           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
10994           So now, we can use --gst-debug-level=5 on Windows
10995         * win32/common/libgstcontroller.def:
10996           Added export of gst_controller_init
10997         * win32/vs6/libgstcontroller.dsp:
10998           Fixed Release post build configuration
10999
11000 2006-02-17  Wim Taymans  <wim@fluendo.com>
11001
11002         * tests/check/gst/gstquery.c: (GST_START_TEST):
11003         Added another check.
11004
11005 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
11006
11007         * plugins/elements/gsttypefindelement.c: (find_peek):
11008           We can do peeks at non-zero offsets, as long as they
11009           fall within the buffer we have.
11010
11011 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
11012
11013         * tests/check/Makefile.am:
11014         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11015         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11016         (parse_suite), (main):
11017           Add testsuite for parse launch syntax
11018
11019 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
11020
11021         * plugins/elements/gsttypefindelement.c:
11022         (gst_type_find_element_chain):
11023           When typefinding is unsuccessful in the chain function, don't
11024           error out immediately. Only error out with NO_CAPS_FOUND if
11025           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11026           otherwise simply wait for more data so we can try typefinding
11027           again with more data later. Also, don't attempt to typefind
11028           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11029           this should improve typefinding from network sources where the
11030           size of the first buffer can be somewhat random.
11031
11032 2006-02-14  Wim Taymans  <wim@fluendo.com>
11033
11034         * docs/gst/gstreamer-sections.txt:
11035         * gst/gstpadtemplate.c:
11036         * gst/gstpadtemplate.h:
11037         Fix padtemplate docs, fixes #328805.
11038
11039 2006-02-14  Wim Taymans  <wim@fluendo.com>
11040
11041         * tools/gst-launch.c: (main):
11042         NO_PREROLL is not an ERROR so don't send confusing messages
11043         to the user.
11044
11045 2006-02-14  Wim Taymans  <wim@fluendo.com>
11046
11047         Patch by: Torsten Schoenfeld
11048
11049         * gst/gstregistry.c: (gst_registry_get_default),
11050         (_gst_registry_cleanup):
11051         Protect default registry with lock and ref/sink it.
11052         Fixes #324818
11053
11054 2006-02-14  Wim Taymans  <wim@fluendo.com>
11055
11056         * gst/gstbuffer.c:
11057         * gst/gstquery.c: (gst_query_list_add_format),
11058         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11059         (gst_query_parse_formats_nth):
11060         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11061         Docs fixes.
11062
11063 2006-02-14  Wim Taymans  <wim@fluendo.com>
11064
11065         * docs/gst/gstreamer-sections.txt:
11066         Reworked query docs.
11067
11068         * gst/gstquery.c: (gst_query_new_formats),
11069         (gst_query_list_add_format), (gst_query_set_formats),
11070         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11071         (gst_query_parse_formats_nth):
11072         * gst/gstquery.h:
11073         Flesh out formats query, added some new methods.
11074         Fix part of #324398.
11075
11076         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11077         Added query creation tests.
11078
11079 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
11080
11081         * gst/gstpad.c: (fixate_value):
11082         Add a default fixation for fraction lists.
11083
11084 2006-02-13  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gsttask.c: (gst_task_init), (gst_task_func),
11087         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11088         (gst_task_join):
11089         * gst/gsttask.h:
11090         Detect and warn for obvious deadlocks. fixes #320340
11091         Fix error case where lock was not released.
11092
11093         * tests/check/Makefile.am:
11094         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11095         (task_func), (gst_element_suite), (main):
11096         Add task check.
11097
11098 2006-02-13  Wim Taymans  <wim@fluendo.com>
11099
11100         * docs/gst/gstreamer-sections.txt:
11101         * gst/gstbus.c:
11102         Add new functions to docs.
11103
11104 2006-02-13  Wim Taymans  <wim@fluendo.com>
11105
11106         * docs/design/part-TODO.txt:
11107         Updated TODO list, basesrc supports seeking to non-bytes
11108         formats.
11109
11110         * docs/design/part-element-sink.txt:
11111         Update docs.
11112
11113         * gst/gstbin.c: (bin_replace_message),
11114         (gst_bin_handle_message_func):
11115         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11116         * gst/gstevent.c: (gst_event_finalize):
11117         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11118         (gst_pad_send_event):
11119         Use shiny new _TYPE_NAME macros.
11120
11121         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11122         Move debug statement up.
11123
11124         * gst/gstelement.c: (gst_element_set_locked_state):
11125         Add some debugging.
11126
11127 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
11128
11129         * docs/gst/gstreamer-sections.txt:
11130         * gst/gstmessage.h:
11131         * gst/gstquery.h:
11132           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11133           macros (#330906). Also, document the already existing
11134           GST_QUERY_TYPE macro.
11135
11136 2006-02-13  Wim Taymans  <wim@fluendo.com>
11137
11138         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11139         (event_probe), (GST_START_TEST):
11140         Only events up to the pipeline EOS are counted, there are
11141         some more when going to NULL currently which we don't care
11142         about for now.
11143
11144 2006-02-13  Wim Taymans  <wim@fluendo.com>
11145
11146         * gst/gstpad.c: (gst_pad_send_event):
11147         Correctly check flushing and emit probes. fixes #330125
11148
11149 2006-02-10  Andy Wingo  <wingo@pobox.com>
11150
11151         * gst/gstbus.c (gst_bus_class_init): Declare our private data
11152         structure.
11153         (gst_bus_init): Cache the location of the private data in the
11154         instance structure.
11155         (gst_bus_enable_sync_message_emission) 
11156         (gst_bus_disable_sync_message_emission): Implement new public
11157         functions.
11158         (gst_bus_post): Emit the sync-message signal if the user asked for
11159         it. Fixes #330684.
11160
11161         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11162         location of the bus-private structure.
11163         (gst_bus_enable_sync_message_emission)
11164         (gst_bus_disable_sync_message_emission): API addition
11165
11166 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
11167
11168         Patch by: Vincent Torri
11169
11170         * docs/pwg/building-boiler.xml:
11171         PWG patch from #326800
11172
11173 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
11174
11175         * configure.ac:
11176         * docs/Makefile.am:
11177         * docs/design/Makefile.am:
11178           Dist design docs.
11179
11180 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11181
11182         * configure.ac:
11183           back to CVS
11184
11185 === release 0.10.3 ===
11186
11187 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
11188
11189         * configure.ac:
11190           releasing 0.10.3, "Like a virgin"
11191
11192 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
11193
11194         * configure.ac:
11195           2nd prerelease of 0.10.3
11196           Bump libtool versioning.
11197
11198 2006-02-07  Andy Wingo  <wingo@pobox.com>
11199
11200         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11201         update last_stop if we're in TIME format and the timestamp is
11202         valid.
11203
11204         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
11205         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
11206         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11207         If we get a new newsegment with a different format, adapt
11208         accordingly.
11209
11210         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11211         of 0. Not a problem, really.
11212
11213         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11214         warn if sync=true.
11215
11216 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
11217
11218         * configure.ac:
11219           Prelease of 0.10.3
11220
11221 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
11222
11223         * win32/vs7:
11224           project files updated to the default vs7 configuration
11225         * win32/common/libgstbase.def:
11226         * win32/common/libgstreamer.def:
11227           added new symbols,
11228           removed empty lines,
11229           sorted all exported symbols alphabetically
11230         * win32/common/dirent.c:
11231         * win32/common/dirent.h:
11232         * win32/common/gchar.h:
11233           use windows line end.
11234           
11235 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11236
11237         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11238           Send EOS event when stopping.
11239
11240 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
11241
11242         * docs/README:
11243           Tell folks what to do if the plugin-foobar.xml file
11244           hasn't been generated for a newly-added plugin.
11245
11246 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11247
11248         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11249         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11250         (gst_collect_pads_start), (gst_collect_pads_stop),
11251         (gst_collect_pads_event): Collectpads now holds a reference
11252         to the GstPad that was added. Indeed we don't want to look
11253         at pads that might just go away with no warning...
11254
11255 2006-02-05  Julien MOUTTE  <julien@moutte.net>
11256
11257         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11258         (gst_collect_pads_start), (gst_collect_pads_stop),
11259         (gst_collect_pads_event), (gst_collect_pads_chain):
11260         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11261         Mark Nauwelaerts's patch on bug #328491.
11262
11263 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11264
11265         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11266         (gst_utils_suite):
11267           Add some simple tests for gst_parse_bin_from_description() and
11268           gst_bin_find_unconnected_pad() (#329069).
11269
11270 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
11271
11272         * tools/gst-launch.c: (event_loop), (main):
11273           Catch errors during preroll (#320084).
11274
11275 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
11276
11277         * plugins/elements/gsttypefindelement.c:
11278         (gst_type_find_element_activate):
11279           Post TYPE_NOT_FOUND error message when typefinding
11280           is unsuccessful in the activate function as well.
11281
11282 2006-02-02  Wim Taymans  <wim@fluendo.com>
11283
11284         * docs/design/part-element-sink.txt:
11285         Updated doc.
11286
11287 2006-02-02  Wim Taymans  <wim@fluendo.com>
11288
11289         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11290         (gst_base_sink_render_object),
11291         (gst_base_sink_queue_object_unlocked):
11292         Only keep track of prerollable items when we are 
11293         prerolling.
11294         Before rendering after preroll, always check if we
11295         have queued items.
11296         Added some more debugging.
11297
11298 2006-02-02  Wim Taymans  <wim@fluendo.com>
11299
11300         * gst/gstelement.c: (gst_element_continue_state),
11301         (gst_element_set_state_func), (gst_element_change_state):
11302         Fixed #326576, been running this for quite some time with
11303         no regressions at all.
11304
11305 2006-02-02  Wim Taymans  <wim@fluendo.com>
11306
11307         * common/gst.supp:
11308         Added more suppressions
11309
11310 2006-02-02  Wim Taymans  <wim@fluendo.com>
11311
11312         * docs/design/part-element-sink.txt:
11313         Updated document.
11314
11315         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11316         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11317         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11318         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11319         (gst_base_sink_do_sync), (gst_base_sink_render_object),
11320         (gst_base_sink_preroll_object),
11321         (gst_base_sink_queue_object_unlocked),
11322         (gst_base_sink_queue_object), (gst_base_sink_event),
11323         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11324         (gst_base_sink_loop), (gst_base_sink_activate_pull),
11325         (gst_base_sink_get_position), (gst_base_sink_change_state):
11326         * libs/gst/base/gstbasesink.h:
11327         Totally refactored matching the design doc.
11328         Use two segments, one to clip incomming buffers and another to
11329         perform sync.
11330         Handle queueing correctly, bypass the queue when playing.
11331         Make EOS cancelable.
11332         Handle errors correctly when operating in pull based mode.
11333
11334         * tests/check/elements/fakesink.c: (GST_START_TEST),
11335         (fakesink_suite):
11336         Added new check for sinks.
11337
11338 2006-02-02  Wim Taymans  <wim@fluendo.com>
11339
11340         * gst/gstsegment.c: (gst_segment_clip):
11341         No reason to refuse to clip when start == -1
11342
11343 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
11344
11345         * docs/README:
11346         * docs/manual/intro-basics.xml:
11347         * docs/manual/intro-preface.xml:
11348         * docs/manual/manual.xml:
11349         * docs/pwg/advanced-dparams.xml:
11350         * docs/pwg/intro-basics.xml:
11351         * docs/pwg/intro-preface.xml:
11352         * docs/pwg/pwg.xml:
11353           describe dparams (controller) for plugins
11354           unify docs a little more
11355
11356 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
11357
11358         * docs/gst/gstreamer-sections.txt:
11359         * gst/gstutils.c: (element_find_unconnected_pad),
11360         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11361         * gst/gstutils.h:
11362           Add new API: gst_parse_bin_from_description() and
11363           gst_bin_find_unconnected_pad() (#329069).
11364
11365 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
11366
11367         * docs/manual/README:
11368           uncover a nasty detail of the docs build
11369
11370 2006-01-31  Wim Taymans  <wim@fluendo.com>
11371
11372         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11373         Don't cache duration messages if we're not going to use or
11374         free them.
11375
11376 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
11377
11378         * docs/manual/advanced-dparams.xml:
11379         * docs/pwg/advanced-dparams.xml:
11380           more dparam docs
11381         * gst/gstindex.c:
11382           fix docs
11383         * libs/gst/controller/lib.c: (gst_controller_init):
11384           init just once
11385
11386 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * gst/gstelement.c: (gst_element_message_full):
11389           also show file/line/func if no additional debug was given
11390
11391 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
11392         
11393         * win32/vs7/grammar.vcproj:
11394           activate copy of autogenerated files for Release mode
11395
11396 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11397         
11398         * win32/common/libgstreamer.def:
11399           export gst_value_compare
11400
11401 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
11402
11403         * plugins/elements/Makefile.am:
11404         * plugins/elements/gstelements.c:
11405         * plugins/elements/gstfdsink.c: (_do_init),
11406         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11407         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11408         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11409         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11410         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11411         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11412         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11413         * plugins/elements/gstfdsink.h:
11414         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11415
11416 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
11417
11418         * docs/manual/advanced-dparams.xml:
11419           describe controller
11420         * docs/manual/advanced-position.xml:
11421         * docs/manual/basics-init.xml:
11422         * docs/manual/manual.xml:
11423         * docs/manual/titlepage.xml:
11424         * docs/pwg/pwg.xml:
11425         * docs/pwg/titlepage.xml:
11426           cleanup xml (more to come)
11427         * libs/gst/controller/gstcontroller.c:
11428           fix typo
11429
11430 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
11431         
11432         * win32/vs6/grammar.dsp:
11433           add autogen of gstmarshal.c,h for Release mode
11434                 
11435 2006-01-30  Wim Taymans  <wim@fluendo.com>
11436
11437         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11438         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11439         (gst_base_sink_handle_object), (gst_base_sink_event),
11440         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11441         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11442         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11443         (gst_base_sink_deactivate), (gst_base_sink_activate),
11444         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11445         (gst_base_sink_query), (gst_base_sink_change_state):
11446         Basesink cleanups, remove some old code.
11447         Handle the case where a subclass can preroll in the render
11448         method (mostly audiosinks).
11449         Handle more events.
11450         Remove some locks around variables that are now protected
11451         with the PREROLL_LOCK (clock_id, flushing, ..).
11452         Optimize position query some more, do correct locking.
11453         Remove old code to push queue in state change, this is not
11454         needed anymore since preroll blocks on all prerollable items 
11455         now.
11456         Almost implemented as described in design doc.
11457
11458 2006-01-30  Wim Taymans  <wim@fluendo.com>
11459
11460         * tests/check/gst/gstbin.c: (GST_START_TEST):
11461         Wait for refcount to settle down before checking.
11462
11463 2006-01-30  Wim Taymans  <wim@fluendo.com>
11464
11465         * docs/design/part-element-sink.txt:
11466         Pseudo code overview of desired sink behaviour regarding
11467         preroll.
11468
11469 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11470         * win32/vs6/grammar.dsp:
11471           fix some bugs in Release mode for autogenerated files
11472                 
11473 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11474         * win32/common/libgstbase.def:
11475         * win32/common/libgstreamer.def:
11476           export some new symbols: gst_base_src_set_format,
11477           gst_iterator_next, gst_structure_set_valist
11478
11479 2006-01-29  Julien MOUTTE  <julien@moutte.net>
11480
11481         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11482         Set pad functions unconditionally. Fixes #329105.
11483
11484 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
11485         * win32/vs8:
11486           add vs8 project files created by Sergey Scobich
11487
11488 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
11489
11490         * gst/gstutils.c: (gst_element_unlink_pads):
11491         Don't leak pad references.
11492
11493         * tests/check/elements/fakesink.c: (GST_START_TEST):
11494         * tests/check/generic/sinks.c: (GST_START_TEST):
11495         * tests/check/generic/states.c: (GST_START_TEST):
11496         * tests/check/gst/gstbin.c: (GST_START_TEST):
11497         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11498         * tests/check/gst/gstelement.c: (GST_START_TEST):
11499         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11500         * tests/check/gst/gstiterator.c: (GST_START_TEST):
11501         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11502         Fix a bunch of leaks. Make generic/sinks.c
11503         use a bit less cpu by slowing the buffer rate
11504         between fakesrc and fakesink.
11505         
11506 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
11507         * gst/gstcaps.c:
11508         * gst/gstelement.c: (gst_element_send_event):
11509         * gst/gstevent.c:
11510         * gst/gstinfo.c:
11511         * gst/gstiterator.c:
11512         * gst/gstiterator.h:
11513         * gst/gstpad.c: (gst_pad_send_event):
11514         * gst/gststructure.c:
11515         * gst/gsturi.c:
11516         * gst/gstutils.c:
11517         * gst/gstvalue.c:
11518         * libs/gst/base/gstadapter.c:
11519           doc fixes, to link to function, just write gst_cool_function(), don't
11520           prefix with '#'
11521
11522 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11523
11524         * plugins/elements/gsttee.c: (gst_tee_do_push),
11525         (gst_tee_handle_buffer):
11526         Always prefer an actual return value from a src
11527         pad in place of NOT_LINKED. This means we return
11528         WRONG_STATE when all src pads are WRONG_STATE
11529         instead of NOT_LINKED.
11530
11531         Lock when replacing the last message to prevent
11532         racing with the get_property method.
11533
11534         Add debug output
11535
11536 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11537
11538         * tests/check/Makefile.am:
11539         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
11540         (main):
11541         Add a very simple check that should have caught the memleak I fixed
11542         last night (if not for the slice allocator hiding it)
11543
11544 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
11545
11546         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11547         (gst_bin_remove_func), (gst_bin_handle_message_func),
11548         (bin_query_duration_fold), (bin_query_generic_fold):
11549         Clean up references to the clock provider when disposed or when
11550         handling a clock-lost message from it.
11551
11552         Unref sinks when performing a query via gst_iterator_fold, as the
11553         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
11554
11555         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
11556         (gst_clock_set_master):
11557         Drop our reference to the master clock, if any, when we are disposed.
11558
11559         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
11560         Chain up in dispose. 
11561
11562 2006-01-26  Wim Taymans  <wim@fluendo.com>
11563
11564         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11565         Add some debugging.
11566
11567 2006-01-26  Julien MOUTTE  <julien@moutte.net>
11568
11569         * plugins/elements/gsttee.c: (gst_tee_do_push),
11570         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
11571         handles pad being NOT_LINKED or in WRONG_STATE.
11572
11573 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11574
11575         * win32/MANIFEST:
11576           more updating
11577
11578 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11579
11580         * win32/MANIFEST:
11581           remove obsolete entry
11582
11583 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
11584
11585         * docs/gst/gstreamer-sections.txt:
11586         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
11587         (gst_bin_iterate_sources), (gst_bin_send_event):
11588         * gst/gstbin.h:
11589         * gst/gstelement.c: (gst_element_send_event):
11590         * gst/gstevent.c:
11591         * gst/gstpad.c: (gst_pad_send_event):
11592           added code for downstream events, reviewed docs in gstevent.c
11593
11594 2006-01-25  Julien MOUTTE  <julien@moutte.net>
11595
11596         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11597         We only query position using the clock in the playing state.
11598         Query peer in the other cases.
11599         * win32/common/config.h: Updates.
11600
11601 2006-01-24  Wim Taymans  <wim@fluendo.com>
11602
11603         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11604         A clock entry that is scheduled for the exact time of the
11605         clock is still in time.
11606
11607         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11608         (gst_base_sink_do_sync):
11609         Add some more debug info.
11610
11611 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11612
11613         * win32/vs7:
11614           Add new vs7 project files and solution.
11615
11616 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
11617
11618         * win32/vs7:
11619           all files removed as they were out-dated.
11620
11621 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11622
11623         * docs/random/release:
11624           update notes
11625         * gst/gstbin.c: (gst_bin_init):
11626         * gst/gstbus.c: (gst_bus_new):
11627         * gst/gstbus.h:
11628         * gst/gstpipeline.c: (gst_pipeline_init):
11629           use gst_bus_new(), improve logging, fix docs
11630         * win32/common/config.h:
11631           update for cvs build
11632
11633 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11634
11635         * autogen.sh:
11636           up required version of automake to 1.7
11637
11638 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
11639
11640         * win32/common/libgstreamer.def:
11641           export gst_buffer_is_metadata_writable
11642
11643 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
11644
11645         * docs/gst/gstreamer-sections.txt:
11646         * gst/gstevent.h:
11647           Add gst_event_replace() (#327001)
11648
11649 2006-01-20  Wim Taymans  <wim@fluendo.com>
11650
11651         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11652         Make it actually compile too..
11653
11654 2006-01-20  Wim Taymans  <wim@fluendo.com>
11655
11656         * gst/gstcaps.c:
11657         Clarify behaviour of _is_equal() when passing NULL parameters.
11658
11659         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11660         (gst_pad_set_caps):
11661         Cleanups. Don't unref NULL caps.
11662         When setting the same caps, protect caps of the pad with
11663         proper lock.
11664         Use full functionality of _is_equal() when comparing caps.
11665
11666 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11667
11668         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11669         Don't loop infinitely if there are no buffers to present. Partially
11670         fixes #327197, but collectpads is just broken for reusing elements
11671         to do multiple encodes atm.
11672
11673 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
11674
11675         * tools/gst-inspect.c: (print_element_features):
11676         * tools/gst-xmlinspect.c: (main):
11677         URL_HANDLER is not a plugin feature we can search for in
11678         the registry.
11679
11680 2006-01-19  Edward Hervey  <edward@fluendo.com>
11681
11682         * gst/gstelement.c: (gst_element_pads_activate): 
11683         When activating, do src pads first, then sink pads.
11684         When de-activating, do sink pads first, then src pads.
11685
11686 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11687
11688         * docs/gst/gstreamer-sections.txt:
11689         Add gst_index_add_associationv to the docs
11690
11691 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11692
11693         * gst/gstevent.c:
11694           Fix docs typo
11695
11696         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
11697         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
11698           Do some refactoring. Doesn't actually change functionality,
11699           but makes landing the DRAIN event easier later.
11700
11701 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
11702
11703         * docs/pwg/advanced-scheduling.xml:
11704           Update from 0.9.x to 0.10 API and make example a bit
11705           clearer.
11706
11707 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11708
11709         * docs/gst/gstreamer-sections.txt:
11710         Add gst_buffer_(is|make)_metadata_writable methods.
11711
11712 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
11713
11714         * docs/design/part-sparsestreams.txt:
11715         Update sparse streams doc, hopefully for greater clarity
11716
11717 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
11718
11719         * docs/design/part-events.txt:
11720         Remove mention of FILLER events.
11721         Add DRAIN event.
11722
11723         * docs/design/part-sparsestreams.txt:
11724         Write some things about using NEWSEGMENT to keep sparse streams
11725         flowing.
11726
11727 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11728
11729         * gst/gstbin.c: (gst_bin_dispose):
11730           Guard gst_object_unref call against a NULL object (dispose
11731           can theoretically be called multiple times).
11732           
11733 2006-01-18  Wim Taymans  <wim@fluendo.com>
11734
11735         * gst/gstbin.c: (gst_bin_element_set_state):
11736         * gst/gstclock.c: (gst_clock_id_wait):
11737         Added some more debug info.
11738
11739         * libs/gst/base/gstadapter.c:
11740         Added more docs.
11741
11742         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11743         (gst_base_sink_do_sync), (gst_base_sink_chain):
11744         Added some comments.
11745
11746 2006-01-18  Wim Taymans  <wim@fluendo.com>
11747
11748         * tests/check/Makefile.am:
11749         * tests/check/elements/fakesink.c: (chain_async_buffer),
11750         (chain_async), (chain_async_return), (GST_START_TEST),
11751         (fakesink_suite), (main):
11752         Added fakesink test that checks prerolling and clipping
11753         behaviour.
11754
11755         * tests/check/gst/gstutils.c: (GST_START_TEST):
11756         Make check run faster so that buildbots don't timeout.
11757
11758 2006-01-18  Wim Taymans  <wim@fluendo.com>
11759
11760         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11761         (gst_base_sink_do_sync):
11762         Some cleanups.
11763         When the sink finishes blocking on the preroll buffer, it can
11764         immediatly render it instead of rendering when the next buffer
11765         arrives.
11766
11767 2006-01-18  Wim Taymans  <wim@fluendo.com>
11768
11769         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11770         (gst_base_sink_get_property), (gst_base_sink_do_sync),
11771         (gst_base_sink_chain):
11772         Small cleanups.
11773         GST_ELEMENT_CLOCK and sync are protected with LOCK.
11774         Don't store _last_stop if the buffer is dropped.
11775
11776 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
11777
11778         * plugins/elements/gsttypefindelement.c:
11779         (gst_type_find_element_class_init):
11780           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11781           object method handler that sets the caps on the pad and we want
11782           that to happen before we emit the signal (fixes e.g. feeding a
11783           plain text file to decodebin).
11784
11785 2006-01-18  Christian Schaller  <Christian@fluendo.com>
11786
11787         * gst/gstplugin.c: Add MPL and Proprietary as license options
11788
11789 2006-01-18  Andy Wingo  <wingo@pobox.com>
11790
11791         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
11792         symbol was exported before, it appears this was just an oversight.
11793         Fixes #168703.
11794         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
11795
11796         * gst/gstindex.c (gst_index_add_associationv): Changed int in
11797         prototype to gint. OK since this prototype was not in the header.
11798
11799 2006-01-17  Andy Wingo  <wingo@pobox.com>
11800
11801         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
11802         registry while we remove plugins.
11803
11804         * tools/gst-inspect.c (print_element_info): Don't unref the
11805         factory arg, that should be the responsibility of whatever code
11806         received the ref. Fixes a double-free when called from
11807         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
11808         (main): Unref the factory if we have one.
11809         (print_element_list): No change -- relies on the
11810         plugin_feature_list_free to free the list of features.
11811
11812 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
11813
11814         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11815         (gst_buffer_make_metadata_writable):
11816         * gst/gstbuffer.h:
11817         * libs/gst/base/gstbasetransform.c:
11818         (gst_base_transform_prepare_output_buf):
11819         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11820         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11821           Replace gst_buffer_(make|is)_metadata_writable patch now
11822           that the release is out.
11823
11824 2006-01-17  Andy Wingo  <wingo@pobox.com>
11825
11826         * gst/gstregistry.c: Reflow design comment. Update so as to speak
11827         in the present tense without reference to versions.
11828
11829         * gst/gstregistry.c (gst_registry_add_plugin)
11830         (gst_registry_remove_plugin, gst_registry_remove_feature)
11831         (gst_registry_find_feature, gst_registry_get_feature_list)
11832         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
11833         (gst_registry_lookup, gst_registry_scan_path)
11834         (_gst_registry_remove_cache_plugins)
11835         (gst_registry_get_feature_list_by_plugin): Add argument
11836         validation.
11837
11838 === release 0.10.2 ===
11839
11840 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
11841
11842         * configure.ac:
11843           releasing 0.10.2, "If man is five"
11844
11845 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11846
11847         * gst/gstbuffer.c:
11848         * gst/gstbuffer.h:
11849         * libs/gst/base/gstbasetransform.c:
11850         (gst_base_transform_prepare_output_buf):
11851         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11852         * tests/check/gst/gstbuffer.c: (gst_test_suite):
11853           Back out patch until after the release.
11854
11855 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11856
11857         * gst/gstminiobject.c:
11858           Spelling fix in docs.
11859         * ChangeLog - remove conflict indicator
11860
11861 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
11862
11863         Reviewed By: Andy Wingo
11864
11865         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11866         (gst_buffer_make_metadata_writable):
11867         * gst/gstbuffer.h:
11868           Add gst_buffer_(is|make)_metadata_writable as analogues of
11869           gst_buffer_(is|make)_writable.
11870
11871         * libs/gst/base/gstbasetransform.c:
11872         (gst_base_transform_prepare_output_buf):
11873         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11874           Use name gst_buffer_(is|make)_metadata_writable functions.
11875
11876         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11877           Test gst_buffer_(is|make)_metadata_writable
11878         
11879           (Closes: #324162)
11880
11881 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11882
11883         * docs/manual/Makefile.am:
11884           don't do parallel make
11885         * configure.ac:
11886           AC_SUBST HOST_CPU
11887         * win32/common/config.h.in:
11888           add generations for HOST_CPU and GST_MAJORMINOR
11889         * win32/common/config.h:
11890           commit generated result
11891
11892 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
11893
11894         * docs/manual/appendix-integration.xml:
11895           Update GNOME integration section to use gst_init_get_option_group()
11896           instead of the old popt stuff (#322911). Also, GNOME applications
11897           should  now use gconf*sink and gconf*src instead of the old gconf
11898           helper lib we had.
11899
11900 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
11901
11902
11903         * docs/gst/gstreamer-docs.sgml:
11904         * docs/gst/gstreamer-sections.txt:
11905         * docs/libs/gstreamer-libs-sections.txt:
11906           add new API entries to the docs
11907         * libs/gst/controller/Makefile.am:
11908         * libs/gst/controller/gstcontroller.c:
11909         * libs/gst/controller/gstcontroller.h:
11910         * libs/gst/controller/gstcontrollerprivate.h:
11911         * libs/gst/controller/gsthelper.c:
11912         * libs/gst/controller/gstinterpolation.c:
11913           move private structs to private header
11914         * po/README:
11915           gstreamer-0.7 -> gstreamer-0.10
11916         * tests/check/libs/struct_i386.h:
11917           remove private structs
11918
11919 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11920
11921         * plugins/indexers/Makefile.am:
11922           Fixes as part of #317048
11923
11924 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11925
11926         * plugins/indexers/Makefile.am:
11927           fix #316086 - compilation when mmap is missing
11928
11929 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
11930
11931         * libs/gst/base/gstbasesink.c:
11932           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
11933           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
11934         * win32/common/config.h:
11935           added some defines GST_MAJORMINOR and HOST_CPU
11936         * win32/common/libgstbase.def:
11937         * win32/common/libgstreamer.def:
11938           added some exported functions.
11939
11940 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
11941
11942         * libs/gst/controller/gstcontroller.c:
11943         (gst_controlled_property_set_interpolation_mode),
11944         (gst_controlled_property_new):
11945         * libs/gst/controller/gstcontroller.h:
11946         * libs/gst/controller/gstinterpolation.c:
11947         (interpolate_none_get_string_value_array):
11948           make G_TYPE_STRING controlable
11949
11950 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
11951
11952         * tools/README:
11953         * tools/gst-feedback.1.in:
11954         * tools/gst-inspect.1.in:
11955         * tools/gst-launch.1.in:
11956         * tools/gst-md5sum.1.in:
11957         * tools/gst-typefind.1.in:
11958         * tools/gst-xmlinspect.1.in:
11959         * tools/gst-xmllaunch.1.in:
11960           cleanup man-pages, remove reference to gst-register, document env-vars
11961
11962 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
11963
11964         * gst/gstbuffer.c: (gst_buffer_span):
11965           gst_buffer_span should copy the timestamp of the first buffer
11966           if they were both originally overlapping subbuffers of the 
11967           same parent, using the same logic as the 'slow copy' case.
11968
11969 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
11970
11971         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
11972           Need to awaken ALL the pads when we pop a buffer, otherwise
11973           collectpads only works when there is 2 input streams.
11974
11975 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
11976
11977         * docs/random/ensonic/media-device-daemon.txt:
11978           more ideas (dbus)
11979         * gst/gstbuffer.c:
11980           fix doc example, add clarification
11981         * tools/gst-launch.1.in:
11982           add initial info about GST_PLUGIN_PATH, needs more work
11983
11984 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
11985
11986         * docs/manual/basics-bins.xml:
11987         * docs/manual/basics-elements.xml:
11988         * docs/manual/intro-basics.xml:
11989           Some more minor docs additions and updates.
11990
11991 2006-01-11  Wim Taymans  <wim@fluendo.com>
11992
11993         * docs/manual/basics-bins.xml:
11994         * docs/manual/basics-elements.xml:
11995         Some small fixes as pointed out by Ser-ver on IRC.
11996
11997 2006-01-10  Edward Hervey  <edward@fluendo.com>
11998
11999         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12000         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12001         the single-segment mode.
12002
12003 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
12004
12005         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12006
12007         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12008         (gst_base_src_perform_seek), (gst_base_src_send_event),
12009         (gst_base_src_set_property), (gst_base_src_get_property),
12010         (gst_base_src_loop), (gst_base_src_start),
12011         (gst_base_src_activate_push):
12012         * libs/gst/base/gstbasesrc.h:
12013           Name (private) union; makes Sun's Forte compiler happy (#324900).
12014
12015 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
12016
12017         * README:
12018           gst-register is gone.
12019
12020 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12021
12022         * gst/gstvalue.c: (_gst_value_initialize):
12023           make the G_TYPE_DATE instantiation work if debug is disabled
12024
12025 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
12026
12027         * gst/gstmessage.c: (gst_message_parse_tag),
12028         (gst_message_parse_error), (gst_message_parse_warning):
12029           Don't crash when return location for error/warning debug
12030           string is NULL; add fact that return locations can be
12031           NULL to docs where appropriate.
12032
12033 2006-01-05  Wim Taymans  <wim@fluendo.com>
12034
12035         * gst/gstplugin.c: (gst_plugin_load_file):
12036         Replace strdup by g_strdup.
12037
12038 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12039
12040         * docs/pwg/advanced-types.xml:
12041           fix doc borkage
12042
12043 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12044
12045         submitted by: Abel Cheung
12046
12047         * po/LINGUAS:
12048         * po/zh_TW.po:
12049           Added Chinese (traditional) translation
12050
12051 2006-01-04  Wim Taymans  <wim@fluendo.com>
12052
12053         * docs/manual/basics-pads.xml:
12054         * docs/plugins/Makefile.am:
12055         * docs/plugins/gstreamer-plugins-docs.sgml:
12056         * docs/plugins/gstreamer-plugins-sections.txt:
12057         * docs/pwg/advanced-clock.xml:
12058         * docs/pwg/advanced-scheduling.xml:
12059         * docs/pwg/advanced-types.xml:
12060         * plugins/elements/gstfdsink.c:
12061         * plugins/elements/gstfdsrc.c:
12062         * plugins/elements/gstfdsrc.h:
12063         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12064         * plugins/elements/gstidentity.h:
12065         * plugins/elements/gstqueue.h:
12066         * plugins/elements/gsttee.c:
12067         * plugins/elements/gsttee.h:
12068         * plugins/elements/gsttypefindelement.c:
12069         (gst_type_find_element_class_init):
12070         * plugins/elements/gsttypefindelement.h:
12071         Small updates to various docs.
12072         Added core plugins to docs.
12073
12074 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12075
12076         * common/gst.supp:
12077           add a suppression for liboil's uninitialized variable
12078
12079 2006-01-02  James Livingston  <jrl at ids dot org dot au>
12080
12081         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12082
12083         * gst/gstutils.h:
12084           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12085           macro, so that gcc doesn't complain if the -Wmissing-prototypes
12086           compiler switch is being used (#325429).
12087
12088 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
12089
12090         * gst/gstbin.c: (gst_bin_query):
12091           Disable duration query caching in bins until it gets
12092           fixed (see #324807).
12093
12094 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12095
12096         * tools/gst-inspect.c: (print_element_properties_info):
12097           Handle properties of POINTER and BOXED type.
12098
12099 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
12100
12101         * gst/gst.c: (init_post):
12102           Init tags stuff and some other things before loading
12103           any static plugins (there may be other static plugins
12104           than just the GStreamer ones, and they may want to
12105           register their own tags or formats or whatever, and
12106           preferably without segfaulting).
12107
12108         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12109           Print at least a warning in the debug logs if we drop a
12110           query just because we don't know how to adjust the value
12111           in the particular format.
12112
12113 2005-12-24  David Schleef  <ds@schleef.org>
12114
12115         * tools/gstreamer-completion:
12116           Replacement for gst-complete written in sh and sed.  Only
12117           completes names of features, but that's 90% of what I want
12118           it for.  Properties are not available in registry.xml.  (Maybe
12119           they should be...)
12120
12121 === release 0.10.1 ===
12122
12123 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
12124
12125         * configure.ac:
12126           releasing 0.10.1, "Nollaig chridheil"
12127
12128 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
12129
12130         * docs/faq/cvs.xml:
12131           Add missing quote, should be make ERROR_CFLAGS="".
12132
12133 2005-12-20  Wim Taymans  <wim@fluendo.com>
12134
12135         * docs/design/part-trickmodes.txt:
12136         More documentation on trickmodes.
12137
12138 2005-12-20  Edward Hervey  <edward@fluendo.com>
12139
12140         * gst/gstcaps.c: (gst_static_caps_get_type):
12141         * gst/gstcaps.h:
12142           API addition: GST_TYPE_STATIC_CAPS
12143         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12144         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12145         * gst/gstpadtemplate.h:
12146           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12147         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12148         bindings.
12149
12150 2005-12-18  Wim Taymans  <wim@fluendo.com>
12151
12152         * libs/gst/base/gstadapter.c:
12153         * libs/gst/base/gstadapter.h:
12154         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12155         (gst_base_sink_get_position):
12156         * libs/gst/base/gstbasesink.h:
12157         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12158         (gst_base_src_default_query), (gst_base_src_default_do_seek),
12159         (gst_base_src_do_seek), (gst_base_src_perform_seek),
12160         (gst_base_src_send_event), (gst_base_src_update_length),
12161         (gst_base_src_get_range), (gst_base_src_loop),
12162         (gst_base_src_start):
12163         * libs/gst/base/gstbasesrc.h:
12164         * libs/gst/base/gstbasetransform.h:
12165         * libs/gst/base/gstcollectpads.h:
12166         * libs/gst/base/gstpushsrc.c:
12167         * libs/gst/base/gstpushsrc.h:
12168         * libs/gst/dataprotocol/dataprotocol.c:
12169         * libs/gst/dataprotocol/dataprotocol.h:
12170         * libs/gst/net/gstnetclientclock.h:
12171         * libs/gst/net/gstnettimeprovider.h:
12172         Documentation updates.
12173
12174 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
12175
12176         * docs/manual/basics-helloworld.xml:
12177           Remove superfluous closing bracket in helloworld example.
12178
12179 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
12180
12181         * tools/gst-launch.1.in:
12182           Update gst-launch man page; add a section with useful
12183           environment variables. Fixes #323882.
12184
12185 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
12186
12187         * gst/gst.c:
12188         * gst/gst_private.h:
12189           change some char* into char[]
12190
12191 2005-12-16  Wim Taymans  <wim@fluendo.com>
12192
12193         * gst/gstregistryxml.c: (load_feature):
12194         Cleanups.
12195         Don't use g_object_unref on GstObjects so that we avoid
12196         leaks on unsafe glibs.
12197
12198 2005-12-16  Wim Taymans  <wim@fluendo.com>
12199
12200         * gst/gstbin.c: (gst_bin_recalc_state):
12201         Small doc updates.
12202
12203 2005-12-16  Wim Taymans  <wim@fluendo.com>
12204
12205         * common/check.mak:
12206         Added make forever target for check.
12207
12208 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12209
12210         * gst/gst.c: (init_post):
12211           make the registry cache file HOST_CPU-dependent
12212
12213 2005-12-16  Andy Wingo  <wingo@pobox.com>
12214
12215         * plugins/elements/gstbufferstore.c
12216         (gst_buffer_store_cleared_func): Pay attention to g_list_append
12217         return value.
12218
12219         * tests/check/gst/gstobject.c
12220         (test_fake_object_name_threaded_unique): Pay attention to
12221         g_list_sort return value.
12222
12223 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12224
12225         * tools/gst-feedback-m.m:
12226           Update for 0.9/0.10 (fixes #323870).
12227
12228 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
12229
12230         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12231           Fix lcopy for mini objects, the mini object needs to be ref'ed.
12232           
12233         * tests/check/gst/gstminiobject.c: (my_foo_init),
12234         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12235         (test_value_collection), (gst_mini_object_suite):
12236           Add test to ensure refcounts end up as expected when passing
12237           GstMiniObjects through g_object_get() and g_object_set().
12238
12239 2005-12-14  Julien MOUTTE  <julien@moutte.net>
12240
12241         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12242         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12243         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12244         of collectpads. This version removes a lot of races without
12245         touching API/ABI. Yay !
12246
12247 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
12248
12249         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12250           Don't allow activation of a srcpad in pull_range if it has no
12251           getrange function.
12252           Change some debug statements to be a little clearer
12253
12254         * plugins/elements/gsttypefindelement.c:
12255         (gst_type_find_handle_src_query):
12256           Check that we have a peer before executing queries thereupon.
12257
12258         * tests/examples/metadata/read-metadata.c: (message_loop):
12259           Use gst_bus_pop instead of gst_bus_poll when we just want it to
12260           immediately return us any available message with 0 timeout.
12261
12262 2005-12-12  Michael Smith  <msmith@fluendo.com>
12263
12264         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12265           Don't unref factories after calling them.
12266         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12267         * plugins/elements/gsttypefindelement.c:
12268         (gst_type_find_element_chain):
12269           Free lists of factories after using them. Fixing typefinding memory
12270           leaks.
12271
12272 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12273
12274         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12275         (gst_plugin_feature_load):
12276           more meaningful debug output
12277         * configure.ac:
12278         * tests/Makefile.am:
12279         * tests/old/examples/Makefile.am:
12280           make make distcheck happy again
12281
12282 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12283
12284         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12285           Catch the special case where we are operating chain-based,
12286           but the downstream peer pad has no chain function. Emit a
12287           custom error message in this case instead of letting the
12288           core generate one implying that this is some sort of core
12289           bug. It's not, it just means that whatever got plugged
12290           into the pipeline downstream when we announced the type
12291           can only operate pull-based, while our source can only
12292           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12293           Error string has not been marked for translation yet, as
12294           it probably needs some more work first.
12295
12296         (gst_type_find_element_get_best_possibility):
12297           Add helper function to find the best of all available
12298           found possibilities that qualify given the min. threshold.
12299
12300         (gst_type_find_element_handle_event):
12301           Fix the case where we get an EOS while still in TYPEFIND
12302           mode (we want to chose the best of all possible types,
12303           not just the first type that happens to be in our unsorted
12304           list of possible types).
12305
12306         (gst_type_find_element_chain):
12307           Make sure we return GST_FLOW_ERROR when we errored out
12308           in stop_typefinding(); also, don't just find the best of
12309           all found type entries and then use the last examined
12310           type entry, but actually use the best entry.
12311
12312 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
12313
12314         * tests/examples/typefind/typefind.c: (type_found):
12315         * tests/examples/xml/runxml.c: (xml_loaded):
12316           More gcc4 fixes and a mem leak fix.
12317
12318 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12319
12320         * tests/examples/xml/createxml.c: (object_saved):
12321           gcc 4 fixes
12322
12323 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12324
12325         * tests/Makefile.am:
12326           enable the examples even more
12327
12328 2005-12-12  Andy Wingo  <wingo@pobox.com>
12329
12330         * libs/gst/net/gstnettimeprovider.c
12331         (gst_net_time_provider_class_init, gst_net_time_provider_init)
12332         (gst_net_time_provider_set_property)
12333         (gst_net_time_provider_get_property):
12334         API addition: Export "active" as a GObject property.
12335         (gst_net_time_provider_thread): Only respond to time queries if
12336         the time provider is active.
12337
12338         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12339         NetTimeProvider, preserving binary compat.
12340
12341 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12342
12343         * tests/examples/controller/audio-example.c: (main):
12344         * tests/examples/launch/Makefile.am:
12345           convert comments again
12346
12347 2005-12-12  Wim Taymans  <wim@fluendo.com>
12348
12349         * libs/gst/base/gstpushsrc.c:
12350         Fix typo.
12351
12352 2005-12-12  Wim Taymans  <wim@fluendo.com>
12353
12354         * docs/libs/gstreamer-libs-sections.txt:
12355         Added new symbol to docs.
12356
12357         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12358         (gst_base_src_init), (gst_base_src_set_format),
12359         (gst_base_src_default_query), (gst_base_src_query),
12360         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12361         (gst_base_src_perform_seek), (gst_base_src_send_event),
12362         (gst_base_src_default_event), (gst_base_src_event_handler),
12363         (gst_base_src_set_property), (gst_base_src_get_property),
12364         (gst_base_src_wait), (gst_base_src_do_sync),
12365         (gst_base_src_update_length), (gst_base_src_get_range),
12366         (gst_base_src_check_get_range), (gst_base_src_loop),
12367         (gst_base_src_default_negotiate), (gst_base_src_start),
12368         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12369         (gst_base_src_change_state):
12370         * libs/gst/base/gstbasesrc.h:
12371         Implement seeking to other formats than _BYTES.
12372         Implement more seeking methods correctly.
12373         Doc updates.
12374         Added query vmethod.
12375         Added do_seek vmethod to make life easier for subclasses
12376         when seeking.
12377         API addition: gst_base_src_set_format()
12378
12379 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12380
12381         * tests/examples/Makefile.am:
12382           added that too
12383
12384 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
12385
12386         * configure.ac:
12387         * docs/random/ensonic/media-device-daemon.txt:
12388         * tests/examples/controller/.cvsignore:
12389         * tests/examples/controller/Makefile.am:
12390         * tests/examples/controller/audio-example.c: (main):
12391         * tests/examples/helloworld/.cvsignore:
12392         * tests/examples/helloworld/Makefile.am:
12393         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12394         * tests/examples/launch/.cvsignore:
12395         * tests/examples/launch/Makefile.am:
12396         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12397         * tests/examples/metadata/.cvsignore:
12398         * tests/examples/metadata/Makefile.am:
12399         * tests/examples/metadata/read-metadata.c: (message_loop),
12400         (make_pipeline), (print_tag), (main):
12401         * tests/examples/queue/.cvsignore:
12402         * tests/examples/queue/Makefile.am:
12403         * tests/examples/queue/queue.c: (event_loop), (main):
12404         * tests/examples/typefind/.cvsignore:
12405         * tests/examples/typefind/Makefile.am:
12406         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12407         (main):
12408         * tests/examples/xml/.cvsignore:
12409         * tests/examples/xml/Makefile.am:
12410         * tests/examples/xml/createxml.c: (object_saved), (main):
12411         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12412         * tests/old/examples/Makefile.am:
12413         * tests/old/examples/TODO:
12414         * tests/old/examples/controller/.cvsignore:
12415         * tests/old/examples/controller/Makefile.am:
12416         * tests/old/examples/controller/audio-example.c:
12417         * tests/old/examples/helloworld/.cvsignore:
12418         * tests/old/examples/helloworld/Makefile.am:
12419         * tests/old/examples/helloworld/helloworld.c:
12420         * tests/old/examples/launch/.cvsignore:
12421         * tests/old/examples/launch/Makefile.am:
12422         * tests/old/examples/launch/mp3parselaunch.c:
12423         * tests/old/examples/launch/mp3play:
12424         * tests/old/examples/manual/Makefile.am:
12425         * tests/old/examples/metadata/Makefile.am:
12426         * tests/old/examples/metadata/read-metadata.c:
12427         * tests/old/examples/queue/.cvsignore:
12428         * tests/old/examples/queue/Makefile.am:
12429         * tests/old/examples/queue/queue.c:
12430         * tests/old/examples/typefind/.cvsignore:
12431         * tests/old/examples/typefind/Makefile.am:
12432         * tests/old/examples/typefind/typefind.c:
12433         * tests/old/examples/xml/.cvsignore:
12434         * tests/old/examples/xml/Makefile.am:
12435         * tests/old/examples/xml/createxml.c:
12436         * tests/old/examples/xml/runxml.c:
12437           applied some simple fixing to some examples
12438           re-enabled the working examples
12439
12440 2005-12-12  Wim Taymans  <wim@fluendo.com>
12441
12442         * gst/gstsegment.c: (gst_segment_init),
12443         (gst_segment_set_last_stop), (gst_segment_set_seek),
12444         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12445         (gst_segment_to_running_time):
12446         Added more documentation.
12447         Make sure the last_pos value is updated properly.
12448         Make sure to_stream_time and to_running_time don't
12449         operate on wrong values.
12450
12451         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12452         Update check.
12453
12454 2005-12-12  Michael Smith  <msmith@fluendo.com>
12455
12456         * plugins/elements/gsttypefindelement.c: (free_entry),
12457         (gst_type_find_element_chain):
12458           Now that we're not leaking factories, make sure we keep references
12459           to them while we need them.
12460
12461 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12462
12463         * tests/check/gst/struct_i386.h:
12464           ifdef out the XML structs
12465
12466 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12467
12468         * gst/gstvalue.c: (gst_value_transform_double_fraction):
12469           floor is not needed, F is always positive; this obviates the
12470           need for adding -lm when building without libxml
12471
12472 2005-12-12  Wim Taymans  <wim@fluendo.com>
12473
12474         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12475         Take current playback rate into account when reporting
12476         the position.
12477
12478 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12479
12480         * docs/manual/mime-world.fig:
12481           Let's try this again, this time with a file that is
12482           actually in XFig format.
12483
12484 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12485
12486         * docs/manual/mime-world.fig:
12487           Add audioconvert element to diagram so that it
12488           matches the text and the code (fixes #319526).
12489
12490 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12491
12492         * docs/pwg/building-chainfn.xml:
12493         * docs/pwg/building-pads.xml:
12494         * docs/pwg/building-state.xml:
12495         * docs/pwg/other-source.xml:
12496           Update state change stuff for 0.10 (fixes #322969).
12497
12498 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12499
12500         * docs/manual/advanced-dataaccess.xml:
12501         * docs/manual/appendix-checklist.xml:
12502         * docs/manual/appendix-programs.xml:
12503         * docs/manual/basics-pads.xml:
12504         * docs/manual/highlevel-components.xml:
12505         * docs/manual/manual.xml:
12506           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
12507           add converters in front of pipelines; remove curly
12508           brackets for threads stuff, they no longer exist; use
12509           GST_TYPE_FRACTION for framerates; update some pieces of
12510           code to 0.10, but there's plenty more to do.
12511
12512         * docs/manual/appendix-porting.xml:
12513           Expand on asynchroneous state changes; s/0.9/0.10/;
12514           mention disappearance of gst_init_get_popt_table()
12515           (fixes #322916).
12516
12517 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
12518
12519         * docs/faq/using.xml:
12520           Spider no longer exists, and neither does gst-launch-ext.
12521           Update examples to use decodebin and playbin and put
12522           converters in front of sinks (fixes #323726).
12523
12524 2005-12-09  Michael Smith  <msmith@fluendo.com>
12525
12526         * plugins/elements/gsttypefindelement.c: (find_peek),
12527         (gst_type_find_element_chain):
12528           Fix leaking element factories in typefinding.
12529           Fix problem where we forgot about a probable type on non-seekable
12530           files, and thus later mis-typefound it.
12531
12532 2005-12-09  Michael Smith  <msmith@fluendo.com>
12533
12534         * common/m4/gst-makecontext.m4:
12535         * common/m4/gst-mcsc.m4:
12536         * configure.ac:
12537         * win32/common/config.h:
12538         * win32/common/config.h.in:
12539           Remove makecontext stuff; not used in 0.10 and causes problems on
12540           HPUX according to bug #322441
12541
12542 2005-12-07  Wim Taymans  <wim@fluendo.com>
12543
12544         * tests/check/Makefile.am:
12545         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
12546         (main):
12547         * tests/check/libs/struct_i386.h:
12548         Added ABI check for libs
12549
12550 2005-12-07  Wim Taymans  <wim@fluendo.com>
12551
12552         * tests/check/Makefile.am:
12553         And add the struct_i386.h to dist.
12554
12555 2005-12-07  Wim Taymans  <wim@fluendo.com>
12556
12557         * tests/check/Makefile.am:
12558         * tests/check/gst/.cvsignore:
12559         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
12560         (main):
12561         * tests/check/gst/struct_i386.h:
12562         Added check for ABI compatibility.
12563
12564 2005-12-07  Wim Taymans  <wim@fluendo.com>
12565
12566         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12567         (gst_fake_src_get_times), (gst_fake_src_create):
12568         Fix broken sync option, fixes #323259
12569
12570 2005-12-07  Wim Taymans  <wim@fluendo.com>
12571
12572         * gst/gstbuffer.c:
12573         Small docs update.
12574
12575         * gst/gstcaps.c: (gst_caps_is_equal):
12576         Don't assert on NULL <--> X. Fixes #323260
12577
12578         * gst/gstminiobject.c: (gst_mini_object_replace):
12579         If we're doing atomic operations, we might just as well use
12580         the proper way to get an atomic pointer.
12581
12582         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12583         Clean up debugging.
12584
12585 2005-12-07  Michael Smith  <msmith@fluendo.com>
12586
12587         * gst/parse/grammar.y:
12588           Remove handling of { } for threads.
12589
12590 2005-12-06  David Schleef  <ds@schleef.org>
12591
12592         * libs/gst/base/gstbasetransform.c: speling fix.
12593
12594 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12595
12596         * docs/libs/tmpl/gstdataprotocol.sgml:
12597         * docs/random/omega/testing/gstobject.c:
12598         * gst/gst.c:
12599         * gst/gstclock.c:
12600         * gst/gstelement.c:
12601         * gst/gstelementfactory.c:
12602         * gst/gsterror.c:
12603         * gst/gstevent.c:
12604         * gst/gstghostpad.c:
12605         * gst/gstinfo.c:
12606         * gst/gstpadtemplate.c:
12607         * gst/gstregistryxml.c:
12608         * gst/gsttaglist.c:
12609         * gst/gsttagsetter.c:
12610         * gst/gsttypefind.c:
12611         * gst/gstvalue.c:
12612         * libs/gst/base/gstbasesrc.c:
12613         * libs/gst/net/gstnetclientclock.c:
12614         * libs/gst/net/gstnettimeprovider.c:
12615         * plugins/elements/gstfakesrc.c:
12616         * plugins/elements/gstfdsrc.c:
12617         * plugins/elements/gstfilesrc.c:
12618         * plugins/elements/gstidentity.c:
12619         * plugins/elements/gstqueue.c:
12620         * plugins/elements/gsttypefindelement.c:
12621         * plugins/indexers/gstfileindex.c:
12622         * plugins/indexers/gstmemindex.c:
12623         * tests/check/gst/gsttag.c:
12624         * tests/old/examples/cutter/cutter.c:
12625         * tests/old/examples/mixer/mixer.c:
12626         * tests/old/examples/xml/runxml.c: (main):
12627         * tests/old/testsuite/caps/normalisation.c:
12628         * tests/old/testsuite/debug/global.c:
12629         * tests/old/testsuite/parse/parse1.c:
12630         * tools/gst-xmlinspect.c:
12631         * win32/common/dirent.c:
12632           expand tabs
12633
12634 === release 0.10.0 ===
12635
12636 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12637
12638         * configure.ac:
12639           releasing 0.10.0, "Maroilles"
12640
12641 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12642
12643         submitted by: Funda Wang <fundawang@linux.net.cn>
12644
12645         * po/LINGUAS:
12646         * po/zh_CN.po:
12647           added Chinese (Traditional) translation
12648
12649 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12650
12651         * docs/gst/gstreamer-sections.txt:
12652         * docs/libs/tmpl/gstdataprotocol.sgml:
12653         * docs/random/thomasvs/TODO:
12654         * gst/gstutils.c:
12655         * gst/gstutils.h:
12656           fix docs
12657
12658 2005-12-05  Andy Wingo  <wingo@pobox.com>
12659
12660         patch by: Wim Taymans <wim@fluendo.com>
12661
12662         * libs/gst/base/gstbasetransform.c
12663         (gst_base_transform_prepare_output_buf)
12664         (gst_base_transform_buffer_alloc):
12665         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
12666         alloc_buffer_and_set_caps.
12667
12668         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
12669         set_caps on the source pad.
12670         (gst_pad_alloc_buffer_and_set_caps): New function, does what
12671         alloc_buffer used to do. Fixes #322874.
12672
12673         * docs/gst/gstreamer-sections.txt: 
12674         * docs/design/part-negotiation.txt: 
12675         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
12676         changes.
12677
12678 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12679
12680         patch by: Sebastien Moutte
12681
12682         * win32/MANIFEST:
12683         * win32/common/config.h.in:
12684         * win32/vs6/libgstcontroller.dsp:
12685           win32 build fixes
12686
12687 2005-12-05  Wim Taymans  <wim@fluendo.com>
12688
12689         * gst/gstcaps.c: (gst_caps_is_equal):
12690         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12691         (gst_fake_src_create):
12692         Back out previous code changes, leave doc updates, file bugs 
12693         instead. 
12694
12695 2005-12-05  Wim Taymans  <wim@fluendo.com>
12696
12697         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12698         (gst_fake_src_get_times), (gst_fake_src_create):
12699         * plugins/elements/gstfakesrc.h:
12700         Fix broken sync code.
12701
12702 2005-12-05  Wim Taymans  <wim@fluendo.com>
12703
12704         * gst/gstcaps.c: (gst_caps_is_equal):
12705         Comparing NULL against !NULL yields different caps, not a
12706         failure.
12707
12708 2005-12-05  Wim Taymans  <wim@fluendo.com>
12709
12710         * gst/gstpipeline.c:
12711         Fix small typo in docs.
12712
12713 2005-12-05  Andy Wingo  <wingo@pobox.com>
12714
12715         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
12716
12717         * gst/gst.c (init_post): remove hard-coded 0.9 location for
12718         registries/plugins with a MAJORMINOR one.
12719         (plugin_desc): Rename library from gstcoreleements to
12720         staticelements. Fixes #323222.
12721
12722 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
12723
12724         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12725           Change debug category to 'collectpads' from 'collect_pads'
12726           (fixes #323250).
12727
12728 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12729
12730         patch by: Sebastien Moutte
12731
12732         * libs/gst/controller/gstinterpolation.c:
12733           use convert function for uint64/double
12734         * win32/vs6/libgstcontroller.dsp:
12735           link to GLib
12736
12737 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12738
12739         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12740         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12741         * gst/gstutils.h:
12742         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12743           add tests that seem to show that the guint64/gdouble conversions
12744           are correct.
12745
12746 2005-12-02  Wim Taymans  <wim@fluendo.com>
12747
12748         * gst/gstregistry.c: (gst_registry_add_path):
12749         * gst/gstregistry.h:
12750         * gst/gstregistryxml.c:
12751         Fix docs again.
12752
12753 2005-12-02  Wim Taymans  <wim@fluendo.com>
12754
12755         * gst/gstutils.c: (gst_util_uint64_scale_int64),
12756         (gst_util_uint64_scale_int):
12757         Small cleanup.
12758
12759         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12760         Add debug log line.
12761
12762         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12763         Add FIXME.
12764
12765 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12766
12767         * win32/MANIFEST:
12768         * win32/common/config.h:
12769         * win32/vs6/gstreamer.dsw:
12770         * win32/vs6/libgstcoreelements.dsp:
12771         * win32/vs6/libgstelements.dsp:
12772           renamed core elements plugin
12773
12774 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12775
12776         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12777         (get_candidates):
12778           do piece-wise major/minor comparison so 0.9 < 0.10
12779           also allow .exe extensions for tools
12780
12781 2005-12-02  Michael Smith  <msmith@fluendo.com>
12782
12783         * gst/gst.c:
12784           Escape a % to make gtkdoc happier; bug 322958.
12785
12786 === release 0.9.7 ===
12787
12788 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12789
12790         * configure.ac:
12791           releasing 0.9.7, "My Dog Has No Nose"
12792
12793 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12794
12795         * common/gst-xmlinspect.py:
12796         * configure.ac:
12797         * docs/libs/tmpl/gstdataprotocol.sgml:
12798         * docs/random/release:
12799         * po/af.po:
12800         * po/az.po:
12801         * po/bg.po:
12802         * po/ca.po:
12803         * po/cs.po:
12804         * po/de.po:
12805         * po/en_GB.po:
12806         * po/fr.po:
12807         * po/it.po:
12808         * po/nb.po:
12809         * po/nl.po:
12810         * po/ru.po:
12811         * po/sq.po:
12812         * po/sr.po:
12813         * po/sv.po:
12814         * po/tr.po:
12815         * po/uk.po:
12816         * po/vi.po:
12817         * win32/common/config.h:
12818         * win32/common/config.h.in:
12819         * win32/vs6/gst_inspect.dsp:
12820         * win32/vs6/gst_launch.dsp:
12821         * win32/vs6/libgstbase.dsp:
12822         * win32/vs6/libgstelements.dsp:
12823         * win32/vs6/libgstreamer.dsp:
12824         * win32/vs7/GStreamer.vcproj:
12825         * win32/vs7/gst-inspect.vcproj:
12826         * win32/vs7/gst-launch.vcproj:
12827         * win32/vs7/libgstbase.vcproj:
12828           bump GST_MAJORMINOR to 0.10
12829           reset libtool version
12830
12831 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12832
12833         * po/LINGUAS:
12834         * po/bg.po:
12835           Added Bulgarian translation by (Alexander Shopov)
12836
12837 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12838
12839         * tests/check/gst/gstplugin.c:
12840           fix test
12841
12842 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12843
12844         * common/gst-xmlinspect.py:
12845         * common/gtk-doc-plugins.mak:
12846         * configure.ac:
12847         * docs/Makefile.am:
12848         * docs/gst/Makefile.am:
12849         * docs/gst/gstreamer-docs.sgml:
12850         * docs/gst/gstreamer-sections.txt:
12851         * docs/gst/gstreamer.types:
12852         * docs/gst/gstreamer.types.in:
12853         * docs/plugins/Makefile.am:
12854         * docs/plugins/gstreamer-plugins-docs.sgml:
12855         * docs/plugins/gstreamer-plugins-sections.txt:
12856         * docs/plugins/gstreamer-plugins.types:
12857         * docs/plugins/inspect.stamp:
12858         * docs/plugins/inspect/plugin-coreelements.xml:
12859         * docs/plugins/inspect/plugin-coreindexers.xml:
12860         * docs/plugins/scanobj-build.stamp:
12861         * gstreamer.spec.in:
12862         * plugins/elements/Makefile.am:
12863         * plugins/elements/gstelements.c:
12864         * plugins/elements/gstfakesink.c:
12865         * plugins/elements/gstfakesrc.c:
12866         * plugins/elements/gstfilesink.c:
12867         * plugins/elements/gstfilesrc.c:
12868         * plugins/elements/gstqueue.c:
12869         * plugins/indexers/Makefile.am:
12870         * plugins/indexers/gstindexers.c:
12871           document core plugins in a separate document just like all the
12872           others
12873           rename these plugins to something starting with core
12874
12875 2005-12-01  Andy Wingo  <wingo@pobox.com>
12876
12877         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
12878         padding here before, but it missed the commit.
12879
12880 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12881
12882         * libs/gst/controller/gstinterpolation.c:
12883           whitespace prices have crashed, we should feel free to use some now
12884           use gst_guint64_to_gdouble
12885
12886 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12887
12888         * libs/gst/controller/gstcontroller.c:
12889         * libs/gst/controller/gsthelper.c:
12890         * libs/gst/controller/gstinterpolation.c:
12891         * libs/gst/controller/lib.c:
12892           wrap config.h include
12893
12894 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12895
12896         * docs/gst/gstreamer-sections.txt:
12897           update docs
12898
12899 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12900
12901         * plugins/elements/gstelements.c:
12902         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
12903         (gst_fd_sink__class_init), (gst_fd_sink__init),
12904         (gst_fd_sink__chain), (gst_fd_sink__set_property),
12905         (gst_fd_sink__get_property):
12906         * plugins/elements/gstfdsink.h:
12907         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
12908         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
12909         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
12910         (gst_fd_src_unlock), (gst_fd_src_set_property),
12911         (gst_fd_src_get_property), (gst_fd_src_create),
12912         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
12913         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
12914         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
12915         (gst_fd_src_uri_handler_init):
12916         * plugins/elements/gstfdsrc.h:
12917         * plugins/elements/gstqueue.c: (gst_queue_get_type):
12918           more anal cleanup
12919
12920 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12921
12922         * docs/gst/Makefile.am:
12923         * docs/gst/gstreamer.types.in:
12924         * gst/Makefile.am:
12925           fix the docs build
12926
12927 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12928
12929         * configure.ac:
12930         * gst/Makefile.am:
12931         * gst/gst.c:
12932         * gst/gstplugin.h:
12933         * gst/gstregistry.h:
12934         * tests/benchmarks/complexity.c:
12935         * tests/benchmarks/mass-elements.c:
12936         * tests/check/Makefile.am:
12937         * tools/Makefile.am:
12938         * tools/gst-inspect.c:
12939         * tools/gst-xmlinspect.c:
12940           various fixes to make
12941           --disable-nls --disable-registry --disable-loadsave
12942           --disable-parse --disable-gst-debug
12943           work and get the core .so down to 360444 bytes after stripping
12944
12945 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12946
12947         * Makefile.am:
12948         * configure.ac:
12949           descend into tests
12950         * docs/random/thomasvs/TODO:
12951         * tests/Makefile.am:
12952         * tests/README:
12953           add a README
12954
12955 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12956
12957         * win32/GStreamer.vcproj:
12958         * win32/MANIFEST:
12959         * win32/Makefile:
12960         * win32/Makefile.inspect:
12961         * win32/Makefile.launch:
12962         * win32/Makefile.register:
12963         * win32/README.txt:
12964         * win32/gst-inspect.vcproj:
12965         * win32/gst-launch.vcproj:
12966         * win32/gst-register.vcproj:
12967         * win32/gstelements.vcproj:
12968         * win32/gstgetbits.def:
12969         * win32/gstgetbits.vcproj:
12970         * win32/gstreamer-dbg.def:
12971         * win32/gstreamer.def:
12972         * win32/libgstbase.def:
12973         * win32/libgstbase.vcproj:
12974         * win32/link_oldruntime.c:
12975         * win32/mman.c:
12976         * win32/mman.h:
12977         * win32/mman.inl:
12978         * win32/msvc71.sln:
12979           move even more stuff, win32/ is nice and clean now
12980
12981 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12982
12983         * libs/gst/control/.cvsignore:
12984         * win32/MANIFEST:
12985         * win32/config.h:
12986         * win32/dirent.c:
12987         * win32/dirent.h:
12988         * win32/gstbytestream.def:
12989         * win32/gstbytestream.vcproj:
12990         * win32/gstconfig.h:
12991         * win32/gstenumtypes.c:
12992         * win32/gstenumtypes.h:
12993         * win32/gstoptimalscheduler.vcproj:
12994         * win32/gstversion.h:
12995         * win32/gtchar.h:
12996         * win32/testsuite/bins.vcproj:
12997         * win32/testsuite/bytestream.vcproj:
12998         * win32/testsuite/caps.vcproj:
12999         * win32/testsuite/cleanup.vcproj:
13000         * win32/testsuite/clock.vcproj:
13001         * win32/testsuite/debug.vcproj:
13002         * win32/testsuite/dlopen.vcproj:
13003         * win32/testsuite/dynparams.vcproj:
13004         * win32/testsuite/elements.vcproj:
13005         * win32/testsuite/ghostpads.vcproj:
13006         * win32/testsuite/indexers.vcproj:
13007         * win32/testsuite/negotiation.vcproj:
13008         * win32/testsuite/parse.vcproj:
13009         * win32/testsuite/plugin.vcproj:
13010         * win32/testsuite/refcounting.vcproj:
13011         * win32/testsuite/schedulers.vcproj:
13012         * win32/testsuite/states.vcproj:
13013         * win32/testsuite/tags.vcproj:
13014         * win32/testsuite/threads.vcproj:
13015           remove old win32 stuff that isn't maintained and should be
13016           reorganized
13017
13018 2005-11-30  Andy Wingo  <wingo@pobox.com>
13019
13020         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13021         loading the gst.interfaces python module bork.
13022
13023         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13024         available since GLib 2.2. Fixes #318031.
13025
13026 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13027
13028         * Makefile.am:
13029         * check/.cvsignore:
13030         * check/Makefile.am:
13031         * check/elements/.cvsignore:
13032         * check/elements/fakesrc.c:
13033         * check/elements/fdsrc.c:
13034         * check/elements/identity.c:
13035         * check/generic/.cvsignore:
13036         * check/generic/states.c:
13037         * check/gst-libs/.cvsignore:
13038         * check/gst-libs/controller.c:
13039         * check/gst-libs/gdp.c:
13040         * check/gst/.cvsignore:
13041         * check/gst/capslist.h:
13042         * check/gst/gst.c:
13043         * check/gst/gstbin.c:
13044         * check/gst/gstbuffer.c:
13045         * check/gst/gstbus.c:
13046         * check/gst/gstcaps.c:
13047         * check/gst/gstelement.c:
13048         * check/gst/gstevent.c:
13049         * check/gst/gstghostpad.c:
13050         * check/gst/gstiterator.c:
13051         * check/gst/gstmessage.c:
13052         * check/gst/gstminiobject.c:
13053         * check/gst/gstobject.c:
13054         * check/gst/gstpad.c:
13055         * check/gst/gstpipeline.c:
13056         * check/gst/gstplugin.c:
13057         * check/gst/gstsegment.c:
13058         * check/gst/gststructure.c:
13059         * check/gst/gstsystemclock.c:
13060         * check/gst/gsttag.c:
13061         * check/gst/gstutils.c:
13062         * check/gst/gstvalue.c:
13063         * check/net/.cvsignore:
13064         * check/net/gstnetclientclock.c:
13065         * check/net/gstnettimeprovider.c:
13066         * check/pipelines/.cvsignore:
13067         * check/pipelines/cleanup.c:
13068         * check/pipelines/simple_launch_lines.c:
13069         * check/pipelines/stress.c:
13070         * check/states/.cvsignore:
13071         * check/states/sinks.c:
13072         * configure.ac:
13073         * examples/Makefile.am:
13074         * examples/appreader/.cvsignore:
13075         * examples/appreader/Makefile.am:
13076         * examples/appreader/appreader.c:
13077         * examples/controller/.cvsignore:
13078         * examples/controller/Makefile.am:
13079         * examples/controller/audio-example.c:
13080         * examples/cutter/.cvsignore:
13081         * examples/cutter/Makefile.am:
13082         * examples/cutter/cutter.c:
13083         * examples/cutter/cutter.h:
13084         * examples/events/Makefile.am:
13085         * examples/events/seek.c:
13086         * examples/helloworld/.cvsignore:
13087         * examples/helloworld/Makefile.am:
13088         * examples/helloworld/helloworld.c:
13089         * examples/helloworld2/.cvsignore:
13090         * examples/helloworld2/Makefile.am:
13091         * examples/helloworld2/helloworld2.c:
13092         * examples/launch/.cvsignore:
13093         * examples/launch/Makefile.am:
13094         * examples/launch/mp3parselaunch.c:
13095         * examples/launch/mp3play:
13096         * examples/manual/.cvsignore:
13097         * examples/manual/Makefile.am:
13098         * examples/manual/extract.pl:
13099         * examples/metadata/Makefile.am:
13100         * examples/metadata/read-metadata.c:
13101         * examples/mixer/.cvsignore:
13102         * examples/mixer/Makefile.am:
13103         * examples/mixer/mixer.c:
13104         * examples/mixer/mixer.h:
13105         * examples/pingpong/.cvsignore:
13106         * examples/pingpong/Makefile.am:
13107         * examples/pingpong/pingpong.c:
13108         * examples/plugins/.cvsignore:
13109         * examples/plugins/Makefile.am:
13110         * examples/plugins/example.c:
13111         * examples/plugins/example.h:
13112         * examples/pwg/.cvsignore:
13113         * examples/pwg/Makefile.am:
13114         * examples/pwg/extract.pl:
13115         * examples/queue/.cvsignore:
13116         * examples/queue/Makefile.am:
13117         * examples/queue/queue.c:
13118         * examples/queue2/.cvsignore:
13119         * examples/queue2/Makefile.am:
13120         * examples/queue2/queue2.c:
13121         * examples/queue3/.cvsignore:
13122         * examples/queue3/Makefile.am:
13123         * examples/queue3/queue3.c:
13124         * examples/queue4/.cvsignore:
13125         * examples/queue4/Makefile.am:
13126         * examples/queue4/queue4.c:
13127         * examples/retag/.cvsignore:
13128         * examples/retag/Makefile.am:
13129         * examples/retag/retag.c:
13130         * examples/retag/transcode.c:
13131         * examples/thread/.cvsignore:
13132         * examples/thread/Makefile.am:
13133         * examples/thread/thread.c:
13134         * examples/typefind/.cvsignore:
13135         * examples/typefind/Makefile.am:
13136         * examples/typefind/typefind.c:
13137         * examples/xml/.cvsignore:
13138         * examples/xml/Makefile.am:
13139         * examples/xml/createxml.c:
13140         * examples/xml/runxml.c:
13141         * tests/Makefile.am:
13142         * tests/check/Makefile.am:
13143         * testsuite/.cvsignore:
13144         * testsuite/Makefile.am:
13145         * testsuite/Rules:
13146         * testsuite/caps/.cvsignore:
13147         * testsuite/caps/Makefile.am:
13148         * testsuite/caps/app_fixate.c:
13149         * testsuite/caps/audioscale.c:
13150         * testsuite/caps/caps.c:
13151         * testsuite/caps/caps.h:
13152         * testsuite/caps/caps_strings:
13153         * testsuite/caps/compatibility.c:
13154         * testsuite/caps/deserialize.c:
13155         * testsuite/caps/enumcaps.c:
13156         * testsuite/caps/eratosthenes.c:
13157         * testsuite/caps/filtercaps.c:
13158         * testsuite/caps/fixed.c:
13159         * testsuite/caps/fraction-convert.c:
13160         * testsuite/caps/fraction-multiply-and-zero.c:
13161         * testsuite/caps/intersect2.c:
13162         * testsuite/caps/intersection.c:
13163         * testsuite/caps/normalisation.c:
13164         * testsuite/caps/random.c:
13165         * testsuite/caps/renegotiate.c:
13166         * testsuite/caps/sets.c:
13167         * testsuite/caps/simplify.c:
13168         * testsuite/caps/string-conversions.c:
13169         * testsuite/caps/structure.c:
13170         * testsuite/caps/subtract.c:
13171         * testsuite/caps/union.c:
13172         * testsuite/debug/.cvsignore:
13173         * testsuite/debug/Makefile.am:
13174         * testsuite/debug/category.c:
13175         * testsuite/debug/commandline.c:
13176         * testsuite/debug/global.c:
13177         * testsuite/debug/output.c:
13178         * testsuite/debug/printf_extension.c:
13179         * testsuite/dlopen/.cvsignore:
13180         * testsuite/dlopen/Makefile.am:
13181         * testsuite/dlopen/dlopen_gst.c:
13182         * testsuite/dlopen/loadgst.c:
13183         * testsuite/elements/.cvsignore:
13184         * testsuite/elements/Makefile.am:
13185         * testsuite/elements/gst-inspect-check.in:
13186         * testsuite/elements/struct_i386.h:
13187         * testsuite/elements/struct_size.c:
13188         * testsuite/indexers/.cvsignore:
13189         * testsuite/indexers/Makefile.am:
13190         * testsuite/indexers/cache1.c:
13191         * testsuite/indexers/indexdump.c:
13192         * testsuite/parse/.cvsignore:
13193         * testsuite/parse/Makefile.am:
13194         * testsuite/parse/parse1.c:
13195         * testsuite/parse/parse2.c:
13196         * testsuite/plugin/.cvsignore:
13197         * testsuite/plugin/Makefile.am:
13198         * testsuite/plugin/README:
13199         * testsuite/plugin/dynamic.c:
13200         * testsuite/plugin/linked.c:
13201         * testsuite/plugin/loading.c:
13202         * testsuite/plugin/registry.c:
13203         * testsuite/plugin/static.c:
13204         * testsuite/plugin/static2.c:
13205         * testsuite/plugin/testplugin.c:
13206         * testsuite/plugin/testplugin2.c:
13207         * testsuite/plugin/testplugin2_s.c:
13208         * testsuite/plugin/testplugin_s.c:
13209         * testsuite/refcounting/.cvsignore:
13210         * testsuite/refcounting/Makefile.am:
13211         * testsuite/refcounting/bin.c:
13212         * testsuite/refcounting/element.c:
13213         * testsuite/refcounting/element_pad.c:
13214         * testsuite/refcounting/mainloop.c:
13215         * testsuite/refcounting/mem.c:
13216         * testsuite/refcounting/mem.h:
13217         * testsuite/refcounting/object.c:
13218         * testsuite/refcounting/pad.c:
13219         * testsuite/refcounting/sched.c:
13220         * testsuite/refcounting/thread.c:
13221         * testsuite/states/.cvsignore:
13222         * testsuite/states/Makefile.am:
13223         * testsuite/states/bin.c:
13224         * testsuite/states/locked.c:
13225         * testsuite/states/parent.c:
13226         * testsuite/threads/.cvsignore:
13227         * testsuite/threads/159566.c:
13228         * testsuite/threads/159852.c:
13229         * testsuite/threads/Makefile.am:
13230         * testsuite/threads/queue.c:
13231         * testsuite/threads/signals.c:
13232         * testsuite/threads/staticrec.c:
13233         * testsuite/threads/thread.c:
13234         * testsuite/threads/threadb.c:
13235         * testsuite/threads/threadc.c:
13236         * testsuite/threads/threadd.c:
13237         * testsuite/threads/threade.c:
13238         * testsuite/threads/threadf.c:
13239         * testsuite/threads/threadg.c:
13240         * testsuite/threads/threadh.c:
13241         * testsuite/threads/threadi.c:
13242           move all of these under tests
13243
13244 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13245
13246         * configure.ac:
13247         * tests/Makefile.am:
13248           fix distcheck
13249
13250 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13251
13252         * docs/gst/gstreamer-sections.txt:
13253         * tests/sched/.cvsignore:
13254         * tests/sched/Makefile.am:
13255         * tests/sched/cases/(fs-fs).xml:
13256         * tests/sched/cases/(fs-i-fs).xml:
13257         * tests/sched/cases/(fs-i-i-fs).xml:
13258         * tests/sched/cases/(fs-i-q[i-fs]).xml:
13259         * tests/sched/dynamic-pipeline.c:
13260         * tests/sched/interrupt1.c:
13261         * tests/sched/interrupt2.c:
13262         * tests/sched/interrupt3.c:
13263         * tests/sched/runtestcases:
13264         * tests/sched/runxml.c:
13265         * tests/sched/sched-stress.c:
13266         * tests/sched/sort.c:
13267         * tests/sched/testcases:
13268         * tests/sched/testcases1.tc:
13269         * tests/seeking/.cvsignore:
13270         * tests/seeking/Makefile.am:
13271         * tests/seeking/seeking1.c:
13272         * tests/threadstate/.cvsignore:
13273         * tests/threadstate/Makefile.am:
13274         * tests/threadstate/test1.c:
13275         * tests/threadstate/test2.c:
13276         * tests/threadstate/threadstate1.c:
13277         * tests/threadstate/threadstate2.c:
13278         * tests/threadstate/threadstate3.c:
13279         * tests/threadstate/threadstate4.c:
13280         * tests/threadstate/threadstate5.c:
13281           remove obsolete tests
13282         * configure.ac:
13283         * tests/bench-complexity.scm:
13284         * tests/bench-mass_elements.scm:
13285         * tests/complexity.c:
13286         * tests/complexity.gnuplot:
13287         * tests/instantiate/.cvsignore:
13288         * tests/instantiate/Makefile.am:
13289         * tests/instantiate/caps.c:
13290         * tests/mass_elements.c:
13291         * tests/network-clock-utils.scm:
13292         * tests/network-clock.scm:
13293         * tests/plot-data:
13294         First pass at cleaning up tests/ dir before moving the rest
13295         Combined with CVS surgery
13296
13297 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13298
13299         * po/POTFILES.in:
13300           queue has moved, update
13301
13302 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13303
13304         * docs/gst/gstreamer-sections.txt:
13305           remove double entries from the docs
13306         * gst/gst_private.h:
13307         * gst/gstinfo.c: (_gst_debug_init):
13308           remove the THREAD debug category
13309         * gst/Makefile.am:
13310         * gst/gstqueue.c:
13311         * gst/gstqueue.h:
13312         * docs/gst/gstreamer.types:
13313         * plugins/elements/gstqueue.c: (gst_queue_get_type),
13314         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13315           completely move queue and fix up debugging categories
13316
13317 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13318
13319         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13320           make initialization portable, using LL is not
13321
13322 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13323
13324         * win32/common/gstconfig.h:
13325           add large padding
13326
13327 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13328
13329         * win32/common/libgstreamer.def:
13330           rename symbols; sort base section
13331
13332 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13333
13334         * gst/gstclock.c: (do_linear_regression):
13335           remove crack non-portable handrolled DEBUG macro
13336
13337 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13338
13339         * docs/random/release:
13340           update notes
13341         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13342         (gst_object_flags_get_type), (register_gst_bin_flags),
13343         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13344         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13345         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13346         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13347         (gst_caps_flags_get_type), (register_gst_clock_return),
13348         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13349         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13350         (gst_clock_flags_get_type), (register_gst_state),
13351         (gst_state_get_type), (register_gst_state_change_return),
13352         (gst_state_change_return_get_type), (register_gst_state_change),
13353         (gst_state_change_get_type), (register_gst_element_flags),
13354         (gst_element_flags_get_type), (register_gst_core_error),
13355         (gst_core_error_get_type), (register_gst_library_error),
13356         (gst_library_error_get_type), (register_gst_resource_error),
13357         (gst_resource_error_get_type), (register_gst_stream_error),
13358         (gst_stream_error_get_type), (register_gst_event_type_flags),
13359         (gst_event_type_flags_get_type), (register_gst_event_type),
13360         (gst_event_type_get_type), (register_gst_seek_type),
13361         (gst_seek_type_get_type), (register_gst_seek_flags),
13362         (gst_seek_flags_get_type), (register_gst_format),
13363         (gst_format_get_type), (register_gst_index_certainty),
13364         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13365         (gst_index_entry_type_get_type),
13366         (register_gst_index_lookup_method),
13367         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13368         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13369         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13370         (gst_index_flags_get_type), (register_gst_debug_level),
13371         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13372         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13373         (gst_iterator_result_get_type), (register_gst_iterator_item),
13374         (gst_iterator_item_get_type), (register_gst_message_type),
13375         (gst_message_type_get_type), (register_gst_mini_object_flags),
13376         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13377         (gst_pad_link_return_get_type), (register_gst_flow_return),
13378         (gst_flow_return_get_type), (register_gst_activate_mode),
13379         (gst_activate_mode_get_type), (register_gst_pad_direction),
13380         (gst_pad_direction_get_type), (register_gst_pad_flags),
13381         (gst_pad_flags_get_type), (register_gst_pad_presence),
13382         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13383         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13384         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13385         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13386         (gst_plugin_flags_get_type), (register_gst_rank),
13387         (gst_rank_get_type), (register_gst_query_type),
13388         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13389         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13390         (gst_tag_flag_get_type), (register_gst_task_state),
13391         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13392         (gst_alloc_trace_flags_get_type),
13393         (register_gst_type_find_probability),
13394         (gst_type_find_probability_get_type), (register_gst_uri_type),
13395         (gst_uri_type_get_type), (register_gst_parse_error),
13396         (gst_parse_error_get_type):
13397         * win32/common/gstenumtypes.h:
13398         * win32/common/gstversion.h:
13399           update visual studio generated files
13400
13401 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13402
13403         * win32/vs6/libgstbase.dsp:
13404         * win32/vs6/libgstelements.dsp:
13405           update project files for new locations
13406
13407 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13408
13409         * Makefile.am:
13410           remove some files
13411         * README:
13412           reinstate and update
13413         * DEVEL:
13414         * REQUIREMENTS:
13415           removed
13416         * LICENSE:
13417         * docs/random/LICENSE:
13418           moved to random
13419
13420 2005-11-30  Edward Hervey  <edward@fluendo.com>
13421
13422         * gst/gsttypefind.c: (gst_type_find_register):
13423         * gst/gsttypefind.h:
13424         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13425         (gst_type_find_factory_dispose):
13426         * gst/gsttypefindfactory.h:
13427         Fix memory leak in GstTypeFindFactory.
13428
13429 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13430
13431         * gst/gst.c:
13432         * plugins/elements/Makefile.am:
13433         * plugins/elements/gstelements.c:
13434         * plugins/elements/gstqueue.c:
13435           move queue from core to the elements plugin
13436
13437 2005-11-29  Andy Wingo  <wingo@pobox.com>
13438
13439         * libs/gst/base/gstbasetransform.h: 
13440         * libs/gst/base/gstbasesrc.h: 
13441         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13442
13443         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13444         of pointers by which to pad very extensible base classes (like the
13445         ones in libs/gst/base).
13446
13447 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13448
13449         * docs/gst/gstreamer-docs.sgml:
13450         * docs/gst/gstreamer-sections.txt:
13451         * docs/libs/gstreamer-libs-docs.sgml:
13452         * docs/libs/gstreamer-libs-sections.txt:
13453           moving documentation from core to lib
13454
13455 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13456
13457         * check/Makefile.am:
13458         * configure.ac:
13459         * docs/gst/Makefile.am:
13460         * gst/Makefile.am:
13461         * gst/base/.cvsignore:
13462         * gst/base/Makefile.am:
13463         * gst/base/README:
13464         * gst/base/gstadapter.c:
13465         * gst/base/gstadapter.h:
13466         * gst/base/gstbasesink.c:
13467         * gst/base/gstbasesink.h:
13468         * gst/base/gstbasesrc.c:
13469         * gst/base/gstbasesrc.h:
13470         * gst/base/gstbasetransform.c:
13471         * gst/base/gstbasetransform.h:
13472         * gst/base/gstcollectpads.c:
13473         * gst/base/gstcollectpads.h:
13474         * gst/base/gstpushsrc.c:
13475         * gst/base/gstpushsrc.h:
13476         * gst/base/gsttypefindhelper.c:
13477         * gst/base/gsttypefindhelper.h:
13478         * gst/check/Makefile.am:
13479         * gst/check/gstcheck.c:
13480         * gst/check/gstcheck.h:
13481         * gst/net/Makefile.am:
13482         * gst/net/gstnet.h:
13483         * gst/net/gstnetclientclock.c:
13484         * gst/net/gstnetclientclock.h:
13485         * gst/net/gstnettimepacket.c:
13486         * gst/net/gstnettimepacket.h:
13487         * gst/net/gstnettimeprovider.c:
13488         * gst/net/gstnettimeprovider.h:
13489         * libs/gst/Makefile.am:
13490         * libs/gst/base/Makefile.am:
13491         * libs/gst/base/gstbasetransform.c:
13492         * libs/gst/check/Makefile.am:
13493         * plugins/elements/Makefile.am:
13494         * po/POTFILES.in:
13495           CVS surgery + support to move base, check, and net out of gst
13496           and into libs/gst
13497
13498 2005-11-29  Andy Wingo  <wingo@pobox.com>
13499
13500         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
13501
13502         * gst/gststructure.h (struct _GstStructure): Only one pointer of
13503         padding.
13504
13505         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
13506
13507         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
13508
13509         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
13510
13511         * gst/gstobject.h: (struct _GstObject): Only one pointer of
13512         padding; reduces object size by about 30%. We don't expect
13513         anything else to go into gstobject.
13514
13515         * gst/gstminiobject.h (struct _GstMiniObject)
13516         (struct _GstMiniObjectClass): Only one pointer of padding; the
13517         payload is only a pointer and two ints anyway. For the class there
13518         are only two methods as well.
13519         
13520         * gst/gstelement.h (struct _GstElementClass): Removed
13521         the state_changed signal callback, it is not used.
13522
13523 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13524
13525         * docs/gst/gstreamer.types:
13526           fix includes, though they are a little dinky
13527
13528 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13529
13530         * check/Makefile.am:
13531           look in the right place for elements, a lot more chance of
13532           success
13533         * gst/Makefile.am:
13534           remove indexers and elements subdirs
13535         * plugins/Makefile.am:
13536           make indexers conditional
13537
13538 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13539
13540         * Makefile.am:
13541         * configure.ac:
13542         * plugins/elements/Makefile.am:
13543         * plugins/elements/gstcapsfilter.c:
13544         * plugins/elements/gstfilesink.c:
13545         * plugins/elements/gstfilesrc.c:
13546         * plugins/elements/gstidentity.c:
13547         * plugins/indexers/Makefile.am:
13548           do CVS surgery and related build fixery to move elements
13549           and indexers in a new gstreamer/plugins directory, out of the
13550           gst/ directory
13551
13552 2005-11-29  Andy Wingo  <wingo@pobox.com>
13553
13554         * check/Makefile.am:
13555         * pkgconfig/gstreamer-net-uninstalled.pc.in:
13556         * pkgconfig/gstreamer-net.pc.in:
13557         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
13558         #322257.
13559
13560 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13561
13562         * tools/Makefile.am:
13563         * tools/gst-complete.1.in:
13564         * tools/gst-complete.c:
13565         * tools/gst-compprep.1.in:
13566         * tools/gst-compprep.c:
13567           removing -compprep and -complete
13568
13569 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13570
13571         * gst/gstevent.c: (gst_event_new_new_segment),
13572         (gst_event_parse_new_segment):
13573         * gst/gstevent.h:
13574           fix #320529 - clean up new_segment API and structure.
13575           Let's hope everyone was using the methods, and not the structure.
13576
13577 2005-11-29  Edward Hervey  <edward@fluendo.com>
13578
13579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13580         (gst_base_sink_event), (gst_base_sink_do_sync),
13581         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13582         Properly handle non GST_FORMAT_TIME segment
13583         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13584         Properly handle non GST_FORMAT_TIME segment
13585         * gst/gstsegment.c:
13586         This function is valid if the accumulator is 0 and the format
13587         is different from the requested format.
13588         
13589 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13590
13591         * docs/gst/gstreamer-sections.txt:
13592         Add gst_query_new_seeking and gst_query_parse_seeking to the
13593         docs.
13594
13595 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
13596
13597         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13598           Treat a pad alloc with new caps the same as if we were not
13599           negotiated, in order to allow a changing upstream output
13600           to produce a new format of data.
13601
13602 2005-11-29  Edward Hervey  <edward@fluendo.com>
13603
13604         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13605         (gst_base_transform_event), (gst_base_transform_eventfunc):
13606         The event virtual method is now properly implemented, with a default
13607         handler
13608         Sub classes should call the parent_class event method. They should
13609         return FALSE if they had a problem handling the given event, or don't
13610         want GstBaseTransform to send that even downstream
13611         * gst/elements/gstidentity.c: (gst_identity_class_init),
13612         (gst_identity_init), (gst_identity_event),
13613         (gst_identity_transform_ip), (gst_identity_set_property),
13614         (gst_identity_get_property):
13615         * gst/elements/gstidentity.h:
13616         Added the single-segment boolean property.
13617         If set to TRUE, it will output a single segment of data, starting from
13618         0, will eat up all incoming newsegment, and modify the timestamp of the
13619         buffers accordingly
13620
13621 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
13622
13623         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
13624           Don't ref NULL target pad (#322751). Improve docs.
13625
13626 2005-11-29  Michael Smith  <msmith@fluendo.com>
13627
13628         * gst/gstregistryxml.c: (load_plugin):
13629           Don't crash if we failed to load a feature from a plugin. 
13630
13631 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13632
13633         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13634         (GST_START_TEST):
13635           use more check API and less GLib API
13636
13637 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13638
13639         * Makefile.am:
13640           don't run checks if we don't have check
13641         * common/check.mak:
13642           remove the registry when running make torture
13643         * docs/gst/gstreamer-sections.txt:
13644           remove second multiply
13645         * gst/gstqueue.c: (gst_queue_loop):
13646           fix a compile warning when disabling debug
13647
13648 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13649
13650         * gst/gstinfo.h:
13651         Hey! Let's print the pad name if the pointer != NULL instead
13652         of when it == NULL :-)
13653
13654 2005-11-28  Wim Taymans  <wim@fluendo.com>
13655
13656         * check/gst/gstutils.c: (GST_START_TEST):
13657         Updated check, add some scaling accuracy checking code.
13658
13659         * gst/gstutils.c: (gst_util_div128_64),
13660         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
13661         (gst_util_uint64_scale_int):
13662         Fix 6 times faster division code. Optimize for common 
13663         1/1 and less common X/1 cases.
13664
13665 2005-11-28  Wim Taymans  <wim@fluendo.com>
13666
13667         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13668         More checks.
13669
13670         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
13671         (do_linear_regression), (gst_clock_add_observation):
13672         Cleanups.
13673         Release lock when the clock cannot be slaved.
13674         Catch the case where the regression returned an invalid denominator.
13675
13676         * gst/gstutils.c: (gst_util_div128_64_iterate),
13677         (gst_util_div128_64), (gst_util_uint64_scale_int64),
13678         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13679         Add protentially more performant non-iterative 128/64 divide function
13680         that unfortunatly does not work yet.
13681         Shortcut the trivial 0/X = 0 case.
13682         Remove the warnings on overflow.
13683
13684 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13685
13686         * gst/gstplugin.c: (gst_plugin_register_func):
13687           everything causing a plugin not to load should be at least a WARNING
13688
13689 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
13690
13691         * docs/random/ensonic/dparams.txt:
13692           some TODOs for the next dev cycle
13693         * libs/gst/controller/gstcontroller.c:
13694         (gst_controlled_property_set_interpolation_mode),
13695         (gst_controlled_property_new):
13696         * libs/gst/controller/gstcontroller.h:
13697           use base type to assign acccessor functions
13698
13699 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13700
13701         * check/Makefile.am:
13702         Oops, that should have been top_srcdir
13703
13704 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
13705
13706         * check/Makefile.am:
13707         * check/elements/fdsrc.c: (GST_START_TEST):
13708         Use a cmdline define to specify the location of a file to use for
13709         testing, to avoid breaking distcheck.
13710
13711 2005-11-28  Andy Wingo  <wingo@pobox.com>
13712
13713         * gst/gstpad.c (fixate_value): Use array functions for arrays.
13714
13715 2005-11-28  Edward Hervey  <edward@fluendo.com>
13716
13717         * tools/gst-launch.c: (main):
13718         Clarify the output strings, makes it easier to translate.
13719         Fixes #322626
13720
13721 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13722
13723         * gst/Makefile.am:
13724           don't try and build net if we don't even have <sys/socket.h>
13725
13726 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
13727
13728         * check/Makefile.am:
13729         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13730         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13731           Add tests for fdsrc seekability
13732
13733         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13734         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13735         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13736         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13737         * gst/elements/gstfdsrc.h:
13738           fdsrc should not be a 'live' source.
13739           Implement seeking on seekable fd's.
13740
13741         * gst/gstquery.c: (gst_query_new_seeking),
13742         (gst_query_parse_seeking):
13743         * gst/gstquery.h:
13744           Implement SEEKING query functions: 
13745             *_new_seeking and *_parse_seeking
13746
13747 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
13748
13749         * gst/gstelement.c: (gst_element_dispose):
13750           don't loop forever
13751
13752         * gst/gstiterator.c:
13753         * gst/gststructure.c:
13754           doc fixes
13755
13756         * libs/gst/controller/gstcontroller.c:
13757         (gst_controlled_property_set_interpolation_mode):
13758         * libs/gst/controller/gstcontroller.h:
13759         * libs/gst/controller/gstinterpolation.c:
13760         (interpolate_none_get_enum_value_array):
13761           support controlling enums
13762
13763 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13764
13765         * gst/gstvalue.c:
13766           Improve documentation for gst_value_union().
13767
13768         * gst/gstvalue.h:
13769           Change return value for union, intersect and subtract functions
13770           from gint to gboolean.
13771
13772 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
13773
13774         * gst/gstvalue.c: (gst_value_serialize_any_list),
13775         (gst_value_transform_any_list_string),
13776         (gst_value_deserialize_list), (gst_value_deserialize_array),
13777         (gst_value_set_int_range), (gst_value_deserialize_int_range),
13778         (gst_value_set_double_range), (gst_value_deserialize_double_range),
13779         (gst_value_set_fraction_range_full),
13780         (gst_value_deserialize_fraction_range),
13781         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
13782         (gst_value_deserialize_boolean),
13783         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13784         (gst_value_serialize_float), (gst_value_deserialize_float),
13785         (gst_string_wrap), (gst_value_deserialize_string),
13786         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
13787         (gst_value_union_int_range_int_range),
13788         (gst_value_intersect_int_range_int_range),
13789         (gst_value_intersect_double_range_double_range),
13790         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
13791         (gst_value_subtract_int_range_int_range),
13792         (gst_value_subtract_double_double_range),
13793         (gst_value_subtract_double_range_double_range),
13794         (gst_value_deserialize_fraction):
13795         * gst/gstvalue.h:
13796           Use gint, gdouble and gchar in our API instead of int, double and
13797           char (and make usage in gstvalue.c more consistent).
13798
13799 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13800
13801         * check/Makefile.am:
13802         * libs/gst/controller/Makefile.am:
13803         * libs/gst/dataprotocol/Makefile.am:
13804           fix up Makefile.am and remove GST_ENABLE_NEW
13805
13806 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13807
13808         * configure.ac:
13809         * gst/Makefile.am:
13810         * gst/base/Makefile.am:
13811         * gst/check/Makefile.am:
13812         * gst/elements/Makefile.am:
13813         * gst/net/Makefile.am:
13814           update LDFLAGS use some more
13815
13816 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13817
13818         * common/m4/gst-doc.m4:
13819           Fixes #312589
13820
13821 2005-11-26  Edward Hervey  <edward@fluendo.com>
13822
13823         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13824         This shouldn't issue a g_warning since it returns NULL if it
13825         couldn't find the plugin, and all functions using this behave
13826         properly on a NULL return. Switching to a GST_WARNING.
13827
13828 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
13829
13830         * gst/gstbin.c: (gst_bin_handle_message_func):
13831         Don't leak clock messages.
13832
13833 2005-11-25  Wim Taymans  <wim@fluendo.com>
13834
13835         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13836         (gst_util_uint64_scale_int):
13837         Optimisations, remove unneeded vars.
13838
13839 2005-11-25  Wim Taymans  <wim@fluendo.com>
13840
13841         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13842         Added more checks for the high precision uint64 cases.
13843
13844         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13845         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13846         Implement high precision (guint64 * guint64) / guint64.
13847
13848 2005-11-24  Wim Taymans  <wim@fluendo.com>
13849
13850         * gst/base/gstbasesrc.c: (gst_base_src_query):
13851         Fix wrong percentage query.
13852
13853         * gst/gstutils.c: (gst_util_uint64_scale),
13854         (gst_util_uint64_scale_int):
13855         Add some more common cases that can be handled 
13856         efficiently to _scale.
13857
13858 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13859
13860         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
13861         (gst_mini_object_suite):
13862           don't use check calls from threads; check probably isn't
13863           threadsafe and using a lock to make it threadsafe would
13864           defeat the purpose of this check
13865         * gst/check/gstcheck.c:
13866         * gst/check/gstcheck.h:
13867           use GST_DEBUG some more
13868
13869 2005-11-24  Wim Taymans  <wim@fluendo.com>
13870
13871         * gst/gstutils.c: (gst_util_uint64_scale),
13872         (gst_util_uint64_scale_int):
13873         Chain trivial case to _scale_int.
13874
13875 2005-11-24  Wim Taymans  <wim@fluendo.com>
13876
13877         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13878         Added test for scaling.
13879
13880         * gst/gstclock.h:
13881         Small doc fix.
13882
13883         * gst/gstutils.c: (gst_util_uint64_scale_int):
13884         Implemented high precision scaling code.
13885
13886 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
13887
13888         * gst/gstinfo.h:
13889           do not crash on pad==NULL
13890
13891 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13892
13893         Patch by: Stefan Kost
13894
13895         * common/gtk-doc.mak:
13896         * docs/gst/Makefile.am:
13897         * docs/libs/Makefile.am:
13898           Fix distcheck issues for the libraries docs build
13899           Closes #319599.
13900
13901 2005-11-24  Michael Smith <msmith@fluendo.com>
13902
13903         * docs/manual/basics-helloworld.xml:
13904           Fix bug #315027: memory leak in example code in docs.
13905
13906 2005-11-24  Michael Smith <msmith@fluendo.com>
13907
13908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13909           Unlock the PREROLL_LOCK in a failure case.
13910
13911 2005-11-24  Wim Taymans  <wim@fluendo.com>
13912
13913         * docs/gst/gstreamer-sections.txt:
13914         * gst/base/gstadapter.h:
13915         * gst/base/gstbasesink.h:
13916         * gst/base/gstbasesrc.h:
13917         * gst/base/gstbasetransform.h:
13918         * gst/base/gstpushsrc.h:
13919         * gst/elements/gstfakesink.h:
13920         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
13921         * gst/elements/gstfakesrc.h:
13922         * gst/elements/gstfilesink.h:
13923         * gst/elements/gstfilesrc.h:
13924         * gst/gst.c:
13925         * gst/gstbin.c:
13926         * gst/gstbuffer.c: (_gst_buffer_copy):
13927         * gst/gstbus.h:
13928         * gst/gstcaps.c:
13929         * gst/gstchildproxy.c:
13930         * gst/gstclock.c:
13931         * gst/gstelement.c:
13932         * gst/gstelementfactory.c:
13933         * gst/gstelementfactory.h:
13934         * gst/gstevent.c:
13935         * gst/gstghostpad.h:
13936         * gst/gstindex.h:
13937         * gst/gstinterface.h:
13938         * gst/gstminiobject.c:
13939         * gst/gstminiobject.h:
13940         * gst/gstpad.c:
13941         * gst/gstpad.h:
13942         * gst/gstpadtemplate.h:
13943         * gst/gstpipeline.h:
13944         * gst/gstpluginfeature.h:
13945         * gst/gstquery.h:
13946         * gst/gstqueue.h:
13947         * gst/gsttaglist.c:
13948         * gst/gsttaglist.h:
13949         * gst/gsttagsetter.c:
13950         * gst/gsttagsetter.h:
13951         * gst/gsttrace.c:
13952         * gst/gsttrace.h:
13953         * gst/gsttypefind.h:
13954         * gst/gsturi.h:
13955         * gst/gstvalue.c:
13956         * gst/net/gstnetclientclock.c:
13957         * gst/net/gstnetclientclock.h:
13958         * gst/net/gstnettimepacket.c:
13959         * gst/net/gstnettimeprovider.c:
13960         * gst/net/gstnettimeprovider.h:
13961         Doc fixes.
13962
13963 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13964
13965         * configure.ac: back to HEAD
13966
13967 === release 0.9.6 ===
13968
13969 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
13970
13971         * configure.ac:
13972           releasing 0.9.6, "Always On Time"
13973
13974 2005-11-23  Wim Taymans  <wim@fluendo.com>
13975
13976         * docs/gst/gstreamer-sections.txt:
13977         * gst/glib-compat.c:
13978         * gst/gsttagsetter.c:
13979         * gst/gstvalue.c:
13980         * gst/net/gstnetclientclock.c:
13981         * gst/net/gstnettimepacket.h:
13982         Doc updates.
13983
13984 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13985
13986         * docs/faq/using.xml:
13987         * docs/libs/tmpl/gstcontrol.sgml:
13988         * docs/manual/advanced-dparams.xml:
13989         * docs/manual/appendix-checklist.xml:
13990         * docs/manual/basics-elements.xml:
13991         * docs/pwg/other-source.xml:
13992         * docs/random/moving-plugins:
13993         * gst/gstpad.c:
13994         * tools/gst-launch.1.in:
13995           remove mentions of sinesrc
13996
13997 2005-11-23  Michael Smith <msmith@fluendo.com>
13998
13999         * docs/gst/gstreamer-sections.txt:
14000           Update for new API and API changes.
14001         * gst/gstobject.h:
14002           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14003         * gst/gstvalue.c:
14004           Documentation typo fix.
14005         * gst/net/gstnettimepacket.c:
14006           Documentation fixes for arguments.
14007
14008 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
14009
14010         * gst/gststructure.c: (gst_structure_get_fraction),
14011         (gst_structure_parse_value),
14012         (gst_structure_fixate_field_nearest_fraction):
14013         * gst/gststructure.h:
14014         * gst/gstutils.c: (gst_util_uint64_scale_int):
14015         * gst/gstutils.h:
14016         * scripts/update-funcnames:
14017         API Changes. 
14018         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14019         Make gst_structure_fixate_field_nearest_fraction take a numerator
14020         and denominator argument instead of a GValue
14021         add gst_structure_get_fraction helper function.
14022
14023 2005-11-23  Wim Taymans  <wim@fluendo.com>
14024
14025         * docs/design/part-TODO.txt:
14026         Update TODO.
14027
14028         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14029         * gst/net/gstnetclientclock.h:
14030         Use parent fields for timeout and window_size.
14031
14032 2005-11-23  Andy Wingo  <wingo@pobox.com>
14033
14034         * check/net/gstnetclientclock.c (test_functioning): Adjust to
14035         rate_num/rate_denom change.
14036
14037         * gst/net/gstnetclientclock.c
14038         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14039         OBJECT_LOCK. Don't call add_observation with the lock.
14040
14041         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14042         fraction.
14043         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14044         rate fraction.
14045         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14046         deal with rate as a fraction whose numerator and denominator are
14047         GstClockTime values.
14048         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14049         master; the other fields are protected by the SLAVE_LOCK.
14050         (do_linear_regression): Note that this must be called with the
14051         SLAVE_LOCK.
14052         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14053         OBJECT_LOCK. Call set_calibration instead of touching the
14054         variables directly.
14055         (gst_clock_set_property, gst_clock_get_property): Protect
14056         master/slave parameters with the SLAVE_LOCK.
14057
14058         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14059         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14060         note that all of the instance variables that add_observation and
14061         the set_master functions use are protected by that lock and not
14062         the OBJECT_LOCK.
14063         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14064
14065         * gst/gstclock.c (gst_clock_add_observation): No longer requires
14066         the caller to take the object lock.
14067
14068 2005-11-23  Wim Taymans  <wim@fluendo.com>
14069
14070         * gst/gsterror.c: (_gst_core_errors_init):
14071         * gst/gsterror.h:
14072         Add error for clock stuff.
14073
14074         * gst/gstpipeline.c: (gst_pipeline_change_state),
14075         (gst_pipeline_set_clock):
14076         Post clock error when clock cannot be used in a pipeline.
14077
14078 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
14079
14080         * docs/gst/gstreamer-sections.txt:
14081           make two symbols from gstinfo private for the docs
14082         * gst/base/gstcollectpads.h:
14083         * gst/gstutils.c:
14084           fix doc typos, update docs
14085
14086 2005-11-22  Wim Taymans  <wim@fluendo.com>
14087
14088         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14089         (gst_base_sink_wait), (gst_base_sink_do_sync),
14090         (gst_base_sink_handle_event):
14091         * gst/base/gstbasesink.h:
14092         No need to store the clock, the parent element class already
14093         has it.
14094
14095         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14096         Updates for clock_set returning a gboolean
14097
14098         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14099         (gst_clock_id_wait_async), (gst_clock_class_init),
14100         (gst_clock_init), (gst_clock_finalize),
14101         (gst_clock_get_internal_time), (gst_clock_get_time),
14102         (gst_clock_slave_callback), (gst_clock_set_master),
14103         (gst_clock_get_master), (do_linear_regression),
14104         (gst_clock_add_observation), (gst_clock_set_property),
14105         (gst_clock_get_property):
14106         * gst/gstclock.h:
14107         Implement master/slave. When setting a clock as a slave, a
14108         periodic timeout is scheduled to sample master and slave times.
14109         Then the slave clock is recalibrated to match offset and rate
14110         of the master clock.
14111         Update logging a bit.
14112         Add flag so that a clock can state that is cannot be slaved to
14113         another clock.
14114
14115         * gst/gstelement.c: (gst_element_set_clock):
14116         * gst/gstelement.h:
14117         The set clock returns a gboolean for when an element cannot
14118         deal with the selected clock in the pipeline. 
14119
14120         * gst/gstpipeline.c: (gst_pipeline_change_state),
14121         (gst_pipeline_set_clock):
14122         * gst/gstpipeline.h:
14123         Handle the case where the selected clock cannot be set on
14124         the pipeline.
14125
14126         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14127         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14128         (gst_net_client_clock_set_property),
14129         (gst_net_client_clock_get_property),
14130         (gst_net_client_clock_observe_times):
14131         * gst/net/gstnetclientclock.h:
14132         Use regression code in GstClock parent, remove duplicated
14133         functionality.
14134
14135 2005-11-22  Michael Smith <msmith@fluendo.com>
14136
14137         * gst/gstutils.c: (gst_util_clock_time_scale):
14138         * gst/gstutils.h:
14139         * docs/gst/gstreamer-sections.txt:
14140           Rename method to have extra underscore.
14141
14142 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14143
14144         * gst/elements/Makefile.am:
14145         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14146         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14147         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14148         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14149         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14150         * gst/elements/gstfakesrc.h:
14151         * gst/gstqueue.c: (queue_leaky_get_type):
14152           correctly fix GEnumValues so that nick is the short lowercase
14153           dashed tag
14154         * tools/gst-inspect.c: (print_element_properties_info):
14155           also show the nick, since it's useful to use from parse_launch
14156           syntax
14157           Fixes #322139
14158
14159 2005-11-22  Michael Smith <msmith@fluendo.com>
14160
14161         * gst/gstutils.c: (gst_util_clocktime_scale):
14162         * gst/gstutils.h:
14163         * docs/gst/gstreamer-sections.txt:
14164           Add util method for scaling a clocktime by a fraction. Useful 
14165           implementation is left as an exercise for the reader.
14166
14167 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14168
14169         * gst/gstvalue.c: (gst_value_collect_fraction_range):
14170         If needed, allocate storage in the destination value during
14171         collection.
14172
14173 2005-11-22  Edward Hervey  <edward@fluendo.com>
14174
14175         * docs/gst/gstreamer-sections.txt:
14176         * gst/Makefile.am:
14177         * gst/gst.h:
14178         * gst/gsturitype.c:
14179         * gst/gsturitype.h:
14180         * gst/gstutils.c: (gst_util_set_object_arg):
14181         * tools/gst-compprep.c: (main):
14182         * tools/gst-inspect.c: (print_element_properties_info):
14183         Removed GstURI, closes bug #321061
14184
14185 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14186
14187         * check/gst/gststructure.c: (GST_START_TEST):
14188         * gst/gststructure.c: (gst_structure_parse_value):
14189           Oops, broke automatic string type parsing.
14190           Add a test to catch it in future.
14191
14192 2005-11-22  Andy Wingo  <wingo@pobox.com>
14193
14194         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
14195         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14196         Actually rename the function implementations. Grr.
14197
14198 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14199
14200         * check/gst/capslist.h:
14201           Comment test cases
14202         * check/gst/gststructure.c: (GST_START_TEST),
14203         (gst_structure_suite):
14204           Test automatic value type detection in gst_structure_from_string.
14205         * gst/gststructure.c: (gst_structure_parse_value):
14206           Add fraction as a type we try and guess automatically in
14207           caps/structure strings.
14208
14209 2005-11-22  Andy Wingo  <wingo@pobox.com>
14210
14211         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14212
14213         * gst/gsttagsetter.h:
14214         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14215         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14216         (gst_tag_setter_add_tag_valist)
14217         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14218         _add_values, _add_valist, and _add_valist_values. Since this is an
14219         interface the function suffixes should be more explicit so
14220         language binding don't end up with element.add_valist ->
14221         gst_tag_setter_add_valist, for example. Fixes #322069.
14222
14223 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14224
14225         * check/gst/gstcaps.c: (GST_START_TEST):
14226           Extend caps string tests to check that a caps to string
14227           conversion is reversible and produces the same caps.
14228
14229         * gst/gststructure.c: (gst_structure_value_get_generic_type):
14230           Output "fraction" as the generic type fraction range, so caps
14231           serialisation and deserialisation works.
14232         * check/gst/capslist.h:
14233         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14234           Support 'MIN' and 'MAX' for deserialising fractions.
14235
14236 2005-11-22  Andy Wingo  <wingo@pobox.com>
14237
14238         * gst/gstevent.h (gst_event_new_new_segment)
14239         (gst_event_parse_new_segment, gst_event_new_buffer_size)
14240         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14241         Renamed from *_newsegment, *_buffersize, *_notarget.
14242
14243         * scripts/update-funcnames: New script, performs the changes
14244         listed above.
14245
14246 2005-11-22  Wim Taymans  <wim@fluendo.com>
14247
14248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14249         Make sure the GstFlowReturn is returned.
14250
14251         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14252         (gst_bus_add_signal_watch):
14253         * gst/gstbus.h:
14254         add gst_bus_add_signal_watch_full.
14255
14256         * gst/gstplugin.c: (gst_plugin_load_file):
14257         Small style cleanup.
14258
14259 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14260
14261         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14262           Block the fakesrc srcpad when we send an event, to avoid
14263           contention on the stream_lock causing random test failures.
14264
14265 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14266
14267         * check/gst/gstvalue.c: (GST_START_TEST):
14268         * gst/gstvalue.c: (gst_value_fraction_subtract):
14269           Fix subtraction.
14270
14271 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
14272
14273         * gst/gst.h:
14274           include "gstchildproxy.h"
14275         * gst/gstchildproxy.h:
14276         * libs/gst/controller/gstcontroller.h:
14277           use G_GNUC_NULL_TERMINATED
14278
14279 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
14280
14281         * check/gst/capslist.h:
14282         * check/gst/gstcaps.c: (GST_START_TEST):
14283         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14284         * gst/gststructure.c: (gst_structure_parse_range),
14285         (gst_structure_fixate_field_nearest_fraction):
14286         * gst/gststructure.h:
14287         * gst/gstvalue.c: (gst_value_init_fraction_range),
14288         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14289         (gst_value_collect_fraction_range),
14290         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14291         (gst_value_set_fraction_range_full),
14292         (gst_value_get_fraction_range_min),
14293         (gst_value_get_fraction_range_max),
14294         (gst_value_serialize_fraction_range),
14295         (gst_value_transform_fraction_range_string),
14296         (gst_value_compare_fraction_range),
14297         (gst_value_deserialize_fraction_range),
14298         (gst_value_intersect_fraction_fraction_range),
14299         (gst_value_intersect_fraction_range_fraction_range),
14300         (gst_value_subtract_fraction_fraction_range),
14301         (gst_value_subtract_fraction_range_fraction),
14302         (gst_value_subtract_fraction_range_fraction_range),
14303         (gst_value_collect_fraction), (gst_value_fraction_multiply),
14304         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14305         (gst_value_transform_string_fraction), (_gst_value_initialize):
14306         * gst/gstvalue.h:
14307           Implement fraction ranges and extend GstFraction to support
14308           arithmetic subtraction, as well as deserialization from integer
14309           strings such as "100"
14310           Add a testsuite as for int and double range set operations
14311
14312 2005-11-21  Andy Wingo  <wingo@pobox.com>
14313
14314         * gst/gsttaglist.h: 
14315         * gst/gstcaps.h: 
14316         * gst/gststructure.h: Add glib-compat.h.
14317
14318 2005-11-21  Wim Taymans  <wim@fluendo.com>
14319
14320         * gst/gstbin.c: (gst_bin_change_state_func):
14321         Fix for #321595
14322
14323 2005-11-21  Wim Taymans  <wim@fluendo.com>
14324
14325         * gst/gstsegment.h:
14326         And add a nice define too.
14327
14328 2005-11-21  Wim Taymans  <wim@fluendo.com>
14329
14330         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14331         (gst_segment_new), (gst_segment_free), (gst_segment_init),
14332         (gst_segment_set_duration), (gst_segment_set_last_stop),
14333         (gst_segment_set_seek), (gst_segment_set_newsegment),
14334         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14335         (gst_segment_clip):
14336         * gst/gstsegment.h:
14337         Make binding friendly.
14338
14339 2005-11-21  Andy Wingo  <wingo@pobox.com>
14340
14341         * gst/gsttagsetter.h: 
14342         * gst/gsttaglist.h: 
14343         * gst/gststructure.h: 
14344         * gst/gstcaps.h: 
14345         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14346         #319940.
14347
14348         * gst/gsterror.c (_gst_core_errors_init):
14349         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14350         category.
14351
14352         * gst/Makefile.am (gst_headers): Add glib-compat.h.
14353         (noinst_HEADERS): noinst the -private.
14354
14355 2005-11-21  Michael Smith <msmith@fluendo.com>
14356
14357         * gst/gstplugin.h:
14358         * gst/gstregistry.h:
14359           Remove unimplemented declarations for which we can see no sensible
14360           use.
14361
14362 2005-11-21  Andy Wingo  <wingo@pobox.com>
14363
14364         * gst/gst.h: Include glib-compat.h.
14365
14366         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14367
14368         * gst/glib-compat.c: Include the public and the private header.
14369
14370         * gst/glib-compat-private.h: Copied here from glib-compat.h.
14371
14372         * gst/gstvalue.c: 
14373         * gst/gstpad.c: 
14374         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14375
14376         * check/gst/gstevent.c (create_custom_events): Check that
14377         FLUSH_STOP is serialized.
14378
14379         * check/elements/identity.c (event_func): 
14380         * check/elements/fakesrc.c (event_func): No stream lock, the core
14381         takes it.
14382
14383         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14384         stream lock taking, yay.
14385
14386         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14387         ensure that core takes the stream lock.
14388
14389         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14390         lock name change.
14391
14392         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14393         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14394         it already. For the flush start we do take it though so we get the
14395         right preroll state change messages.
14396
14397         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14398         the stream lock here, the core does it for us.
14399
14400         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14401         GST_STREAM_GET_LOCK.
14402         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
14403         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
14404         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14405         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14406         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
14407         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14408
14409         * gst/gstpad.c: Update for stream lock name change.
14410
14411         * gst/base/gstbasesink.c: Update for preroll lock name change.
14412
14413 2005-11-21  Wim Taymans  <wim@fluendo.com>
14414
14415         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14416         (gst_clock_get_master):
14417         * gst/gstclock.h:
14418         * gst/gstsystemclock.c: (gst_system_clock_init):
14419         Convert Clock flags to object flags.
14420         Added methods to manage master/slave clocks.
14421
14422 2005-11-21  Wim Taymans  <wim@fluendo.com>
14423
14424         * check/gst/gstsegment.c: (GST_START_TEST):
14425         * docs/design/part-TODO.txt:
14426         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14427         (gst_base_sink_event), (gst_base_sink_do_sync),
14428         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14429         (gst_base_sink_query), (gst_base_sink_change_state):
14430         * gst/base/gstbasesink.h:
14431         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14432         (gst_base_src_default_newsegment),
14433         (gst_base_src_configure_segment), (gst_base_src_do_seek),
14434         (gst_base_src_get_range), (gst_base_src_loop),
14435         (gst_base_src_change_state):
14436         * gst/base/gstbasesrc.h:
14437         * gst/base/gstbasetransform.c:
14438         (gst_base_transform_prepare_output_buf),
14439         (gst_base_transform_event), (gst_base_transform_change_state):
14440         * gst/base/gstbasetransform.h:
14441         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14442         (gst_collect_pads_event):
14443         * gst/base/gstcollectpads.h:
14444         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14445         (gst_fake_src_create):
14446         * gst/elements/gstfakesrc.h:
14447         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14448         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14449         (gst_segment_set_last_stop), (gst_segment_set_seek),
14450         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14451         (gst_segment_to_running_time), (gst_segment_clip):
14452         * gst/gstsegment.h:
14453         More segment updates, replace code in plugins with segment
14454         helper functions.
14455
14456 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14457
14458         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14459         Don't ignore sscanf results
14460
14461 2005-11-21  Andy Wingo  <wingo@pobox.com>
14462
14463         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14464
14465         * *.h:
14466         * *.c: Ran scripts/update-macros. Oh yes.
14467
14468         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14469         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14470         GST_GET_LOCK, etc.
14471
14472         * scripts/update-macros: New script. Run it on your files to
14473         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14474         well.
14475
14476 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14477
14478         * docs/gst/Makefile.am:
14479         * docs/gst/gstreamer-docs.sgml:
14480         * docs/gst/gstreamer-sections.txt:
14481         * docs/gst/gstreamer.types:
14482         * gst/gstinfo.h:
14483           more docs fixes, add new api to the docs
14484
14485 2005-11-21  Andy Wingo  <wingo@pobox.com>
14486
14487         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14488         state_broadcast call.
14489
14490         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14491
14492 2005-11-21  Julien MOUTTE  <julien@moutte.net>
14493
14494         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
14495         function calls for arrays.
14496
14497 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
14498
14499         * docs/random/ensonic/media-device-daemon.txt:
14500           wild idea, can this be done?
14501         * docs/gst/gstreamer-sections.txt:
14502         * gst/gsterror.h:
14503         * gst/gstfilter.c:
14504         * gst/gstfilter.h:
14505         * gst/gstplugin.h:
14506         * gst/gstpluginfeature.c:
14507         * gst/gsttrace.c:
14508         * gst/gstvalue.c:
14509         * gst/gstvalue.h:
14510           doc fixes and additions
14511
14512 2005-11-21  Andy Wingo  <wingo@pobox.com>
14513
14514         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
14515         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
14516         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
14517         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
14518         private to the basesrc implementation.
14519
14520         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
14521         behalf of event function if necessary. It should no longer be
14522         necessary to take the stream lock in pad's event functions. Fixes
14523         #320299.
14524
14525 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14526         * docs/gst/gstreamer-sections.txt:
14527         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
14528         (gst_structure_fixate_field_nearest_double),
14529         (gst_structure_fixate_field_boolean):
14530         * gst/gststructure.h:
14531         * win32/common/libgstreamer.def:
14532         * win32/gstreamer.def:
14533
14534         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
14535         (#322027)
14536
14537 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
14538
14539         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
14540         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
14541         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
14542         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
14543         (gst_fdsrc_uri_handler_init):
14544         * gst/elements/gstfdsrc.h:
14545           Port fd:// URI handler from 0.8 to fdsrc
14546
14547 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14548
14549         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
14550         (gst_value_serialize_fourcc):
14551         * gst/gstvalue.h:
14552           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
14553           consistent with our other format defines (#320324).
14554
14555 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14556
14557         * gst/gstvalue.c: (gst_value_is_fixed):
14558           Revert previous commit. Value lists are by definition
14559           not fixed, as they are a list of possible values.
14560
14561 2005-11-21  Andy Wingo  <wingo@pobox.com>
14562
14563         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
14564         during the stable series if we need it. Fixes #319178.
14565
14566         * gst/gstevent.c (gst_event_new_filler): Removed.
14567
14568         * check/gst/gstevent.c: Update comment about filler events.
14569
14570 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14571
14572         * gst/gstvalue.c: (gst_value_is_fixed):
14573           Should handle both value arrays and value lists.
14574
14575 2005-11-21  Andy Wingo  <wingo@pobox.com>
14576
14577         patch by: Alessandro Dessina <alessandro nnva org>
14578
14579         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
14580         functions to access arrays. Fixes #321962.
14581
14582 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14583
14584         * docs/gst/gstreamer.types:
14585           gst_collectpads_get_type => gst_collect_pads_get_type.
14586           
14587         * gst/base/gstbasetransform.c:
14588           Remove unused SIGNAL_HANDOFF enum.
14589
14590 2005-11-21  Andy Wingo  <wingo@pobox.com>
14591
14592         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
14593         the event type (upstream, downstream, serialized). Renamed
14594         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
14595         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
14596         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
14597
14598         * gst/gstevent.c: Update for new CUSTOM event names.
14599
14600         * check/gst/gstevent.c: Update check for new CUSTOM event names.
14601
14602         * gst/gstevent.h:
14603         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
14604         bug #319392.
14605
14606 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14607
14608         * docs/gst/gstreamer-sections.txt:
14609         * win32/common/libgstbase.def:
14610         * win32/libgstbase.def:
14611         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14612         (gst_collect_pads_class_init), (gst_collect_pads_init),
14613         (gst_collect_pads_finalize), (gst_collect_pads_new),
14614         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
14615         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
14616         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
14617         (gst_collect_pads_start), (gst_collect_pads_stop),
14618         (gst_collect_pads_peek), (gst_collect_pads_pop),
14619         (gst_collect_pads_available), (gst_collect_pads_read),
14620         (gst_collect_pads_flush), (gst_collect_pads_event),
14621         (gst_collect_pads_chain):
14622         * gst/base/gstcollectpads.h:
14623           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
14624           unimplemented functions as unimplemented. Add padding to
14625           GstCollectData. (#320766, #320423)
14626
14627 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
14628
14629         * gst/gstmessage.c:
14630           Improve docs for DURATION message (usage of duration parameter)
14631           (#320113)
14632
14633 2005-11-20  Wim Taymans  <wim@fluendo.com>
14634
14635         * check/Makefile.am:
14636         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
14637         (main):
14638         * gst/Makefile.am:
14639         * gst/gst.h:
14640         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14641         (gst_segment_set_seek), (gst_segment_set_newsegment),
14642         (gst_segment_to_stream_time), (gst_segment_to_running_time),
14643         (gst_segment_clip):
14644         * gst/gstsegment.h:
14645         Added segment helper structure and methods. Not fully implemented
14646         yet.
14647         Added segment check.
14648
14649 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
14650
14651         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14652           Add a deserialisation test for fractions
14653         * examples/metadata/read-metadata.c: (message_loop),
14654         (make_pipeline), (main):
14655           Fix up metadata reading sample.
14656         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14657           Debug format fix
14658         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14659           Don't try and fixate empty caps
14660         * gst/gst_private.h:
14661           Wrap in G_BEGIN_DECLS/G_END_DECLS
14662         * gst/gstvalue.c: (gst_value_collect_fraction),
14663         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
14664         (gst_value_transform_string_fraction),
14665         (gst_value_compare_fraction):
14666           Add some extra guards to ensure that we don't end up 
14667           with an invalid denominator of 0 in a gstfraction and
14668           that fractions always get reduced.
14669
14670 2005-11-20  Wim Taymans  <wim@fluendo.com>
14671
14672         * docs/gst/gstreamer-sections.txt:
14673         * gst/gstbuffer.h:
14674         * gst/gstelement.c:
14675         * gst/gstformat.c:
14676         * gst/gstformat.h:
14677         * gst/gstindex.h:
14678         * gst/gstquery.c:
14679         * gst/gstquery.h:
14680         * gst/gstvalue.c:
14681         Doc fixes.
14682
14683 2005-11-20  Wim Taymans  <wim@fluendo.com>
14684
14685         * docs/design/part-TODO.txt:
14686         * gst/gstcaps.h:
14687         Make a proper enum of the flag.
14688
14689 2005-11-19  Wim Taymans  <wim@fluendo.com>
14690
14691         * docs/design/part-TODO.txt:
14692         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
14693         (gst_format_to_quark), (gst_format_register):
14694         * gst/gstformat.h:
14695         * gst/gstquery.c: (_gst_query_initialize),
14696         (gst_query_type_get_name), (gst_query_type_to_quark),
14697         (gst_query_type_register):
14698         * gst/gstquery.h:
14699         Add type to quark and type to string conversions.
14700
14701 2005-11-19  Andy Wingo  <wingo@pobox.com>
14702
14703         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
14704         #320097.
14705
14706 2005-11-19  Wim Taymans  <wim@fluendo.com>
14707
14708         * docs/design/part-TODO.txt:
14709         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14710         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
14711         (gst_bin_handle_message_func):
14712         * gst/gstbin.h:
14713         Make message handling overridable.
14714
14715 2005-11-19  Andy Wingo  <wingo@pobox.com>
14716
14717         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14718
14719         * gst/gstclock.h:
14720         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14721         be a GstClockTime.
14722         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14723         is a GstClockTime. Fixes #321710.
14724
14725         * gst/gstclock.h (GstClock): Remove offset property. Add
14726         internal_calibration and external_calibration. Fix padding. Pad
14727         also by GstClockTime so we don't run into problems.
14728
14729         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14730         (gst_clock_get_rate_offset): Remove.
14731         (gst_clock_set_time_adjust): Remove. Fixes #321712.
14732
14733         * gst/gstutils.h:
14734         * gst/gstutils.c (g_static_rec_cond_wait)
14735         (g_static_rec_cond_timed_wait): Removed, no longer needed.
14736
14737         * gst/gstbin.c: Remove terrible continue_state prototype.
14738
14739         * gst/gstelement.h (gst_element_continue_state): Make public.
14740
14741         * gst/gstelement.h:
14742         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14743         by continue_state. Fixes #319389.
14744
14745         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14746         Really fixes #168438. However I don't see anywhere where the
14747         filter function is called... stupid GStreamer...
14748         
14749         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14750         don't have a dispose function, so it won't get called when the
14751         object is unreffed, but oh well!
14752
14753         * gst/gstindex.c (gst_index_set_filter_full): New API function,
14754         allows a destroy function to be set so user_data can be freed.
14755         Fixes #168438.
14756         (gst_index_set_filter): Call gst_index_set_filter_full.
14757
14758         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14759
14760         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14761         string should produce an error, given the lack of a way to
14762         represent NULL strings. Fixes #165650.
14763         
14764         * gst/gstvalue.h: 
14765         * gst/gstvalue.c (gst_value_array_append_value) 
14766         (gst_value_array_prepend_value, gst_value_array_get_size) 
14767         (gst_value_array_get_value): New API, copied from
14768         gst_value_list_*, only operates on arrays.
14769         (gst_value_list_append_value, gst_value_list_prepend_value) 
14770         (gst_value_list_concat, gst_value_list_get_size) 
14771         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14772
14773         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14774         init_list, because it works on both.
14775         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14776         (gst_value_copy_list_or_array): Renamed from copy_list.
14777         (gst_value_free_list_or_array): Renamed from free_list.
14778         (gst_value_collect_list_or_array): Renamed from collect_list.
14779         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14780         (gst_value_list_or_array_peek_pointer): Renamed from
14781         list_peek_pointer.
14782         (_gst_value_array_value_table, _gst_value_list_value_table):
14783         Update value table functions.
14784         (gst_value_compare_list_or_array): Renamed from compare_list.
14785
14786         * gsttaglist.h: Whoops, foreach function returns void. Also fix
14787         some constness.
14788
14789         * gst/gsttaglist.c:
14790         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
14791         GstTagList*. Fixes #143472.
14792
14793         * gst/gststructure.h: Clarify what the foreach/map functions can
14794         or can't do to their arguments.
14795
14796 2005-11-18  Wim Taymans  <wim@fluendo.com>
14797
14798         * gst/gstclock.c: (gst_clock_set_calibration),
14799         (gst_clock_get_calibration):
14800         Doc and API fixes.
14801         Calibration can be set with internal time equal to current
14802         internal time too.
14803
14804 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14805
14806         * gst/gsterror.c:
14807         * gst/gsterror.h:
14808           document
14809
14810 2005-11-18  Andy Wingo  <wingo@pobox.com>
14811
14812         * configure.ac: 
14813         * pkgconfig/gstreamer-net.pc.in:
14814         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14815         * pkgconfig/Makefile.am: Add net pkgconfig files.
14816
14817 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
14818
14819         * gst/gstcaps.c:
14820         * gst/gstghostpad.c:
14821         * gst/gsttrace.c:
14822         * gst/gstvalue.c:
14823         * gst/gstvalue.h:
14824           docs fixes
14825
14826 2005-11-18  Andy Wingo  <wingo@pobox.com>
14827
14828         * gst/net/gstnetclientclock.c: Turn off debugging.
14829
14830         * check/net/gstnetclientclock.c (test_functioning): Assert that the
14831         times connverge somewhat. Can't make a real test.
14832
14833         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
14834         integer arithmetic. Return the minimum of the domain, which can be
14835         set as "internal" for gst_clock_set_calibration.
14836         (gst_net_client_clock_observe_times): Call _set_calibration.
14837         (gst_net_client_clock_new): Call _set_calibration instead of
14838         rate_offset.
14839
14840         * check/net/gstnetclientclock.c (test_functioning): Use the right
14841         adjustment api.
14842
14843         * gst/gstclock.h:
14844         * gst/gstclock.c (gst_clock_get_calibration) 
14845         (gst_clock_set_calibration): New functions, obsolete the ones I
14846         added yesterday. Doh. Precision issues mean we have to extrapolate
14847         from a point in the more recent past than 1970.
14848         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
14849         obsolete.
14850         (gst_clock_adjust_unlocked): Use the right calibration data.
14851
14852 2005-11-18  Edward Hervey  <edward@fluendo.com>
14853
14854         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
14855         Also reset the ->current_* values in READY->PAUSED
14856
14857 2005-11-18  Andy Wingo  <wingo@pobox.com>
14858
14859         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
14860         Whoops, check the right fd. Also add some debugging.
14861         (gst_net_client_clock_observe_times): Adjust for int64 offset.
14862         (do_linear_regression): Add a crapload of debugging. Subtract off
14863         the minimum values from the input series to discard unneeded bits.
14864         Use only int arithmetic. There is still double arithmetic when
14865         calculating the intercept that needs fixing. Return boolean to
14866         indicate success; FALSE would mean the domain or range is too
14867         great. Still needs fixes.
14868
14869 2005-11-18  Wim Taymans  <wim@fluendo.com>
14870
14871         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14872         For the current position in stream time, we need to subtract
14873         accumulated time.
14874         
14875         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14876         Release lock before calling the callback function of async
14877         entries.
14878
14879 2005-11-18  Andy Wingo  <wingo@pobox.com>
14880
14881         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
14882         Port goes all the way to MAXUINT16.
14883
14884         * gst/net/gstnettimeprovider.c: Make the port range the same as
14885         for the kernel: 0 assigns, otherwise ports are less than
14886         MAXUINT16.
14887
14888         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
14889         port change.
14890
14891         * check/net/gstnetclientclock.c (test_functioning): Add the start
14892         of another test. 
14893
14894 2005-11-18  Wim Taymans  <wim@fluendo.com>
14895
14896         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14897         (gst_bin_remove_func), (bin_bus_handler):
14898         * gst/gstbin.h:
14899         Removing a clock provider from a bin, triggers a clock lost message
14900         so that a new clock will be selected.
14901         Adding a clock to a bin triggers a clock provider message.
14902         Make sure we reselect a clock when we received a clock lost message.
14903         Keep a reference to the element that provided the clock.
14904
14905 2005-11-18  Andy Wingo  <wingo@pobox.com>
14906
14907         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
14908         the clock initially so it produces values around the base time.
14909         (gst_net_client_clock_class_init): Typo fix.
14910         (gst_net_client_clock_thread): Add note on when the socket gets
14911         closed.
14912
14913 2005-11-17  Wim Taymans  <wim@fluendo.com>
14914
14915         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
14916         Free remote and local time arrays.
14917
14918 2005-11-17  Wim Taymans  <wim@fluendo.com>
14919
14920         * gst/net/gstnetclientclock.c: (do_linear_regression),
14921         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
14922         Fix compilation, uninitialized vars and a forgotten continue.
14923
14924 2005-11-17  Andy Wingo  <wingo@pobox.com>
14925
14926         * check/Makefile.am (check_PROGRAMS): 
14927         * check/net/gstnetclientclock.c: Add a most minimal test for the
14928         net client clock. More to come later.
14929
14930         * gst/net/gstnet.h: 
14931         * gst/net/Makefile.am: Add netclientclock.
14932
14933         * gst/net/gstnetclientclock.h:
14934         * gst/net/gstnetclientclock.c: New files, implement an untested
14935         GstClock that takes its time from a network time provider.
14936         Implements the algorithm in network-clock.scm.
14937
14938         * tests/network-clock.scm (*window-size*): Rename from
14939         *queue-length*.
14940         * tests/network-clock.scm (network-time): 
14941         * tests/network-clock-utils.scm (q-push): Update callers.
14942
14943 2005-11-17  Wim Taymans  <wim@fluendo.com>
14944
14945         * gst/gstbin.c: (gst_bin_provide_clock_func),
14946         (gst_bin_sort_iterator_new):
14947         And unref the child too..
14948
14949 2005-11-17  Wim Taymans  <wim@fluendo.com>
14950
14951         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14952         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
14953         Refactor the sort iterator so it can be used while holding the
14954         LOCK too.
14955         Make clock selection select a clock closest to the source.
14956
14957 2005-11-17  Michael Smith <msmith@fluendo.com>
14958
14959         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
14960         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
14961         * gst/gstclock.h:
14962           Anonymous structs are a gcc (and some other compilers) extension, so
14963           don't use them. Since this is only for ABI-compatibility, and our
14964           API/ABI freeze is over in a few days, this whole thing will only
14965           last a few days, so don't bother trying to think up a meaningful
14966           name for the struct.
14967
14968 2005-11-17  Andy Wingo  <wingo@pobox.com>
14969
14970         * gst/gstclock.h (GstClock): Add rate and offset properties,
14971         preserving ABI stability. Add rate/offset accessors. Will file bug
14972         for the freeze break.
14973
14974         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
14975         and offset, trying to keep precision and avoiding
14976         underflow/overflow.
14977         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
14978         functions. Make gst_clock_set_time_adjust obsolete.
14979         (gst_clock_set_time_adjust): Note that this function is obsolete.
14980         Will file bug soon.
14981
14982         * gst/base/gstbasetransform.h: Make the ABI-stability hack
14983         greppable by using GST_PADDING-1+1.
14984
14985 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
14986
14987         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14988
14989         * gst/gstmessage.c: (gst_message_parse_clock_lost):
14990           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
14991
14992         * gst/gstpadtemplate.h:
14993         * gst/gstpluginfeature.h:
14994           Don't use c++ style comments in headers (#321638).
14995
14996 2005-11-16  Andy Wingo  <wingo@pobox.com>
14997
14998         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
14999         buffer.
15000
15001         * check/net/gstnettimeprovider.c: Check to see that the time
15002         provider actually provides times. Works, yo!
15003
15004 2005-11-16  Wim Taymans  <wim@fluendo.com>
15005
15006         * check/Makefile.am:
15007         Enable more tests.
15008
15009         * check/elements/fakesrc.c: (GST_START_TEST):
15010         Set element to NULL before disposing it.
15011
15012 2005-11-16  Andy Wingo  <wingo@pobox.com>
15013
15014         * gst/net/Makefile.am:
15015         * gst/net/gstnet.h:
15016         * gst/net/gstnettimeprovider.c: 
15017         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15018         provider, include it from gstnet.h, and add it to the build.
15019
15020         * gst/net/gstnettimepacket.h: 
15021         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15022         sending and receiving.
15023
15024 2005-11-16  Wim Taymans  <wim@fluendo.com>
15025
15026         * check/Makefile.am:
15027         Enable valgrind check.
15028
15029         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15030         (gst_fake_src_alloc_buffer):
15031         Fix memleak.
15032
15033 2005-11-16  Wim Taymans  <wim@fluendo.com>
15034
15035         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15036         Call parent finalize too.
15037
15038 2005-11-16  Wim Taymans  <wim@fluendo.com>
15039
15040         * check/Makefile.am:
15041         Enable valgrind check that should work fine now.
15042
15043         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15044         * gst/gstqueue.c: (gst_queue_init):
15045         Fix memleaks in pad allocation.
15046
15047 2005-11-16  Andy Wingo  <wingo@pobox.com>
15048
15049         * gst/net/Makefile.am:
15050         * gst/net/gstnet.h: New part of core to hold network elements and
15051         objects. Put in core because it exposes API that applications want
15052         to use. The library is named libgstnet-tempname right now because
15053         of the existing libgstnet in gst-plugins-base. Solution is
15054         probably to rename the one in plugins-base; will file a bug for
15055         the freeze break.
15056
15057         * gst/net/gstnettimeprovider.c: 
15058         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15059         get_time call over the network.
15060
15061         * configure.ac: 
15062         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15063
15064         * check/Makefile.am:
15065         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15066         get additions shortly.
15067
15068 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15069
15070         * gst/gstpad.c: (gst_pad_new_from_static_template):
15071         * gst/gstpad.h:
15072           add gst_pad_new_from_static_template functions
15073         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15074         (gst_check_setup_sink_pad):
15075         * gst/elements/gsttee.c: (gst_tee_init):
15076           and use them
15077
15078 2005-11-16  Wim Taymans  <wim@fluendo.com>
15079
15080         * gst/gstpad.c: (gst_pad_pause_task):
15081         Removed warning, it's not really an error either.
15082
15083 2005-11-16  Wim Taymans  <wim@fluendo.com>
15084
15085         * gst/base/gstbasetransform.c:
15086         (gst_base_transform_prepare_output_buf),
15087         (gst_base_transform_event):
15088         Check if the caps are NULL, this can happen if the element
15089         is shutting down and the pad caps are set to NULL.
15090
15091 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15092
15093         * gst/elements/gsttee.c: (gst_tee_init):
15094           fix pad template leak in tee
15095
15096 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15097
15098         * gst/glib-compat.c: (g_value_dup_gst_object):
15099         * gst/glib-compat.h:
15100         * gst/gstpad.c: (gst_pad_set_property):
15101           use gst_object_ref when setting the pad template; this will
15102           trigger the pad template leaks on GLib 2.6 and the slaves
15103
15104 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15105
15106         * gst/glib-compat.c: (gst_flags_get_first_value):
15107         * gst/glib-compat.h:
15108         * gst/gstregistryxml.c:
15109           remove functions copied from GLib 2.6
15110
15111 2005-11-16  Michael Smith <msmith@fluendo.com>
15112
15113         * gst/Makefile.am:
15114           Don't link against VALGRIND_LIBS. That was always the wrong thing to
15115           do, but only breaks with newer valgrind versions. We're not a
15116           valgrind tool, we have no link-time dependencies on libcoregrind.
15117
15118 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15119
15120         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15121           some debug changes
15122         * gst/gstmessage.h:
15123           typo fixes
15124
15125 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15126
15127         * gst/base/gstbasesrc.c: (gst_base_src_init):
15128         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15129         * gst/gstqueue.c: (gst_queue_init):
15130         * gst/gstregistryxml.c: (load_feature):
15131           Revert all these unrefs, they don't even pass make check !
15132
15133 2005-11-15  Johan Dahlin  <johan@gnome.org>
15134
15135         * gst/base/gstbasesrc.c: (gst_base_src_init):
15136         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15137         * gst/gstqueue.c: (gst_queue_init): 
15138         Free pad templates, fixes a couple of leaks.
15139
15140 2005-11-15  Daniel Fischer  <dan at f3c dot com>
15141
15142         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15143
15144         * gst/gstpad.c: (gst_pad_get_property):
15145           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15146           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15147           (#321452)
15148
15149 2005-11-15  Wim Taymans  <wim@fluendo.com>
15150
15151         * gst/gstevent.c:
15152         Small doc update.
15153
15154 2005-11-15  Andy Wingo  <wingo@pobox.com>
15155
15156         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15157
15158         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15159         using GST_CLOCK_TIME_NONE to disable base time management.
15160         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15161         time if it was NONE before.
15162         (gst_pipeline_change_state): Only munge the base time if
15163         stream_time != GST_CLOCK_TIME_NONE.
15164
15165         * check/gst/gstpipeline.c (test_base_time): Punt around the
15166         problem of the probe not being called, because that's not the
15167         issue I'm looking at. Add a check that setting stream_time to NONE
15168         disables base time management.
15169         
15170 2005-11-15  Wim Taymans  <wim@fluendo.com>
15171
15172         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15173         segment_stop == -1 at startup.
15174
15175         * gst/base/gstbasetransform.c: (gst_base_transform_event),
15176         (gst_base_transform_change_state):
15177         Init segment values at start.
15178
15179 2005-11-15  Wim Taymans  <wim@fluendo.com>
15180
15181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15182         0 segment values are 0 in any format.
15183
15184         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15185         * gst/base/gstbasetransform.h:
15186         Parse newsegment correctly in basetransform
15187
15188         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15189         Sync to clock using updated segment values.
15190
15191 2005-11-15  Andy Wingo  <wingo@pobox.com>
15192
15193         * check/gst/gstpipeline.c (test_base_time): Add check that the
15194         base time and stream time are reset correctly.
15195
15196 2005-11-15  Wim Taymans  <wim@fluendo.com>
15197
15198         * docs/design/part-TODO.txt:
15199         Some more TODO items.
15200
15201 2005-11-15  Andy Wingo  <wingo@pobox.com>
15202
15203         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15204         error if the user selected "no clock" as the clocking method.
15205
15206         * check/gst/gstpipeline.c (test_base_time): New test for buffer
15207         timestamps with live capture.
15208
15209         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15210         is 0 but we are a live source, timestamp the buffers using the
15211         element's clock.
15212
15213 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
15214
15215         * docs/gst/gstreamer-sections.txt:
15216         * gst/gsterror.c:
15217         * gst/gstghostpad.c:
15218         * gst/gstobject.h:
15219         * gst/gstxml.c:
15220           more section docs
15221
15222 2005-11-14  Wim Taymans  <wim@fluendo.com>
15223
15224         * common/gst.supp:
15225           add suppressions from Wim's Debian machine
15226
15227 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15228
15229         * common/gst.supp:
15230           add suppressions from Andy's AMD64 Ubuntu machine
15231
15232 2005-11-14  Andy Wingo  <wingo@pobox.com>
15233
15234         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15235         STATE_LOCK not necessary. Fixes #311489.
15236
15237         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15238         #305291.
15239
15240         * gst/gstindex.c (gst_index_add_object): Note in the docs that
15241         this function is not implemented.
15242
15243 2005-11-14  Julien MOUTTE  <julien@moutte.net>
15244
15245         * gst/base/gstbasetransform.c:
15246         (gst_base_transform_prepare_output_buf):
15247         Ref the source pad caps while we need them.
15248         Fixes (#321386)
15249
15250 2005-11-11  Wim Taymans  <wim@fluendo.com>
15251
15252         * docs/gst/gstreamer-sections.txt:
15253         Added some docs for GstCollectData.
15254
15255         * gst/base/gstadapter.c:
15256         Some small code example fix.
15257
15258         * gst/base/gstcollectpads.c:
15259         * gst/base/gstcollectpads.h:
15260         Document some more.
15261
15262 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
15263
15264         * configure.ac: back to HEAD
15265
15266 === release 0.9.5 ===
15267
15268 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
15269
15270         * configure.ac:
15271           releasing 0.9.5, "Bike Lunch Day"
15272
15273 2005-11-11  Wim Taymans  <wim@fluendo.com>
15274
15275         * gst/gstbuffer.c: (_gst_buffer_copy):
15276         Copy more flags.
15277
15278         * gst/gstcaps.c: (gst_caps_is_equal):
15279         Fix some docs.
15280         Make _is_equal fast in the trivial cases.
15281
15282         * gst/gstminiobject.c:
15283         * gst/gstminiobject.h:
15284         More docs. Spifify .h file.
15285
15286         * gst/gstutils.c:
15287         Small doc update.
15288
15289 2005-11-11  Wim Taymans  <wim@fluendo.com>
15290
15291         * gst/base/gstbasetransform.c:
15292         (gst_base_transform_prepare_output_buf),
15293         (gst_base_transform_handle_buffer):
15294         Small cleanups.
15295         If we're processing a buffer and need to allocate an output
15296         buffer, we cannot accept a format change. If we did get a 
15297         format change, we have to alloc a buffer ourselves of the 
15298         right size.
15299
15300 2005-11-11  Wim Taymans  <wim@fluendo.com>
15301
15302         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15303         While checking the flag for reentrancy in the gstcaps function
15304         is nice to detect recursive invocations, it also makes it 
15305         impossible to call getcaps from multiple threads, which must be
15306         possible. So, checking for recursive calls has to go.
15307
15308 2005-11-11  Michael Smith <msmith@fluendo.com>
15309
15310         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15311           Don't sync on buffers that fall partially outside our current
15312           segment. Prevents an assertion failure/abort playing some files.
15313
15314 2005-11-10  Andy Wingo  <wingo@pobox.com>
15315
15316         * check/gst/gstbin.c (test_message_state_changed_children): Style
15317         fix..
15318
15319         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15320         gst_bus_poll with the signal watch. Ensures that poll and a signal
15321         watch see the same messages.
15322
15323         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15324         a poll and a watch at the same time get the same messages.
15325
15326 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15327
15328         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15329         * gst/gstcaps.c: (gst_caps_intersect):
15330           Don't call gst_caps_do_simplify - it doesn't respect order of caps
15331           and it's not needed.
15332
15333 2005-11-10  Wim Taymans  <wim@fluendo.com>
15334
15335         * docs/design/part-TODO.txt:
15336         Updated todo.
15337
15338 2005-11-10  Wim Taymans  <wim@fluendo.com>
15339
15340         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15341         * gst/base/gstbasesrc.c: (gst_base_src_wait),
15342         (gst_base_src_do_sync), (gst_base_src_get_range):
15343         Implement clock sync in base class.
15344
15345 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15346
15347         patch by: Tim-Philipp Müller <tim at centricular dot net>
15348
15349         * gst/gststructure.c: (gst_structure_parse_field),
15350         (gst_structure_from_string):
15351           Forward-port a 0.8 patch to handle escaped spaces in structure string,
15352           so that gst_parse_launch() can deal with spaces in filtered link
15353           caps (fixes #164479)
15354         * check/gst/capslist.h:
15355         * check/gst/gststructure.c: (GST_START_TEST):
15356           add unit tests for this change
15357
15358 2005-11-10  Wim Taymans  <wim@fluendo.com>
15359
15360         * docs/gst/gstreamer-sections.txt:
15361         * gst/gstelement.c:
15362         * gst/gstelement.h:
15363         Fix docs, move some STATE macros to private.
15364
15365 2005-11-10  Wim Taymans  <wim@fluendo.com>
15366
15367         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15368         Added check for bug #317341
15369
15370         * gst/gstbuffer.c:
15371         * gst/gstbuffer.h:
15372         Some more spiffifying.
15373
15374         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15375         Call peer linkfunction if we are a source pad. Totally fixes
15376         #317341
15377
15378         * gst/gstpad.c:
15379         Update docs, source pads should call the peer linkfunction
15380         so they can atomically perform the pad link.
15381
15382 2005-11-09  Wim Taymans  <wim@fluendo.com>
15383
15384         * gst/gstbuffer.c:
15385         * gst/gstbuffer.h:
15386         Uber-spiffy-spiffify some more.
15387
15388 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
15389
15390         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15391         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15392         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15393         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15394         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15395         * gst/gstpad.c: (gst_pad_init):
15396           Use GST_DEBUG_FUNCPTR() more extensively.
15397
15398 2005-11-09  Wim Taymans  <wim@fluendo.com>
15399
15400         * gst/gstobject.c: (gst_object_class_init):
15401         * gst/gstobject.h:
15402         Documentation fixes.
15403
15404 2005-11-09  Edward Hervey  <edward@fluendo.com>
15405
15406         * gst/gsttypefindfactory.c:
15407         Fix docs.
15408         
15409 2005-11-09  Edward Hervey  <edward@fluendo.com>
15410
15411         * gst/base/gsttypefindhelper.c:
15412         * gst/gsttypefind.c:
15413         * gst/gsttypefind.h:
15414         Fix docs.
15415
15416 2005-11-09  Wim Taymans  <wim@fluendo.com>
15417
15418         * gst/gstiterator.c:
15419         Fix revision data.
15420
15421         * gst/gsttask.c:
15422         * gst/gsttask.h:
15423         Fix docs.
15424
15425 2005-11-09  Wim Taymans  <wim@fluendo.com>
15426
15427         * gst/gstevent.h:
15428         * gst/gsturi.h:
15429         Fix docs.
15430
15431 2005-11-09  Wim Taymans  <wim@fluendo.com>
15432
15433         * docs/gst/gstreamer-sections.txt:
15434         Moved the message async delivery private lock and cond
15435         to the private section.
15436
15437         * gst/gstmessage.c:
15438         * gst/gstmessage.h:
15439         Fixed docs.
15440
15441 2005-11-09  Edward Hervey  <edward@fluendo.com>
15442
15443         * docs/gst/gstreamer-sections.txt:
15444         * gst/gsturi.c:
15445         * gst/gsturi.h:
15446         Document GstURIHandler
15447
15448 2005-11-09  Wim Taymans  <wim@fluendo.com>
15449
15450         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15451         (gst_iterator_find_custom):
15452         * gst/gstiterator.h:
15453         Fix iterator docs.
15454
15455 2005-11-09  Wim Taymans  <wim@fluendo.com>
15456
15457         * gst/gstbin.h:
15458         Document another field.
15459
15460         * gst/gststructure.c:
15461         * gst/gststructure.h:
15462         Document.
15463
15464 2005-11-09  Wim Taymans  <wim@fluendo.com>
15465
15466         * gst/gstbin.h:
15467         Documented structs.
15468
15469 2005-11-09  Wim Taymans  <wim@fluendo.com>
15470
15471         * docs/gst/gstreamer-sections.txt:
15472         Added some new macros.
15473
15474         * gst/gstclock.c:
15475         * gst/gstclock.h:
15476         * gst/gstobject.h:
15477         Docs updates.
15478
15479 2005-11-09  Wim Taymans  <wim@fluendo.com>
15480
15481         * docs/design/part-TODO.txt:
15482         Some more items for the TODO
15483
15484         * gst/gstcaps.c:
15485         * gst/gstcaps.h:
15486         Document GstCaps.
15487
15488 2005-11-09  Andy Wingo  <wingo@pobox.com>
15489
15490         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15491         to work on something else now tho...
15492
15493         * gst/base/gstadapter.c: More adapter docs.
15494
15495         * gst/elements/gstfilesink.c (gst_file_sink_start) 
15496         (gst_file_sink_stop): New functions, replace the state change
15497         handler.
15498         (gst_file_sink_class_init): Hook up the start and stop functions.
15499         (gst_file_sink_base_init): Don't set the state change handler any
15500         more. It was a bit ugly too, being set from here...
15501         (gst_file_sink_get_property, gst_file_sink_set_property):
15502         Cleanups...
15503         (gst_file_sink_set_location): More robust check that doesn't call
15504         GST_STATE. Ugggggg.
15505
15506 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
15507
15508         * gst/base/gstbasetransform.c: (gst_base_transform_event):
15509           Hold STREAM_LOCK while pushing newsegment or tag events as well.
15510
15511 2005-11-08  Wim Taymans  <wim@fluendo.com>
15512
15513         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15514         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15515         (gst_base_sink_chain), (gst_base_sink_change_state):
15516         * gst/base/gstbasesink.h:
15517         * gst/base/gstbasesrc.h:
15518         * gst/gstelement.h:
15519         * gst/gstevent.h:
15520         Avoid excessive typechecking in macros.
15521
15522         * gst/gstminiobject.c: (gst_mini_object_get_type),
15523         (gst_mini_object_init), (gst_mini_object_new),
15524         (gst_mini_object_free):
15525         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15526         (gst_object_finalize):
15527         Remove cruft code, optimize alloc_trace.
15528
15529 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15530
15531         * docs/faq/gst-uninstalled:
15532           fix up PS1 for systems that try to reset it
15533
15534 2005-11-07  Wim Taymans  <wim@fluendo.com>
15535
15536         * gst/base/gstbasesrc.c: (gst_base_src_init),
15537         (gst_base_src_get_range):
15538         Set the segment_end to -1 initially. Fixed typefind.
15539
15540 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
15541
15542         * gst/base/gstadapter.c:
15543           Debug category should be 'adapter', not 'GstAdapter'.
15544           
15545         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
15546         (gst_collectpads_class_init), (gst_collectpads_init),
15547         (gst_collectpads_peek), (gst_collectpads_pop),
15548         (gst_collectpads_event), (gst_collectpads_chain):
15549           Add debug category and some debugging output. Use boilerplate
15550           macros. Remove some extraneous words from docs.
15551
15552 2005-11-05  Andy Wingo  <wingo@pobox.com>
15553
15554         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
15555         macro.
15556
15557 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15558
15559         * docs/gst/gstreamer-sections.txt:
15560         * gst/gstcaps.h:
15561         * gst/gstinfo.c:
15562         * gst/gstminiobject.h:
15563         * gst/gstobject.h:
15564         * gst/gstutils.h:
15565           more docs added
15566
15567 2005-11-04  Wim Taymans  <wim@fluendo.com>
15568
15569         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15570         Small update to stop at the configured segment_end
15571         position.
15572
15573 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
15574
15575         * gst/gstregistry.c:
15576         * gst/gstregistry.h:
15577           added missing docs
15578
15579 2005-11-04  Edward Hervey  <edward@fluendo.com>
15580
15581         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15582         Check if we are doing a segment seek and have arrived at the
15583         end of that segment.
15584
15585 2005-11-04  Wim Taymans  <wim@fluendo.com>
15586
15587         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
15588         Don't leak a mutex unlock in case of an error.
15589
15590         * gst/gstbus.h:
15591         Doc fixes.
15592
15593 2005-11-04  Wim Taymans  <wim@fluendo.com>
15594
15595         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
15596         (gst_bus_post):
15597         Get the context to wake up only once.
15598
15599 2005-11-03  Wim Taymans  <wim@fluendo.com>
15600
15601         * check/states/sinks.c: (GST_START_TEST):
15602         Uncomment fixed check.
15603
15604         * docs/design/part-TODO.txt:
15605         Updated TODO.
15606
15607         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15608         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15609         (gst_base_sink_get_position):
15610         If we are going to PLAYING, post the right pending state
15611         when we post the intermediate paused message.
15612
15613         * gst/gstelement.c: (gst_element_continue_state),
15614         (gst_element_set_state_func), (gst_element_change_state):
15615         Don't post state changes that were between the same state
15616         and were not ASYNC.
15617
15618 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15619
15620         * docs/gst/gstreamer-sections.txt:
15621         * gst/gstcaps.h:
15622         * gst/gstinfo.c:
15623         * gst/gstminiobject.h:
15624         * gst/gstobject.h:
15625         * gst/gstutils.h:
15626           more docs and doc style fixes
15627
15628 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
15629
15630         * docs/gst/gstreamer-sections.txt:
15631         * gst/gstelement.c:
15632         * gst/gstminiobject.c:
15633         doc fixes
15634
15635 2005-11-03  Andy Wingo  <wingo@pobox.com>
15636
15637         * check/states/sinks.c (test_livesrc_sink): Add checks that the
15638         state-changed messages actually have the right order and the right
15639         values.
15640
15641 2005-11-03  Wim Taymans  <wim@fluendo.com>
15642
15643         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15644         Added some more checks. Specifically the case where NO_PREROLL
15645         elements are in the pipeline.
15646
15647         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15648         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15649         (gst_base_sink_get_position):
15650         Post READY->PAUSED state change messages too.
15651         Fix bug where VOID was posted as pending state...
15652
15653         * gst/gstbin.c: (gst_bin_recalc_state):
15654         use _element_continue_state() to continue the state change.
15655
15656         * gst/gstelement.c: (gst_element_continue_state),
15657         (gst_element_commit_state), (gst_element_set_state_func),
15658         (gst_element_change_state), (gst_element_change_state_func):
15659         Lots of state change cleanups, assign the STATE_RETURN in
15660         a new continue_state() function that also propagates the
15661         last return value from a state change to the app.
15662         Update some debug statements with proper category.
15663
15664 2005-11-03  Wim Taymans  <wim@fluendo.com>
15665
15666         * docs/design/part-events.txt:
15667         * docs/design/part-gstpipeline.txt:
15668         * docs/design/part-messages.txt:
15669         * docs/design/part-overview.txt:
15670         * docs/design/part-seeking.txt:
15671         * docs/design/part-states.txt:
15672         * docs/design/part-trickmodes.txt:
15673         * docs/manual/advanced-position.xml:
15674         Small docs updates.
15675
15676         * gst/gstobject.h:
15677         People think !! is ugly, this looks better.
15678
15679         * gst/gstpad.c: (gst_pad_set_blocked_async):
15680         Remove !! since it's fixed elsewhere now.
15681
15682 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15683
15684         * gst/gstminiobject.h:
15685         * gst/gstobject.h:
15686           Add !! to _FLAG_IS_SET macros to make the result boolean.
15687
15688 2005-11-03  Edward Hervey  <edward@fluendo.com>
15689
15690         * gst/gstpad.c: (gst_pad_set_blocked_async):
15691         comparing a flag and a gboolean rarely returns coherent results...
15692         Added two characters (!!) to make that work correctly.
15693         
15694 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15695
15696         * gst/gstbus.c: (gst_bus_class_init):
15697           Fix some typos.
15698           
15699         * gst/gstqueue.c: (gst_queue_loop):
15700           Don't assume a miniobject that isn't a buffer is an
15701           event (it could be that there is a refcounting
15702           problem somewhere and the pointer is stale and
15703           refers to an already destroyed miniobject).
15704
15705 2005-11-03  Julien MOUTTE  <julien@moutte.net>
15706
15707         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
15708
15709 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
15710
15711         * docs/manual/advanced-position.xml:
15712           Update seek example and explanations to current 0.9 API.
15713
15714         * gst/elements/gsttypefindelement.c:
15715         (gst_type_find_element_activate):
15716           Remove FIXME comment now that the found caps
15717           are unreffed.
15718
15719 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15720
15721         * gst/gstregistryxml.c: (load_feature):
15722           Add another GST_STR_NULL instance
15723
15724 2005-11-02  Edward Hervey  <edward@fluendo.com>
15725
15726         * gst/gstpad.c: (handle_pad_block):
15727         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15728         
15729 2005-11-02  Wim Taymans  <wim@fluendo.com>
15730
15731         * gst/gstbin.c:
15732         Fix typo in docs.
15733
15734         * gst/gstelement.c: (gst_element_commit_state):
15735         Remove unused value.
15736
15737         * gst/gstiterator.c:
15738         Mention that the returned element is reffed in the docs.
15739
15740 2005-11-02  Wim Taymans  <wim@fluendo.com>
15741
15742         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15743         (gst_pad_push), (gst_pad_push_event):
15744         Unlock blocked pads when they are flushed.
15745
15746 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15747
15748         * docs/README:
15749         * docs/gst/gstreamer-sections.txt:
15750         * gst/gstbin.c:
15751           doc updates
15752         * gst/gstregistry.c: (gst_registry_scan_path_level):
15753           fix for a nasty little missed situation where an installed plug-in
15754           which was in the cache did not get overridden by an uninstalled one
15755           which was earlier in the plugin path because the newly created plugin
15756           for the uninstalled one (not in the registry) didn't get its
15757           ->registered set to TRUE
15758
15759 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15760
15761         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15762         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15763         (gst_collectpads_is_active), (gst_collectpads_collect),
15764         (gst_collectpads_collect_range), (gst_collectpads_start),
15765         (gst_collectpads_stop), (gst_collectpads_peek),
15766         (gst_collectpads_pop), (gst_collectpads_available),
15767         (gst_collectpads_read), (gst_collectpads_flush):
15768           Guard public API with assertions.
15769         
15770         * gst/gstpad.c:
15771           Fix docs for gst_pad_set_link_function().
15772
15773 2005-11-02  Johan Dahlin  <johan@gnome.org>
15774
15775         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
15776         Unref found_caps after we used it.
15777
15778 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
15779
15780         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15781           Don't try to ref NULL.
15782
15783 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15784
15785         * win32/common/config.h.in:
15786           provide a GST_FUNCTION that just gives a string for now
15787
15788 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15789
15790         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15791         (gst_object_flags_get_type), (register_gst_bin_flags),
15792         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15793         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15794         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15795         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
15796         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15797         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15798         (gst_clock_flags_get_type), (register_gst_state),
15799         (gst_state_get_type), (register_gst_state_change_return),
15800         (gst_state_change_return_get_type), (register_gst_state_change),
15801         (gst_state_change_get_type), (register_gst_element_flags),
15802         (gst_element_flags_get_type), (register_gst_core_error),
15803         (gst_core_error_get_type), (register_gst_library_error),
15804         (gst_library_error_get_type), (register_gst_resource_error),
15805         (gst_resource_error_get_type), (register_gst_stream_error),
15806         (gst_stream_error_get_type), (register_gst_event_type),
15807         (gst_event_type_get_type), (register_gst_seek_type),
15808         (gst_seek_type_get_type), (register_gst_seek_flags),
15809         (gst_seek_flags_get_type), (register_gst_format),
15810         (gst_format_get_type), (register_gst_index_certainty),
15811         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15812         (gst_index_entry_type_get_type),
15813         (register_gst_index_lookup_method),
15814         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15815         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15816         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15817         (gst_index_flags_get_type), (register_gst_debug_level),
15818         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15819         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15820         (gst_iterator_result_get_type), (register_gst_iterator_item),
15821         (gst_iterator_item_get_type), (register_gst_message_type),
15822         (gst_message_type_get_type), (register_gst_mini_object_flags),
15823         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15824         (gst_pad_link_return_get_type), (register_gst_flow_return),
15825         (gst_flow_return_get_type), (register_gst_activate_mode),
15826         (gst_activate_mode_get_type), (register_gst_pad_direction),
15827         (gst_pad_direction_get_type), (register_gst_pad_flags),
15828         (gst_pad_flags_get_type), (register_gst_pad_presence),
15829         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15830         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15831         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15832         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15833         (gst_plugin_flags_get_type), (register_gst_rank),
15834         (gst_rank_get_type), (register_gst_query_type),
15835         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15836         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15837         (gst_tag_flag_get_type), (register_gst_task_state),
15838         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15839         (gst_alloc_trace_flags_get_type),
15840         (register_gst_type_find_probability),
15841         (gst_type_find_probability_get_type), (register_gst_uri_type),
15842         (gst_uri_type_get_type), (register_gst_parse_error),
15843         (gst_parse_error_get_type):
15844         * win32/common/gstversion.h:
15845           update win32 copies
15846
15847 2005-11-01  Luca Ognibene  <luogni@tin.it>
15848
15849         * gst/gst.c:
15850           fix docs. popt is dead, long live GOption.
15851
15852 2005-10-31  Wim Taymans  <wim@fluendo.com>
15853
15854         * gst/gstbuffer.h:
15855         Small doc fix.
15856
15857 2005-10-31  Andy Wingo  <wingo@pobox.com>
15858
15859         * Boo!
15860
15861         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
15862
15863         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
15864         need to serialize property notifications on GLib 2.8. GLib 2.6 has
15865         the possibility of deadlocks here if code calling notify() or
15866         set() has a lock that can be taken in another notify handler (ABBA
15867         with class lock and e.g. python GIL state lock).
15868
15869 2005-10-28  Julien MOUTTE  <julien@moutte.net>
15870
15871         * gst/gstbus.c: Doc updates.
15872
15873 2005-10-28  Wim Taymans  <wim@fluendo.com>
15874
15875         * docs/design/part-TODO.txt:
15876         * gst/gstiterator.c:
15877         * gst/gstsystemclock.c:
15878         * gst/gstsystemclock.h:
15879         Doc updates.
15880
15881 2005-10-28  Edward Hervey  <edward@fluendo.com>
15882
15883         * docs/gst/gstreamer-docs.sgml:
15884         * docs/gst/gstreamer-sections.txt:
15885         the GstURIType documentation page is private, it only defines GstURIType
15886         which should be defined in the GstURIHandler page
15887         
15888 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15889
15890         * gst/gstbin.c: (gst_bin_class_init):
15891         * gst/gstbin.h:
15892         * gst/gstutils.c:
15893         Documentation updates.
15894
15895 2005-10-28  Wim Taymans  <wim@fluendo.com>
15896
15897         * docs/gst/gstreamer-sections.txt:
15898         * gst/gstclock.c:
15899         * gst/gstclock.h:
15900         Documented the clocks.
15901
15902 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
15903
15904         * docs/gst/gstreamer-sections.txt:
15905           move some macros to private sections
15906         * gst/gstminiobject.c:
15907         * gst/gstminiobject.h:
15908           add descriptions provided by ds and some more
15909         * gst/gstpad.h:
15910           mark macro as to be removed
15911
15912 2005-10-28  Wim Taymans  <wim@fluendo.com>
15913
15914         * docs/design/part-TODO.txt:
15915         Add an item to TODO.
15916
15917         * gst/gstiterator.c: (gst_iterator_fold),
15918         (gst_iterator_find_custom):
15919         * gst/gstiterator.h:
15920         Add iterator docs.
15921
15922 2005-10-28  Wim Taymans  <wim@fluendo.com>
15923
15924         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15925         (gst_base_transform_init):
15926         Don't leak class.
15927
15928         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
15929         An EOS event marks the queue as completely filled.
15930
15931 2005-10-27  Wim Taymans  <wim@fluendo.com>
15932
15933         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15934         (gst_base_sink_do_sync), (gst_base_sink_get_position):
15935         Some more debugging.
15936
15937         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
15938         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
15939         (gst_base_transform_event), (gst_base_transform_getrange),
15940         (gst_base_transform_chain):
15941         * gst/base/gstbasetransform.h:
15942         Fix debugging,
15943         Protect transform and concurrent buffer alloc with a new lock.
15944         Try not to break ABI/API.
15945
15946 2005-10-27  Wim Taymans  <wim@fluendo.com>
15947
15948         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15949         (gst_base_src_init), (gst_base_src_query),
15950         (gst_base_src_default_newsegment),
15951         (gst_base_src_configure_segment), (gst_base_src_do_seek),
15952         (gst_base_src_send_event), (gst_base_src_event_handler),
15953         (gst_base_src_pad_get_range), (gst_base_src_loop),
15954         (gst_base_src_unlock), (gst_base_src_default_negotiate),
15955         (gst_base_src_start), (gst_base_src_deactivate),
15956         (gst_base_src_activate_push), (gst_base_src_change_state):
15957         Move some stuff around and cleanup things.
15958
15959 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
15960
15961         * gst/base/gstbasesrc.c: (gst_base_src_query):
15962           Add missing break statements.
15963
15964 2005-10-27  Wim Taymans  <wim@fluendo.com>
15965
15966         * check/gst/gstbin.c: (GST_START_TEST):
15967         An extra refcount is taken in basesrc.
15968
15969         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
15970         (gst_base_src_get_range), (gst_base_src_pad_get_range),
15971         (gst_base_src_loop):
15972         Small cleanups, check for flushing after being unlocked from the 
15973         LIVE_LOCK. take refcounts correctly (not yet everywhere).
15974         Don't send out EOS when going to READY.
15975
15976 2005-10-27  Wim Taymans  <wim@fluendo.com>
15977
15978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15979         (gst_base_sink_get_position):
15980         Some more debug.
15981
15982         * gst/gstbin.c: (message_check), (bin_replace_message),
15983         (bin_remove_messages), (is_eos), (gst_bin_add_func),
15984         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15985         (bin_query_duration_init), (bin_query_duration_fold),
15986         (bin_query_duration_done), (bin_query_generic_fold),
15987         (gst_bin_query):
15988         * tools/gst-launch.c: (main):
15989         Remove old option.
15990
15991 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
15992
15993         * examples/controller/audio-example.c: (main):
15994         * examples/queue/queue.c: (event_loop):
15995         * gst/base/gstbasetransform.h:
15996         * gst/gstelement.c: (gst_element_send_event):
15997         * gst/gstevent.h:
15998         * gst/gstpad.c: (gst_pad_send_event):
15999           fixing examples
16000           fixing docs typos
16001           changing log priority in error situations
16002
16003 2005-10-25  Wim Taymans  <wim@fluendo.com>
16004
16005         * gst/gstbin.c: (message_check), (bin_replace_message),
16006         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16007         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16008         (bin_query_duration_init), (bin_query_duration_fold),
16009         (bin_query_duration_done), (bin_query_generic_fold),
16010         (gst_bin_query):
16011         Some doc and debug updates.
16012         Cache previously requested query DURATION for speed. invalidate
16013         cached duration if element posts a DURATION message.
16014
16015 2005-10-25  Wim Taymans  <wim@fluendo.com>
16016
16017         * docs/design/part-TODO.txt:
16018         Update TODO.
16019
16020         * gst/gstbin.c: (message_check), (bin_replace_message),
16021         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16022         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16023         (bin_query_duration_init), (bin_query_duration_fold),
16024         (bin_query_duration_done), (bin_query_generic_fold),
16025         (gst_bin_query):
16026         Handle SEGMENT_START/DONE messages correctly.
16027         More evolved query algorithm that handles duration queries
16028         correctly.
16029
16030         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16031         (gst_element_get_state_func), (gst_element_abort_state),
16032         (gst_element_commit_state), (gst_element_lost_state):
16033         Some more debugging.
16034
16035         * gst/gstmessage.h:
16036         Added doc.
16037
16038 2005-10-25  Wim Taymans  <wim@fluendo.com>
16039
16040         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16041         Don't use invalid stream_time.
16042
16043         * gst/gstevent.c: (gst_event_new_newsegment):
16044         stream_time in newsegment cannot be undefined.
16045
16046 2005-10-24  Wim Taymans  <wim@fluendo.com>
16047
16048         * gst/gstbus.c:
16049         Doc fix.
16050
16051         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16052         (gst_queue_loop):
16053         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16054
16055 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
16056
16057         * docs/libs/tmpl/gstdparam.sgml:
16058         * docs/libs/tmpl/gstdplinint.sgml:
16059         * docs/libs/tmpl/gstdpman.sgml:
16060         * docs/libs/tmpl/gstdpsmooth.sgml:
16061         * docs/libs/tmpl/gstunitconvert.sgml:
16062           these are obsolete
16063
16064 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16065
16066         * configure.ac:
16067           back to HEAD
16068
16069 === release 0.9.4 ===
16070
16071 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16072
16073         * configure.ac:
16074           releasing 0.9.4, "Tyrannosaurus Rex"
16075
16076 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
16077
16078         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16079         (gst_file_sink_get_current_offset):
16080           Use fseeko() and ftello() if available. When falling back on
16081           lseek() to get the current offset, fflush() first to make sure
16082           everything is up-to-date and we get the right offset.
16083
16084 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16085
16086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16087         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16088         * gst/gsterror.c: (_gst_stream_errors_init):
16089         * gst/gsterror.h:
16090         * gst/gstqueue.c: (gst_queue_loop):
16091         * po/POTFILES.in:
16092           remove prematurely added error category and clean up the instances
16093
16094 2005-10-21  Wim Taymans  <wim@fluendo.com>
16095
16096         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16097         (gst_base_sink_get_position), (gst_base_sink_query),
16098         (gst_base_sink_change_state):
16099         Simply set the right flag when going to playing, that's all
16100         we need to do instead of calling a function inside the object
16101         lock (that could take the lock as well and deadlock)
16102
16103 2005-10-21  Wim Taymans  <wim@fluendo.com>
16104
16105         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16106         (gst_base_src_loop):
16107         Don't warn, the peer element knows what to do best when
16108         the seek failed, it might try something else.
16109
16110 2005-10-21  Wim Taymans  <wim@fluendo.com>
16111
16112         * gst/base/gstbasesrc.c: (gst_base_src_init),
16113         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16114         Fix seeking.
16115
16116 2005-10-21  Wim Taymans  <wim@fluendo.com>
16117
16118         * docs/design/part-segments.txt:
16119         More docs.
16120
16121         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16122         Correctly set caps, even on the subbufer.
16123
16124 2005-10-21  Wim Taymans  <wim@fluendo.com>
16125
16126         * docs/gst/gstreamer-docs.sgml:
16127         * docs/gst/gstreamer-sections.txt:
16128         * gst/gstelement.h:
16129         * gst/gstevent.c:
16130         * gst/gstevent.h:
16131         * gst/gstmessage.h:
16132         * gst/gstpad.h:
16133         * gst/gstparse.h:
16134         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16135         * gst/gsttask.h:
16136         * gst/gstutils.c:
16137         * gst/gstutils.h:
16138         And 2% more doc coverage.
16139
16140 2005-10-21  Andy Wingo  <wingo@pobox.com>
16141
16142         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16143         position reporting.
16144
16145 2005-10-20  Wim Taymans  <wim@fluendo.com>
16146
16147         * gst/gsterror.c: (gst_error_get_message):
16148         * gst/gstparse.h:
16149         * gst/gstquery.h:
16150         * gst/gststructure.c:
16151         * gst/gsttrace.c:
16152         * gst/gstutils.c:
16153         More docs.
16154
16155 2005-10-20  Wim Taymans  <wim@fluendo.com>
16156
16157         * gst/gstbuffer.h:
16158         * gst/gstpad.c:
16159         * gst/gstparse.c:
16160         Another 1% more coverage.
16161
16162 2005-10-20  Wim Taymans  <wim@fluendo.com>
16163
16164         * docs/gst/gstreamer-sections.txt:
16165         * gst/gstelement.c: (gst_element_get_state_func),
16166         (gst_element_abort_state), (gst_element_commit_state),
16167         (gst_element_lost_state):
16168         * gst/gstevent.h:
16169         * gst/gstquery.c: (gst_query_set_position),
16170         (gst_query_parse_position), (gst_query_set_duration),
16171         (gst_query_parse_duration), (gst_query_new_convert):
16172         * gst/gstutils.c:
16173         Yay! 1% more docs coverage.
16174
16175 2005-10-20  Wim Taymans  <wim@fluendo.com>
16176
16177         * gst/gstpad.h:
16178         * gst/gstquery.c: (gst_query_set_position),
16179         (gst_query_parse_position), (gst_query_set_duration),
16180         (gst_query_parse_duration), (gst_query_new_convert):
16181         * gst/gstquery.h:
16182         * gst/gstutils.c: (gst_element_query_convert):
16183         * gst/gstutils.h:
16184         Docs and consistency fixes.
16185
16186 2005-10-20  Wim Taymans  <wim@fluendo.com>
16187
16188         * gst/gsttask.c:
16189         * gst/gsttask.h:
16190         More docs.
16191
16192 2005-10-20  Wim Taymans  <wim@fluendo.com>
16193
16194         * gst/gstbin.c: (message_check), (bin_replace_message),
16195         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16196         (update_degree), (gst_bin_sort_iterator_next),
16197         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16198         Reworked the message handling a bit, cache the messages instead of
16199         only the senders. alows us to do more in the future.
16200
16201 2005-10-20  Wim Taymans  <wim@fluendo.com>
16202
16203         * docs/design/part-TODO.txt:
16204         Update TODO
16205
16206         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16207         (gst_base_sink_query):
16208         Don't use clock time to report position when in EOS.
16209
16210 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
16211
16212         * tools/gst-inspect.c: (print_interfaces),
16213         (print_element_properties_info), (print_element_info):
16214           Fix interface output with gst-inspect -a; don't print
16215           newlines after double/float properties.
16216
16217 2005-10-20  Wim Taymans  <wim@fluendo.com>
16218
16219         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16220         (gst_base_sink_query):
16221         Speed up current position calculation.
16222
16223         * gst/base/gstbasesrc.c: (gst_base_src_query),
16224         (gst_base_src_default_newsegment):
16225         Correctly set stream position in newsegment.
16226
16227         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16228         (update_degree), (gst_bin_sort_iterator_next),
16229         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16230         * gst/gstmessage.c: (gst_message_new_custom):
16231         Clean up debugging info
16232
16233         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16234         (gst_queue_loop), (gst_queue_handle_src_query):
16235         Pause task faster.
16236
16237 2005-10-19  Wim Taymans  <wim@fluendo.com>
16238
16239         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16240         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16241         Fix query handling again.
16242
16243 2005-10-19  Wim Taymans  <wim@fluendo.com>
16244
16245         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16246         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16247         * gst/base/gstbasesrc.c: (gst_base_src_query):
16248         * gst/elements/gstfilesink.c: (gst_file_sink_query):
16249         * gst/elements/gsttypefindelement.c:
16250         (gst_type_find_handle_src_query), (find_element_get_length),
16251         (gst_type_find_element_activate):
16252         API change fix.
16253
16254         * gst/gstquery.c: (gst_query_new_position),
16255         (gst_query_set_position), (gst_query_parse_position),
16256         (gst_query_new_duration), (gst_query_set_duration),
16257         (gst_query_parse_duration), (gst_query_set_segment),
16258         (gst_query_parse_segment):
16259         * gst/gstquery.h:
16260         Bundling query position/duration is not a good idea since duration
16261         does not change much and we don't want to recalculate it for every
16262         position query, so they are separated again..
16263         Base value in segment query is not needed.
16264
16265         * gst/gstqueue.c: (gst_queue_handle_src_query):
16266         * gst/gstutils.c: (gst_element_query_position),
16267         (gst_element_query_duration), (gst_pad_query_position),
16268         (gst_pad_query_duration):
16269         * gst/gstutils.h:
16270         Updates for query API change.
16271         Added some docs here and there.
16272
16273 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16274
16275         * check/gst/gstbin.c: (GST_START_TEST):
16276         * check/gst/gstghostpad.c: (GST_START_TEST):
16277         * check/pipelines/cleanup.c: (GST_START_TEST):
16278           wait on thread to die so we can check refcount correctly
16279
16280 2005-10-18  Wim Taymans  <wim@fluendo.com>
16281
16282         * check/pipelines/stress.c: (GST_START_TEST):
16283         Make check a little more time consuming.
16284
16285 2005-10-18  Wim Taymans  <wim@fluendo.com>
16286
16287         * check/Makefile.am:
16288         * check/pipelines/stress.c: (GST_START_TEST),
16289         (simple_launch_lines_suite), (main):
16290         Small state change torture test.
16291
16292         * docs/design/part-states.txt:
16293         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16294         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16295         (gst_base_sink_change_state):
16296         Never take state lock from streaming thread, clean up ugly
16297         hacks. Unfortunatly core does not yet support nice ways to
16298         async commit state.
16299         
16300         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16301         (bin_bus_handler):
16302         Start state recalc if a STATE_DIRTY message is posted, but only
16303         on the toplevel bin.
16304
16305         * gst/gstelement.c: (gst_element_sync_state_with_parent),
16306         (gst_element_get_state_func), (gst_element_abort_state),
16307         (gst_element_commit_state), (gst_element_lost_state),
16308         (gst_element_set_state_func), (gst_element_change_state):
16309         * gst/gstelement.h:
16310         State variables are now protected with the LOCK, the state
16311         lock is only used to serialize _set_state().
16312
16313 2005-10-18  Wim Taymans  <wim@fluendo.com>
16314
16315         * check/gst/gstbin.c: (GST_START_TEST):
16316         * check/gst/gstmessage.c: (GST_START_TEST):
16317         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16318         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16319         (bin_bus_handler):
16320         * gst/gstelement.c: (gst_element_abort_state),
16321         (gst_element_commit_state), (gst_element_lost_state):
16322         * gst/gstmessage.c: (gst_message_new_state_changed),
16323         (gst_message_new_state_dirty), (gst_message_new_segment_start),
16324         (gst_message_new_segment_done), (gst_message_new_duration),
16325         (gst_message_parse_state_changed),
16326         (gst_message_parse_segment_start),
16327         (gst_message_parse_segment_done), (gst_message_parse_duration):
16328         * gst/gstmessage.h:
16329         * tools/gst-launch.c: (event_loop):
16330         Seriously, this is better than a previous commit as we only need
16331         to notify the fact that an element changed state in a streaming
16332         thread, marking the state of the parents dirty, hence the 
16333         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16334         message.
16335
16336 2005-10-18  Wim Taymans  <wim@fluendo.com>
16337
16338         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16339         (gst_bin_recalc_func):
16340         * gst/gstelement.c: (gst_element_set_clock),
16341         (gst_element_abort_state), (gst_element_lost_state):
16342         Cleanups, prepare for state change fixes.
16343
16344 2005-10-18  Wim Taymans  <wim@fluendo.com>
16345
16346         * gst/gstbin.h:
16347         * gst/gstelement.c: (gst_element_class_init),
16348         (gst_element_set_state), (gst_element_set_state_func):
16349         * gst/gstelement.h:
16350         Pending ABI changes.
16351         GThreadPool in GstBinClass to monitor async state changes.
16352         state_cookie in GstElement to detect concurrent gst/set state.
16353         set_state is now virtual too in case a very complicated element
16354         has to be constructed.
16355
16356 2005-10-18  Wim Taymans  <wim@fluendo.com>
16357
16358         * check/gst/gstbin.c: (GST_START_TEST):
16359         * check/gst/gstmessage.c: (GST_START_TEST):
16360         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16361         * gst/gstbin.c: (bin_bus_handler):
16362         * gst/gstelement.c: (gst_element_commit_state),
16363         (gst_element_lost_state):
16364         * gst/gstmessage.c: (gst_message_new_state_changed),
16365         (gst_message_new_segment_start), (gst_message_new_segment_done),
16366         (gst_message_new_duration), (gst_message_parse_state_changed),
16367         (gst_message_parse_segment_start),
16368         (gst_message_parse_segment_done), (gst_message_parse_duration):
16369         * gst/gstmessage.h:
16370         * tools/gst-launch.c: (event_loop):
16371         Make messages future proof.
16372         state-change gets a flag if it was a message comming from the
16373         streaming thread.
16374         segment-start/stop can also be specified in other formats.
16375         A message to notify an app that a pipeline changed playback 
16376         duration.
16377         Also fix a GstMessage leak in -launch
16378
16379 2005-10-18  Andy Wingo  <wingo@pobox.com>
16380
16381         * gst/gstelement.c (gst_element_dispose): More helpful message.
16382
16383 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16384
16385         reviewed by: <delete if not using a buddy>
16386
16387         * common/gtk-doc.mak:
16388
16389 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16390
16391         * gst/gstregistry.c: (gst_registry_scan_path_level):
16392           unref a plug-in we get that was already initialized
16393
16394 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
16395
16396         * docs/gst/gstreamer-sections.txt:
16397         * docs/libs/gstreamer-libs-sections.txt:
16398         * gst/gstelement.h:
16399           add new api entries
16400           hide internal macro
16401
16402 2005-10-17  Andy Wingo  <wingo@pobox.com>
16403
16404         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16405         cleanup.
16406
16407         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16408
16409         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16410
16411         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16412         (gst_element_get_state_func): Better debug message.
16413         (gst_element_commit_state): s/INFO/DEBUG/.
16414         (gst_element_lost_state, gst_element_change_state): 
16415
16416         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16417         (gst_message_new_custom): s/INFO/LOG/.
16418
16419 2005-10-17  Michael Smith <msmith@fluendo.com>
16420
16421         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16422           Check if end time is valid using end time, not start time.
16423
16424 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
16425
16426         * check/gst-libs/controller.c: (GST_START_TEST),
16427         (gst_controller_suite):
16428         * libs/gst/controller/gstcontroller.c:
16429         (gst_controlled_property_set_interpolation_mode):
16430         * libs/gst/controller/gstcontroller.h:
16431         * libs/gst/controller/gstinterpolation.c:
16432         * testsuite/controller/.cvsignore:
16433         * testsuite/controller/Makefile.am:
16434         * testsuite/controller/interpolator.c:
16435           merge controller testsuites
16436           fix broken tests
16437           remove mem-chunk from docs
16438
16439 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16440
16441         * gst/gstmemchunk.c:
16442         * gst/gstmemchunk.h:
16443         * gst/gsttrashstack.c:
16444         * gst/gsttrashstack.h:
16445           out.  get out.  you're fired.  to the Attic !
16446
16447 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16448
16449         * gst/gstcaps.c: (gst_caps_intersect):
16450           fix signedness issues in a (hopefully) correct way
16451         * gst/gstelement.c: (gst_element_pads_activate):
16452           some debugging
16453         * gst/gstobject.c: (gst_object_set_parent):
16454           some debugging
16455
16456 2005-10-17  Julien MOUTTE  <julien@moutte.net>
16457
16458         * gst/gstvalue.h: Fix prototypes.
16459
16460 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16461
16462         * docs/gst/gstreamer-sections.txt:
16463         * gst/gst.c: (gst_version_string):
16464         * gst/gst.h:
16465         * gst/gstversion.h.in:
16466         * win32/common/libgstreamer.def:
16467           add gst_version_string ()
16468
16469 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16470
16471         * configure.ac:
16472           clean up further
16473         * gst/gst.c: (init_post):
16474         * win32/common/config.h.in:
16475           it's PLUGINDIR now
16476         * gst/gstcaps.c: (gst_caps_intersect):
16477           use gint64, the range could be bigger than a guint
16478
16479 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16480
16481         * gst/gstclock.h:
16482           document potential problem in 2038
16483
16484 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16485
16486         * gst/gstcaps.c: (gst_caps_intersect):
16487           Fix guint j diving under 0
16488
16489 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16490
16491         * configure.ac:
16492         * win32/common/config.h:
16493         * win32/common/config.h.in:
16494           check for process.h, declares getpid() on Windows
16495         * gst/gstinfo.c:
16496           include process.h if we have it
16497         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
16498         * gst/gstmemchunk.h:
16499           fix signedness issues
16500         * win32/common/libgstreamer.def:
16501           fix get_type's
16502
16503 2005-10-16  Julien MOUTTE  <julien@moutte.net>
16504
16505         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
16506         fix. Because of unsigned ints, caps intersection was going nuts and
16507         trying to access structures with G_MAXUINT index. That fixes
16508         videotestsrc ! ffmpegcolorspace ! fakesink
16509         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
16510         consistency.
16511
16512 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16513
16514         * configure.ac:
16515           use the gettext macro
16516         * gst/elements/gstelements.c:
16517         * gst/gst.c:
16518         * gst/indexers/gstindexers.c:
16519           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
16520         * win32/common/config.h:
16521           updated config.h
16522         * win32/common/config.h.in:
16523           add the template to generate config.h
16524         * win32/common/gstenumtypes.c:
16525         * win32/common/gstversion.h:
16526           updated copies
16527
16528 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16529
16530         * gst/gst.c: (gst_version):
16531         * gst/gstversion.h.in:
16532           add the nano
16533
16534 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16535
16536         * gst/gstevent.h:
16537           Oops, add missing closing bracket.
16538
16539 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16540
16541         * configure.ac:
16542           use common m4's for argument checking
16543
16544 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
16545
16546         * docs/gst/gstreamer-sections.txt:
16547         * gst/gstevent.h:
16548           Add GST_EVENT_TYPE_NAME() macro.
16549
16550 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16551
16552         * gst/gstinfo.c:
16553         * gst/gstpluginfeature.c:
16554         * gst/gsttask.c:
16555           privatize more symbols
16556
16557 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16558
16559         * configure.ac:
16560           add srcdir, builddir includes to GST_ALL_CFLAGS, since
16561           everything that uses GStreamer API should have the includes
16562
16563 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16564
16565         * docs/gst/gstreamer-sections.txt:
16566         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
16567         * gst/gstvalue.h:
16568           give each value a _get_type, removes the DATA exports
16569
16570 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16571
16572         * gst/gst.c:
16573         * gst/gst.h:
16574           remove _gst_registry_auto_load, not used anymore
16575         * gst/gstbin.c: (gst_bin_get_type):
16576         * gst/gstbin.h:
16577         * gst/gstelement.c: (gst_element_get_type):
16578         * gst/gstelement.h:
16579         * gst/gstobject.c: (gst_object_get_type):
16580         * gst/gstobject.h:
16581         * gst/gstpad.c: (gst_pad_get_type):
16582         * gst/gstpad.h:
16583           make _get_type functions similar, fixes data export from library
16584
16585 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16586
16587         * configure.ac:
16588           correctly make conditionals
16589         * gst/elements/Makefile.am:
16590         * gst/elements/gstelements.c:
16591           fix typo causing fdsrc not to build
16592
16593 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16594
16595         * testsuite/Makefile.am:
16596         * testsuite/bytestream/.cvsignore:
16597         * testsuite/bytestream/Makefile.am:
16598         * testsuite/bytestream/filepadsink.c:
16599         * testsuite/bytestream/gstbstest.c:
16600         * testsuite/bytestream/test1.c:
16601         * testsuite/bytestream/testfile1:
16602         * testsuite/caps/normalisation.c:
16603         * testsuite/caps/random.c: (main):
16604         * testsuite/cleanup/.cvsignore:
16605         * testsuite/cleanup/Makefile.am:
16606         * testsuite/cleanup/cleanup1.c:
16607         * testsuite/cleanup/cleanup2.c:
16608         * testsuite/cleanup/cleanup3.c:
16609         * testsuite/cleanup/cleanup4.c:
16610         * testsuite/cleanup/cleanup5.c:
16611         * testsuite/controller/interpolator.c:
16612         * testsuite/debug/printf_extension.c: (main):
16613         * testsuite/elements/tee.c:
16614         * testsuite/negotiation/.cvsignore:
16615         * testsuite/negotiation/Makefile.am:
16616         * testsuite/negotiation/pad_link.c:
16617         * testsuite/pad/Makefile.am:
16618         * testsuite/pad/chainnopull.c:
16619         * testsuite/pad/getnopush.c:
16620         * testsuite/pad/link.c:
16621         * testsuite/refcounting/sched.c: (create_pipeline):
16622         * testsuite/registry/Makefile.am:
16623         * testsuite/registry/gst-print-formats.c:
16624         * testsuite/schedulers/.cvsignore:
16625         * testsuite/schedulers/142183-2.c:
16626         * testsuite/schedulers/142183.c:
16627         * testsuite/schedulers/143777-2.c:
16628         * testsuite/schedulers/143777.c:
16629         * testsuite/schedulers/147713.c:
16630         * testsuite/schedulers/147819.c:
16631         * testsuite/schedulers/147894-2.c:
16632         * testsuite/schedulers/147894.c:
16633         * testsuite/schedulers/Makefile.am:
16634         * testsuite/schedulers/group_link.c:
16635         * testsuite/schedulers/queue_link.c:
16636         * testsuite/schedulers/relink.c:
16637         * testsuite/schedulers/unlink.c:
16638         * testsuite/schedulers/unref.c:
16639         * testsuite/schedulers/useless_iteration.c:
16640         * testsuite/states/bin.c:
16641           clean out/remove some stuff from the testsuite directories
16642
16643 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16644
16645         * configure.ac:
16646           check for some headers
16647         * gst/elements/Makefile.am:
16648         * gst/elements/gstelements.c:
16649           don't compile fdsrc without sys/socket.h
16650         * gst/indexers/Makefile.am:
16651         * gst/indexers/gstindexers.c: (plugin_init):
16652           don't compile fileindex without mmap
16653
16654 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16655
16656         * configure.ac:
16657           reorganize
16658           clean up
16659           document more
16660           remove cruft
16661         * check/Makefile.am:
16662         * docs/gst/Makefile.am:
16663         * examples/helloworld/Makefile.am:
16664         * gst/Makefile.am:
16665         * gst/base/Makefile.am:
16666         * gst/check/Makefile.am:
16667         * gst/elements/Makefile.am:
16668         * gst/indexers/Makefile.am:
16669         * gst/parse/Makefile.am:
16670         * libs/gst/controller/Makefile.am:
16671         * libs/gst/dataprotocol/Makefile.am:
16672         * examples/helloworld/helloworld.c: (event_loop):
16673           compile fixes, though it's not being compiled currently
16674
16675 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16676
16677         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
16678           Add some simple tests for the new taglist date API.
16679
16680 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16681
16682         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
16683         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
16684           Beautify 'last-message' output: print 'none' for buffer timestamps
16685           and durations if none is set; improve alignment with next messages.
16686
16687 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
16688
16689         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
16690         * gst/gstpluginfeature.h:
16691         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
16692         * gst/gstregistry.h:
16693         * docs/gst/gstreamer-sections.txt:
16694           Add new API to check plugin feature version requirements.
16695
16696         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
16697           Some basic tests for the above.         
16698
16699 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16700
16701         * gst/gststructure.c: (gst_structure_to_string):
16702           guard against NULL printf - happens when for example
16703           a message structure with GstClock gets serialized
16704
16705 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16706
16707         * gst/base/gstcollectpads.c: (gst_collectpads_event):
16708           Fix presumable copy'n'pasto.
16709
16710 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16711
16712         * gst/elements/gstfakesrc.h:
16713         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
16714         * gst/elements/gsttypefindelement.c:
16715           fix some signedness
16716         * gst/elements/gstfilesink.c: (gst_file_sink_render):
16717           I wonder if this could actually write +2GB files before
16718
16719 2005-10-13  Andy Wingo  <wingo@pobox.com>
16720
16721         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16722         Fix Timmeke Waymans bug.
16723         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16724         string of the proper length to gst_caps_from_string. There's a
16725         potential for, before this fix, that this could cause someone
16726         connecting over the network to cause a segfault if the payload is
16727         not NUL-terminated.
16728
16729 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16730
16731         * docs/design/draft-push-pull.txt:
16732         * docs/design/part-overview.txt:
16733         * docs/random/TODO-pre-0.9:
16734         * docs/random/old/ChangeLog.gstreamer:
16735         * gst/base/gstpushsrc.c:
16736         * gst/gstclock.c:
16737           fixed typos
16738
16739 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16740
16741         * gst/glib-compat.c: (gst_flags_get_first_value):
16742         * gst/glib-compat.h:
16743         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16744         (gst_value_compare_double), (gst_value_serialize_flags):
16745           GLib 2.6 g_flags_get_first_value has a bug that triggers an
16746           infinite loop
16747
16748 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16749
16750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16751         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16752           fix up debugging
16753         * tools/gst-launch.c: (event_loop):
16754           print out clock nicely
16755
16756 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
16757
16758         * docs/gst/gstreamer-sections.txt:
16759         * gst/gsttaglist.h:
16760         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16761         (gst_tag_list_get_date_index):
16762           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16763           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16764
16765 2005-10-13  Julien MOUTTE  <julien@moutte.net>
16766
16767         * gst/base/gstcollectpads.c: (gst_collectpads_event),
16768         (gst_collectpads_chain):
16769         * gst/base/gstcollectpads.h: Handle newsegment and store informations
16770         in CollectData.
16771
16772 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
16773
16774         * docs/gst/gstreamer-sections.txt:
16775         * gst/gst.c:
16776         * gst/gsterror.h:
16777         * tools/gst-inspect.c: (main):
16778         * tools/gst-launch.c: (main):
16779         * tools/gst-run.c: (main):
16780         * tools/gst-xmlinspect.c: (main):
16781           fix GOption context leaks
16782           doc fixes
16783
16784 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16785
16786         * gst/gstbus.c:
16787           use HAVE_UNISTD_H
16788         * win32/common/config.h:
16789           update config
16790         * win32/vs6/grammar.dsp:
16791         * win32/vs6/libgstelements.dsp:
16792         * win32/vs6/libgstreamer.dsp:
16793           update vs6 files
16794
16795 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16796
16797         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16798         * gst/base/gstbasesrc.c: (gst_base_src_query):
16799           fix more guint64<->gdouble conversions
16800
16801 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16802
16803         * Makefile.am:
16804           add win32-update target
16805         * win32/common/gstconfig.h:
16806         * win32/common/gstenumtypes.c:
16807         * win32/common/gstenumtypes.h:
16808         * win32/common/gstversion.h:
16809           add files that visual studio can't generate
16810
16811 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16812
16813         * Makefile.am:
16814           add a win32-update target
16815         * configure.ac:
16816
16817 2005-10-12  Wim Taymans  <wim@fluendo.com>
16818
16819         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16820         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
16821         * gst/gstelement.c: (gst_element_commit_state),
16822         (gst_element_set_state):
16823         Protect flags with proper lock.
16824         unref provided cached clock in dispose.
16825
16826 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16827
16828         * gst/gst.c:
16829         * gst/gstminiobject.h:
16830         * gst/gstpad.h:
16831         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
16832           removed unused flags from miniobject
16833           doc fixes
16834
16835 2005-10-12  Wim Taymans  <wim@fluendo.com>
16836
16837         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16838         (gst_file_sink_event), (gst_file_sink_render):
16839         Flush before seeking.
16840
16841 2005-10-12  Andy Wingo  <wingo@pobox.com>
16842
16843         * gst/gst.c (gst_init_check): Ignore unknown options, as has
16844         always been the case.
16845
16846 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
16847
16848         * check/gst/gstbin.c: (GST_START_TEST):
16849         * docs/gst/gstreamer-sections.txt:
16850         * gst/base/gstbasesink.c: (gst_base_sink_init):
16851         * gst/base/gstbasesrc.c: (gst_base_src_init),
16852         (gst_base_src_get_range), (gst_base_src_check_get_range),
16853         (gst_base_src_start), (gst_base_src_stop):
16854         * gst/base/gstbasesrc.h:
16855         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
16856         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16857         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
16858         (bin_bus_handler):
16859         * gst/gstbin.h:
16860         * gst/gstbuffer.h:
16861         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
16862         * gst/gstbus.h:
16863         * gst/gstelement.c: (gst_element_is_locked_state),
16864         (gst_element_set_locked_state), (gst_element_commit_state),
16865         (gst_element_set_state):
16866         * gst/gstelement.h:
16867         * gst/gstindex.c: (gst_index_init):
16868         * gst/gstindex.h:
16869         * gst/gstminiobject.h:
16870         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
16871         (gst_object_set_parent):
16872         * gst/gstobject.h:
16873         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
16874         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
16875         * gst/gstpad.h:
16876         * gst/gstpadtemplate.h:
16877         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
16878         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16879         * gst/gstpipeline.h:
16880         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16881         (gst_file_index_commit):
16882         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
16883         * testsuite/pad/link.c: (gst_test_src_init),
16884         (gst_test_filter_init), (gst_test_sink_init):
16885         * testsuite/states/locked.c: (main):
16886           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
16887           moved bitshift from macro to enum definition
16888
16889 2005-10-12  Wim Taymans  <wim@fluendo.com>
16890
16891         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
16892         * gst/elements/gstfilesink.c: (gst_file_sink_event),
16893         (gst_file_sink_render):
16894         Some more debugging info.
16895
16896 2005-10-12  Wim Taymans  <wim@fluendo.com>
16897
16898         * docs/design/part-states.txt:
16899         * tools/gst-launch.c: (main):
16900         Some doc updates.
16901         Revert non-intentional change.
16902
16903 2005-10-12  Wim Taymans  <wim@fluendo.com>
16904
16905         * check/gst/gstbin.c: (GST_START_TEST):
16906         * check/gst/gstelement.c: (GST_START_TEST):
16907         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
16908         * check/gst/gstghostpad.c: (GST_START_TEST):
16909         * check/gst/gstpipeline.c: (GST_START_TEST):
16910         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16911         * check/states/sinks.c: (GST_START_TEST):
16912         * gst/elements/gsttypefindelement.c: (stop_typefinding):
16913         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16914         (gst_bin_remove_func), (gst_bin_get_state_func),
16915         (gst_bin_recalc_state), (gst_bin_change_state_func),
16916         (bin_bus_handler):
16917         * gst/gstelement.c: (gst_element_get_state_func),
16918         (gst_element_get_state), (gst_element_abort_state),
16919         (gst_element_commit_state), (gst_element_set_state),
16920         (gst_element_change_state), (gst_element_change_state_func):
16921         * gst/gstelement.h:
16922         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
16923         (gst_pipeline_provide_clock_func):
16924         * gst/gstutils.c: (gst_element_link_pads_filtered):
16925         * tools/gst-launch.c: (main):
16926         * tools/gst-typefind.c: (main):
16927         Use GstClockTime in _get_state() instead of GTimeVal.
16928         Remove old code in gstutils.c
16929
16930 2005-10-12  Andy Wingo  <wingo@pobox.com>
16931
16932         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
16933         removed.
16934
16935         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
16936         there is no task. Shouldn't affect any code, as nothing in our
16937         plugins checks this return value.
16938         (gst_pad_stop_task): Also take the stream lock if the pad has no
16939         task. Docs updated.
16940
16941 2005-10-12  Wim Taymans  <wim@fluendo.com>
16942
16943         * gst/gstpad.c: (pre_activate), (post_activate),
16944         (gst_pad_activate_pull), (gst_pad_activate_push):
16945         Cleanup activation code. Reset old state if
16946         activation failed.
16947
16948 2005-10-12  Wim Taymans  <wim@fluendo.com>
16949
16950         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16951         (gst_base_sink_change_state):
16952         No need to prerol after receiving EOS.
16953
16954         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
16955         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
16956         * gst/elements/gstidentity.c: (gst_identity_event):
16957         Print events more verbosely.
16958
16959 2005-10-12  Wim Taymans  <wim@fluendo.com>
16960
16961         * check/Makefile.am:
16962         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16963         * check/states/sinks2.c:
16964         Moved sinks2 testcode in sinks check.
16965
16966         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16967         (gst_bin_remove_func), (gst_bin_recalc_state),
16968         (gst_bin_change_state_func), (bin_bus_handler):
16969         Fix potential race condition when _get_state() iterated over an
16970         ASYNC element right before it posted a state completion.
16971
16972         * gst/gstclock.h:
16973         Do proper cast here.
16974
16975         * gst/gstevent.c: (gst_event_new_newsegment),
16976         (gst_event_parse_newsegment):
16977         A playback rate of 0.0 is not allowed.
16978
16979 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16980
16981         * win32/common/config.h:
16982         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
16983         (_trewinddir), (_ttelldir), (_tseekdir):
16984         * win32/common/dirent.h:
16985         * win32/common/gtchar.h:
16986         * win32/common/libgstbase.def:
16987         * win32/common/libgstreamer.def:
16988         * win32/vs6/grammar.dsp:
16989         * win32/vs6/gst_inspect.dsp:
16990         * win32/vs6/gst_launch.dsp:
16991         * win32/vs6/gstreamer.dsw:
16992         * win32/vs6/libgstbase.dsp:
16993         * win32/vs6/libgstelements.dsp:
16994         * win32/vs6/libgstreamer.dsp:
16995           Visual Studio 6 project files, and a new common directory.
16996           Phear.
16997
16998 2005-10-11  Wim Taymans  <wim@fluendo.com>
16999
17000         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17001         (gst_base_sink_do_sync), (gst_base_sink_query),
17002         (gst_base_sink_change_state):
17003         * gst/base/gstbasesink.h:
17004         Correctly parse newsegment info.
17005
17006 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17007
17008         * gst/gst.c: (init_post):
17009           split plugin paths correctly
17010
17011 2005-10-11  Wim Taymans  <wim@fluendo.com>
17012
17013         * check/gst/gstevent.c: (GST_START_TEST):
17014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17015         (gst_base_sink_change_state):
17016         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17017         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17018         * gst/elements/gstfilesink.c: (gst_file_sink_event):
17019         * gst/gstevent.c: (gst_event_new_newsegment),
17020         (gst_event_parse_newsegment):
17021         * gst/gstevent.h:
17022         Added extra flag to newsegment for future API freeze.
17023         Updated check and base elements.
17024
17025 2005-10-11  Julien MOUTTE  <julien@moutte.net>
17026
17027         * gst/base/gstcollectpads.c: (gst_collectpads_init),
17028         (gst_collectpads_add_pad), (gst_collectpads_pop),
17029         (gst_collectpads_event), (gst_collectpads_chain):
17030         * gst/base/gstcollectpads.h: Handle EOS correctly.
17031
17032 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17033
17034         * tools/gst-launch.c: (main):
17035           more null protecting
17036
17037 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17038
17039         * gst/gst-i18n-lib.h:
17040           check for ENABLE_NLS, not GETTEXT_PACKAGE
17041         * gst/gstregistry.c: (gst_registry_add_plugin),
17042         (gst_registry_scan_path_level),
17043         (_gst_registry_remove_cache_plugins):
17044           protect possibly NULL strings
17045         * gst/parse/types.h:
17046           config.h already included before
17047         * tools/gst-inspect.c: (main):
17048           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17049           check for ENABLE_NLS, not GETTEXT_PACKAGE
17050         * tools/gst-launch.c: (main):
17051           check for ENABLE_NLS, not GETTEXT_PACKAGE
17052
17053 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17054
17055         * configure.ac:
17056           if we don't have glib, fail before testing 2.8
17057         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17058           fix a leak, should fix plugins-base testsuite
17059
17060 2005-10-11  Andy Wingo  <wingo@pobox.com>
17061
17062         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17063         take the mode we're going to as an arg. Go head and set the mode
17064         and flushing flags now, so that if the activate function starts a
17065         thread all the flags will be in the right state.
17066         (post_activate): Renamed also. Just handle making sure streaming
17067         finishes for the deactivation case, and setting the deactivated
17068         mode.
17069         (gst_pad_set_active): Complain loudly if deactivation fails.
17070         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17071         (gst_pad_activate_push): Adapt to pre/post_activate changes,
17072         remove the terrible hack.
17073
17074 2005-10-11  Wim Taymans  <wim@fluendo.com>
17075
17076         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17077         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17078         (gst_bin_recalc_state), (gst_bin_change_state_func),
17079         (gst_bin_dispose), (bin_bus_handler):
17080         * gst/gstbin.h:
17081         Prepare to make current EOS message queue more generic.
17082         Fix some typos.
17083
17084         * gst/gstevent.c: (gst_event_new_newsegment),
17085         (gst_event_parse_newsegment):
17086         * gst/gstevent.h:
17087         Rename base to stream_time.
17088
17089         * gst/gstmessage.h:
17090         Fix typo in docs.
17091
17092 2005-10-11  Wim Taymans  <wim@fluendo.com>
17093
17094         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17095         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17096         (gst_bin_change_state_func), (bin_bus_handler):
17097         * gst/gstbin.h:
17098         Work on proper clock selection.
17099
17100 2005-10-11  Edward Hervey  <edward@fluendo.com>
17101
17102         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
17103         * libs/gst/controller/gstcontroller.h:
17104         Added GList* version of _remove_properties() in order to be able to wrap
17105         it in bindings.
17106
17107 2005-10-11  Wim Taymans  <wim@fluendo.com>
17108
17109         * docs/design/part-states.txt:
17110         Some more docs.
17111
17112         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17113         (gst_bin_change_state_func), (bin_bus_handler):
17114         Doc updates. Don't distribute the same clock over and over again.
17115
17116         * gst/gstclock.c:
17117         * gst/gstclock.h:
17118         Doc updates.
17119
17120         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17121         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17122         (gst_pad_send_event):
17123         * gst/gstpad.h:
17124         Make probe emission threadsafe again.
17125         Register quarks and move _get_name() from utils.
17126         Doc updates.
17127
17128         * gst/gstpipeline.c: (gst_pipeline_class_init),
17129         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17130         Only redistribute the clock of it changed.
17131
17132         * gst/gstsystemclock.h:
17133         Doc updates. 
17134
17135         * gst/gstutils.c:
17136         * gst/gstutils.h:
17137         Moved the _flow_get_name() to GstPad.
17138
17139 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17140
17141         * check/gst-libs/gdp.c: (GST_START_TEST):
17142         * check/gst/gstcaps.c: (GST_START_TEST):
17143         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17144         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17145         (gst_dp_packet_from_caps):
17146           fix more valgrind warnings before turning up the heat
17147
17148 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17149
17150         * gst/parse/grammar.y:
17151           some cleanup before the hacking
17152
17153 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17154
17155         * gst/base/gstbasesrc.c: (gst_base_src_query):
17156           use conversions
17157         * gst/gstutils.c: (gst_guint64_to_gdouble),
17158         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17159         * gst/gstutils.h:
17160           externalize, basesrc uses it
17161           obviously the implementation needs testing
17162
17163 2005-10-10  Wim Taymans  <wim@fluendo.com>
17164
17165         * tests/sched/Makefile.am:
17166         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17167         (make_pipeline3), (make_pipeline4), (print_elem), (main):
17168
17169 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17170
17171         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17172           apparently converting from guint64 to double is not implemented
17173           on MSVC
17174
17175 2005-10-10  Wim Taymans  <wim@fluendo.com>
17176
17177         * check/Makefile.am:
17178         * check/generic/states.c: (GST_START_TEST):
17179         * check/gst/gstbin.c: (GST_START_TEST):
17180         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17181         * check/states/sinks.c: (GST_START_TEST):
17182         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17183         (main):
17184         Check fixes, use API as stated in design docs, remove hacks.
17185
17186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17187         (gst_base_sink_change_state):
17188         Catch stopping our task while we're shutting down.
17189
17190         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17191         (gst_bin_remove_func), (gst_bin_get_state_func),
17192         (gst_bin_recalc_state), (gst_bin_change_state_func),
17193         (bin_bus_handler):
17194         * gst/gstbin.h:
17195         * gst/gstelement.c: (gst_element_init),
17196         (gst_element_get_state_func), (gst_element_abort_state),
17197         (gst_element_commit_state), (gst_element_lost_state),
17198         (gst_element_set_state), (gst_element_change_state),
17199         (gst_element_change_state_func):
17200         * gst/gstelement.h:
17201         New state change algorithm (see #318116)
17202
17203         * gst/gstpipeline.c: (gst_pipeline_class_init),
17204         (gst_pipeline_init), (gst_pipeline_set_property),
17205         (gst_pipeline_get_property), (do_pipeline_seek),
17206         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17207         * gst/gstpipeline.h:
17208         Remove crude state change hacks.
17209
17210         * gst/gstutils.h:
17211         Remove crude hacks.
17212
17213         * tools/gst-launch.c: (main):
17214         Fixes for state change. Needs some more work to fully use the
17215         new stuff.
17216
17217 2005-10-10  Andy Wingo  <wingo@pobox.com>
17218
17219         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17220
17221         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17222         this flag, but it's not even in GLib 2.6. Odd. Hack around the
17223         issue.
17224
17225 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17226
17227         * gst/gstiterator.c: (gst_iterator_new):
17228           Fix my previous commit: GTypes passed to gst_iterator_new()
17229           can be fundamental types.
17230
17231 2005-10-10  Wim Taymans  <wim@fluendo.com>
17232
17233         * gst/gstelement.c: (gst_element_iterate_pad_list),
17234         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17235         (gst_element_iterate_sink_pads):
17236         Use src/sink pads lists for the respective iterators instead
17237         of filtering.
17238
17239 2005-10-10  Andy Wingo  <wingo@pobox.com>
17240
17241         Merged in popt removal + GOption addition patch from Ronald, bug
17242         #169772.
17243
17244         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17245         GstElement macros around, remove popt-related symbols, add goption
17246         stuff.
17247
17248         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17249         
17250         * docs/gst/Makefile.am:
17251         * docs/libs/Makefile.am: No POPT_CFLAGS.
17252         
17253         * examples/manual/Makefile.am:
17254         * docs/manual/basics-init.xml: Doc updates with an example.
17255         
17256         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17257         (gst_init), (parse_one_option), (parse_goption_arg):
17258         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17259         bit of hand merging and debugging to get the GOption stuff working
17260         tho.
17261         
17262         * tests/Makefile.am:
17263         * tools/Makefile.am:
17264         * tools/gst-inspect.c: (main):
17265         * tools/gst-launch.c: (main):
17266         * tools/gst-run.c: (main):
17267         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17268
17269 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17270
17271         * gst/gstiterator.c: (gst_iterator_new):
17272           Add assertions to make sure passed GType is likely to really
17273           be a GType (as the compiler won't catch it if the size and
17274           GType arguments get mixed up, see #318447).
17275
17276 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
17277
17278         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17279
17280         * gst/gstbin.c: (gst_bin_iterate_sorted):
17281           Pass GType and size arguments to gst_iterator_new() in the right
17282           order (maybe we should make _new() take the GType as first argument
17283           just like _new_list()?) (#318447).
17284           
17285
17286 2005-10-10  Wim Taymans  <wim@fluendo.com>
17287
17288         * gst/gstelement.c: (gst_element_finalize):
17289         And free the GStaticRecMutex too
17290
17291 2005-10-10  Andy Wingo  <wingo@pobox.com>
17292
17293         * gst/gstelement.c (gst_element_init, gst_element_finalize):
17294         Allocate and free the mutex properly.
17295
17296         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17297         New macros.
17298         (GstElement): The state_lock is now recursive. Rebuild your
17299         plugins, suckers. Old macros adapted.
17300
17301         * docs/gst/gstreamer-sections.txt: Doc updates.
17302
17303         * gst/gstutils.h:
17304         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
17305         (g_static_rec_cond_wait): Ported from state changes patch, while
17306         we wait on bug #317802 to be solved in a well-distributed GLib.
17307
17308         * gst/gstelement.c (gst_element_change_state_func): Renamed from
17309         gst_element_change_state, variable name changes.
17310         (gst_element_change_state): Split out of gst_element_set_state in
17311         preparation for the state change merge. Doesn't pay attention to
17312         the 'transition' argument.
17313         (gst_element_set_state): Updates, hopefully purely cosmetic.
17314         (gst_element_sync_state_with_parent): MT-safety. Ported from the
17315         state change patch.
17316         (gst_element_get_state_func): Renamed from get_state, cosmetic
17317         changes.
17318
17319 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17320
17321         * gst/elements/gstelements.c:
17322         * win32/GStreamer.vcproj:
17323         * win32/config.h:
17324         * win32/dirent.c: (_tseekdir):
17325         * win32/gst-inspect.vcproj:
17326         * win32/gst-launch.vcproj:
17327         * win32/gstconfig.h:
17328         * win32/gstelements.vcproj:
17329         * win32/gstenumtypes.c: (gst_object_flags_get_type):
17330         * win32/gstreamer.def:
17331         * win32/msvc71.sln:
17332           updates for the win32 build (patch from Sebastien Moutte)
17333
17334 2005-10-10  Andy Wingo  <wingo@pobox.com>
17335
17336         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17337         gst_bin_get_state, cleaned up (but no logic changes).
17338         (bin_element_is_sink): Comment updates.
17339         (sink_iterator_filter): Remove needless cast.
17340         (gst_bin_iterate_sinks): Doc update.
17341         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17342         cleaned up (but no logic changes).
17343
17344         * check/states/sinks.c (test_src_sink): Cleanups from the state
17345         change patch.
17346         (test_livesrc_sink): Sync on the state.
17347
17348         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17349         the state change patch.
17350
17351         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17352         change patch.
17353
17354         * check/gst/gstbin.c: Merge in some style fixes and additional
17355         checks from Wim's state change patch.
17356
17357 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
17358
17359         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17360         (gst_type_find_helper):
17361           Check whether we have the requested data already in our list of
17362           cached buffers before pulling a new buffer; also make the buffer
17363           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17364
17365 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17366
17367         * gst/gstcaps.c:
17368         * gst/gstevent.c:
17369           doc updates
17370         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17371           don't use long long, it's not portable.  Replacing with
17372           gint64 seems to work; let's hope no skeletons fall out of the closet.
17373
17374 2005-10-10  Andy Wingo  <wingo@pobox.com>
17375
17376         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17377
17378 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
17379
17380         * docs/gst/gstreamer-sections.txt:
17381         * gst/gstevent.c:
17382         * gst/gstevent.h:
17383         * gst/gstinfo.c:
17384         * gst/gstinfo.h:
17385         * gst/gstmessage.c: (gst_message_parse_state_changed):
17386         * gst/gstpad.c:
17387         * gst/gstpad.h:
17388           more docs, fix compilation
17389
17390 2005-10-09  Philippe Khalaf <burger@speedy.org>
17391         * gst/gstmessage.c:
17392           Fixed a few forgotten variables on previous commit
17393
17394 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
17395
17396         * gst/base/gsttypefindhelper.c: (helper_find_peek):
17397           Fix evil typefind crasher: getrange() might return a short
17398           buffer at the end of a file, but gst_type_find_peek() must
17399           either return the full data as requested or NULL, but
17400           never a short buffer.
17401
17402 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17403
17404         * gst/gstmessage.c: (gst_message_new_state_changed),
17405         (gst_message_parse_state_changed):
17406         * gst/gstmessage.h:
17407           don't use "new", it's a C++ keyword
17408
17409 2005-10-08  Wim Taymans  <wim@fluendo.com>
17410
17411         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17412         * gst/gstelement.c: (gst_element_post_message):
17413         * gst/gstpipeline.c: (gst_pipeline_change_state):
17414         Small docs and debug updates.
17415
17416 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17417
17418         * docs/gst/gstreamer-sections.txt:
17419         * gst/gstelementfactory.c:
17420         * gst/gstevent.c:
17421         * gst/gsttaglist.c:
17422           more docs
17423
17424 2005-10-08  Wim Taymans  <wim@fluendo.com>
17425
17426         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17427         (gst_bin_dispose), (bin_bus_handler):
17428         Fix typos, add comments.
17429         Clear EOS list when going to PAUSED from any direction and do it
17430         in a threadsafe way.
17431         Get base time in a threadsafe way too.
17432         Fix confusing debug in the change_state function.
17433         Various other small cleanups.
17434         
17435         * gst/gstelement.c: (gst_element_post_message):
17436         Fix very verbose bus posting code.
17437
17438         * gst/gstpipeline.c: (gst_pipeline_class_init),
17439         (gst_pipeline_set_property), (gst_pipeline_get_property),
17440         (gst_pipeline_change_state):
17441         Small ARG_ -> PROP_ cleanup
17442
17443 2005-10-08  Wim Taymans  <wim@fluendo.com>
17444
17445         * gst/gstbin.c: (is_eos), (bin_bus_handler):
17446         Do a less CPU demanding EOS check because we can.
17447
17448 2005-10-08  Wim Taymans  <wim@fluendo.com>
17449
17450         * libs/gst/dataprotocol/dataprotocol.c:
17451         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17452         (gst_dp_packet_from_event):
17453         * libs/gst/dataprotocol/dataprotocol.h:
17454         * libs/gst/dataprotocol/dp-private.h:
17455         It's about time we bump the version number.
17456         Since event types don't fit in the guint8 anymore describing
17457         the payload type, make payload type 16 bits wide.
17458
17459 2005-10-08  Wim Taymans  <wim@fluendo.com>
17460
17461         * docs/design/part-TODO.txt:
17462         * docs/design/part-clocks.txt:
17463         * docs/design/part-events.txt:
17464         * docs/design/part-gstbin.txt:
17465         * docs/design/part-gstelement.txt:
17466         * docs/design/part-gstpipeline.txt:
17467         * docs/design/part-live-source.txt:
17468         * docs/design/part-messages.txt:
17469         * docs/design/part-overview.txt:
17470         * docs/design/part-states.txt:
17471         Many doc updates.
17472
17473 2005-10-08  Wim Taymans  <wim@fluendo.com>
17474
17475         * gst/gstevent.c:
17476         * gst/gstevent.h:
17477         Fix event quark registration.
17478         Add some space between events so we can insert them in the
17479         right groups.
17480
17481 2005-10-08  Wim Taymans  <wim@fluendo.com>
17482
17483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17484         (gst_base_sink_handle_buffer):
17485         Better log message.
17486
17487         * gst/gstbus.h:
17488         * gst/gstelement.h:
17489         More docs.
17490
17491         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17492         (gst_queue_set_property), (gst_queue_get_property):
17493         * gst/gstqueue.h:
17494         Remove old unused properties.
17495
17496 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
17497         * docs/gst/gstreamer-sections.txt:
17498         * gst/gstmessage.c:
17499         * gst/gstmessage.h:
17500         * gst/gstminiobject.c:
17501         * gst/gstminiobject.h:
17502         * gst/gstobject.h:
17503         * gst/gstpad.h:
17504         * gst/gstutils.h:
17505           lots of new docs and doc fixes
17506
17507 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17508
17509         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
17510         * gst/gstplugin.h:
17511         * gst/gstregistry.c: (gst_registry_lookup_locked),
17512         (gst_registry_scan_path_level):
17513         * gst/gstregistryxml.c: (load_plugin):
17514           Only ever load one plugin for a given plugin basename.
17515           This ensures correct overriding of GST_PLUGIN_PATH over
17516           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
17517           system installed plugins.
17518
17519 2005-10-08  Wim Taymans  <wim@fluendo.com>
17520
17521         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17522         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
17523         Prepare for doing QOS.
17524
17525 2005-10-08  Wim Taymans  <wim@fluendo.com>
17526
17527         * check/gst/gstbin.c: (GST_START_TEST):
17528         * check/pipelines/cleanup.c: (GST_START_TEST):
17529         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17530         Allow new clock message too.
17531
17532 2005-10-08  Wim Taymans  <wim@fluendo.com>
17533
17534         * gst/gstmessage.c: (gst_message_new_error),
17535         (gst_message_new_warning), (gst_message_new_tag),
17536         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17537         (gst_message_new_clock_lost), (gst_message_new_new_clock),
17538         (gst_message_new_segment_start), (gst_message_new_segment_done),
17539         (gst_message_parse_state_changed),
17540         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
17541         (gst_message_parse_new_clock):
17542         * gst/gstmessage.h:
17543         Also carry the clock in question.
17544
17545 2005-10-08  Wim Taymans  <wim@fluendo.com>
17546
17547         * gst/gstmessage.c: (gst_message_new_custom),
17548         (gst_message_new_eos), (gst_message_new_error),
17549         (gst_message_new_warning), (gst_message_new_tag),
17550         (gst_message_new_state_changed), (gst_message_new_clock_provide),
17551         (gst_message_new_new_clock), (gst_message_new_segment_start),
17552         (gst_message_new_segment_done), (gst_message_parse_state_changed),
17553         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
17554         * gst/gstmessage.h:
17555         Clean up.
17556         Added clock related messages.
17557
17558         * gst/gstpipeline.c: (gst_pipeline_change_state):
17559         Post message when the clock changed.
17560
17561         * tools/gst-launch.c: (event_loop):
17562         Print new clock.
17563
17564 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
17565
17566         * tools/gst-inspect.c: (print_element_properties_info):
17567           Can't pass NULL strings to g_print() on windows.
17568
17569 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17570
17571         * docs/Makefile.am:
17572         * docs/gst/Makefile.am:
17573         * docs/gst/gstreamer-docs.sgml:
17574         * docs/gst/running.xml:
17575         * docs/version.entities.in:
17576           add a chapter on running GStreamer.
17577           document GST_DEBUG and GST_PLUGIN* env vars
17578
17579 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17580
17581         * Makefile.am:
17582           remove include dir
17583         * configure.ac:
17584           remove PLUGINS_BUILDDIR stuff
17585         * gst/gst.c: (init_post):
17586           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
17587         * idiottest.mak:
17588           remove, it was condescending and not needed
17589
17590 2005-10-08  Wim Taymans  <wim@fluendo.com>
17591
17592         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
17593         (gst_base_sink_handle_object), (gst_base_sink_event),
17594         (gst_base_sink_wait), (gst_base_sink_handle_event),
17595         (gst_base_sink_change_state):
17596         * gst/base/gstbasesink.h:
17597         Repost EOS message while going to PLAYING if still EOS.
17598         Make sure that when receiving a FLUSH_START we don't attempt
17599         to sync on the clock anymore.
17600
17601 2005-10-08  Wim Taymans  <wim@fluendo.com>
17602
17603         * tools/gst-launch.c: (event_loop):
17604         Better message printout.
17605
17606 2005-10-08  Wim Taymans  <wim@fluendo.com>
17607
17608         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
17609         (gst_bin_child_proxy_get_children_count):
17610         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17611         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
17612         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
17613         (gst_child_proxy_set_valist):
17614         * gst/parse/grammar.y:
17615         Make ChildProxy threadsafe and fix mem leaks.
17616
17617 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17618
17619         * gst/gst.c: (init_post):
17620           debug the GST_PLUGIN_ env vars
17621
17622 2005-10-08  Wim Taymans  <wim@fluendo.com>
17623
17624         * check/gst/gstbin.c: (GST_START_TEST):
17625         * check/gst/gstmessage.c: (GST_START_TEST):
17626         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17627         * gst/gstelement.c: (gst_element_commit_state),
17628         (gst_element_lost_state):
17629         * gst/gstmessage.c: (gst_message_new_state_changed),
17630         (gst_message_parse_state_changed):
17631         * gst/gstmessage.h:
17632         * tools/gst-launch.c: (event_loop):
17633         Added extra field to STATE_CHANGE message with the pending
17634         state, which will be different from the new state soon.
17635
17636 2005-10-08  Wim Taymans  <wim@fluendo.com>
17637
17638         * gst/gstbus.c: (gst_bus_pop):
17639         * gst/gstclock.c:
17640         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17641         Small cleanups and doc updates.
17642
17643 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17644
17645         * gst/gst.c: (init_pre):
17646         * gst/gstbin.c: (gst_bin_add_func):
17647           log distributing clocks and base time
17648         * gst/gstregistry.c: (gst_registry_add_plugin),
17649         (gst_registry_scan_path_level), (gst_registry_scan_path):
17650           clean up the debugging output a little
17651         * gst/gstutils.c: (gst_element_state_get_name):
17652           warn about a memleak (I've actually seen this be used, though
17653           it was probably a bug)
17654
17655 2005-10-07  Wim Taymans  <wim@fluendo.com>
17656
17657         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17658         (gst_base_src_init), (gst_base_src_default_newsegment),
17659         (gst_base_src_newsegment), (gst_base_src_do_seek),
17660         (gst_base_src_loop), (gst_base_src_start):
17661         * gst/base/gstbasesrc.h:
17662         Make the newsegment event customizable by subclasses.
17663
17664 2005-10-07  Wim Taymans  <wim@fluendo.com>
17665
17666         * gst/gstevent.c: (gst_event_new_buffersize),
17667         (gst_event_parse_buffersize):
17668         * gst/gstevent.h:
17669         New event for future idea.
17670
17671 2005-10-07  Andy Wingo  <wingo@pobox.com>
17672
17673         * gst/gstelement.c (gst_element_post_message): Doc update.
17674
17675         * docs/gst/gstreamer-sections.txt: Update.
17676
17677         * gst/gstmessage.c (gst_message_new_application): Made into a
17678         function like honest API calls.
17679         (gst_message_new_element): New message type.
17680
17681         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
17682
17683         * check/elements/fakesrc.c (test_no_preroll): New check, checks
17684         that setting a live fakesrc to PAUSED returns NO_PREROLL both
17685         times.
17686
17687         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
17688         NO_PREROLL from gst_element_change_state to fall through.
17689
17690 2005-10-07  Wim Taymans  <wim@fluendo.com>
17691
17692         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
17693         (gst_ghost_pad_do_activate_push):
17694         Activating a ghostpad with no internal pad in push mode
17695         is ok.
17696
17697 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17698
17699         * gst/gstobject.h:
17700           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
17701           Fixes compilation on Windows.
17702
17703 2005-10-07  Michael Smith <msmith@fluendo.com>
17704
17705         * tools/gst-inspect.c:
17706           Print out feature and plugin count at the end when printing out
17707           all features.
17708
17709 2005-10-04  Michael Smith <msmith@fluendo.com>
17710
17711         * gst/gsterror.c: (_gst_stream_errors_init):
17712           Add another error string used in a few existing plugins.
17713
17714         * gst/gstplugin.c:
17715         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17716         * tools/gst-inspect.c: (print_element_info):
17717           When a feature disappears from a plugin (and the feature exists in
17718           the cached registry file), things went horribly wrong. This isn't a
17719           complete fix, we should actually be removing the 'missing' features
17720           from the features list when we load the actual plugin. That's not
17721           yet implemented. 
17722
17723 2005-10-04  Johan Dahlin  <johan@gnome.org>
17724
17725         * check/gst/gstiterator.c: (GST_START_TEST):
17726         * gst/gstbin.c: (gst_bin_iterate_elements),
17727         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17728         * gst/gstelement.c: (gst_element_iterate_pads):
17729         * gst/gstformat.c: (gst_format_iterate_definitions):
17730         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17731         (gst_iterator_new_list), (gst_iterator_filter):
17732         * gst/gstiterator.h:
17733         * gst/gstquery.c: (gst_query_type_iterate_definitions):
17734         Add a GType to GstIterator, update callsites and tests.
17735
17736 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17737
17738         * gst/gstpad.c: (gst_pad_event_default_dispatch):
17739           give events a chance to be handled by event probes when the pad
17740           is not linked
17741
17742 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17743
17744         * gst/gstevent.c: (gst_event_type_get_name),
17745         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17746         * gst/gstevent.h:
17747           add string representations for event types
17748
17749 2005-10-06  Wim Taymans  <wim@fluendo.com>
17750
17751         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17752         Don't use NULL pointers.
17753
17754 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17755
17756         * gst/gst_private.h:
17757         * gst/gstbus.c:
17758         * gst/gstelement.c:
17759         * gst/gstinfo.c:
17760         * gst/gstpluginfeature.c:
17761           widen the debug category in output to fit the biggest one we have
17762           add a bus category and use it
17763           play with the colors
17764           fix up some categories
17765
17766 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17767
17768         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17769           add push activation of sink ghost pads.
17770           Andye, please verify
17771
17772 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17773
17774         * gst/gstutils.c: (gst_element_link_pads):
17775           fix a bug in the case where neither element has a pad
17776         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17777           add a test for that case
17778
17779 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17780
17781         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
17782           emit have-data before checking for peers.  This allows
17783           for probe handlers to connect elements.  This helps autopluggers.
17784         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
17785         (gst_pad_suite):
17786           add six checks, linked/unlinked with no/true/false probe
17787
17788 2005-10-04  Wim Taymans  <wim@fluendo.com>
17789
17790         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
17791         (gst_fake_sink_event), (gst_fake_sink_preroll),
17792         (gst_fake_sink_render), (gst_fake_sink_change_state):
17793         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
17794         (gst_fake_src_get_property), (gst_fake_src_create),
17795         (gst_fake_src_stop):
17796         * gst/elements/gstidentity.c: (gst_identity_stop):
17797         Protect last_message with lock.
17798
17799 2005-10-04  Edward Hervey  <edward@fluendo.com>
17800
17801         * gst/gstformat.h: 
17802         Added precision in the comments for GST_FORMAT_DEFAULT
17803
17804 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
17805
17806         * tools/gst-launch.c: (main):
17807           Don't try to run erroneous pipelines.
17808
17809 2005-10-04  Julien MOUTTE  <julien@moutte.net>
17810
17811         * gst/gstbus.c: We don't need this header.
17812
17813 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17814
17815         * configure.ac:
17816           back to development
17817
17818 === release 0.9.3 ===
17819
17820 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17821
17822         * README:
17823         * configure.ac:
17824           Releasing 0.9.3, "Unregistered"
17825
17826 2005-10-03  Andy Wingo  <wingo@pobox.com>
17827
17828         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
17829         whereby calling a pad's activatepush() function can start a thread
17830         that starts to push or pull before the pad gets the FLUSHING flag
17831         unset. Hack around it by holding the stream lock until the flag is
17832         set. Need to replace this with a proper solution. Together with
17833         the ghost pad fixes, this fixes mp3 playing/tagreading.
17834
17835         * docs/design/part-gstghostpad.txt: Add a note about activation of
17836         proxy pads outside of ghost pads.
17837
17838         * gst/gstghostpad.c: Implement the ghost pad activation design.
17839
17840 2005-10-02  Andy Wingo  <wingo@pobox.com>
17841
17842         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
17843         It is volatile, after all.
17844
17845         * docs/design/part-gstghostpad.txt: Flesh out activation with
17846         ghost pads.
17847
17848         * gst/base/gstbasesrc.c (gst_base_src_init): Use
17849         GST_DEBUG_FUNCPTR.
17850
17851 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
17852
17853         * configure.ac:
17854           Fix (unused) AM_CONDITIONAL tests.
17855
17856 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
17857
17858         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17859
17860         * gst/gstutils.c: (gst_pad_query_convert):
17861           Add assertion that makes sure src_val is >=0, just like
17862           gst_query_new_convert() has. (#315895)
17863
17864 2005-09-30  Edward Hervey  <edward@fluendo.com>
17865
17866         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
17867         Let's not iterate pads we're not interested in, it avoids getting 
17868         sky-high refcounts on sinkpad.
17869
17870 2005-09-30  Wim Taymans  <wim@fluendo.com>
17871
17872         * gst/gstelement.c: (gst_element_set_state),
17873         (gst_element_change_state):
17874         Small tweak, element in ASYNC remains ASYNC.
17875
17876 2005-09-30  Wim Taymans  <wim@fluendo.com>
17877
17878         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17879         Only error is an error.
17880
17881         * gst/gstbin.c: (gst_bin_change_state):
17882         Better debugging.
17883
17884         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
17885         Also call pad_block in pad alloc.
17886
17887         * gst/gstutils.c: (gst_flow_get_name):
17888         Better debugging.
17889
17890 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17891
17892         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17893         (gst_base_src_get_range):
17894           Fix documentation typos. Add some more debug info.
17895
17896 2005-09-29  David Schleef  <ds@schleef.org>
17897
17898         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
17899           more end-user friendly.
17900         * tools/gst-inspect.c: (main): Check if command-line argument is
17901           a file and attempt to load that file as a plugin.
17902
17903 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17904
17905         * check/gst/gstbin.c:
17906         * check/states/sinks.c:
17907           fix tests for the new warning
17908         * check/gst/gstpipeline.c:
17909           add a test for pipeline and bus interaction
17910         * gst/gstelement.c:
17911           elements should be NULL if they get disposed; add a warning if not
17912
17913 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17914
17915         * gst/gstobject.c:
17916           for 2.6 refcounting, make debug log more correct by printing
17917           the actual refcounts at the time of swap (Wim)
17918
17919 2005-09-29  Andy Wingo  <wingo@pobox.com>
17920
17921         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
17922         removes signal watches previously added via
17923         gst_bus_add_signal_watch.
17924         (gst_bus_add_signal_watch): Don't return the source id, just store
17925         it on the bus if there wasn't an id already.
17926
17927         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
17928         add_signal_watch and remove_signal_watch.
17929
17930 2005-09-29  Edward Hervey  <edward@fluendo.com>
17931
17932         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
17933         Better if we actually iterate the list :)
17934
17935 2005-09-29  Wim Taymans  <wim@fluendo.com>
17936
17937         * check/gst/gstbin.c: (GST_START_TEST):
17938         Change for new bus API.
17939
17940         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17941         (send_messages), (GST_START_TEST), (gstbus_suite):
17942         Change for new bus signal API.
17943
17944         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
17945         (gst_bus_source_prepare), (gst_bus_source_check),
17946         (gst_bus_create_watch), (gst_bus_add_watch_full),
17947         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
17948         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
17949         * gst/gstbus.h:
17950         Remove support for multiple GSources operating on different
17951         message types as it is too complex and unneeded when using
17952         signals.
17953         Added support for receiving signals from the bus.
17954
17955 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17956
17957         * docs/libs/tmpl/gstdataprotocol.sgml:
17958         * docs/manual/advanced-dataaccess.xml:
17959         * gst/elements/gstcapsfilter.c:
17960         * gst/gstutils.c:
17961           rename filter-caps to caps property
17962
17963 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17964
17965         * gst/gstvalue.c: (gst_value_deserialize_fraction):
17966           More robust fraction string parsing.
17967
17968         * docs/pwg/appendix-porting.xml:
17969           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
17970
17971 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
17972
17973         * gst/gstcaps.c: (gst_caps_do_simplify):
17974           Thou shalt not free a structure and then continue using it
17975           in the next loop iteration.
17976
17977         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
17978         (gst_caps_suite):
17979           Add test case for caps simplification.
17980
17981 2005-09-29  Wim Taymans  <wim@fluendo.com>
17982
17983         * check/gst/gstbin.c: (GST_START_TEST):
17984         Oops.
17985
17986 2005-09-29  Wim Taymans  <wim@fluendo.com>
17987
17988         * check/gst/gstbin.c: (GST_START_TEST):
17989         Add bus to bin.
17990
17991         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
17992         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
17993         (find_element), (gst_bin_sort_iterator_next),
17994         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17995         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17996         (gst_bin_change_state), (gst_bin_dispose):
17997         A bin does not have a bus, it gets the bus from the parent.
17998
17999         * gst/gstelement.c: (gst_element_requires_clock),
18000         (gst_element_provides_clock), (gst_element_is_indexable),
18001         (gst_element_is_locked_state), (gst_element_change_state),
18002         (gst_element_set_bus_func):
18003         Small cleanups.
18004
18005         * gst/gstpipeline.c: (gst_pipeline_class_init),
18006         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18007         The pipeline provides a bus.
18008
18009 2005-09-28  Johan Dahlin  <johan@gnome.org>
18010
18011         * gst/gstmessage.c (gst_message_parse_state_changed): Use
18012         gst_structure_get_enum instead of gst_structure_get_int
18013
18014         * gst/gststructure.c (gst_structure_get_enum): Impl.
18015
18016         * gst/gststructure.h (gst_structure_get_enum): Add
18017
18018         * docs/gst/gstreamer-sections.txt: Ditto
18019
18020         * gst/gstmessage.c (gst_message_new_state_changed): Use
18021         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18022         which does introspection.
18023         Reviewed by Christian Schaller
18024
18025 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18026
18027         * gst/gstinfo.c: (gst_debug_log_default):
18028           don't do dummy g_strdup()s
18029         * libs/gst/controller/gstcontroller.c:
18030         (on_object_controlled_property_changed),
18031         (gst_controlled_property_new), (gst_controller_new_valist),
18032         (gst_controller_new_list),
18033         (gst_controller_remove_properties_valist), (gst_controller_set),
18034         (gst_controller_get), (gst_controller_sync_values),
18035         (gst_controller_get_value_array), (_gst_controller_class_init),
18036         (gst_controller_get_type):
18037         * libs/gst/controller/gstcontroller.h:
18038         * libs/gst/controller/gstinterpolation.c:
18039         (gst_controlled_property_find_timed_value_node):
18040           convert // to /**/ comments
18041
18042 2005-09-28  Wim Taymans  <wim@fluendo.com>
18043
18044         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18045         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18046         (gst_bus_sync_signal_handler):
18047         * gst/gstbus.h:
18048         Added async-message and sync-message signals to the bus.
18049         Added helper BusFunc to emit signals for all posted messages.
18050
18051         * gst/gstmessage.c: (gst_message_type_get_name),
18052         (gst_message_type_to_quark), (gst_message_get_type):
18053         * gst/gstmessage.h:
18054         Register quarks for message names.
18055
18056 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18057
18058         * docs/libs/gstreamer-libs-sections.txt:
18059         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18060         (gst_controller_new_list):
18061         * libs/gst/controller/gstcontroller.h:
18062           added another constructor for language bindings
18063
18064 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18065
18066         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18067           add another check
18068         * gst/gstbus.c:
18069           add some doc
18070         * gst/gstinfo.c: (_gst_debug_init):
18071           slightly more readable color for refcount debugging
18072
18073 2005-09-28  Wim Taymans  <wim@fluendo.com>
18074
18075         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18076         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18077         (find_element), (gst_bin_sort_iterator_next),
18078         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18079         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18080         (gst_bin_change_state), (gst_bin_dispose):
18081         Small doc fixes. get_clock -> provide_clock.
18082
18083         * gst/gstelement.c: (gst_element_class_init),
18084         (gst_element_provides_clock), (gst_element_provide_clock),
18085         (gst_element_get_clock), (gst_element_commit_state),
18086         (gst_element_lost_state):
18087         * gst/gstelement.h:
18088         Make get/set_clock() symetric. Add provide_clock vmethod since
18089         that is actually what this function does.
18090
18091         * gst/gstpipeline.c: (gst_pipeline_class_init),
18092         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18093         (gst_pipeline_get_clock):
18094         get_clock -> provide_clock.
18095
18096 2005-09-28  Andy Wingo  <wingo@pobox.com>
18097
18098         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18099         lieu of real docs...
18100
18101         * gst/elements/gstfdsrc.c: Cleaned up a bit.
18102
18103 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
18104
18105         * gst/elements/gstcapsfilter.c:
18106         * gst/elements/gstfakesink.c:
18107         * gst/elements/gstfakesrc.c:
18108         * gst/elements/gstfdsink.c:
18109         * gst/elements/gstfdsrc.c:
18110         * gst/elements/gstfilesink.c:
18111         * gst/elements/gstfilesrc.c:
18112         * gst/elements/gstidentity.c:
18113         * gst/elements/gsttee.c:
18114         * gst/elements/gsttypefindelement.c:
18115           Make element details static.
18116
18117 2005-09-28  Wim Taymans  <wim@fluendo.com>
18118
18119         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18120         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18121         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18122         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18123         (gst_bin_change_state), (gst_bin_dispose):
18124         Some documentation updates.
18125         Clean up dispose handlers.
18126
18127         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18128         * gst/gstpad.c: (gst_pad_dispose):
18129         Clean up dispose handler.
18130
18131         * gst/gstpipeline.c: (gst_pipeline_change_state):
18132         Removed spurious UNLOCK.
18133
18134 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
18135
18136         * docs/gst/gstreamer-sections.txt:
18137         * gst/base/gstbasesrc.h:
18138         * gst/gstelement.h:
18139         * gst/gstevent.h:
18140         * gst/gstobject.h:
18141         * gst/gstpad.h:
18142         * gst/gstpipeline.c:
18143         * gst/gstpipeline.h:
18144         * gst/gstutils.h:
18145         * gst/gstxml.h:
18146           added two new functions to the docs
18147                 documents all undocumented GstXXXFlags
18148                 completed some incomplete docs 
18149
18150 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18151
18152         * gst/gstbin.c: (gst_bin_dispose):
18153         * gst/gstelement.c: (gst_element_dispose):
18154           remove now useless and leaky resurrection code in dispose
18155         * gst/base/gstbasesrc.c: (gst_base_src_init):
18156         * gst/gstelementfactory.c: (gst_element_factory_create):
18157         * gst/gstobject.c: (gst_object_set_parent):
18158           add some debugging
18159
18160 2005-09-27  Wim Taymans  <wim@fluendo.com>
18161
18162         * docs/design/part-TODO.txt:
18163         Update TODO.
18164
18165         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18166         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18167         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18168         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18169         (gst_bin_change_state):
18170         * gst/gstelement.h:
18171         Remove element variable, we keep element info in the iterator now.
18172
18173 2005-09-27  Andy Wingo  <wingo@pobox.com>
18174
18175         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18176         values.
18177
18178 2005-09-27  Wim Taymans  <wim@fluendo.com>
18179
18180         * check/gst/gstbin.c: (GST_START_TEST):
18181         Enable check that works now.
18182
18183         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18184         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18185         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18186         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18187         (gst_bin_change_state):
18188         * gst/gstbin.h:
18189         Redid the state change algorithm using a topological sort algo.
18190         Handles all cases correctly.
18191         Exposed iterator for state change order.
18192
18193         * gst/gstelement.h:
18194         Temp storage for state changes. Need to get rid of this soon.
18195
18196 2005-09-27  Wim Taymans  <wim@fluendo.com>
18197
18198         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18199         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18200         (link_fold_func), (gst_pad_proxy_setcaps):
18201         Leak fixes, the fold functions need to unref the passed object and
18202         _get_parent_*() returns ref to parent.
18203
18204 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18205
18206         * check/gst/gstbuffer.c: (test_make_writable):
18207           Plug leak in test case and fix 'make check-valgrind'
18208
18209 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18210
18211         * gst/gstbuffer.c: (gst_subbuffer_init):
18212           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18213           works correctly in all circumstances (we could have just copied
18214           the parent buffer's readonly flag, but conceptually it seems
18215           cleaner to mark all subbuffers as read-only). (based on patch
18216           by Alessandro Decina, #314710).
18217         
18218         * check/gst/gstbuffer.c: (create_read_only_buffer),
18219         (test_make_writable), (test_subbuffer_make_writable),
18220         (gst_test_suite):
18221           Add some tests for gst_buffer_make_writable().
18222
18223 2005-09-27  Wim Taymans  <wim@fluendo.com>
18224
18225         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18226         use gst_object_has_ancestor().
18227
18228         * gst/gstobject.c: (gst_object_has_ancestor):
18229         * gst/gstobject.h:
18230         gst_object_has_ancestor() copied from gstbin.c as it is a
18231         useful function.
18232
18233         * tests/instantiate/create.c: (create_all_elements):
18234         * tests/lat.c: (handoff_src), (handoff_sink):
18235         * tests/sched/runxml.c: (main):
18236         * tests/seeking/seeking1.c: (main):
18237         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18238         (main):
18239         Fix compilation of some tests.
18240
18241 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
18242
18243         * gst/gsterror.h:
18244           Remove comment. GST_TYPE_G_ERROR is here to stay,
18245           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18246           (#316961, #300610).
18247
18248 2005-09-26  Wim Taymans  <wim@fluendo.com>
18249
18250         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18251         Added check that shows error in state change order.
18252
18253 2005-09-26  Wim Taymans  <wim@fluendo.com>
18254
18255         * gst/gstbin.c: (gst_bin_change_state):
18256         Make state change function use 3 queues again, we were
18257         adding elements in the wrong order.
18258
18259         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18260         Some debug info,
18261
18262         * gst/gstpad.c: (gst_pad_dispose):
18263         Added some debug info first.
18264
18265 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
18266
18267         * docs/design/draft-push-pull.txt:
18268         * docs/design/part-events.txt:
18269         * docs/design/part-overview.txt:
18270         * docs/design/part-scheduling.txt:
18271           Replace all _pull_region() with _pull_range()
18272           
18273 2005-09-26  Andy Wingo  <wingo@pobox.com>
18274
18275         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18276
18277         * check/gst-libs/controller.c: Update for controller api change.
18278
18279         * configure.ac: 
18280         * tests/Makefile.am:
18281         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18282         over by GLib bug 118439.
18283         
18284         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18285         routines to a function.
18286
18287         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18288
18289         * libs/gst/controller/gsthelper.c:
18290         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18291         (gst_object_sync_values): Renamed from sink_values. Ugh.
18292
18293         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18294
18295         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18296         Renamed from controller_key, as it is exported.
18297
18298         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18299
18300 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
18301
18302         * gst/Makefile.am:
18303         * gst/gst.h:
18304         * gst/gstpad.h:
18305         * gst/gstpadtemplate.h:
18306         * gst/gstquery.c:
18307         * gst/gstquery.h:
18308         * gst/gstqueryutils.c:
18309         * gst/gstqueryutils.h:
18310           remove queryutils headers after moving the two used functions
18311           to gstquery.  also fixes build problem for gstsiddec
18312
18313 2005-09-26  Michael Smith <msmith@fluendo.com>
18314
18315         * tools/gst-launch.1.in:
18316         Correct documentation in manpage of debug syntax
18317
18318 2005-09-26  Wim Taymans  <wim@fluendo.com>
18319
18320         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18321         (gst_base_src_is_seekable), (gst_base_src_change_state):
18322         Some more debugging info.
18323
18324 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18325
18326         * docs/gst/gstreamer-sections.txt:
18327         * gst/base/gstbasetransform.h:
18328         * gst/gstindex.h:
18329           added more docs
18330
18331 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18332
18333         * docs/gst/.cvsignore:
18334         * docs/gst/tmpl/.cvsignore:
18335         * docs/gst/tmpl/gstpipeline.sgml:
18336         * docs/gst/tmpl/gstplugin.sgml:
18337         * gst/gstpipeline.c:
18338         * gst/gstplugin.c:
18339         * gst/gstplugin.h:
18340           inlined the last two docs files
18341           removed the tmpl directory from cvs (no more conflicts here!)
18342
18343 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
18344
18345         * docs/gst/gstreamer-sections.txt:
18346         * docs/gst/tmpl/.cvsignore:
18347         * docs/gst/tmpl/gstpad.sgml:
18348         * docs/gst/tmpl/gstpadtemplate.sgml:
18349         * gst/Makefile.am:
18350         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18351         (gst_pad_finalize), (gst_pad_set_pad_template):
18352         * gst/gstpad.h:
18353         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18354         (gst_pad_template_class_init), (gst_pad_template_init),
18355         (gst_pad_template_dispose), (name_is_valid),
18356         (gst_static_pad_template_get), (gst_pad_template_new),
18357         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18358         (gst_pad_template_pad_created):
18359         * gst/gstpadtemplate.h:
18360           inlined two more docs
18361           factored gstpadtemplate out of gstpad
18362
18363 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
18364
18365         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18366         (test_children_state_change_order_semi_sink):
18367           Fix test case: we can't rely on a fixed state change order when
18368           going from READY => PAUSED because the sink might commit its 
18369           new state first when the first buffer created by the source 
18370           reaches the sink before the source has finished its change state.
18371           (Test case still fails at times, see #316856, comment 5 onwards)
18372
18373 2005-09-24  Wim Taymans  <wim@fluendo.com>
18374
18375         * docs/design/part-events.txt:
18376         * docs/design/part-gstbus.txt:
18377         * docs/design/part-gstpipeline.txt:
18378         * docs/design/part-messages.txt:
18379         * docs/design/part-overview.txt:
18380         * docs/design/part-segments.txt:
18381         * gst/gstbin.c:
18382         * gst/gstbuffer.c:
18383         * gst/gstclock.c:
18384         * gst/gstelement.c:
18385         * gst/gstevent.c:
18386         * gst/gstfilter.c:
18387         * gst/gstiterator.c:
18388         Various documentation updates.
18389
18390 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18391
18392         * gst/gstclock.h:
18393           Well, that's embarassing.  Luckily we weren't using
18394           GST_CLOCK_DIFF anywhere.
18395
18396 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18397
18398         * common/gtk-doc.mak:
18399           don't fail on building XML, FC4 slave shows a bunch of doc
18400           missing bits that I don't get
18401         * gst/gstpad.c:
18402         * gst/gstpipeline.c:
18403         * gst/gststructure.c:
18404           some doc updates
18405
18406 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18407
18408         * docs/design/part-gstbin.txt:
18409         * docs/design/part-gstbus.txt:
18410         * gst/gstbus.c:
18411           Add blurb about how the bus goes into flushing mode and
18412           drops all messages when its bin goes from READY into NULL 
18413           state.
18414
18415 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18416
18417         * docs/gst/gstreamer-sections.txt:
18418         * gst/gststructure.c: (gst_structure_get_clock_time):
18419         * gst/gststructure.h:
18420           add a method to get a GstClockTime out of a structure
18421
18422 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
18423
18424         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18425         (test_children_state_change_order_semi_sink), (gst_bin_suite):
18426           Added test to check state change order in bins (can still be made
18427           to fail here under heavy disk load; bails out with 'Push on pad
18428           fakesink:sink0, but it was not activated in push mode').
18429
18430         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18431           Fix state change order when there is only a semi sink (#316856)
18432
18433         * gst/gstbus.c: (gst_bus_class_init):
18434           Use _class_peek_parent(), not _class_ref(); fix docs to say
18435           'default main context' instead of 'mainloop' where that is
18436           what's meant.
18437
18438         * gst/gstelement.c: (gst_element_commit_state),
18439         (gst_element_set_state):
18440           Fix typos in debug messages
18441
18442 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18443
18444         * docs/README:
18445         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18446         * gst/gstpluginfeature.c:
18447         * gst/gstutils.c:
18448           various doc updates
18449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18450           change an assert into an error until it gets fixed properly
18451
18452 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
18453
18454         * docs/gst/gstreamer-sections.txt:
18455         * docs/gst/tmpl/.cvsignore:
18456         * docs/gst/tmpl/gstelement.sgml:
18457         * docs/gst/tmpl/gstinfo.sgml:
18458         * docs/gst/tmpl/gstobject.sgml:
18459         * gst/gstelement.c:
18460         * gst/gstelement.h:
18461         * gst/gstinfo.c:
18462         * gst/gstinfo.h:
18463         * gst/gstobject.c: (gst_object_class_init):
18464         * gst/gstobject.h:
18465           inlined 3 more biiiig doc files and added some missing docs on the fly
18466
18467 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18468
18469         * check/gst/.cvsignore:
18470         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18471         * gst/gstregistryxml.c: (load_plugin),
18472         (gst_registry_xml_save_plugin):
18473           put back source in registry.  add checks for find_plugin.
18474         * testsuite/states/bin.c: (assert_state), (empty_bin),
18475         (test_adding_one_element), (main):
18476         * testsuite/states/locked.c: (main):
18477           some compile/run fixes
18478
18479 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18480
18481         * check/gst/gstvalue.c: (GST_START_TEST):
18482           fix leaks in the test itself
18483
18484 2005-09-22  Wim Taymans  <wim@fluendo.com>
18485
18486         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18487         (gst_base_sink_send_event), (gst_base_sink_peer_query),
18488         (gst_base_sink_query):
18489         Prepare for more accurate position reporting and query
18490         handling.
18491
18492         * gst/gstelement.c: (gst_element_send_event),
18493         (gst_element_set_state):
18494         Add some comment.
18495
18496 2005-09-22  Wim Taymans  <wim@fluendo.com>
18497
18498         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
18499         (gst_query_parse_segment):
18500         * gst/gstquery.h:
18501         More documentation.
18502         Add segment query for future use.
18503
18504 2005-09-22  Wim Taymans  <wim@fluendo.com>
18505
18506         * gst/gstbin.c: (gst_bin_add_func):
18507         Some more debug info.
18508
18509         * gst/gstelement.c: (gst_element_send_event):
18510         Simplify send_event
18511
18512         * gst/gstelement.h:
18513         Don't know how flags got broken.
18514
18515         * gst/gstquery.h:
18516         Added new query.
18517
18518 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18519
18520         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
18521           Add simplistic test suite for GST_TYPE_DATE serialisation and
18522           deserialisation.
18523
18524 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
18525
18526         * docs/gst/gstreamer-sections.txt:
18527         * gst/gststructure.c: (gst_structure_set_valist),
18528         (gst_structure_get_date):
18529         * gst/gststructure.h:
18530         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
18531         (gst_date_copy), (gst_value_compare_date),
18532         (gst_value_serialize_date), (gst_value_deserialize_date),
18533         (gst_value_transform_date_string),
18534         (gst_value_transform_string_date), (_gst_value_initialize):
18535         * gst/gstvalue.h:
18536           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
18537           bunch of utility functions along with a hack that checks that
18538           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
18539           is required. Part of the grand scheme in #170777.
18540
18541 2005-09-22  Andy Wingo  <wingo@pobox.com>
18542
18543         * gst/gstconfig.h.in: Psych out gtk-doc.
18544
18545         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
18546
18547         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
18548
18549         * tools/gst-inspect.c (print_element_list): Plug some
18550         inconsequential leaks.
18551
18552         * gst/gstregistry.c (gst_registry_get_default): Doc.
18553
18554         * check/gst/gstplugin.c: 
18555         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
18556         * gst/gstelementfactory.c (gst_element_factory_create): 
18557         * gst/gstindexfactory.c (gst_index_factory_create): Update for
18558         refcount changes.
18559
18560         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
18561         (gst_plugin_feature_load): Doc, don't eat refs.
18562
18563         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
18564         (gst_plugin_list_free): Doc.
18565         (gst_plugin_load_file): Doc updates.
18566
18567         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
18568         accessors returning refcounted objects, return a ref.
18569
18570         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
18571         accessor for caps. IDEMPOTENCE. Oh yes.
18572
18573 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
18574
18575         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18576
18577         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18578         (_gst_debug_register_funcptr):
18579           Add mutex to serialise access to the hash table with
18580           the function pointer => function name string mapping;
18581           make that hash table static scope (#316809).
18582
18583         * gst/registries/.cvsignore:
18584           Remove left-over file.
18585
18586 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18587
18588         * docs/pwg/appendix-porting.xml:
18589           And something about newsegment events and caps-on-buffers to
18590           the porting guide (feel free to improve).
18591
18592 2005-09-21  Andy Wingo  <wingo@pobox.com>
18593
18594         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
18595         data and event probes on the same pad.
18596         (test_buffer_probe_once): Test that removing probes from within
18597         the probe functions works.
18598
18599 2005-09-21  Andy Wingo  <wingo@pobox.com>
18600
18601         * check/gst/gstutils.c: New file.
18602         (test_buffer_probe_n_times): A simple buffer probe test. More to
18603         come, foolios.
18604
18605         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
18606         have-data::buffer, not have-data.
18607         (gst_pad_add_event_probe): Likewise for have-data::event.
18608         (gst_pad_add_data_probe): More docs. The part about 'resolving the
18609         peer' isn't quite right yet though.
18610         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
18611         (gst_pad_remove_data_probe): Change to take the guint handler_id
18612         as their arg, not the function+data, which is more glib-like.
18613
18614         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
18615         the signal emission to indicate if the data is a buffer or an
18616         event.
18617         (gst_pad_get_type): Initialize buffer and event quarks.
18618         (gst_pad_class_init): have-data is now a detailed signal, yes it
18619         is.
18620
18621 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
18622
18623         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18624         * gst/gstutils.c: (gst_util_set_value_from_string),
18625         (gst_util_set_object_arg):
18626           Don't put functional code in g_return_if_fail() or
18627           g_return_val_if_fail() statements, otherwise things will 
18628           break when G_DISABLE_CHECKS is defined during compilation.
18629
18630 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18631
18632         * docs/gst/tmpl/.cvsignore:
18633         * docs/gst/tmpl/gstvalue.sgml:
18634         * gst/gstvalue.c:
18635         * gst/gstvalue.h:
18636           inlied another one and added  some obvious docs
18637
18638 2005-09-21  Wim Taymans  <wim@fluendo.com>
18639
18640         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18641         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
18642         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
18643         (gst_fdsrc_get_property), (gst_fdsrc_create):
18644         * gst/elements/gstfdsrc.h:
18645         Properly implement fdsrc. Removed signal and timeout,
18646         better implemented somewhere else.
18647
18648 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18649
18650         * docs/gst/tmpl/.cvsignore:
18651         * docs/gst/tmpl/gstimplementsinterface.sgml:
18652         * gst/gstinterface.c:
18653           inlined more docs
18654
18655 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18656
18657         * docs/gst/gstreamer-sections.txt:
18658         * docs/gst/tmpl/.cvsignore:
18659         * docs/gst/tmpl/gstenumtypes.sgml:
18660           remove obsolete doc file
18661
18662 2005-09-21  David Schleef  <ds@schleef.org>
18663
18664         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
18665         little beer, fix a little leak.
18666
18667 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
18668
18669         * docs/gst/gstreamer-docs.sgml:
18670         * docs/gst/gstreamer-sections.txt:
18671         * docs/gst/tmpl/.cvsignore:
18672         * gst/Makefile.am:
18673         * gst/gst.h:
18674         * gst/gstbin.c:
18675         * gst/gstelement.h:
18676         * gst/gstindex.c: (gst_index_class_init):
18677         * gst/gstindex.h:
18678         * gst/gstindexfactory.c: (gst_index_factory_get_type),
18679         (gst_index_factory_class_init), (gst_index_factory_init),
18680         (gst_index_factory_finalize), (gst_index_factory_new),
18681         (gst_index_factory_destroy), (gst_index_factory_find),
18682         (gst_index_factory_create), (gst_index_factory_make):
18683         * gst/gstindexfactory.h:
18684         * gst/gstpluginfeature.c:
18685         * gst/gstpluginfeature.h:
18686         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18687           more docs inlined, splitted gstindex.{c,h}
18688
18689 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18690
18691         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18692           fix a leak
18693
18694 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18695
18696         * gst/elements/gstfilesink.c: (gst_file_sink_init):
18697           Set sync to FALSE by default.
18698
18699 2005-09-20  Wim Taymans  <wim@fluendo.com>
18700
18701         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18702         (gst_base_sink_init):
18703         Make sync property settable from subclass.
18704
18705         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18706         (gst_fake_sink_change_state):
18707         Set sync to FALSE by default.
18708
18709 2005-09-20  Wim Taymans  <wim@fluendo.com>
18710
18711         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
18712         * tools/gst-launch.c: (main):
18713         The timeout handler should have lower priority than the source
18714         so we don't timeout before popping a message with 0 timeout.
18715         Dump error messages after failed state change.
18716
18717 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
18718
18719         * tools/gst-inspect.c: (print_element_properties_info):
18720           Fix two typos.
18721
18722 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18723
18724         * check/gst/gstevent.c:
18725         * gst/elements/gstfakesink.c:
18726         * gst/elements/gstfakesink.h:
18727           remove the sync property from fakesink.
18728           has the side effect of setting sync TRUE
18729           for fakesink, which is a change.  Anyone who knows how
18730           to fix this nicely in a GObject-y way, feel free.
18731
18732 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18733
18734         * docs/gst/gstreamer-docs.sgml:
18735           remove probe refsection
18736
18737 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18738
18739         * check/Makefile.am:
18740           disable valgrinding the controller test again
18741         * docs/gst/gstreamer-sections.txt:
18742           update for api-changes
18743
18744 2005-09-20  Wim Taymans  <wim@fluendo.com>
18745
18746         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18747         (gst_base_sink_set_property), (gst_base_sink_get_property),
18748         (gst_base_sink_do_sync):
18749         * gst/base/gstbasesink.h:
18750         Added sync property to basesink to disable clock sync.
18751
18752 2005-09-20  Andy Wingo  <wingo@pobox.com>
18753
18754         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18755         eating the caller's refcount.
18756
18757         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
18758         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18759         refcount.
18760
18761         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18762         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18763         of GLib 2.8 public, so we can know which refcount to check in
18764         tests.
18765
18766         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18767         (gst_object_init): Only set the gst refcount if we're going ahead
18768         with the refcount hack.
18769
18770 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18771
18772         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18773         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18774           more leaks plumbed, added more debug-logging
18775         * gst/gstmacros.h:
18776           whitespace fix
18777
18778 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18779
18780         * gst/gstmessage.c:
18781           remove include of gstmemchunk.h
18782
18783 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18784
18785         * gst/gstclock.c: (_gst_clock_id_free):
18786           Commit from the Political Party For More Atomic CVS Commits,
18787           so that people don't waste too much of their day fishing
18788           out obvious leaks out of massive commits.
18789           Oh, and fix a pretty damn obvious leak in the memchunk
18790           removal code.
18791
18792 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
18793
18794         * check/Makefile.am:
18795         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18796           plug mem-leak, re-add to valgrindable tests
18797
18798 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18799
18800         * gst/gstplugin.h:
18801           unbreak the build for those who have chronic arthritis
18802           and typing "make check" is just too taxing on the hands
18803
18804 2005-09-20  Andy Wingo  <wingo@pobox.com>
18805
18806         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
18807         really want it out, you should fix plugins at the same time.
18808
18809 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
18810
18811         * configure.ac:
18812         * docs/gst/gstreamer-sections.txt:
18813         * gst/gstobject.c:
18814           added missing symbols to api docs
18815           disable ref-count hack if we have glib >= 2.8
18816
18817 2005-09-19  David Schleef  <ds@schleef.org>
18818
18819         * docs/gst/Makefile.am: Ignore a few more internal headers
18820         * docs/gst/gstreamer-docs.sgml: Remove old sections
18821         * docs/gst/gstreamer-sections.txt: Remove old sections
18822         * docs/gst/tmpl/gstobject.sgml: update
18823         * docs/gst/tmpl/gstplugin.sgml: update
18824         * docs/gst/tmpl/gstpluginfeature.sgml: update
18825         * docs/random/ds/0.9-suggested-changes: update.
18826         * gst/Makefile.am: remove memchunk and trashstack, since they're
18827           not used.
18828         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
18829         * gst/gst.h: don't include some headers
18830         * gst/gstchildproxy.c: add gstmarshal.h
18831         * gst/gstclock.c: Don't use memchunks
18832         * gst/gstminiobject.c: Add some docs
18833         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
18834         * gst/gstobject.h: same
18835         * gst/gstplugin.c: include gstmacros.h
18836         * gst/gstplugin.h: don't include gstmacros.h, since it's private
18837         * gst/gstquery.c: don't use memchunks
18838         * gst/gstregistry.c: rename gst_registry_deinit()
18839         * gst/gstregistry.h: same
18840
18841 2005-09-19  David Schleef  <ds@schleef.org>
18842
18843         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
18844         * docs/libs/gstreamer-libs-sections.txt:
18845         * docs/libs/tmpl/gstgetbits.sgml:
18846         * docs/libs/tmpl/gstputbits.sgml:
18847
18848 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
18849
18850         * win32/gstenumtypes.c:
18851         * win32/gstenumtypes.h:
18852           Update.
18853
18854 2005-09-19  Wim Taymans  <wim@fluendo.com>
18855
18856         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
18857         Automatically PAUSE and RESUME a pipeline when a flushing seek
18858         is performed.
18859
18860 2005-09-19  Andy Wingo  <wingo@pobox.com>
18861
18862         * gst/gstregistry.h: Spacing fixen.
18863
18864 2005-09-19  Wim Taymans  <wim@fluendo.com>
18865
18866         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
18867         Handle state change failure more correctly.
18868
18869 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18870
18871         * check/Makefile.am:
18872         * check/pipelines/cleanup.c: (run_pipeline):
18873         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18874         (GST_START_TEST):
18875           enable cleanup again after fixing the leak
18876         * docs/README:
18877           some more info on docs
18878
18879 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18880
18881         * check/Makefile.am:
18882           re-enable tests now that leaks are plugged
18883         * check/gst/gst.c:
18884         * check/gst/gstbin.c:
18885         * check/gst/gstpipeline.c:
18886           add some more tests while fixing leaks
18887         * common/check.mak:
18888           make sure binaries are uptodate when valgrinding/gdbing
18889         * gst/gst.c:
18890         * gst/gstelementfactory.c:
18891           remove a ref too many, and add a FIXME for when we get
18892           round to disposing of classes
18893         * gst/gstplugin.c:
18894           fix the refcounting when loading a plugin from a file and
18895           the code pretends that the pointer is the same even though
18896           of course it can change
18897         * gst/gstpluginfeature.c:
18898           unref plugins marked cached (a bit confusing as a name)
18899           as the docs state should be done
18900           various doc additions to explain refcounting
18901         * gst/gstregistry.c:
18902         * gst/gstregistryxml.c:
18903           debugging
18904
18905 2005-09-19  Wim Taymans  <wim@fluendo.com>
18906
18907         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18908         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18909         (send_messages), (GST_START_TEST), (gstbus_suite):
18910         * check/gst/gstpipeline.c: (GST_START_TEST):
18911         * check/pipelines/cleanup.c: (run_pipeline):
18912         * check/pipelines/simple_launch_lines.c: (run_pipeline),
18913         (GST_START_TEST):
18914         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
18915         (gst_bus_source_check), (gst_bus_source_dispatch),
18916         (gst_bus_create_watch), (gst_bus_add_watch_full),
18917         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
18918         * gst/gstbus.h:
18919         * tools/gst-launch.c: (event_loop):
18920         * tools/gst-md5sum.c: (event_loop):
18921         GstBusHandler -> GstBusFunc, return value has the same meaning as
18922         any other GSource (FALSE == remove source).
18923         _add_watch() and _add_watch_full() now take a MessageType mask to
18924         only handle specific types of messages.
18925         _poll() returns the GstMessage instead of the message type to avoid
18926         race conditions.
18927         _have_pending() takes a MessageType mask now too.
18928         Added testsuite for multiple bus watches.
18929         Fix testsuites and applications for new bus API.
18930
18931 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18932
18933         * check/Makefile.am:
18934           mark a bunch of the tests as to fix until we fix them
18935
18936 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18937
18938         * common/check.mak:
18939           use GST_PLUGIN settings for valgrind tests as well, so we're
18940           valgrinding the correct thing
18941         * gst/gst.c: (init_post):
18942           plug another leak
18943
18944 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18945
18946         * gst/gst.c: (init_post), (gst_deinit):
18947         * gst/gstelementfactory.c: (gst_element_factory_class_init),
18948         (gst_element_factory_finalize), (gst_element_factory_cleanup):
18949         * gst/gstindex.c: (gst_index_factory_class_init),
18950         (gst_index_factory_finalize):
18951         * gst/gstobject.c: (gst_object_dispose):
18952         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
18953         (gst_plugin_load_file), (gst_plugin_desc_free):
18954         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
18955         (gst_plugin_feature_finalize):
18956         * gst/gstregistry.c: (gst_registry_class_init),
18957         (gst_registry_init), (gst_registry_finalize),
18958         (gst_registry_get_default), (gst_registry_deinit):
18959         * gst/gstregistry.h:
18960         * gst/gstregistryxml.c: (load_feature), (load_plugin):
18961           various cleanups and memleak plugging.  make valgrind is happy now.
18962
18963 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18964
18965         * common/check.mak:
18966           add a check-valgrind target
18967
18968 2005-09-18  David Schleef  <ds@schleef.org>
18969
18970         * tools/gst-inspect.c: Revert the GOption code.
18971
18972 2005-09-17  David Schleef  <ds@schleef.org>
18973
18974         * check/Makefile.am: Fix environment variables.
18975         * check/gst/gstplugin.c: Fix for API changes.
18976         * tools/gst-inspect.c: Fix for API changes.
18977         * tools/gst-xmlinspect.c: Fix for API changes.
18978         * gst/gstelementfactory.c:
18979         * gst/gstplugin.c:
18980         * gst/gstplugin.h:
18981         * gst/gstpluginfeature.c:
18982         * gst/gstpluginfeature.h:
18983         * gst/gstregistry.c:
18984         * gst/gstregistry.h:
18985         * gst/gstregistryxml.c:
18986         * gst/gsttypefind.c:
18987         * gst/gsttypefindfactory.c:
18988         * gst/indexers/gstfileindex.c:
18989         * gst/indexers/gstmemindex.c:
18990         * gst/schedulers/Makefile.am:
18991           Change registry to keep track of both plugins and features,
18992           removing the feature tracking from plugins themselves.
18993
18994 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18995
18996         * check/Makefile.am:
18997         * tools/gst-register.1.in:
18998           remove gst-register
18999
19000 2005-09-15  David Schleef  <ds@schleef.org>
19001
19002         * check/gst/gstplugin.c:
19003         * gst/gstelementfactory.c:
19004         * gst/gstplugin.c:
19005         * gst/gstpluginfeature.c:
19006         * gst/gstregistry.c:
19007           Getting tired of debugging.  Disabled all the unreffing of
19008           plugins and features, which fixes the segfaults, but of
19009           course leaks like crazy.  At least playbin works.
19010
19011 2005-09-15  David Schleef  <ds@schleef.org>
19012
19013         * check/gst/gstplugin.c: (register_check_elements),
19014         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19015         More testing
19016         * gst/elements/gsttypefindelement.c: Fix refcounting.
19017         * gst/gsttypefind.c:
19018         * gst/gsttypefindfactory.c:
19019         * gst/gsttypefindfactory.h:
19020
19021 2005-09-15  David Schleef  <ds@schleef.org>
19022
19023         * gst/gstindex.c: get refcounting correct.
19024         * gst/gstregistry.c: Handle the case where a feature/plugin is
19025           not found.
19026
19027 2005-09-15  David Schleef  <ds@schleef.org>
19028
19029         * check/Makefile.am:
19030         * check/gst/gstplugin.c: Add test
19031         * gst/gstplugin.c: Fix problems noticed by testsuite
19032         * gst/gstplugin.h:
19033         * gst/gstregistry.c: 
19034         * gst/gstregistry.h:
19035
19036 2005-09-15  David Schleef  <ds@schleef.org>
19037
19038         * gst/gstplugin.c: Implement semi-decent recounting and locking
19039           in plugins and plugin features.
19040         * gst/gstplugin.h:
19041         * gst/gstpluginfeature.c:
19042         * gst/gstpluginfeature.h:
19043         * gst/gstregistry.c:
19044
19045 2005-09-15  Michael Smith <msmith@fluendo.com>
19046
19047         * gst/gstregistry.c: (gst_registry_get_feature_list):
19048           Implement this. Makes oggdemux work; decodebin still broken.
19049
19050 2005-09-14  David Schleef  <ds@schleef.org>
19051
19052         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19053           #316076)
19054         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19055         * gst/check/Makefile.am:
19056         * libs/gst/controller/Makefile.am:
19057         * libs/gst/dataprotocol/Makefile.am:
19058
19059 2005-09-14  David Schleef  <ds@schleef.org>
19060
19061         * configure.ac: Remove getbits library.  Nothing uses it, and
19062           it should be in something like liboil if someone did want
19063           to use it.
19064         * libs/gst/Makefile.am:
19065         * libs/gst/getbits/Makefile.am:
19066         * libs/gst/getbits/gbtest.c:
19067         * libs/gst/getbits/getbits.c:
19068         * libs/gst/getbits/getbits.h:
19069         * libs/gst/getbits/gstgetbits_generic.c:
19070         * libs/gst/getbits/gstgetbits_i386.s:
19071         * libs/gst/getbits/gstgetbits_inl.h:
19072
19073 2005-09-14  David Schleef  <ds@schleef.org>
19074
19075         * gst/Makefile.am: Dist glib-compat.h
19076
19077 2005-09-14  David Schleef  <ds@schleef.org>
19078
19079         * configure.ac: Remove gst/registries, since it's no longer used.
19080         * gst/registries/Makefile.am:
19081         * gst/registries/gstlibxmlregistry.c:
19082         * gst/registries/gstlibxmlregistry.h:
19083         * gst/registries/gstxmlregistry.c:
19084         * gst/registries/gstxmlregistry.h:
19085         * gst/registries/registrytest.c:
19086
19087 2005-09-14  David Schleef  <ds@schleef.org>
19088
19089         * gst/glib-compat.h:
19090         * gst/gstregistryxml.c:
19091           Convergence is near.  Seriously.
19092
19093 2005-09-14  David Schleef  <ds@schleef.org>
19094
19095         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19096         * gst/glib-compat.h:
19097           Attempt #4 to appease the buildbots.
19098
19099 2005-09-14  David Schleef  <ds@schleef.org>
19100
19101         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19102           Attempt #3.
19103
19104 2005-09-14  David Schleef  <ds@schleef.org>
19105
19106         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19107         Attempt #2.
19108
19109 2005-09-14  David Schleef  <ds@schleef.org>
19110
19111         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19112           the new functions.
19113
19114 2005-09-14  David Schleef  <ds@schleef.org>
19115
19116         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19117         * gst/glib-compat.h: Add some functions that are in newer versions
19118           of glib than we care to require.
19119         * gst/gstregistryxml.c: Use them.
19120
19121 2005-09-14  David Schleef  <ds@schleef.org>
19122
19123         * po/POTFILES.in: remove gst-register.c
19124
19125 2005-09-14  David Schleef  <ds@schleef.org>
19126
19127         * docs/gst/gstreamer-docs.sgml:
19128         * docs/gst/gstreamer-sections.txt:
19129         * docs/gst/gstreamer.types:
19130         * docs/gst/tmpl/gstelement.sgml:
19131         * docs/gst/tmpl/gstplugin.sgml:
19132         * docs/gst/tmpl/gstpluginfeature.sgml:
19133           Documentation updates for registry changes.
19134
19135 2005-09-14  David Schleef  <ds@schleef.org>
19136
19137         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19138           because we don't require glib-2.8.
19139
19140 2005-09-14  David Schleef  <ds@schleef.org>
19141
19142         * gst/gstregistryxml.c: Added.  Essentially moved out of the
19143           registries directory.
19144
19145 2005-09-14  David Schleef  <ds@schleef.org>
19146
19147         * check/Makefile.am:
19148         * check/generic/states.c:
19149         * gst/Makefile.am:
19150         * gst/gst.c:
19151         * gst/gst.h:
19152         * gst/gst_private.h:
19153         * gst/gstelementfactory.c:
19154         * gst/gstindex.c:
19155         * gst/gstinfo.c:
19156         * gst/gstplugin.c:
19157         * gst/gstplugin.h:
19158         * gst/gstpluginfeature.c:
19159         * gst/gstpluginfeature.h:
19160         * gst/gstregistry.c:
19161         * gst/gstregistry.h:
19162         * gst/gstregistrypool.c: remove
19163         * gst/gstregistrypool.h: remove
19164         * gst/gsttypefind.c:
19165         * gst/gsttypefindfactory.c:
19166         * gst/gsturi.c:
19167         * tools/Makefile.am:
19168         * tools/gst-compprep.c:
19169         * tools/gst-inspect.c:
19170         * tools/gst-register.c: remove
19171         * tools/gst-xmlinspect.c:
19172           Registry rewrite.  Changes registry from being a file created
19173           by a tool into a simple cache file created automatically by 
19174           libgstreamer.  Removed gst-register (because it's no longer
19175           needed).  Remove registry pools, because we only have one
19176           registry implementation (XML).  Fix up other subsystems as
19177           necessary.
19178
19179 2005-09-13  Michael Smith <msmith@fluendo.com>
19180
19181         * gst/gstconfig.h.in:
19182           Don't Use windows linking attributes for MinGW. Fixes #316157
19183
19184 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19185
19186         * gst/gstutils.c: (set_state_async_thread_func),
19187         (gst_element_set_state_async):
19188           Apparently people think it's better if this function doesn't
19189           try to set the state to whatever state was asked for on the first
19190           call to this function for any object.  Seriously.
19191
19192 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19193
19194         * check/gst/gstpipeline.c: (GST_START_TEST):
19195         * docs/gst/gstreamer-sections.txt:
19196         * gst/gstutils.c: (set_state_async_thread_func),
19197         (gst_element_set_state_async):
19198         * gst/gstutils.h:
19199           add a "gst_element_set_state_async" method that
19200           sets the state and starts a thread to make sure the state
19201           change completes as best as it can
19202
19203 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19204
19205         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19206           codify design+behaviour in testsuite after discussion
19207
19208 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19209
19210         * docs/gst/tmpl/gstelement.sgml:
19211         * docs/manual/appendix-quotes.xml:
19212           add a quote
19213         * gst/gstelement.c: (gst_element_set_state):
19214           add some debug
19215
19216 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
19217
19218         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19219         (gst_base_transform_prepare_output_buf),
19220         (gst_base_transform_handle_buffer):
19221         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19222         (gst_capsfilter_prepare_buf):
19223           Remove the requirement for sub-classes to call the parent
19224           implementation of prepare_output_buffer with a wrapper function.
19225           
19226         * gst/gsttaglist.h:
19227         * gst/gsttagsetter.h:
19228           Fix #define wrapper
19229
19230 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
19231
19232         * docs/gst/gstreamer-sections.txt:
19233           more doc cleanups
19234
19235 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19236
19237         * docs/gst/gstreamer-sections.txt:
19238         * docs/gst/tmpl/gstelement.sgml:
19239         * docs/gst/tmpl/gstplugin.sgml:
19240         * gst/gstminiobject.c:
19241         * gst/gstvalue.h:
19242           docs now stop throwing warnings
19243
19244 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19245
19246         * docs/gst/gstreamer-sections.txt:
19247         * docs/gst/gstreamer.types:
19248         * docs/gst/tmpl/gstpad.sgml:
19249         * docs/gst/tmpl/gsttypes.sgml:
19250         * gst/base/gstadapter.h:
19251         * gst/base/gstbasesink.h:
19252         * gst/base/gstbasesrc.h:
19253         * gst/gstbin.h:
19254         * gst/gstbuffer.h:
19255         * gst/gstbus.h:
19256         * gst/gstcaps.h:
19257         * gst/gstclock.h:
19258         * gst/gstelement.h:
19259         * gst/gstevent.h:
19260         * gst/gstmessage.h:
19261         * gst/gstpad.h:
19262         * gst/gststructure.c:
19263         * gst/registries/gstlibxmlregistry.h:
19264           various documentation fixes
19265
19266 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19267
19268         * docs/gst/gstreamer-sections.txt:
19269         * docs/gst/tmpl/gstvalue.sgml:
19270           rearrange gstvalue section
19271         * gst/gstutils.c: (gst_element_state_get_name):
19272           NONE -> VOID
19273         * gst/gstvalue.c: (_gst_value_initialize):
19274         * gst/gstvalue.h:
19275           doc updates
19276
19277 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
19278
19279         * check/gst-libs/controller.c:
19280           Header include fix.
19281         * gst/base/gstbasetransform.c:
19282         (gst_base_transform_default_prepare_buf),
19283         (gst_base_transform_handle_buffer):
19284         * gst/base/gstbasetransform.h:
19285           Some more basetransform changes and fixes to enable sub-classes
19286           that modify buffer metadata only.
19287         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19288         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19289         (gst_capsfilter_prepare_buf):
19290           If the output pad has fixed allowed caps and input buffers 
19291           don't have any, set the fixed caps on outgoing buffers.
19292
19293 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
19294         * check/elements/identity.c: (GST_START_TEST):
19295           Make the error a little clearer when the test fails because
19296           identity made a copy of the buffer.
19297         * docs/gst/gstreamer-sections.txt:
19298           New symbols in gstbasetransform.h
19299         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19300         (gst_base_transform_init), (gst_base_transform_transform_size),
19301         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19302         (gst_base_transform_default_prepare_buf),
19303         (gst_base_transform_get_unit_size),
19304         (gst_base_transform_buffer_alloc),
19305         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19306         (gst_base_transform_change_state),
19307         (gst_base_transform_set_passthrough),
19308         (gst_base_transform_set_in_place),
19309         (gst_base_transform_is_in_place):
19310         * gst/base/gstbasetransform.h:
19311           Change BaseTransform to separate in_place operate from same_caps
19312           output. in_place implies that the element can perform the transform
19313           on incoming buffers in-place, even if the caps on the output are
19314           different.
19315           Sub-class elements can now implement special buffer allocation
19316           methods for outgoing buffers if they wish to.
19317           Big documentation addition.
19318         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19319         * gst/elements/gstelements.c:
19320           Changes for basetransform modifications.
19321         * gst/elements/Makefile.am:
19322         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19323           Compile fix. Extra debug output.
19324
19325 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19326
19327         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19328         (gst_pad_suite):
19329           add tests for valid pad naming
19330         * gst/check/gstcheck.c: (gst_check_log_message_func),
19331         (gst_check_log_critical_func):
19332           add ASSERT_WARNING
19333           remove printing of code, it is fragile when the code contains
19334           % and the line number is enough info
19335         * gst/check/gstcheck.h:
19336         * gst/gstpad.c: (gst_pad_template_new):
19337           fix memleaks
19338
19339 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19340
19341         * configure.ac:
19342           say what CHECK flags we use
19343         * docs/libs/gstreamer-libs.types:
19344         * libs/gst/controller/Makefile.am:
19345         * libs/gst/controller/gst-controller.c:
19346         * libs/gst/controller/gst-controller.h:
19347         * libs/gst/controller/gst-helper.c:
19348         * libs/gst/controller/gst-interpolation.c:
19349         * libs/gst/controller/gstcontroller.c:
19350         * libs/gst/controller/gsthelper.c:
19351         * libs/gst/controller/gstinterpolation.c:
19352         * tools/gst-inspect.c: (print_plugin_info):
19353           we don't use dashes in header names
19354
19355 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19356
19357         * check/Makefile.am:
19358         * check/gst/.cvsignore:
19359         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19360         (gst_pipeline_suite), (main):
19361           adding a test for pipelines and state changes
19362         * gst/gstutils.c: (get_state_func):
19363           add some debugging
19364         * gstreamer.spec.in:
19365           fix up spec file
19366
19367 2005-09-08  Michael Smith <msmith@fluendo.com>
19368
19369         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19370         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19371         (gst_file_src_is_seekable), (gst_file_src_get_size),
19372         (gst_file_src_start):
19373         * gst/elements/gstfilesrc.h:
19374           Various fixes for unseekable, unmmapable, and non-normal files, so
19375           that fallback to read() rather than mmap() works.
19376         * gst/gstevent.c: (gst_event_new_newsegment):
19377           Allow newsegment events with segment_start == segment_end, as will
19378           correctly happen if you use filesrc on a zero-size file, for
19379           example.
19380
19381 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19382
19383         * gst/gstplugin.c: (gst_plugin_load_file):
19384           Call g_module_close when we don't load the module
19385
19386         * gst/registries/gstlibxmlregistry.c:
19387         (gst_xml_registry_get_property):
19388           Port leak fix from 0.8
19389
19390 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19391
19392         * docs/gst/gstreamer-docs.sgml:
19393         * docs/gst/tmpl/.cvsignore:
19394         * docs/gst/tmpl/gsttrace.sgml:
19395         * docs/gst/tmpl/gsttrashstack.sgml:
19396         * gst/Makefile.am:
19397         * gst/gst.h:
19398         * gst/gstelement.h:
19399         * gst/gstevent.h:
19400         * gst/gstmessage.c:
19401         * gst/gstmessage.h:
19402         * gst/gsttag.c:
19403         * gst/gsttag.h:
19404         * gst/gsttaginterface.c:
19405         * gst/gsttaginterface.h:
19406         * gst/gsttaglist.c:
19407         * gst/gsttaglist.h:
19408         * gst/gsttagsetter.c:
19409         * gst/gsttagsetter.h:
19410         * gst/gsttrace.c:
19411         * gst/gsttrace.h:
19412         * gst/gsttrashstack.c:
19413           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19414           inlined docs for gsttrace, gsttrashstack
19415
19416 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19417
19418         * gst/Makefile.am:
19419         * gst/elements/gstbufferstore.h:
19420         * gst/elements/gsttypefindelement.c:
19421         * gst/elements/gsttypefindelement.h:
19422         * gst/gst.h:
19423         * gst/gsttypefind.c:
19424         * gst/gsttypefind.h:
19425         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19426         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19427         (gst_type_find_factory_dispose),
19428         (gst_type_find_factory_unload_thyself),
19429         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19430         (gst_type_find_factory_get_caps),
19431         (gst_type_find_factory_get_extensions),
19432         (gst_type_find_factory_call_function):
19433         * gst/gsttypefindfactory.h:
19434         * gst/registries/gstlibxmlregistry.c:
19435         * gst/registries/gstxmlregistry.c:
19436           splitted gsttypefind into gsttypefind, gsttypefindfactory
19437
19438 2005-09-07  Andy Wingo  <wingo@pobox.com>
19439
19440         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19441         condition whereby the pad's task function is entered before the
19442         pad_mode variable was set.
19443
19444 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
19445
19446         * gst/gstpad.c: (gst_pad_alloc_buffer):
19447           Catch misbehaving pad_alloc functions that don't
19448           set up caps and do it for them.
19449
19450 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
19451
19452         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19453           test for pipe!=NULL
19454         * docs/gst/tmpl/.cvsignore:
19455         * docs/gst/tmpl/gstmemchunk.sgml:
19456         * docs/gst/tmpl/gstparse.sgml:
19457         * docs/gst/tmpl/gsttaglist.sgml:
19458         * docs/gst/tmpl/gsttagsetter.sgml:
19459         * docs/gst/tmpl/gsttypefind.sgml:
19460         * docs/gst/tmpl/gsttypefindfactory.sgml:
19461         * gst/gstmemchunk.c:
19462         * gst/gstparse.c:
19463         * gst/gsttag.c:
19464         * gst/gsttaginterface.c:
19465         * gst/gsttypefind.c:
19466         * gst/gsttypefind.h:
19467           inlined more docs
19468
19469 === release 0.9.2 ===
19470
19471 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19472
19473         * NEWS:
19474         * RELEASE:
19475         * configure.ac:
19476           releasing 0.9.2, "South"
19477
19478 2005-09-05  Andy Wingo  <wingo@pobox.com>
19479
19480         * gst/registries/gstxmlregistry.h:
19481         * gst/registries/gstxmlregistry.c: Um... resurrect...
19482         
19483         * gst/registries/gstxmlregistry.h:
19484         * gst/registries/gstxmlregistry.c: and update to newer API.
19485         Incidentally they should be a bit faster now that they don't have
19486         to parse the caps.
19487         
19488 2005-09-05  Andy Wingo  <wingo@pobox.com>
19489
19490         * gst/registries/gstxmlregistry.h:
19491         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
19492         replaced by the libxml registry a while back
19493
19494 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19495
19496         * docs/gst/tmpl/gstplugin.sgml:
19497         * gst/elements/gstelements.c:
19498         * gst/gst.c:
19499         * gst/gstplugin.c: (gst_plugin_register_func),
19500         (gst_plugin_desc_copy), (gst_plugin_desc_free),
19501         (gst_plugin_get_source):
19502         * gst/gstplugin.h:
19503         * gst/registries/gstlibxmlregistry.c: (load_plugin),
19504         (gst_xml_registry_save_plugin):
19505         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
19506         (gst_xml_registry_save_plugin):
19507         * tools/gst-inspect.c: (print_plugin_info):
19508           add a "source" plugin description field, to represent the source
19509           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
19510           will set it to PACKAGE, which is automake's idea of the name of
19511           the source project.
19512
19513 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19514
19515         * Makefile.am:
19516         * autogen.sh:
19517         * configure.ac:
19518         * docs/Makefile.am:
19519         * docs/faq/Makefile.am:
19520         * docs/gst/tmpl/gstelement.sgml:
19521         * docs/gst/tmpl/gsttypes.sgml:
19522         * docs/htmlinstall.mak:
19523         * docs/manual/Makefile.am:
19524         * docs/pwg/Makefile.am:
19525           reorganize doc build a little
19526           split out docbook and gtk-doc stuff
19527           have two separate --enable's and enable them through autogen
19528           but disable by default in configure (to be similar to other
19529           projects)
19530         * gstreamer.spec.in:
19531           clean up docs install
19532         * po/af.po:
19533         * po/az.po:
19534         * po/ca.po:
19535         * po/cs.po:
19536         * po/de.po:
19537         * po/en_GB.po:
19538         * po/fr.po:
19539         * po/it.po:
19540         * po/nb.po:
19541         * po/nl.po:
19542         * po/ru.po:
19543         * po/sq.po:
19544         * po/sr.po:
19545         * po/sv.po:
19546         * po/tr.po:
19547         * po/uk.po:
19548         * po/vi.po:
19549           translation updates
19550
19551 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
19552
19553         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
19554           Add comment.
19555           
19556         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19557         (gst_fake_sink_change_state):
19558           Make state change function thread-safe.
19559           
19560         * gst/gstpad.c: (gst_pad_alloc_buffer):
19561           Set offset on generic buffer allocated by fallback.
19562
19563 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
19564
19565         * docs/gst/gstreamer-sections.txt:
19566         * docs/gst/tmpl/gstelement.sgml:
19567         * gst/gstpad.c:
19568         * libs/gst/controller/gst-controller.c:
19569         (gst_controlled_property_set_interpolation_mode),
19570         (gst_controlled_property_new),
19571         (gst_controller_find_controlled_property):
19572          run the wingo-magic script against the docs
19573
19574 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19575
19576         * docs/gst/gstreamer-docs.sgml:
19577         * docs/gst/gstreamer-sections.txt:
19578         * docs/gst/tmpl/.cvsignore:
19579         * docs/gst/tmpl/gstelementdetails.sgml:
19580         * docs/gst/tmpl/gstelementfactory.sgml:
19581         * gst/gst.c:
19582         * gst/gstbus.c:
19583         * gst/gstelementfactory.c:
19584         * gst/gstelementfactory.h:
19585           merged elementdetails docs into elementfactory docs
19586           inlined both
19587
19588 2005-09-02  Andy Wingo  <wingo@pobox.com>
19589
19590         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
19591         consider this enum an enum and not a flags.
19592
19593 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
19594
19595         * docs/gst/gstreamer-docs.sgml:
19596         * docs/gst/tmpl/.cvsignore:
19597         * docs/gst/tmpl/gstghostpad.sgml:
19598         * docs/gst/tmpl/gstiterator.sgml:
19599         * docs/gst/tmpl/gstmacros.sgml:
19600         * docs/gst/tmpl/gstrealpad.sgml:
19601         * docs/gst/tmpl/gstregistry.sgml:
19602         * docs/gst/tmpl/gstregistrypool.sgml:
19603         * docs/gst/tmpl/gststructure.sgml:
19604         * docs/gst/tmpl/gstsystemclock.sgml:
19605         * docs/gst/tmpl/gsttrace.sgml:
19606         * gst/gstghostpad.c:
19607         * gst/gstmacros.h:
19608         * gst/gstmemchunk.c:
19609         * gst/gstmemchunk.h:
19610         * gst/gstqueue.c:
19611         * gst/gstregistry.c:
19612         * gst/gstregistrypool.c:
19613         * gst/gststructure.c:
19614         * gst/gstsystemclock.c:
19615           more docs inlined
19616
19617 2005-09-02  Andy Wingo  <wingo@pobox.com>
19618
19619         * gst/gstelement.h (GstState): Renamed from GstElementState,
19620         changed to be a normal enum instead of flags.
19621         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
19622         munged to be GST_STATE_CHANGE_*.
19623         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
19624         work with the new state representation.
19625         (GstStateChange): New enumeration of possible state transitions.
19626         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
19627         (GstElementClass::change_state): Pass the GstStateChange along as
19628         an argument. Helps language bindings, so they don't have to use
19629         tricky lock-needing macros like GST_STATE_CHANGE ().
19630
19631         * scripts/update-states (file): New script. Run it on a file to
19632         update it for state naming and API changes. Updates files in
19633         place.
19634
19635         * All files updated for the new API.
19636
19637 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19638
19639         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
19640         * gst/gstutils.c: (gst_util_set_value_from_string),
19641         (gst_util_set_object_arg):
19642           fix a bunch of unchecked return values
19643         * tools/gst-complete.c: (main):
19644         * gstreamer.spec.in:
19645           clean up a little
19646
19647 2005-09-01  Wim Taymans  <wim@fluendo.com>
19648
19649         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19650         (gst_base_sink_event), (gst_base_sink_do_sync),
19651         (gst_base_sink_handle_event):
19652         * gst/base/gstbasesink.h:
19653         Handle newsegments more correctly.
19654
19655         * gst/gstbus.c:
19656         Fix docs.
19657
19658         * gst/gstevent.c: (gst_event_new_newsegment):
19659         A newsegment cannot have a start_time of -1
19660
19661 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
19662
19663         * win32/gstenumtypes.c:
19664         * win32/gstenumtypes.h:
19665           Update
19666
19667 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19668
19669         * libs/gst/controller/gst-controller.c:
19670         (gst_controlled_property_set_interpolation_mode),
19671         (gst_controlled_property_new):
19672          fixed boolean again
19673
19674 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
19675
19676         * docs/faq/gst-uninstalled:
19677           add -good
19678         * gst/gstevent.c:
19679         * gst/gstevent.h:
19680           remove wrong docs
19681         * gst/gstutils.c: (gst_element_link_filtered):
19682         * gst/gstutils.h:
19683           add gst_element_link_filtered
19684
19685 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19686
19687         * docs/gst/gstreamer-docs.sgml:
19688         * docs/gst/gstreamer-sections.txt:
19689         * docs/gst/tmpl/.cvsignore:
19690         * docs/gst/tmpl/gsterror.sgml:
19691         * docs/gst/tmpl/gstfilter.sgml:
19692         * docs/gst/tmpl/gsturihandler.sgml:
19693         * docs/gst/tmpl/gsturitype.sgml:
19694         * docs/gst/tmpl/gstutils.sgml:
19695         * docs/gst/tmpl/gstxml.sgml:
19696         * gst/gsterror.c:
19697         * gst/gsterror.h:
19698         * gst/gstfilter.c:
19699         * gst/gsturi.c:
19700         * gst/gsturitype.c:
19701         * gst/gstutils.c:
19702         * gst/gstxml.c:
19703           inlined more docs, fixed double id-ref
19704
19705 2005-08-31  Wim Taymans  <wim@fluendo.com>
19706
19707         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19708         (gst_base_transform_handle_buffer):
19709         Passthrough elements don't need the caps as they don't care.
19710
19711 2005-08-31  Wim Taymans  <wim@fluendo.com>
19712
19713         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19714         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
19715         Don't leak refcounts on buffers.
19716
19717 2005-08-31  Wim Taymans  <wim@fluendo.com>
19718
19719         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19720         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19721         (gst_base_transform_chain), (gst_base_transform_change_state):
19722         * gst/base/gstbasetransform.h:
19723         Handle the case where we are not negotiated more gracefully.
19724
19725 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
19726
19727         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19728         (gst_file_src_map_region):
19729           Set READONLY flag on mmap'ed buffers, otherwise
19730           gst_buffer_make_writable() won't work properly (#314708).
19731
19732 2005-08-31  Wim Taymans  <wim@fluendo.com>
19733
19734         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19735         passthrough elements can even do inplace on non writable
19736         buffers (as they don't touch them).
19737
19738 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
19739
19740         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19741         (gst_test_mono_source_set_property),
19742         (gst_test_mono_source_class_init), (GST_START_TEST),
19743         (gst_controller_suite):
19744           more tests (hehe I have the most)
19745         * gst/gstbus.c:
19746           describe popping messages whenusing mulltiple sources
19747         * libs/gst/controller/gst-controller.c:
19748         (gst_controlled_property_set_interpolation_mode),
19749         (gst_controlled_property_new):
19750         * libs/gst/controller/gst-controller.h:
19751         * libs/gst/controller/gst-interpolation.c:
19752           implement boolean properties
19753
19754 2005-08-31  Wim Taymans  <wim@fluendo.com>
19755
19756         * gst/gstminiobject.c: (gst_mini_object_ref):
19757         Cannot assert that the refcount has to be positive
19758         since a disposed object can be resurrected.
19759
19760 2005-08-31  Wim Taymans  <wim@fluendo.com>
19761
19762         * gst/gstpad.c: (gst_pad_init):
19763         Revert change, need to first fix badly behaving 
19764         apps.
19765
19766 2005-08-30  Wim Taymans  <wim@fluendo.com>
19767
19768         * check/elements/fakesrc.c: (setup_fakesrc):
19769         * check/elements/identity.c: (setup_identity):
19770         Activate pads before using them.
19771
19772 2005-08-30  Wim Taymans  <wim@fluendo.com>
19773
19774         * gst/base/gstadapter.c: (gst_adapter_flush):
19775         Flushing out 0 bytes is ok for this function.
19776
19777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19778         no newsegment gives a warning and sets the start/stop to 
19779         invalid.
19780
19781         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
19782         (gst_base_transform_set_passthrough):
19783         Some debug info.
19784
19785         * gst/gstminiobject.c: (gst_mini_object_ref):
19786         Check refcount here too.
19787
19788         * gst/gstpad.c: (gst_pad_init):
19789         Pads are initially flushing and refusing data.
19790
19791         * gst/gstutils.c: (gst_element_link_pads_filtered):
19792         When adding a capsfilter element make sure it has the
19793         same state as the parent bin.
19794
19795 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19796
19797         * docs/gst/tmpl/.cvsignore:
19798         * docs/gst/tmpl/gstformat.sgml:
19799         * docs/gst/tmpl/gstversion.sgml:
19800         * gst/gstbus.h:
19801         * gst/gstformat.c:
19802         * gst/gstformat.h:
19803         * gst/gstversion.h.in:
19804           more docs and two more inlined
19805
19806 2005-08-30  Wim Taymans  <wim@fluendo.com>
19807
19808         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
19809         Don't sync to clock.
19810
19811 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19812
19813         * docs/gst/gstreamer-sections.txt:
19814           ultral33t func10ns deserve to appear in the docs actually
19815         * docs/gst/tmpl/.cvsignore:
19816         * docs/gst/tmpl/gstcompat.sgml:
19817         * docs/gst/tmpl/gstconfig.sgml:
19818         * gst/check/gstcheck.c:
19819         * gst/gstcompat.h:
19820         * gst/gstconfig.h.in:
19821           inlined more docs
19822
19823 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19824
19825         * docs/gst/tmpl/.cvsignore:
19826         * docs/gst/tmpl/gstquery.sgml:
19827         * docs/gst/tmpl/gstutils.sgml:
19828         * gst/gstquery.c:
19829         * gst/gstquery.h:
19830           inlined and extended docs
19831
19832 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
19833
19834         * check/gst-libs/controller.c: (GST_START_TEST),
19835         (gst_controller_suite):
19836           more tests
19837         * docs/gst/tmpl/gstutils.sgml:
19838         * docs/libs/gstreamer-libs-sections.txt:
19839         * docs/libs/tmpl/gstdataprotocol.sgml:
19840           include path fixes
19841         * examples/controller/audio-example.c: (main):
19842           controller example works now
19843         * gst/gstclock.h:
19844           doc fixes
19845         * tools/gst-inspect.c: (print_element_properties_info):
19846           show param spec flags
19847
19848 2005-08-29  Andy Wingo  <wingo@pobox.com>
19849
19850         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
19851
19852 2005-08-28  Andy Wingo  <wingo@pobox.com>
19853
19854         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
19855         as having two arguments instead of just one. Allows superclasses
19856         to access information on subclasses -- see the terrible for() loop
19857         in gtype.c:g_type_create_instance for the reason why. All callers
19858         changed.
19859
19860 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19861
19862         * docs/design/part-messages.txt:
19863           update info
19864         * docs/gst/tmpl/.cvsignore:
19865         * docs/gst/tmpl/gstcaps.sgml:
19866         * docs/gst/tmpl/gstclock.sgml:
19867         * gst/gstbus.c:
19868         * gst/gstcaps.c:
19869         * gst/gstcaps.h:
19870         * gst/gstclock.c:
19871         * gst/gstclock.h:
19872         * gst/gstmessage.c:
19873           added descriptions for bus and message
19874           inline caps and clock docs
19875
19876 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19877
19878         * gst/gstmessage.c:
19879         * gst/gstmessage.h:
19880           doc fixes
19881
19882 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
19883
19884         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19885           fix div-by-zero
19886
19887 2005-08-26  Andy Wingo  <wingo@pobox.com>
19888
19889         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
19890         element_set_state's return val.
19891         (test_2_elements): Add test that's been disabled for months.
19892
19893         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
19894         can-activate-pull properties.
19895
19896         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
19897         can-activate-pull properties. Implement is_seekable so fakesrc can
19898         operate in pull mode.
19899
19900         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
19901         properties.
19902         (gst_base_sink_activate, gst_base_sink_activate_pull)
19903         (gst_base_sink_activate_push): Make activation mode choosing work.
19904         Cleanups.
19905         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
19906         is right. Make pull mode work. Post an eos before pausing in pull
19907         mode.
19908         (gst_base_sink_change_state): Pay attention to the core's
19909         change_state() return val.
19910         
19911         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
19912         has-getrange properties. Cleanups.
19913         
19914         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
19915         has_getrange and replace with can_activate_pull and
19916         can_activate_push.
19917
19918         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
19919         locking comments. Remove has_loop, has_chain and replace with
19920         can_activate_pull and can_activate_push.
19921
19922 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
19923
19924         * configure.ac:
19925         * examples/Makefile.am:
19926         * examples/metadata/Makefile.am:
19927         * examples/metadata/read-metadata.c: (message_loop),
19928         (have_pad_handler), (make_pipeline), (print_tag), (main):
19929           Add metadata reading example that loops over a list of filenames,
19930           dumping any tags found.
19931
19932         * gst/gstbus.c: (gst_bus_dispose):
19933         * gst/gstelement.c: (gst_element_dispose):
19934           Release a few potentially-held references in dispose.
19935
19936 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19937
19938         * docs/gst/tmpl/gstminiobject.sgml:
19939           do *not* add tmpl/*.sgml files to CVS!
19940
19941 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19942
19943         * libs/gst/bytestream/.cvsignore:
19944         * libs/gst/bytestream/Makefile.am:
19945         * libs/gst/bytestream/adapter.c:
19946         * libs/gst/bytestream/adapter.h:
19947         * libs/gst/bytestream/bytestream.c:
19948         * libs/gst/bytestream/bytestream.h:
19949         * libs/gst/bytestream/filepad.c:
19950         * libs/gst/bytestream/filepad.h:
19951           removing obsolete files
19952
19953 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19954
19955         * docs/gst/gstreamer-docs.sgml:
19956         * docs/libs/gstreamer-libs-docs.sgml:
19957           disabed additional index entries again, as this makes docs-gen just
19958           slow and they aren't useful yet
19959         * docs/libs/gstreamer-libs-sections.txt:
19960           little -section.txt cleanup for libs
19961
19962 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
19963
19964         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19965         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
19966           fix up some debugging
19967         (gst_base_transform_get_unit_size),
19968         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19969         (gst_base_transform_handle_buffer):
19970         * gst/base/gstbasetransform.h:
19971           handle and store timed NEWSEGMENT events so that subclasses that
19972           calculate time by counting samples have a segment_start time they
19973           need to add to their timestamps - see audioresample
19974
19975 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
19976
19977         * gst/gstbin.h:
19978           removed ';' from the end of macro defs
19979         * docs/gst/gstreamer-docs.sgml:
19980         * docs/gst/gstreamer-sections.txt:
19981         * docs/gst/tmpl/.cvsignore:
19982         * gst/gstbus.h:
19983         * gst/gstelement.c: (gst_element_class_init),
19984         (gst_element_set_state), (activate_pads),
19985         (gst_element_save_thyself):
19986         * gst/gstevent.c: (gst_event_new_newsegment):
19987         * gst/gstevent.h:
19988         * gst/gstiterator.c:
19989         * gst/gstiterator.h:
19990         * gst/gstpad.c:
19991         * gst/gstprobe.h:
19992         * gst/gstutils.c: (gst_pad_query_convert):
19993         * gst/gstutils.h:
19994           fixed parameter name mismatches between source, header and docs
19995           added some more docs, resolved the last batch of unused elements in
19996           docs (now someone needs to doc them)
19997
19998 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19999
20000         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20001         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20002           don't walk through the plugins backwards.  Where is all this
20003           reversed logic coming from ?
20004
20005 2005-08-25  Wim Taymans  <wim@fluendo.com>
20006
20007         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20008         (gst_base_transform_transform_size),
20009         (gst_base_transform_configure_caps),
20010         (gst_base_transform_get_unit_size),
20011         (gst_base_transform_buffer_alloc),
20012         (gst_base_transform_change_state):
20013         * gst/base/gstbasetransform.h:
20014         Cache caps unit_size.
20015         Make sure we cannot negotiate up and downstream at the
20016         same time.
20017
20018 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20019
20020         * gst/gst.c: (init_pre), (init_post):
20021           register the installed plugin path after the env var
20022         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20023         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20024           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20025           directories, so the tests can prefer uninstalled over installed
20026
20027 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20028
20029         * gst/base/gstbasetransform.h:
20030           comment
20031         * gst/gstpad.c:
20032           add to docs
20033
20034 2005-08-25  Wim Taymans  <wim@fluendo.com>
20035
20036         * gst/gstbin.c: (bin_bus_handler):
20037         Be a bit more conservative about the posted message.
20038         
20039         * gst/gstbus.c: (gst_bus_post):
20040         Some cleanups, warn wrong return values.
20041
20042 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
20043
20044         * check/gst/gstbin.c: (GST_START_TEST):
20045         * gst/gstbin.c: (bin_bus_handler):
20046         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20047         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20048         (gst_message_new_warning), (gst_message_new_tag),
20049         (gst_message_new_state_changed), (gst_message_new_segment_start),
20050         (gst_message_new_segment_done), (gst_message_new_custom):
20051         * gst/gstmessage.h:
20052         * tools/gst-launch.c: (event_loop):
20053         * tools/gst-md5sum.c: (event_loop):
20054           Revert unpopular change for GST_MESSAGE_SRC to GObject.
20055
20056 2005-08-25  Wim Taymans  <wim@fluendo.com>
20057
20058         * check/generic/states.c: (GST_START_TEST):
20059         Cleanup can be done at the end.
20060
20061         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20062         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20063         (gst_task_get_state), (gst_task_start), (gst_task_pause):
20064         Oh boy.. Thanks for finding this, Thomas. 
20065
20066 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20067
20068         * docs/gst/gstreamer.types:
20069           added missing types
20070
20071 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20072
20073         * docs/gst/gstreamer-docs.sgml:
20074         * docs/gst/gstreamer-sections.txt:
20075         * docs/gst/tmpl/.cvsignore:
20076         * gst/gstbin.c:
20077         * gst/gstiterator.c:
20078         * gst/gstutils.c:
20079         * gst/registries/gstxmlregistry.h:
20080           added missing classes and symbols (123 more to go)
20081           removed removed symbols from section file
20082           fixed many doc-comments
20083
20084 2005-08-24  Wim Taymans  <wim@fluendo.com>
20085
20086         * check/generic/states.c: (GST_START_TEST):
20087         Make sure all tasks are stopped.
20088
20089         * check/gst/gstbin.c: (GST_START_TEST):
20090         Unref after usage for proper valgrinding.
20091
20092         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20093         Really wait for the task to stop before destroying the
20094         mutex.
20095
20096         * gst/gstqueue.c: (gst_queue_sink_activate_push),
20097         (gst_queue_src_activate_push):
20098         Small cleanups. Don't stop the task when we did not start
20099         it.
20100
20101         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20102         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20103         (gst_task_get_state), (gst_task_start), (gst_task_pause),
20104         (gst_task_join):
20105         * gst/gsttask.h:
20106         Protect the stream lock with the object lock.
20107         Disallow setting the stream lock when running.
20108         Add cleanup_all to wait for the threadpool to finish.
20109         Remove code to autoallocate a mutex if none was provided.
20110         Add _join() to wait for a task to stop.
20111         Protect the thread pool with a global lock.
20112
20113 2005-08-24  Wim Taymans  <wim@fluendo.com>
20114
20115         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20116         (gst_base_sink_get_times), (gst_base_sink_do_sync),
20117         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20118         * gst/base/gstbasesink.h:
20119         Handle newsegment events correctly.
20120         Drop buffers out of the segment range.
20121
20122 2005-08-22  Andy Wingo  <wingo@pobox.com>
20123
20124         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20125         macro, implements an interface and gstimplementsinterface for a
20126         new type.
20127
20128 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20129
20130         * check/Makefile.am:
20131         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20132           add a test that does a bunch of state changes on elements
20133           needs some fixing for valgrind
20134         * check/states/sinks.c: (gst_object_suite):
20135           whitespace
20136         * gst/gstcaps.h:
20137           add prototype for gst_caps_is_equal_fixed
20138         * gst/gstplugin.c:
20139         * gst/gstregistrypool.c:
20140           doc fixes
20141
20142 2005-08-24  Andy Wingo  <wingo@pobox.com>
20143
20144         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20145         convert a negative value. Doesn't make much sense. Mostly this is
20146         here to force callers to ensure -1 maps to -1.
20147
20148 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20149
20150         * docs/pwg/advanced-types.xml:
20151           Well done to Michael for catching my deliberate introduction
20152           of this spelling mistake. 
20153         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20154         * gst/gstelement.h:
20155           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20156           unlink pads before removing the element from the bin.
20157
20158 2005-08-24  Andy Wingo  <wingo@pobox.com>
20159
20160         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20161         the same thing as GST_DEBUG=*:4.
20162         (parse_debug_level, parse_debug_category): New helper parsers.
20163
20164 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20165
20166         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20167         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20168         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20169         (gst_base_transform_buffer_alloc),
20170         (gst_base_transform_handle_buffer):
20171           use gboolean return values and pointers to size so we can use the
20172           full GST_BUFFER_SIZE range (guint) for buffer sizes
20173           use GstPadDirection for transform_caps
20174         * gst/base/gstbasetransform.h:
20175           rename get_size to get_unit_size since that's what it is
20176         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20177           use GstPadDirection for transform_caps
20178         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20179         * gst/gstutils.h:
20180           cleanup and debugging
20181
20182 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20183
20184         * gst/gstelement.c: (gst_element_class_init),
20185         (gst_element_set_state), (activate_pads),
20186         (gst_element_save_thyself):
20187         * tools/gst-compprep.c: (main):
20188         * tools/gst-inspect.c: (print_element_properties_info):
20189         * tools/gst-xmlinspect.c: (print_element_properties):
20190           Fixed long standing mem-leak
20191
20192 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
20193
20194         * check/gst/gstbin.c: (GST_START_TEST):
20195         * gst/gstbin.c: (bin_bus_handler):
20196         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20197         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20198         (gst_message_new_warning), (gst_message_new_tag),
20199         (gst_message_new_state_changed), (gst_message_new_segment_start),
20200         (gst_message_new_segment_done), (gst_message_new_custom):
20201         * gst/gstmessage.h:
20202         * tools/gst-launch.c: (event_loop):
20203         * tools/gst-md5sum.c: (event_loop):
20204           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20205           that applications can sensibly post custom messages with references
20206           to their own objects.
20207
20208 2005-08-24  Andy Wingo  <wingo@pobox.com>
20209
20210         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20211         already.
20212
20213 2005-08-24  Wim Taymans  <wim@fluendo.com>
20214
20215         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20216         (gst_base_transform_transform_caps),
20217         (gst_base_transform_transform_size),
20218         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20219         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20220         (gst_base_transform_handle_buffer):
20221         * gst/base/gstbasetransform.h:
20222         Many fixes and new features added by Thomas. Can now also do
20223         transforms with variable sizes and a custom fixate_caps function.
20224
20225 2005-08-24  Wim Taymans  <wim@fluendo.com>
20226
20227         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20228         Some debugging.
20229
20230         * gst/gstclock.h:
20231         Cast to ClockTime before formatting to time.
20232
20233         * gst/gstutils.h:
20234         Cleanups.
20235
20236 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
20237
20238         * check/gst-libs/controller.c: (GST_START_TEST),
20239         (gst_controller_suite):
20240         * docs/gst/tmpl/gstcaps.sgml:
20241         * docs/gst/tmpl/gstghostpad.sgml:
20242         * docs/gst/tmpl/gstquery.sgml:
20243         * docs/gst/tmpl/gstutils.sgml:
20244         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20245         (gst_object_sink_values), (gst_object_get_value_arrays),
20246         (gst_object_get_value_array):
20247           gracefully handle helper method calls to objects that are not beeing
20248           controlled, added test case for that          
20249
20250 2005-08-23  Wim Taymans  <wim@fluendo.com>
20251
20252         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20253         (gst_event_new_newsegment), (gst_event_parse_newsegment),
20254         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20255         (gst_event_parse_qos), (gst_event_new_seek),
20256         (gst_event_parse_seek):
20257         * gst/gstevent.h:
20258         Some more debugging output and doc cleanups.
20259
20260         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20261         Fix possible deadlock.
20262
20263 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20264
20265         * docs/gst/gstreamer-docs.sgml:
20266         * docs/gst/gstreamer-sections.txt:
20267         * docs/gst/gstreamer.types:
20268         * docs/gst/tmpl/.cvsignore:
20269         * gst/gstbin.h:
20270         * gst/gstbus.c:
20271         * gst/gstelement.c:
20272         * gst/gstevent.h:
20273           added 100 symbols from gstreamer-unused.txt to the right sections
20274           fixed more broken comments
20275           added GstBus to docs
20276
20277 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20278
20279         * docs/gst/gstreamer-sections.txt:
20280         * docs/gst/tmpl/.cvsignore:
20281         * docs/gst/tmpl/gstbin.sgml:
20282         * docs/gst/tmpl/gstbuffer.sgml:
20283         * gst/base/gstbasesrc.c:
20284         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20285         * gst/gstbuffer.c:
20286         * gst/gstbuffer.h:
20287         * tools/gst-launch.1.in:
20288           inlined more doc comments, added missing comments and fixed comments
20289           fixed typos
20290
20291 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20292
20293         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20294           some debugging
20295         * gst/gstcaps.h:
20296           whitespace fixes
20297         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20298           more debugging
20299         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20300         * gst/gststructure.h:
20301           add a fixate function for booleans; add a FIXME that these func
20302           names should probably be gst_structure_fixate_*
20303
20304 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
20305
20306         * docs/gst/gstreamer-docs.sgml:
20307         * docs/gst/gstreamer-sections.txt:
20308         * gst/Makefile.am:
20309         * gst/gstbin.c: (gst_bin_get_type),
20310         (gst_bin_child_proxy_get_child_by_index),
20311         (gst_bin_child_proxy_get_children_count),
20312         (gst_bin_child_proxy_init):
20313         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20314         (gst_child_proxy_get_child_by_index),
20315         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20316         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20317         (gst_child_proxy_get), (gst_child_proxy_set_property),
20318         (gst_child_proxy_set_valist), (gst_child_proxy_set),
20319         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20320         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20321         * gst/gstchildproxy.h:
20322         * gst/parse/grammar.y:
20323         * tools/gst-inspect.c: (print_interfaces),
20324         (print_element_properties_info), (print_element_info):
20325           ported gstchildproxy over from 0.8
20326           ported gst-inspect fixes and enhancements over from 0.8
20327
20328 2005-08-22  Wim Taymans  <wim@fluendo.com>
20329
20330         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20331         (gst_base_transform_handle_buffer):
20332         Also call the transform function if we have ANY caps.
20333
20334         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20335         Fix debug info.
20336
20337 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20338
20339         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20340           Don't pretend to handle seek events if the source is not seekable
20341
20342 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
20343
20344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20345           Remove extra parameter to debug output
20346
20347         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20348         (gst_base_src_do_seek), (gst_base_src_activate_push):
20349           Fix seek event handling.
20350
20351         * gst/gstpipeline.c: (gst_pipeline_change_state):
20352         * gst/gstqueue.c: (gst_queue_handle_sink_event),
20353         (gst_queue_src_activate_push):
20354           Don't start the src pad task on FLUSH_STOP if the pad
20355           isn't linked.
20356           Debug changes.
20357
20358 2005-08-22  Wim Taymans  <wim@fluendo.com>
20359
20360         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20361         Added check for gst_static_caps_get() refcounting.
20362
20363 2005-08-22  Wim Taymans  <wim@fluendo.com>
20364
20365         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20366         Make _static_caps_get() refcounting sane.
20367         
20368         * gst/gstelement.c: (gst_element_set_state):
20369         Add g_return_val_if_fail() to protect against segfaults.
20370
20371 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
20372
20373         * docs/gst/tmpl/gstevent.sgml:
20374         * gst/gstevent.c:
20375         * gst/gstevent.h:
20376           inlined remaining docs, added missing doc comments
20377
20378 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20379
20380         * check/gst/gstbin.c: (GST_START_TEST):
20381           since we don't know when preroll is done, use refcount range
20382           check for the sink
20383         * gst/check/gstcheck.h:
20384           add macro for checking refcount range
20385
20386 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20387
20388         * check/Makefile.am:
20389           clean up environment for when registry gets built versus
20390           when actual tests are run; valgrind seems to not report
20391           leaks if GST_PLUGIN_PATH is set to some specific values
20392         * check/gst/gstbin.c: (GST_START_TEST):
20393           add more refcounting checks; maybe this exposes a
20394           preroll lock bug ?
20395         * common/check.mak:
20396         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20397         * gst/check/gstcheck.h:
20398         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20399         (gst_bin_change_state):
20400         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20401           add/fix debugging/whitespace
20402
20403 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20404
20405         * check/gst/gstevent.c: (event_probe), (test_event),
20406         (GST_START_TEST):
20407          Er, don't call gst_bin_watch_for_state_change you idiot.
20408
20409 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
20410
20411         * check/Makefile.am:
20412           Use CHECK_CFLAGS and CHECK_LIBS
20413         * check/gst/gstevent.c: (event_probe), (test_event),
20414         (GST_START_TEST):
20415           Don't leak events.
20416         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20417         (gst_base_src_start), (gst_base_src_stop),
20418         (gst_base_src_activate_push), (gst_base_src_activate_pull),
20419         (gst_base_src_change_state):
20420           Sprinkle gst_base_src_stop liberally around error paths to fix
20421           problems reusing a source after failed state changes.
20422         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20423         (helper_find_suggest), (gst_type_find_helper):
20424           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20425         * gst/gstevent.h:
20426         * docs/gst/tmpl/gstevent.sgml:
20427           Migrate part of the docs from the SGML file. Wait for ensonic to
20428           tell me how I did it wrong ;)
20429         * tools/gst-typefind.c: (main):
20430           Extra robustness to state changes between files.
20431
20432 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20433
20434         * check/Makefile.am:
20435           don't valgrind the controller test - it's leaking - Stefan, HELP
20436         * gst/check/gstcheck.c: (gst_check_message_error),
20437         (gst_check_chain_func), (gst_check_setup_element),
20438         (gst_check_teardown_element), (gst_check_setup_src_pad),
20439         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20440         (gst_check_teardown_sink_pad):
20441         * gst/check/gstcheck.h:
20442           add a bunch of methods to set up elements, and src and sink pads
20443         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20444         * check/elements/identity.c: (setup_identity), (cleanup_identity),
20445         (GST_START_TEST):
20446           use them
20447         * gst/gstmessage.c:
20448         * gst/gsttag.h:
20449           whitespace/doc fixes
20450
20451 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20452
20453         * gst/gstelement.h:
20454           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20455           be handled by the application and not always printed as well
20456
20457 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20458
20459         * check/Makefile.am:
20460           set GST_TOOLS_DIR
20461         * gst/check/gstcheck.c: (gst_check_message_error):
20462         * gst/check/gstcheck.h:
20463           add a fail_unless_equals_int
20464           add fail_unless for error messages
20465
20466 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20467
20468         * check/Makefile.am:
20469         * check/gst.supp:
20470         * common/Makefile.am:
20471         * common/check.mak:
20472         * common/gst.supp:
20473           factor out some of the common stuff so we can use it
20474
20475 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20476
20477         * check/Makefile.am:
20478         * check/gst/gstiterator.c: (GST_START_TEST):
20479         * check/gst/gstsystemclock.c: (GST_START_TEST),
20480         (gst_systemclock_suite):
20481         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20482         * gst/gstclock.c:
20483           valgrind more tests
20484
20485 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
20486
20487         * check/elements/.cvsignore:
20488         * check/elements/gstfakesrc.c:
20489           rename to name of element
20490         * check/elements/identity.c: (chain_func), (event_func),
20491         (setup_identity), (cleanup_identity), (GST_START_TEST),
20492         (identity_suite), (main):
20493           add a test for identity
20494         * check/Makefile.am:
20495         * pkgconfig/Makefile.am:
20496         * pkgconfig/gstreamer-check.pc.in:
20497         * pkgconfig/gstreamer-check-uninstalled.pc.in:
20498         * gst/check:
20499         * gst/Makefile.am:
20500         * configure.ac:
20501           move the check stuff to a library that gets installed
20502         * check/gst-libs/controller.c: (GST_START_TEST):
20503         * check/gst-libs/gdp.c:
20504         * check/gst/gst.c: (GST_START_TEST):
20505         * check/gst/gstbin.c:
20506         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20507         * check/gst/gstbus.c:
20508         * check/gst/gstcaps.c: (GST_START_TEST):
20509         * check/gst/gstelement.c:
20510         * check/gst/gstghostpad.c:
20511         * check/gst/gstiterator.c:
20512         * check/gst/gstmessage.c:
20513         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
20514         * check/gst/gstobject.c:
20515         * check/gst/gstpad.c: (GST_START_TEST):
20516         * check/gst/gststructure.c: (GST_START_TEST):
20517         * check/gst/gstsystemclock.c: (GST_START_TEST),
20518         (gst_systemclock_suite):
20519         * check/gst/gsttag.c: (gst_tag_suite):
20520         * check/gst/gstvalue.c:
20521         * check/pipelines/cleanup.c:
20522         * check/pipelines/simple_launch_lines.c:
20523         * check/states/sinks.c:
20524           change include statement
20525
20526         * docs/gst/gstreamer-sections.txt:
20527         * docs/gst/tmpl/gstpad.sgml:
20528           document more pad stuff
20529         * gst/gstminiobject.c: (gst_mini_object_ref),
20530         (gst_mini_object_unref):
20531           debug refcounting
20532
20533 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
20534
20535         * docs/gst/tmpl/gst.sgml:
20536         * gst/gst.c:
20537           eliminate another tmpl file, fix spelling in the long-description
20538
20539 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20540
20541         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20542         (test_event), (timediff), (gstevents_suite):
20543           Should fix build on 64-bit arch's
20544
20545 2005-08-18  Andy Wingo  <wingo@pobox.com>
20546
20547         Make sure that when a pipeline goes to PLAYING, that data has
20548         actually hit the sink.
20549
20550         * check/states/sinks.c (test_sink): A sink that doesn't get any
20551         data shouldn't return SUCCESS for going to either PLAYING or
20552         PAUSED. Test also the return values on the way back down.
20553
20554         * gst/gstelement.c (gst_element_set_state): When changing the
20555         state of an element currently changing state asynchronously, go to
20556         lost-state after commiting the pending state. Makes future calls
20557         to get_state continue to return ASYNC.
20558
20559         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
20560         ASYNC when going to PLAYING if we still don't have preroll, as can
20561         happen with live sources.
20562
20563 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20564
20565         * docs/pwg/advanced-types.xml:
20566           Hack long paragraph into 2 chunks as a workaround for buggy
20567           jadetex version in sid and breezy that loops infinitely and
20568           eats all RAM.
20569
20570 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20571
20572         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20573         (test_event), (timediff), (gstevents_suite):
20574           Provide more error margin in clock measurements to allow for 
20575           g_get_current_time inaccuracies.
20576
20577 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20578
20579         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20580         (test_event), (timediff), (gstevents_suite):
20581            Fix error message output so I might be able to tell why the
20582            test works here but fails on the build farm.
20583
20584 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
20585
20586         * check/Makefile.am:
20587         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20588         (test_event), (timediff), (gstevents_suite), (main):
20589           I wrote a test!
20590
20591         * docs/design/part-seeking.txt:
20592           Spelling correction
20593
20594         * docs/gst/tmpl/gstevent.sgml:
20595         * docs/gst/tmpl/gstfakesrc.sgml:
20596           Docs updates.
20597
20598         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20599           Treat a buffer-without-newsegment the same as a receiving 
20600           a newsegment not in time format, and disable syncing to the clock
20601           with a warning.
20602
20603         * gst/gstbus.c: (gst_bus_set_sync_handler):
20604           Assert if anyone tries to replace the existing sync_handler for bus, 
20605           as only the owner should be setting it.
20606
20607         * gst/gstevent.h:
20608           Have a fixed set of custom event enums with events identified by
20609           their structure name (as in 0.8), rather than a free-for-all
20610           allowing collisions between enum values from different plugins.
20611
20612         * gst/gstpad.c: (gst_pad_class_init):
20613           Docs change.
20614           
20615         * gst/gstqueue.c: (gst_queue_handle_sink_event):
20616           Handle out-of-band downstream events from the sending thread.
20617
20618 2005-08-17  Andy Wingo  <wingo@pobox.com>
20619
20620         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
20621         play-timeout==0 to mean no timeout at all. In that case, don't
20622         bother with a get_state or a warning, just return directly, even
20623         if it's ASYNC.
20624
20625         * gst/base/gstbasetransform.c: Debug changes.
20626
20627         * gst/gstutils.h:
20628         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
20629         ensure bins post state change messages. A bit of a hack but I can't
20630         think of a way to avoid it.
20631
20632         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
20633
20634 2005-08-16  Andy Wingo  <wingo@pobox.com>
20635
20636         * gst/base/gstadapter.h:
20637         * gst/base/gstadapter.c (gst_adapter_take): New function, like
20638         peek() but you own the data. Not terribly efficient atm.
20639
20640 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20641
20642         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
20643         (gst_element_found_tags):
20644         * gst/gstutils.h:
20645           Add two utility functions for tag handling.
20646
20647 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20648
20649         * docs/manual/advanced-dataaccess.xml:
20650         * docs/manual/basics-helloworld.xml:
20651           Fix docs to use _bin_add() before _link(), which fixes the examples
20652           with recent core versions (reported by Madhan Raj M
20653           <raj_madan@rediffmail.com>, #313199).
20654
20655 2005-08-16  Wim Taymans  <wim@fluendo.com>
20656
20657         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20658         Added subtract checks.
20659
20660         * docs/design/part-events.txt:
20661         Some more docs about newsegment
20662
20663         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20664         Fix FIXME
20665
20666         * gst/gstcaps.c: (gst_caps_to_string):
20667         Add comments, cleanups.
20668         
20669         * gst/gstelement.c: (gst_element_save_thyself):
20670         cleanups
20671         
20672         * gst/gstvalue.c: (gst_value_collect_int_range),
20673         (gst_string_unwrap), (gst_value_union_int_int_range),
20674         (gst_value_union_int_range_int_range),
20675         (gst_value_intersect_int_int_range),
20676         (gst_value_intersect_int_range_int_range),
20677         (gst_value_intersect_double_double_range),
20678         (gst_value_intersect_double_range_double_range),
20679         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
20680         (gst_value_subtract_int_range_int),
20681         (gst_value_subtract_double_range_double),
20682         (gst_value_subtract_double_range_double_range),
20683         (gst_value_subtract_from_list), (gst_value_subtract_list),
20684         (gst_value_can_compare), (gst_value_compare_fraction):
20685         Cleanups, add comments, remove unneeded asserts.
20686
20687 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20688
20689         * tools/gst-launch.c: (event_loop):
20690           don't convert NULL structures to strings
20691
20692 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
20693
20694         * docs/gst/gstreamer-sections.txt:
20695           made some defines private
20696         * docs/gst/tmpl/gstconfig.sgml:
20697         * docs/gst/tmpl/gstqueue.sgml:
20698         * docs/gst/tmpl/gsttaglist.sgml:
20699         * docs/gst/tmpl/gsttypes.sgml:
20700         * docs/gst/tmpl/gstutils.sgml:
20701         * docs/pwg/appendix-porting.xml:
20702         * gst/base/gstbasesink.h:
20703         * gst/base/gstbasesrc.c:
20704         * gst/base/gstbasesrc.h:
20705         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20706         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
20707         * gst/gstelement.c: (gst_element_class_init):
20708         * gst/gstpad.c: (gst_pad_class_init):
20709         * gst/gstqueue.c: (gst_queue_class_init):
20710         * gst/gstxml.c: (gst_xml_class_init):
20711           documented all undocumented signal inline
20712         * libs/gst/controller/gst-controller.h:
20713           added padding
20714
20715 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20716
20717         * docs/pwg/appendix-porting.xml:
20718           Document _set_link_function -> _set_setcaps_function.
20719
20720 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20721
20722         * check/Makefile.am:
20723           add a .check target for running the check
20724         * check/gst-libs/controller.c: (GST_START_TEST):
20725           cosmetic fixups
20726         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20727           complete checks for gstbuffer; would be nice if I could get the
20728           gcov stuff to work so I can see if I actually completed gstbuffer.c
20729         * check/gstcheck.h:
20730           add ASSERT_BUFFER_REFCOUNT
20731
20732 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
20733
20734         * docs/gst/gstreamer-sections.txt:
20735         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20736         * gst/gsttag.h:
20737           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20738           spew out a warning if a tag that is already registered
20739           is re-registered, unless it is re-registered with a 
20740           different type (#308438).
20741
20742 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
20743
20744         * docs/pwg/appendix-porting.xml:
20745         * docs/pwg/building-state.xml:
20746           Add some paragraphs about state changes in 0.9 to the PWG
20747           and the porting guide, in particular about the new meaning
20748           of GST_STATE_PAUSED and how to write state change functions
20749           with concurrent access by multiple threads in mind.
20750
20751 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
20752
20753         * docs/gst/gstreamer-docs.sgml:
20754         * docs/libs/gstreamer-libs-docs.sgml:
20755           added deprecation and since indexes
20756         * libs/gst/controller/gst-controller.c:
20757         * libs/gst/controller/gst-helper.c:
20758           added since tags
20759
20760
20761 2005-08-11  Wim Taymans  <wim@fluendo.com>
20762
20763         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20764         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20765         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20766         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20767         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20768         (gst_ghost_pad_set_target):
20769         Actually implement (re)setting the target on a ghostpad
20770         as described in the docs.
20771
20772 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20773
20774         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20775           Check whether GST_DEBUG_NO_COLOR environment variable is
20776           set and disable coloured debug output if that is the case.
20777
20778 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
20779
20780         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20781         (gst_type_find_helper):
20782           The memory returned by gst_type_find_peek() needs to
20783           stay valid until the end of a typefind function, and
20784           typefind functions may keep results from different 
20785           offsets around, so we can't just unref the buffer from
20786           the previous _peek(), but have to save all buffers 
20787           returned by _peek() until typefinding is done and only
20788           free them then.
20789
20790 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
20791
20792         * docs/gst/gstreamer-sections.txt:
20793         * gst/gstutils.h:
20794           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
20795
20796 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20797
20798         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20799           Fix a pretty good memleak.
20800
20801 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20802
20803         * gst/gstiterator.h:
20804           Fix wrong include and 'make distcheck'.
20805
20806 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20807
20808         * gst/gstbin.c: (bin_bus_handler):
20809           Use gst_element_post_message() instead.
20810
20811 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
20812
20813         * gst/base/gstadapter.h:
20814         * gst/base/gstbasesink.h:
20815         * gst/base/gstbasesrc.h:
20816         * gst/base/gstbasetransform.h:
20817         * gst/base/gstcollectpads.h:
20818         * gst/base/gstpushsrc.h:
20819         * gst/gstiterator.h:
20820           Add padding to our base elements' class and instance structs and
20821           to GstIterator (you will need to rebuild all plugins and apps!)
20822
20823 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20824
20825         * gst/gstbin.c: (bin_bus_handler):
20826           Make default message forwarding from child->bus to bin->bus
20827           threadsafe and make it not emit warnings if the parent has no bus.
20828
20829 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20830
20831         * gst/gstelement.c: (activate_pads):
20832           On paused->ready, set pad->caps to NULL, as is the documented
20833           behaviour in this state change. Fixes playback of series of
20834           media files when visualization is enabled in Totem.
20835
20836 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20837
20838         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20839           Allow NULL as filter-caps (which means "any").
20840
20841 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20842
20843         * docs/libs/gstreamer-libs-sections.txt:
20844         * libs/gst/controller/gst-controller.c:
20845         * libs/gst/controller/gst-controller.h:
20846         * libs/gst/controller/gst-helper.c:
20847           adding more entries to the docs and fix small doc-bugs
20848
20849 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20850
20851         * docs/gst/gstreamer-docs.sgml:
20852         * docs/gst/gstreamer-sections.txt:
20853         * docs/gst/gstreamer.types:
20854         * docs/gst/tmpl/gstbasesink.sgml:
20855         * docs/gst/tmpl/gstbasesrc.sgml:
20856         * docs/gst/tmpl/gstbasetransform.sgml:
20857         * docs/gst/tmpl/gstfakesrc.sgml:
20858         * gst/base/gstcollectpads.c:
20859         * gst/base/gstcollectpads.h:
20860         * libs/gst/controller/gst-controller.c:
20861         * libs/gst/controller/gst-controller.h:
20862         * libs/gst/controller/gst-helper.c:
20863         * libs/gst/controller/gst-interpolation.c:
20864         * libs/gst/controller/lib.c:
20865           added long/short desc for controller docs
20866           added collectpads base class docs
20867           added correct includes to base-class docs
20868
20869 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
20870
20871         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20872         (gst_test_mono_source_set_property),
20873         (gst_test_mono_source_class_init), (GST_START_TEST),
20874         (gst_controller_suite):
20875         * docs/gst/gstreamer-docs.sgml:
20876         * docs/gst/gstreamer-sections.txt:
20877         * docs/gst/gstreamer.types:
20878         * docs/libs/gstreamer-libs-docs.sgml:
20879         * docs/libs/gstreamer-libs-sections.txt:
20880         * gst/base/gstadapter.c:
20881         * libs/gst/controller/gst-controller.c:
20882         (gst_controlled_property_new), (gst_controlled_property_free),
20883         (gst_controller_new_valist),
20884         (gst_controller_remove_properties_valist),
20885         (gst_controller_sink_values), (_gst_controller_finalize):
20886         * libs/gst/controller/gst-controller.h:
20887         * libs/gst/controller/gst-helper.c:
20888         (gst_object_control_properties), (gst_object_uncontrol_properties),
20889         (gst_object_get_controller), (gst_object_set_controller),
20890         (gst_object_sink_values), (gst_object_get_value_arrays),
20891         (gst_object_get_value_array):
20892           more tests (and fixes) for the controller
20893           more docs for the controller
20894           integrated companies docs for the adapter 
20895
20896 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20897
20898         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
20899         (GST_START_TEST), (fakesrc_suite):
20900           add tests for sizetype
20901
20902 2005-08-04  Andy Wingo  <wingo@pobox.com>
20903
20904         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
20905         fixes buffer_alloc proxying among other things.
20906
20907         * gst/base/gstbasetransform.c:
20908         * gst/base/gstbasetransform.h:
20909         Revert patch to gstbasetransform from 7-28 removing
20910         delay_configure.
20911
20912         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
20913         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
20914         Semantics changed, should return not the size of the output buffer
20915         but the byte size of a buffer with a given caps.
20916
20917         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
20918         debug object.
20919         (gst_base_transform_configure_caps): Don't set out_size here: (in,
20920         out) are not the pad caps until setcaps finishes.
20921         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
20922         not-in-place case as well. Deal with changing from in-place to
20923         not-in-place within calling pad_alloc_buffer. Still a bit
20924         concerned about the overhead here...
20925
20926 2005-08-03  Andy Wingo  <wingo@pobox.com>
20927
20928         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
20929         fixating is an error.
20930
20931 2005-08-04  Edward Hervey  <edward@fluendo.com>
20932
20933         * gst/base/gstadapter.h: 
20934         Added gst_adapter_get_type() to the header
20935
20936 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20937
20938         * check/Makefile.am:
20939         * check/gst-libs/controller.c:
20940         * libs/gst/controller/gst-controller.c:
20941         (gst_controller_new_valist):
20942           added check test suite for the controller
20943         * gst/base/gstpushsrc.c:
20944           fixed a doc typo
20945
20946 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20947
20948         * docs/gst/Makefile.am:
20949         * docs/gst/gstreamer-docs.sgml:
20950         * docs/gst/gstreamer-sections.txt:
20951         * docs/gst/gstreamer.types:
20952         * docs/gst/tmpl/gstfakesrc.sgml:
20953         * gst/base/README:
20954         * gst/base/gstbasesink.c:
20955         * gst/base/gstbasesink.h:
20956         * gst/base/gstbasesrc.c:
20957         * gst/base/gstbasesrc.h:
20958         * gst/base/gstbasetransform.c:
20959         * gst/base/gstpushsrc.c:
20960         * gst/base/gstpushsrc.h:
20961           add short/long description docs to base classes
20962           add pushsrc to the docs
20963           remove consolidated doc fragments
20964
20965 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
20966
20967         * configure.ac:
20968         * docs/libs/Makefile.am:
20969         * docs/libs/gstreamer-libs-docs.sgml:
20970         * docs/libs/gstreamer-libs-sections.txt:
20971         * docs/libs/gstreamer-libs.types:
20972         * examples/Makefile.am:
20973         * examples/controller/.cvsignore:
20974         * examples/controller/Makefile.am:
20975         * examples/controller/audio-example.c: (main):
20976         * libs/gst/Makefile.am:
20977         * libs/gst/controller/.cvsignore:
20978         * libs/gst/controller/Makefile.am:
20979         * libs/gst/controller/gst-controller.c:
20980         (on_object_controlled_property_changed), (gst_timed_value_compare),
20981         (gst_timed_value_find),
20982         (gst_controlled_property_set_interpolation_mode),
20983         (gst_controlled_property_new), (gst_controlled_property_free),
20984         (gst_controller_find_controlled_property),
20985         (gst_controller_new_valist), (gst_controller_new),
20986         (gst_controller_remove_properties_valist),
20987         (gst_controller_remove_properties), (gst_controller_set),
20988         (gst_controller_set_from_list), (gst_controller_unset),
20989         (gst_controller_get), (gst_controller_get_all),
20990         (gst_controller_sink_values), (gst_controller_get_value_arrays),
20991         (gst_controller_get_value_array),
20992         (gst_controller_set_interpolation_mode),
20993         (_gst_controller_finalize), (_gst_controller_init),
20994         (_gst_controller_class_init), (gst_controller_get_type):
20995         * libs/gst/controller/gst-controller.h:
20996         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
20997         (g_object_uncontrol_properties), (g_object_get_controller),
20998         (g_object_set_controller), (g_object_sink_values),
20999         (g_object_get_value_arrays), (g_object_get_value_array):
21000         * libs/gst/controller/gst-interpolation.c:
21001         (gst_controlled_property_find_timed_value_node),
21002         (interpolate_none_get), (interpolate_trigger_get),
21003         (interpolate_trigger_get_value_array):
21004         * libs/gst/controller/lib.c: (gst_controller_init):
21005         * pkgconfig/Makefile.am:
21006         * pkgconfig/gstreamer-control-uninstalled.pc.in:
21007         * pkgconfig/gstreamer-control.pc.in:
21008         * testsuite/Makefile.am:
21009         * testsuite/controller/.cvsignore:
21010         * testsuite/controller/Makefile.am:
21011         * testsuite/controller/interpolator.c: (main):
21012           added controller code
21013           removed dparam pc files
21014
21015 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21016         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21017         (gst_collectpads_stop):
21018           Broadcast the condition when shutting down, to make sure we wake all
21019           threads up. Shut down pads on finalize, for safety.
21020
21021 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21022         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21023         (gst_base_transform_handle_buffer),
21024         (gst_base_transform_change_state):
21025           Handle PAUSED->READY->PAUSED transition after negotiation
21026           occurred already.
21027         * gst/gstmessage.c: (gst_message_init):
21028           Extra piece of debug for new messages.
21029
21030 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
21031
21032         * configure.ac:
21033         * docs/gst/tmpl/gstbasesrc.sgml:
21034         * docs/gst/tmpl/gstelement.sgml:
21035         * docs/gst/tmpl/gstevent.sgml:
21036         * docs/gst/tmpl/gstfakesrc.sgml:
21037         * docs/gst/tmpl/gstformat.sgml:
21038         * docs/gst/tmpl/gstghostpad.sgml:
21039         * docs/gst/tmpl/gstpad.sgml:
21040         * docs/gst/tmpl/gstquery.sgml:
21041         * docs/gst/tmpl/gststructure.sgml:
21042         * docs/gst/tmpl/gsttaglist.sgml:
21043         * docs/gst/tmpl/gstvalue.sgml:
21044         * docs/libs/gstreamer-libs-docs.sgml:
21045         * docs/libs/gstreamer-libs-sections.txt:
21046         * docs/libs/gstreamer-libs.types:
21047         * libs/gst/Makefile.am:
21048         * libs/gst/control/.cvsignore:
21049         * libs/gst/control/Makefile.am:
21050         * libs/gst/control/control.c:
21051         * libs/gst/control/control.h:
21052         * libs/gst/control/dparam.c:
21053         * libs/gst/control/dparam.h:
21054         * libs/gst/control/dparam_smooth.c:
21055         * libs/gst/control/dparam_smooth.h:
21056         * libs/gst/control/dparamcommon.h:
21057         * libs/gst/control/dparammanager.c:
21058         * libs/gst/control/dparammanager.h:
21059         * libs/gst/control/dplinearinterp.c:
21060         * libs/gst/control/dplinearinterp.h:
21061         * libs/gst/control/unitconvert.c:
21062         * libs/gst/control/unitconvert.h:
21063         * testsuite/Makefile.am:
21064         * testsuite/dynparams/.cvsignore:
21065         * testsuite/dynparams/Makefile.am:
21066         * testsuite/dynparams/dparamstest.c:
21067         * tools/Makefile.am:
21068         * tools/gst-inspect.c: (print_element_info), (main):
21069         * tools/gst-xmlinspect.c: (print_element_info), (main):
21070           deactivate and remove dparams (libgstcontrol)
21071
21072 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21073
21074         * gst/elements/gsttypefindelement.c:
21075         (gst_type_find_element_have_type), (gst_type_find_element_init),
21076         (stop_typefinding), (gst_type_find_element_handle_event),
21077         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21078         * gst/elements/gsttypefindelement.h:
21079           Set caps on all outgoing buffers, not just the first one.
21080
21081 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21082
21083         * gst/elements/gsttypefindelement.c:
21084         (gst_type_find_element_have_type),
21085         (gst_type_find_element_check_set_buffer_caps),
21086         (gst_type_find_element_init), (stop_typefinding),
21087         (gst_type_find_element_handle_event),
21088         (gst_type_find_element_chain), (gst_type_find_element_getrange):
21089         * gst/elements/gsttypefindelement.h:
21090           Set caps on first outgoing buffer when we've found the type.
21091
21092 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
21093
21094         * docs/gst/gstreamer-docs.sgml:
21095         * docs/gst/gstreamer-sections.txt:
21096         * docs/gst/tmpl/gstscheduler.sgml:
21097         * docs/gst/tmpl/gstschedulerfactory.sgml:
21098           Remove some old cruft from docs.
21099
21100 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
21101
21102         * gst/gstpad.h:
21103           Fix inline docs for GstPadLinkReturn.
21104           
21105         * gst/gststructure.c: (gst_structure_has_name):
21106         * gst/gststructure.h:
21107         * docs/gst/gstreamer-sections.txt:
21108           New API: gst_structure_has_name().
21109
21110 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
21111
21112         * configure.ac:
21113           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21114           and _LARGEFILE_SOURCE in config.h as required. Do not 
21115           export those flags in our .pc files any longer (#142209).
21116
21117           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21118
21119         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21120         (gst_file_sink_do_seek), (gst_file_sink_event),
21121         (gst_file_sink_get_current_offset), (gst_file_sink_render):
21122           Redo seek/tell calls with large file support in mind; add some
21123           debugging messages; add log message that tells us when large
21124           file support is unavailable or not enabled for some reason.
21125
21126         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21127           Add log message that tells us when large file support 
21128           is unavailable or not enabled for some reason.
21129
21130 2005-07-29  Wim Taymans  <wim@fluendo.com>
21131
21132         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21133         Added test for removing an element with ghostpad from a bin.
21134         Fixed test as current implementation does the right thing.
21135
21136         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21137         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21138         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21139         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21140         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21141         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21142         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21143         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21144         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21145         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21146         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21147         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21148         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21149         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21150         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21151         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21152         * gst/gstghostpad.h:
21153         Clean up ghostpads, remove properties for internal stuff.
21154         Make threadsafe.
21155         Fix refcounting.
21156         Prepare for switching targets, not all use cases work yet.
21157
21158 2005-07-29  Wim Taymans  <wim@fluendo.com>
21159
21160         * docs/design/part-gstghostpad.txt:
21161         Small update.
21162
21163         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21164         (gst_bin_remove_func):
21165         Unlinking pads while holding the bin LOCK is not a good
21166         idea.
21167
21168         * gst/gstpad.c: (gst_pad_class_init),
21169         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21170         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21171         No prob setting template after creating the pad.
21172
21173 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
21174
21175         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21176         (gst_bus_peek), (gst_bus_source_dispatch),
21177         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21178         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21179           gst_bus_poll may be called from other threads. Handle
21180           this nicely by not making poll_data disappear off the
21181           stack once gst_bus_poll returns.
21182           gst_bus_peek now increments the refcount on the returned
21183           message.
21184
21185 2005-07-29  Wim Taymans  <wim@fluendo.com>
21186
21187         * docs/design/part-gstghostpad.txt:
21188         Overview of current GhostPad datastructures and use
21189         cases for changing the target.
21190
21191 2005-07-28  Wim Taymans  <wim@fluendo.com>
21192
21193         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21194         Added checks for hierarchy consistency whan adding linked
21195         elements to bins.
21196
21197         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21198         Added check to test element scheduling without bin/pipeline.
21199
21200         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21201         First add elements to bin, then link.
21202         
21203         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21204         (gst_bin_remove_func):
21205         Unlink pads from elements added/removed from bin to maintain
21206         hierarchy consistency.
21207
21208 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21209
21210         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21211         (gst_base_transform_handle_buffer):
21212         * gst/base/gstbasetransform.h:
21213           Remove broken delay_configure (fixes renegotiation of software
21214           scaling pipelines); remove some leftover printf()s.
21215
21216 2005-07-28  Wim Taymans  <wim@fluendo.com>
21217
21218         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21219         Added some more tests for wrong hierarchy
21220
21221         * docs/design/part-overview.txt:
21222         Some updates.
21223
21224         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21225         Cleanups.
21226
21227         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21228         (gst_element_dispose):
21229         Some more cleanups.
21230
21231         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21232         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21233         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21234         (gst_pad_set_caps), (gst_pad_send_event):
21235         Check for correct hierarchy when linking pads. Moving to
21236         strict requirement for ghostpads when linking elements in
21237         different bins.
21238
21239         * gst/gstpad.h:
21240         Clean ups. Added WRONG_HIERARCHY return value.
21241
21242 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21243
21244         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21245           Better debug if no transform is possible.
21246
21247 2005-07-27  Wim Taymans  <wim@fluendo.com>
21248
21249         * docs/random/wtay/network-transp:
21250         Some old doc I had.
21251
21252 2005-07-27  Wim Taymans  <wim@fluendo.com>
21253
21254         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21255         (gst_dp_event_from_packet):
21256         Fix serialization of seek events.
21257
21258 2005-07-27  Wim Taymans  <wim@fluendo.com>
21259
21260         * check/gst-libs/gdp.c: (GST_START_TEST):
21261         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21262         Fix compilation and fix event serialization.
21263
21264 2005-07-27  Wim Taymans  <wim@fluendo.com>
21265
21266         * CHANGES-0.9:
21267         * docs/design/part-TODO.txt:
21268         * docs/design/part-events.txt:
21269         Some docs updates
21270
21271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21272         (gst_base_sink_event), (gst_base_sink_do_sync),
21273         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21274         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21275         (gst_base_src_do_seek), (gst_base_src_event_handler),
21276         (gst_base_src_loop):
21277         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21278         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21279         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21280         (gst_base_transform_event), (gst_base_transform_handle_buffer),
21281         (gst_base_transform_set_passthrough),
21282         (gst_base_transform_is_passthrough):
21283         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21284         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21285         Event updates.
21286
21287         * gst/gstbuffer.h:
21288         Use faster casts.
21289
21290         * gst/gstelement.c: (gst_element_seek):
21291         * gst/gstelement.h:
21292         Update gst_element_seek.
21293
21294         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21295         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21296         (gst_event_new_flush_start), (gst_event_new_flush_stop),
21297         (gst_event_new_eos), (gst_event_new_newsegment),
21298         (gst_event_parse_newsegment), (gst_event_new_tag),
21299         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21300         (gst_event_parse_qos), (gst_event_new_seek),
21301         (gst_event_parse_seek), (gst_event_new_navigation):
21302         * gst/gstevent.h:
21303         Make GstEvent use GstStructure. Add parsing code, make sure the
21304         API is sufficiently generic.
21305         Mark possible directions of events and serialization.
21306
21307         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21308         (_gst_message_copy), (gst_message_new_segment_start),
21309         (gst_message_new_segment_done), (gst_message_new_custom),
21310         (gst_message_parse_segment_start),
21311         (gst_message_parse_segment_done):
21312         Small cleanups.
21313
21314         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21315         (gst_pad_set_caps), (gst_pad_send_event):
21316         Update for new events. 
21317         Catch events sent in wrong directions.
21318
21319         * gst/gstqueue.c: (gst_queue_link_src),
21320         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21321         (gst_queue_handle_src_query):
21322         Event updates.
21323
21324         * gst/gsttag.c:
21325         * gst/gsttag.h:
21326         Remove event code from this file.
21327
21328         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21329         (gst_dp_event_from_packet):
21330         Event updates.
21331
21332 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21333
21334         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21335         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21336         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21337           Make debugging actually useful.
21338
21339 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21340
21341         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21342         (gst_pad_fixate_caps):
21343           Implement default fixation once again, so that gst_pad_fixate()
21344           actually does anything at all. This probably needs to be some
21345           sort of a last resort, and use profile-based fixation first, but
21346           since that doesn't exist yet, this is the best we have. Fixes
21347           visualization in Totem.
21348
21349 2005-07-22  Wim Taymans  <wim@fluendo.com>
21350
21351         * docs/design/part-events.txt:
21352         Small update.
21353
21354         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21355         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21356         (gst_base_sink_activate_pull):
21357         Some more comments.
21358
21359         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21360         (gst_fake_src_create):
21361         Fix handoff marshall.
21362
21363         * gst/elements/gstidentity.c: (gst_identity_class_init),
21364         (gst_identity_transform_ip):
21365         We're a real inplace element.
21366
21367         * gst/gstbus.c: (gst_bus_post):
21368         Added some comments.
21369
21370         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21371         * tests/muxing/case1.c: (main):
21372         * tests/sched/dynamic-pipeline.c: (main):
21373         * tests/sched/interrupt1.c: (main):
21374         * tests/sched/interrupt2.c: (main):
21375         * tests/sched/interrupt3.c: (main):
21376         * tests/sched/runxml.c: (main):
21377         * tests/sched/sched-stress.c: (main):
21378         * tests/seeking/seeking1.c: (event_received), (main):
21379         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21380         (main):
21381         * tests/threadstate/threadstate3.c: (main):
21382         * tests/threadstate/threadstate4.c: (main):
21383         * tests/threadstate/threadstate5.c: (main):
21384         Fix the tests.
21385
21386 2005-07-21  Wim Taymans  <wim@fluendo.com>
21387
21388         * docs/design/part-seeking.txt:
21389         Some small additions.
21390
21391         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21392         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21393         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21394         * gst/base/gstbasesink.h:
21395         discont values are gint64, handle the math correctly.
21396
21397         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21398         Make the basesrc report error if the source pad is not linked.
21399
21400         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21401         (gst_queue_loop), (gst_queue_handle_src_query),
21402         (gst_queue_src_activate_push):
21403         Make queue collect data even if the srcpad is not linked.
21404         Start pushing out data as soon as it is linked.
21405
21406         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21407         * gst/gstutils.h:
21408         Added gst_flow_get_name() to ease error reporting.
21409
21410 2005-07-20  Wim Taymans  <wim@fluendo.com>
21411
21412         * gst/gstmessage.c: (gst_message_new_segment_start),
21413         (gst_message_new_segment_done), (gst_message_parse_segment_start),
21414         (gst_message_parse_segment_done):
21415         * gst/gstmessage.h:
21416         Added a bunch of messages for advanced seeking.
21417
21418         * gst/parse/grammar.y:
21419         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21420         (gst_dpman_state_changed):
21421         Fix some new-pad -> pad-added signals
21422
21423 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21424
21425         * docs/manual/appendix-porting.xml:
21426         * docs/pwg/appendix-porting.xml:
21427           Document new-pad/state-change signal renames and the FixedList
21428           type rename.
21429
21430 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21431
21432         * docs/manual/advanced-autoplugging.xml:
21433         * docs/manual/basics-helloworld.xml:
21434         * docs/manual/basics-pads.xml:
21435         * docs/random/ds/0.9-suggested-changes:
21436         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21437         * gst/gstelement.h:
21438         * gst/gstevent.h:
21439         * gst/gstformat.h:
21440         * gst/gstquery.h:
21441         * gst/gststructure.c: (gst_structure_value_get_generic_type),
21442         (gst_structure_parse_array), (gst_structure_parse_value):
21443         * gst/gstvalue.c: (gst_type_is_fixed),
21444         (gst_value_list_prepend_value), (gst_value_list_append_value),
21445         (gst_value_list_get_size), (gst_value_list_get_value),
21446         (gst_value_transform_array_string), (gst_value_serialize_array),
21447         (gst_value_deserialize_array), (gst_value_intersect_array),
21448         (gst_value_is_fixed), (_gst_value_initialize):
21449         * gst/gstvalue.h:
21450           GstElement::new-pad -> pad-added, GstElement::state-change ->
21451           state-changed, GstValueFixedList -> GstValueArray, add format and
21452           flags as their own arguments in gst_element_seek() (should improve
21453           "bindeability"), remove function generators since they don't work
21454           under a whole bunch of compilers (they were deprecated already
21455           anyway).
21456
21457 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21458
21459         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21460         (_gst_debug_register_funcptr):
21461         * gst/gstinfo.h:
21462           Fix illegal cast on some platforms (#309253).
21463
21464 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21465
21466         * gst/gstmessage.c: (gst_message_new_custom):
21467         * gst/gstmessage.h:
21468           Add _new_custom, make _new_application a macro to _new_custom.
21469
21470 2005-07-20  Wim Taymans  <wim@fluendo.com>
21471
21472         * gst/base/gstbasesrc.c: (gst_base_src_init),
21473         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21474         * gst/base/gstbasesrc.h:
21475         Add a gboolean to decide when to push out a discont.
21476
21477         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21478         (gst_queue_loop), (gst_queue_handle_src_query),
21479         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21480         (gst_queue_set_property), (gst_queue_get_property):
21481         Some cleanups.
21482
21483         * tests/threadstate/threadstate1.c: (main):
21484         Make a thread test compile and run... very silly..
21485
21486
21487 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21488
21489         * docs/manual/appendix-porting.xml:
21490           Mention removal of libgstgconf-0.9.la and existence of gconf
21491           elements.
21492
21493 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21494
21495         * docs/pwg/advanced-clock.xml:
21496         * docs/pwg/appendix-porting.xml:
21497         * docs/pwg/intro-preface.xml:
21498         * docs/pwg/other-base.xml:
21499         * docs/pwg/other-manager.xml:
21500         * docs/pwg/other-nton.xml:
21501         * docs/pwg/other-ntoone.xml:
21502         * docs/pwg/other-oneton.xml:
21503         * docs/pwg/pwg.xml:
21504           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
21505           demuxer), remove n-to-n (was never written), fix some code examples
21506           and links and update the porting section to include all this.
21507
21508 2005-07-19  Wim Taymans  <wim@fluendo.com>
21509
21510         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
21511         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
21512         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
21513         (gst_queue_src_activate_push), (gst_queue_change_state),
21514         (gst_queue_get_property):
21515         * gst/gstqueue.h:
21516         Propagate GstFlowReturn more intelligently upstream and output
21517         an ERROR/EOS when streaming stopped due to fatal error.
21518
21519 2005-07-19  Wim Taymans  <wim@fluendo.com>
21520
21521         * tools/gst-launch.c: (check_intr), (event_loop), (main):
21522         Don't block forever for the state change to complete, the
21523         pipeline already did with a sensible timeout.
21524
21525 2005-07-19  Wim Taymans  <wim@fluendo.com>
21526
21527         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21528         Make sure we never call the create function is we
21529         got deactivated.
21530
21531 2005-07-19  Andy Wingo  <wingo@pobox.com>
21532
21533         * gst/parse/parse.l: Attempt to solve bug #172815.
21534
21535 2005-07-19  Wim Taymans  <wim@fluendo.com>
21536
21537         * docs/design/part-clocks.txt:
21538         * docs/design/part-events.txt:
21539         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
21540         Small docs updates.
21541         Only update the seeking values when we are not
21542         busy streaming.
21543
21544 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21545
21546         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21547           Oops, ignore the result of gst_pad_push_event here.
21548
21549 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
21550
21551         * gst/base/gstbasesrc.c: (gst_base_src_loop),
21552         (gst_base_src_activate_push):
21553           Send discont event from the loop function, as pads
21554           aren't activated yet in the activate_push handler.
21555
21556         * gst/gstbin.c: (bin_bus_handler):
21557           Don't leak element name.
21558
21559 2005-07-18  Andy Wingo  <wingo@pobox.com>
21560
21561         * configure.ac: Use AS_LIBTOOL_TAGS.
21562
21563 2005-07-18  Wim Taymans  <wim@fluendo.com>
21564
21565         * docs/gst/gstreamer.types:
21566         Remove deleted types.
21567
21568 2005-07-18  Wim Taymans  <wim@fluendo.com>
21569
21570         * check/elements/gstfakesrc.c: (GST_START_TEST):
21571         * configure.ac:
21572         * gst/Makefile.am:
21573         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
21574         (init_popt_callback):
21575         * gst/gst.h:
21576         * gst/gst_private.h:
21577         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
21578         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
21579         * gst/gstbin.h:
21580         * gst/gstbus.h:
21581         * gst/gstconfig.h.in:
21582         * gst/gstelement.c: (gst_element_class_init),
21583         (gst_element_set_base_time), (gst_element_get_base_time),
21584         (iterator_fold_with_resync), (gst_element_change_state),
21585         (gst_element_dispose), (gst_element_get_bus):
21586         * gst/gstelement.h:
21587         * gst/gstelementfactory.h:
21588         * gst/gsterror.c: (_gst_core_errors_init):
21589         * gst/gsterror.h:
21590         * gst/gstevent.h:
21591         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21592         * gst/gstindex.c:
21593         * gst/gstinfo.c: (_gst_debug_init):
21594         * gst/gstmessage.c: (_gst_message_copy):
21595         * gst/gstmessage.h:
21596         * gst/gstminiobject.h:
21597         * gst/gstobject.c:
21598         * gst/gstobject.h:
21599         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21600         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
21601         * gst/gstpad.h:
21602         * gst/gstparse.h:
21603         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21604         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21605         (gst_pipeline_get_last_stream_time):
21606         * gst/gstpipeline.h:
21607         * gst/gstpluginfeature.h:
21608         * gst/gstquery.h:
21609         * gst/gstscheduler.c:
21610         * gst/gstscheduler.h:
21611         * gst/gststructure.h:
21612         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
21613         (gst_task_finalize), (gst_task_func), (gst_task_create),
21614         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
21615         (gst_task_stop), (gst_task_pause):
21616         * gst/gsttask.h:
21617         * gst/gsttypefind.h:
21618         * gst/gsttypes.h:
21619         * gst/registries/gstlibxmlregistry.c: (load_feature),
21620         (gst_xml_registry_load), (gst_xml_registry_save_feature):
21621         * gst/registries/gstxmlregistry.c:
21622         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
21623         * gst/schedulers/threadscheduler.c:
21624         * libs/gst/control/dparammanager.h:
21625         * tools/gst-inspect.c: (print_element_list),
21626         (print_plugin_features), (print_element_features):
21627         * tools/gst-xmlinspect.c: (print_element_list),
21628         (print_plugin_info), (main):
21629         Removed plugable schedulers.
21630         Removed Scheduler/Manager from elements.
21631         Removed gsttypes.h, rearranged includes.
21632         Removed dependency pad<->element, element<>pipeline, and
21633         various others,  fix includes.
21634         implement gst_pad_get_parent() with gst_object_get_parent()
21635         Make GstTask sefcontained.
21636         Fix _get_state() on GstBin, it did not return ASYNC with a 0
21637         timeout.
21638         Fix endless loop in iterator_fold_with_resync.
21639
21640
21641 2005-07-18  Wim Taymans  <wim@fluendo.com>
21642
21643         * gst/Makefile.am:
21644         * gst/gstarch.h:
21645         Remove old file.
21646
21647 2005-07-18  Wim Taymans  <wim@fluendo.com>
21648
21649         * gst/Makefile.am:
21650         No more cothreads.h
21651
21652 2005-07-18  Wim Taymans  <wim@fluendo.com>
21653
21654         * gst/cothreads.c:
21655         * gst/cothreads.h:
21656         Let's remove these.
21657
21658 2005-07-18  Wim Taymans  <wim@fluendo.com>
21659
21660         * docs/design/part-dynamic.txt:
21661         * docs/design/part-events.txt:
21662         * docs/design/part-seeking.txt:
21663         Some more docs in the works.
21664
21665         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21666         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
21667         (gst_base_transform_setcaps), (gst_base_transform_get_size),
21668         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21669         (gst_base_transform_handle_buffer),
21670         (gst_base_transform_sink_activate_push),
21671         (gst_base_transform_src_activate_pull),
21672         (gst_base_transform_set_passthrough),
21673         (gst_base_transform_is_passthrough):
21674         Refcounting fixes.
21675
21676         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
21677         Cleanups.
21678
21679         * gst/gstevent.c: (gst_event_finalize):
21680         Set SRC to NULL.
21681
21682         * gst/gstutils.c: (gst_element_unlink),
21683         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
21684         (gst_pad_proxy_setcaps):
21685         * gst/gstutils.h:
21686         Add _get_parent_element() to get a pads parent as an element.
21687
21688 2005-07-18  Wim Taymans  <wim@fluendo.com>
21689
21690         * check/gst/gstbin.c: (GST_START_TEST):
21691         Remove bogus test.
21692
21693 2005-07-18  Wim Taymans  <wim@fluendo.com>
21694
21695         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21696         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21697         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21698         (gst_base_sink_event), (gst_base_sink_do_sync),
21699         (gst_base_sink_chain), (gst_base_sink_loop),
21700         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
21701         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
21702         Refcounting fixes.
21703         Fix logic for returning ASYNC when not prerolled.
21704
21705 2005-07-18  Wim Taymans  <wim@fluendo.com>
21706
21707         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21708         Fix nasty refcount bug.
21709
21710 2005-07-16 Philippe Khalaf <burger@speedy.org>
21711
21712         * gst/elements/gstfdsrc.c:
21713         * gst/elements/gstfdsrc.h:
21714         * gst/elements/gstelements.c:
21715         * gst/elements/Makefile.am:
21716         Ported fdsrc to 0.9.
21717
21718 2005-07-16  Wim Taymans  <wim@fluendo.com>
21719
21720         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21721         (gst_base_sink_do_sync):
21722         Fix compile error.
21723
21724 2005-07-16  Wim Taymans  <wim@fluendo.com>
21725
21726         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21727         (gst_base_sink_event), (gst_base_sink_get_times),
21728         (gst_base_sink_do_sync), (gst_base_sink_change_state):
21729         * gst/base/gstbasesink.h:
21730         Store and use discont values when syncing buffers as described
21731         in design docs.
21732         
21733         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21734         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21735         (gst_base_src_activate_push):
21736         Push discont event when starting.
21737
21738         * gst/elements/gstidentity.c: (gst_identity_transform):
21739         Small cleanups.
21740
21741         * gst/gstbin.c: (gst_bin_change_state):
21742         Small cleanups in base_time  distribution.
21743
21744         * gst/gstelement.c: (gst_element_set_base_time),
21745         (gst_element_get_base_time), (gst_element_change_state):
21746         * gst/gstelement.h:
21747         Added methods for the base_time of the element.
21748         Some MT fixes.
21749
21750         * gst/gstpipeline.c: (gst_pipeline_send_event),
21751         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21752         (gst_pipeline_get_last_stream_time):
21753         * gst/gstpipeline.h:
21754         MT fixes.
21755         Handle seeking as described in design doc, remove stream_time
21756         hack.
21757         Cleanups clock and stream_time selection code. Added accessors
21758         for the stream_time.
21759         
21760
21761 2005-07-16  Andy Wingo  <wingo@pobox.com>
21762
21763         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21764         (#305291).
21765
21766 2005-07-16  Wim Taymans  <wim@fluendo.com>
21767
21768         * check/gst/gstbin.c: (GST_START_TEST):
21769         Make elements silent as the deep_notify refs the
21770         parent, which might make the test fail.
21771
21772         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21773         Don't hold the lock for too long.
21774
21775 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
21776
21777         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21778           Don't unref the caps we passed to gst_caps_make_writable() after
21779           passing them. gst_caps_make_writable() will do that for us.
21780
21781 2005-07-15  Andy Wingo  <wingo@pobox.com>
21782
21783         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
21784         (#157311).
21785
21786         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
21787         own marshalling function for the handoff signal. Properly type the
21788         buffer as a buffer. Fixes some warnings. Should do a more general
21789         solution.
21790         (gst_identity_class_init): Plug into the right marshaller.
21791
21792 2005-07-15  Wim Taymans  <wim@fluendo.com>
21793
21794         * docs/design/part-TODO.txt:
21795         * docs/design/part-clocks.txt:
21796         * docs/design/part-element-sink.txt:
21797         * docs/design/part-events.txt:
21798         * docs/design/part-gstpipeline.txt:
21799         Updated docs, mostly DISCONT related.
21800
21801 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
21802
21803         * docs/pwg/building-pads.xml:
21804           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
21805
21806 2005-07-15  Andy Wingo  <wingo@pobox.com>
21807
21808         * tools/gst-typefind.c: Update, add copyright block.
21809
21810         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
21811         Normalize and truncate caps before fixation.
21812
21813         * gst/gstcaps.h:
21814         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
21815         discards all but the first structure from its argument.
21816
21817 2005-07-15  Wim Taymans  <wim@fluendo.com>
21818
21819         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21820         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
21821         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21822         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21823         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
21824         (gst_base_transform_chain), (gst_base_transform_change_state),
21825         (gst_base_transform_set_passthrough),
21826         (gst_base_transform_is_passthrough):
21827         * gst/base/gstbasetransform.h:
21828         Make passthrough work using the bufferpools.
21829         Changed API a bit, subclasses have to write into a buffer
21830         provided by the base class.
21831         More debug info in nego functions.
21832         
21833         * gst/elements/gstidentity.c: (gst_identity_init),
21834         (gst_identity_transform):
21835         Port to new base class.
21836
21837 2005-07-15  Wim Taymans  <wim@fluendo.com>
21838
21839         * gst/gstmessage.c: (gst_message_new_state_changed):
21840         * tools/gst-launch.c: (event_loop), (main):
21841         Totally dump messages in -launch with the -m option.
21842         Fix message name for State messages,
21843
21844 2005-07-14  Wim Taymans  <wim@fluendo.com>
21845
21846         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21847         Post error messages on errors.
21848
21849 2005-07-14  Wim Taymans  <wim@fluendo.com>
21850
21851         * gst/gstcaps.c: (gst_caps_do_simplify):
21852         Remove debug info.
21853
21854         * gst/gsterror.h:
21855         Define error for stream stopped.
21856
21857         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21858         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
21859         Do proper return values.
21860
21861         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21862         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
21863         (gst_pad_get_range):
21864         Better return values.
21865
21866         * gst/gstpad.h:
21867         Reorganise return values, add macro to check for fatal errors.
21868
21869         * gst/gstqueue.c: (gst_queue_chain):
21870         Return proper GstFlowReturn values,
21871
21872 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21873
21874         * docs/gst/gstreamer-sections.txt:
21875         * docs/gst/gstreamer.types:
21876         * docs/gst/tmpl/gst.sgml:
21877         * docs/gst/tmpl/gstbasesink.sgml:
21878         * docs/gst/tmpl/gstbasesrc.sgml:
21879         * docs/gst/tmpl/gstbasetransform.sgml:
21880         * docs/gst/tmpl/gstbin.sgml:
21881         * docs/gst/tmpl/gstbuffer.sgml:
21882         * docs/gst/tmpl/gstcaps.sgml:
21883         * docs/gst/tmpl/gstclock.sgml:
21884         * docs/gst/tmpl/gstcompat.sgml:
21885         * docs/gst/tmpl/gstconfig.sgml:
21886         * docs/gst/tmpl/gstelement.sgml:
21887         * docs/gst/tmpl/gstelementdetails.sgml:
21888         * docs/gst/tmpl/gstelementfactory.sgml:
21889         * docs/gst/tmpl/gstenumtypes.sgml:
21890         * docs/gst/tmpl/gsterror.sgml:
21891         * docs/gst/tmpl/gstevent.sgml:
21892         * docs/gst/tmpl/gstfakesink.sgml:
21893         * docs/gst/tmpl/gstfakesrc.sgml:
21894         * docs/gst/tmpl/gstfilesink.sgml:
21895         * docs/gst/tmpl/gstfilesrc.sgml:
21896         * docs/gst/tmpl/gstfilter.sgml:
21897         * docs/gst/tmpl/gstformat.sgml:
21898         * docs/gst/tmpl/gstghostpad.sgml:
21899         * docs/gst/tmpl/gstimplementsinterface.sgml:
21900         * docs/gst/tmpl/gstindex.sgml:
21901         * docs/gst/tmpl/gstindexfactory.sgml:
21902         * docs/gst/tmpl/gstinfo.sgml:
21903         * docs/gst/tmpl/gstiterator.sgml:
21904         * docs/gst/tmpl/gstmacros.sgml:
21905         * docs/gst/tmpl/gstmemchunk.sgml:
21906         * docs/gst/tmpl/gstminiobject.sgml:
21907         * docs/gst/tmpl/gstobject.sgml:
21908         * docs/gst/tmpl/gstpad.sgml:
21909         * docs/gst/tmpl/gstpadtemplate.sgml:
21910         * docs/gst/tmpl/gstparse.sgml:
21911         * docs/gst/tmpl/gstpipeline.sgml:
21912         * docs/gst/tmpl/gstplugin.sgml:
21913         * docs/gst/tmpl/gstpluginfeature.sgml:
21914         * docs/gst/tmpl/gstquery.sgml:
21915         * docs/gst/tmpl/gstqueue.sgml:
21916         * docs/gst/tmpl/gstregistry.sgml:
21917         * docs/gst/tmpl/gstregistrypool.sgml:
21918         * docs/gst/tmpl/gstscheduler.sgml:
21919         * docs/gst/tmpl/gstschedulerfactory.sgml:
21920         * docs/gst/tmpl/gststructure.sgml:
21921         * docs/gst/tmpl/gstsystemclock.sgml:
21922         * docs/gst/tmpl/gsttaglist.sgml:
21923         * docs/gst/tmpl/gsttagsetter.sgml:
21924         * docs/gst/tmpl/gsttrace.sgml:
21925         * docs/gst/tmpl/gsttrashstack.sgml:
21926         * docs/gst/tmpl/gsttypefind.sgml:
21927         * docs/gst/tmpl/gsttypefindfactory.sgml:
21928         * docs/gst/tmpl/gsttypes.sgml:
21929         * docs/gst/tmpl/gsturihandler.sgml:
21930         * docs/gst/tmpl/gsturitype.sgml:
21931         * docs/gst/tmpl/gstutils.sgml:
21932         * docs/gst/tmpl/gstvalue.sgml:
21933         * docs/gst/tmpl/gstversion.sgml:
21934         * docs/gst/tmpl/gstxml.sgml:
21935         * docs/libs/tmpl/gstcontrol.sgml:
21936         * docs/libs/tmpl/gstdataprotocol.sgml:
21937         * docs/libs/tmpl/gstdparam.sgml:
21938         * docs/libs/tmpl/gstdplinint.sgml:
21939         * docs/libs/tmpl/gstdpman.sgml:
21940         * docs/libs/tmpl/gstdpsmooth.sgml:
21941         * docs/libs/tmpl/gstgetbits.sgml:
21942         * docs/libs/tmpl/gstunitconvert.sgml:
21943         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
21944         (gst_push_src_base_init), (gst_push_src_class_init),
21945         (gst_push_src_init), (gst_push_src_create):
21946         * gst/base/gstpushsrc.h:
21947         * gst/elements/gstelements.c:
21948         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
21949         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
21950         (gst_fake_sink_init), (gst_fake_sink_set_property),
21951         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
21952         (gst_fake_sink_event), (gst_fake_sink_preroll),
21953         (gst_fake_sink_render), (gst_fake_sink_change_state):
21954         * gst/elements/gstfakesink.h:
21955         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
21956         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
21957         (gst_fake_src_base_init), (gst_fake_src_class_init),
21958         (gst_fake_src_init), (gst_fake_src_event_handler),
21959         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
21960         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
21961         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
21962         (gst_fake_src_create_buffer), (gst_fake_src_create),
21963         (gst_fake_src_start), (gst_fake_src_stop):
21964         * gst/elements/gstfakesrc.h:
21965         * gst/elements/gstfilesink.c: (_do_init),
21966         (gst_file_sink_base_init), (gst_file_sink_class_init),
21967         (gst_file_sink_init), (gst_file_sink_dispose),
21968         (gst_file_sink_set_location), (gst_file_sink_set_property),
21969         (gst_file_sink_get_property), (gst_file_sink_open_file),
21970         (gst_file_sink_close_file), (gst_file_sink_query),
21971         (gst_file_sink_event), (gst_file_sink_render),
21972         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
21973         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
21974         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
21975         * gst/elements/gstfilesink.h:
21976         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
21977         (gst_file_src_class_init), (gst_file_src_init),
21978         (gst_file_src_finalize), (gst_file_src_set_location),
21979         (gst_file_src_set_property), (gst_file_src_get_property),
21980         (gst_file_src_map_region), (gst_file_src_map_small_region),
21981         (gst_file_src_create_mmap), (gst_file_src_create_read),
21982         (gst_file_src_create), (gst_file_src_is_seekable),
21983         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
21984         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
21985         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
21986         (gst_file_src_uri_handler_init):
21987         * gst/elements/gstfilesrc.h:
21988           more autistic cleanliness in functions/names/defines
21989
21990 2005-07-13  Andy Wingo  <wingo@pobox.com>
21991
21992         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
21993         source couldn't negotiate.
21994
21995         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
21996         connections again.
21997
21998         * gst/gstutils.h:
21999         * gst/gstutils.c (gst_element_link_pads_filtered): New old
22000         function. I am channeling Hades. Put your boots on suckers!!!
22001
22002 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22003
22004         * testsuite/caps/Makefile.am:
22005         * testsuite/caps/value_compare.c:
22006         * testsuite/caps/value_intersect.c:
22007         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22008           move two testsuite apps over to the check dir
22009
22010 2005-07-12  Wim Taymans  <wim@fluendo.com>
22011
22012         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22013         Added more debug info in the negotiate process.
22014
22015         * gst/gstmessage.h:
22016         Prepare for segment playback.
22017
22018         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22019         Better debugging.
22020
22021         * gst/gstutils.c:
22022         Some more docs.
22023
22024         * tools/gst-launch.c: (main):
22025         NULL pipeline on errors.
22026
22027 2005-07-12  Andy Wingo  <wingo@pobox.com>
22028
22029         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22030         not it comes from a malloc region. Make sure our copy gets freed.
22031
22032 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22033
22034         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22035         * check/gst/gstmessage.c: (GST_START_TEST):
22036         * check/gst/gststructure.c: (GST_START_TEST),
22037         (gst_structure_suite), (main):
22038           more testing
22039         * gst/gstelement.c: (gst_element_message_full):
22040           clean up GError and debug string now that they get copied
22041         * gst/gstmessage.c: (gst_message_new_error),
22042         (gst_message_new_warning), (gst_message_parse_error),
22043         (gst_message_parse_warning):
22044           use GST_TYPE_G_ERROR for structure_new, and take copies of
22045           arguments, so that we don't mess up refcounting
22046
22047 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22048
22049         * check/Makefile.am:
22050           add per-test valgrind targets
22051         * check/gst-libs/gdp.c: (GST_START_TEST),
22052         (gst_data_protocol_suite), (main):
22053           clean up
22054
22055 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22056
22057         * check/Makefile.am:
22058           instate more valgrindable tests
22059         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22060         (GST_START_TEST), (fakesrc_suite):
22061         * check/gst/gstpad.c: (GST_START_TEST):
22062         * check/gst/gststructure.c: (GST_START_TEST):
22063           fix test leaks
22064         * docs/gst/tmpl/gstminiobject.sgml:
22065         * gst/gstpad.c: (gst_pad_finalize):
22066           fix the static mutex leak
22067
22068 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22069
22070         * check/Makefile.am:
22071           add two more tests for valgrinding
22072         * check/gst/gstvalue.c: (GST_START_TEST):
22073           test refcount of deserialized buffer, found a leak
22074         * docs/gst/gstreamer-docs.sgml:
22075         * docs/gst/gstreamer-sections.txt:
22076         * docs/gst/gstreamer.types:
22077         * docs/gst/tmpl/gstminiobject.sgml:
22078           add miniobject to docs
22079         * gst/gstminiobject.c:
22080           add some docs
22081         * gst/gstvalue.c: (gst_value_deserialize_buffer),
22082         (gst_string_unwrap):
22083           fix a hard-to-find invalid write for one of the tests
22084           fix a leak for deserialized buffers
22085
22086 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22087
22088         * docs/pwg/advanced-events.xml:
22089         * docs/pwg/advanced-request.xml:
22090         * docs/pwg/advanced-scheduling.xml:
22091         * docs/pwg/appendix-porting.xml:
22092         * docs/pwg/building-boiler.xml:
22093         * docs/pwg/intro-preface.xml:
22094         * docs/pwg/other-ntoone.xml:
22095           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22096           of example code and explanation for pad activation, loop() and
22097           getrange() functions and a bit more. Remove old comments pointing
22098           to loop-functions.
22099         * examples/pwg/Makefile.am:
22100           Add loop/getrange examples.
22101
22102 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22103
22104         * configure.ac:
22105           check for valgrind binary + some fixes
22106         * check/gst.supp:
22107           valgrind suppressions for the tests
22108         * check/Makefile.am:
22109           add a valgrind: target that valgrinds the unit tests
22110         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22111         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22112         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22113         * check/gst/gstghostpad.c:
22114           added some cleanup
22115         * check/gst/gstdata.c:
22116           removed
22117         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22118         (thread_unref), (gst_mini_object_suite), (main):
22119           added
22120         * gst/gst.c: (gst_deinit):
22121         * gst/gst.h:
22122           add a method to clean up.
22123         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22124         (gst_system_clock_obtain):
22125           allow for disposing the system clock.
22126         * tools/gst-launch.c: (main):
22127           deinit
22128
22129 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22130
22131         * docs/gst/tmpl/gstbasesrc.sgml:
22132         * docs/gst/tmpl/gstfakesrc.sgml:
22133         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22134         (gst_base_src_init), (gst_base_src_set_property),
22135         (gst_base_src_get_property), (gst_base_src_get_range),
22136         (gst_base_src_start):
22137         * gst/base/gstbasesrc.h:
22138           add num-buffers property
22139         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22140         (gst_fakesrc_init), (gst_fakesrc_set_property),
22141         (gst_fakesrc_get_property), (gst_fakesrc_create),
22142         (gst_fakesrc_start):
22143           remove num-buffers property
22144
22145 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22146
22147         * docs/gst/gstreamer-sections.txt:
22148         * docs/gst/tmpl/gstbasesink.sgml:
22149         * docs/gst/tmpl/gstbasesrc.sgml:
22150         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22151         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22152         (gst_base_sink_finalize), (gst_base_sink_set_clock),
22153         (gst_base_sink_set_property), (gst_base_sink_get_property),
22154         (gst_base_sink_handle_object), (gst_base_sink_event),
22155         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22156         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22157         (gst_base_sink_loop), (gst_base_sink_deactivate),
22158         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22159         (gst_base_sink_change_state):
22160         * gst/base/gstbasesink.h:
22161         * gst/base/gstbasesrc.h:
22162         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22163         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22164         (gst_filesink_init):
22165           more macro splitting
22166
22167 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22168
22169         * gst/gstelement.c: (gst_element_get_bus):
22170           add debug
22171         * tools/gst-launch.c: (check_intr), (event_loop):
22172           fix bus leaks
22173
22174 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22175
22176         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22177           fix a caps leak
22178
22179 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22180
22181         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22182         (gst_base_src_finalize):
22183           add finalize method and clean up properly
22184         * gst/gstpipeline.c: (gst_pipeline_dispose):
22185           add debug
22186
22187 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22188
22189         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22190         (gst_bin_suite):
22191           add more things to check
22192         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22193         * gst/gstelement.c:
22194           more debug
22195
22196 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22197
22198         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22199         (GST_START_TEST), (fakesrc_suite):
22200         * check/gst-libs/gdp.c: (GST_START_TEST):
22201         * check/gst/gst.c: (GST_START_TEST):
22202         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22203         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22204         * check/gst/gstbus.c: (GST_START_TEST):
22205         * check/gst/gstcaps.c: (GST_START_TEST):
22206         * check/gst/gstdata.c: (GST_START_TEST):
22207         * check/gst/gstelement.c: (GST_START_TEST):
22208         * check/gst/gstghostpad.c: (GST_START_TEST):
22209         * check/gst/gstiterator.c: (GST_START_TEST):
22210         * check/gst/gstmessage.c: (GST_START_TEST):
22211         * check/gst/gstobject.c: (GST_START_TEST):
22212         * check/gst/gstpad.c: (GST_START_TEST):
22213         * check/gst/gststructure.c: (GST_START_TEST):
22214         * check/gst/gstsystemclock.c: (GST_START_TEST),
22215         (gst_systemclock_suite):
22216         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22217         * check/gst/gstvalue.c: (GST_START_TEST):
22218         * check/pipelines/cleanup.c: (GST_START_TEST):
22219         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22220         * check/states/sinks.c: (GST_START_TEST):
22221         * check/gstcheck.c: (gst_check_init):
22222         * check/gstcheck.h:
22223           add debugging category
22224           use GST_START_TEST now, so we add a debug line
22225
22226 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22227
22228         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22229           add test for state change message on a bin
22230         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22231           add another test
22232         * gst/gstbin.c: (gst_bin_init):
22233         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22234         * gst/gstelement.c: (gst_element_post_message),
22235         (gst_element_set_state):
22236         * gst/gstelementfactory.c: (gst_element_factory_create):
22237         * gst/gstmessage.c: (gst_message_new):
22238         * gst/gstscheduler.c:
22239           various debugging additions and cleanups
22240
22241 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22242
22243         * check/Makefile.am:
22244         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22245         (main):
22246           adding tests for elements
22247         * gst/gstelement.c: (gst_element_dispose):
22248
22249 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22250
22251         * gst/registries/gstlibxmlregistry.c: (load_feature):
22252           plug more leaks.  A simple gst_init() now is leakfree, yay.
22253
22254 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22255
22256         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22257         (gst_xml_registry_load):
22258           plug another memleak
22259
22260 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22261
22262         * configure.ac:
22263           use GST_SET_ERROR_CFLAGS
22264         * docs/faq/cvs.xml:
22265           change to ERROR_CFLAGS
22266
22267 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22268
22269         * configure.ac:
22270           make GST_ERROR_CFLAGS overridable and re-enable Werror
22271         * docs/faq/cvs.xml:
22272           add a note about error CFLAGS
22273         * docs/gst/tmpl/gstfakesrc.sgml:
22274         * gst/elements/gstfakesrc.c:
22275           comment out some unused code
22276         * gst/gst.c: (split_and_iterate):
22277         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22278         (load_feature):
22279           plug some memleaks
22280
22281 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22282
22283         * common/Makefile.am:
22284         * common/gtk-doc.mak:
22285         * docs/gst/Makefile.am:
22286           factor out gtk-doc.mak
22287
22288 2005-07-07  Wim Taymans  <wim@fluendo.com>
22289
22290         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22291         (gst_thread_scheduler_dispose):
22292         Unlock the STREAM_LOCK completely.
22293
22294 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22295
22296         * check/Makefile.am:
22297         * check/elements/.cvsignore:
22298         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22299         (START_TEST), (fakesrc_suite), (main):
22300         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22301         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22302         (gst_fakesrc_create), (gst_fakesrc_start):
22303         * gst/elements/gstfakesrc.h:
22304           adding a first element test
22305
22306 2005-07-07  Andy Wingo  <wingo@pobox.com>
22307
22308         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22309         debug message.
22310
22311 2005-07-07  Wim Taymans  <wim@fluendo.com>
22312
22313         * gst/gstquery.c:
22314         * gst/gstquery.h:
22315         Remove old types
22316
22317 2005-07-07  Wim Taymans  <wim@fluendo.com>
22318
22319         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22320         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22321         Allow subclasses to implement their own negotiation.
22322
22323 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22324
22325         * docs/design/part-gstbin.txt:
22326         * docs/design/part-gstpipeline.txt:
22327           Update design notes to reflect the movement of
22328           responsibility for bus handling from GstPipeline to
22329           GstBin
22330
22331 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22332
22333         * configure.ac:
22334           Remove unnecessary queue2/3/4 examples.
22335
22336 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
22337
22338         * examples/Makefile.am:
22339         * examples/helloworld/helloworld.c: (event_loop), (main):
22340         * examples/queue/queue.c: (event_loop), (main):
22341         * examples/queue2/queue2.c: (main):
22342           Update a couple of the examples to work again.
22343
22344         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22345         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22346          Spelling corrections and extra debug.
22347         
22348         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22349         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22350         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22351         * gst/gstbin.h:
22352         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22353         (gst_pipeline_change_state):
22354         * gst/gstpipeline.h:
22355           Move the bus handler for children to the GstBin, and create a
22356           separate bus for receiving messages from children to the one the
22357           bus sends 'upwards' on.
22358
22359 2005-07-06  Wim Taymans  <wim@fluendo.com>
22360
22361         * gst/base/README:
22362         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22363         (gst_base_sink_handle_object), (gst_base_sink_loop),
22364         (gst_base_sink_change_state):
22365         * gst/base/gstbasesink.h:
22366         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22367         (gst_base_src_init), (gst_base_src_setcaps),
22368         (gst_base_src_getcaps), (gst_base_src_loop),
22369         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22370         (gst_base_src_start), (gst_base_src_change_state):
22371         * gst/base/gstbasesrc.h:
22372         Make basesrc negotiate.
22373         Handle the case where preroll fails in basesink.
22374         Update README.
22375
22376 2005-07-06  Wim Taymans  <wim@fluendo.com>
22377
22378         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22379         Implement the fixate function.
22380         Clean up acceptcaps.
22381
22382 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22383
22384         * docs/pwg/building-filterfactory.xml:
22385         * docs/pwg/pwg.xml:
22386           Remove never-written filter-factory chapter; I'll add the various
22387           base classes to part 4 ("other element types") later on.
22388
22389 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22390
22391         * docs/pwg/advanced-negotiation.xml:
22392         * docs/pwg/building-boiler.xml:
22393         * docs/pwg/building-pads.xml:
22394         * docs/pwg/pwg.xml:
22395         * examples/pwg/Makefile.am:
22396           Add a chapter on caps negotiation, simplify the original code
22397           samples a bit w.r.t. caps negotiation, add link to the advanced
22398           section. Add a bunch of examples showing different use cases of
22399           different types of caps negotiation. Upstream renegotiation isn't
22400           fully documented yet since nobody knows how that works.
22401
22402 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22403
22404         * check/gst/gstpad.c:
22405         * check/gstcheck.c:
22406         * gst/gstpad.c: (gst_pad_get_internal_links_default):
22407           if pad has no parent, return NULL as list of internal links
22408
22409 2005-07-05  Andy Wingo  <wingo@pobox.com>
22410
22411         * gst/elements/gstfilesrc.c:
22412         * gst/elements/gstfakesrc.c: 
22413         * gst/base/gstpushsrc.c:
22414         * gst/base/gstbasesrc.h: 
22415         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22416         
22417 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
22418
22419         * Makefile.am:
22420           better report generation target (lcov needs a patch)
22421
22422 2005-07-05  Andy Wingo  <wingo@pobox.com>
22423
22424         * gst/elements, testsuite: Null if we got it...
22425
22426 2005-07-05  Wim Taymans  <wim@fluendo.com>
22427
22428         * configure.ac:
22429         * libs/gst/dataprotocol/Makefile.am:
22430         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22431         * libs/gst/dataprotocol/dataprotocol.h:
22432         * pkgconfig/Makefile.am:
22433         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22434         * pkgconfig/gstreamer-dataprotocol.pc.in:
22435         Ported dataprotol to 0.9. 
22436         Added pkgconfig files.
22437
22438 2005-07-05  Andy Wingo  <wingo@pobox.com>
22439
22440         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22441         Default to returning TRUE for the case when tranform_caps returns
22442         a fixed caps, like for identity or volume.
22443
22444         * check/gst/gstbus.c (pound_bus_with_messages): 
22445         * check/gst/gstmessage.c (START_TEST): 
22446         * check/pipelines/simple_launch_lines.c (got_handoff): Application
22447         message API change.
22448
22449         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22450         logic weaks here: always run transform_caps, trying passthrough
22451         operation only if the original caps intersects with the transform.
22452
22453         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22454         source and sink caps.
22455
22456         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22457         Intersect the peer caps with the pad template before going into
22458         transform_caps.
22459         (gst_base_transform_transform_caps): More debugging.
22460
22461         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22462         src argument.
22463
22464 2005-07-04  Edward Hervey  <edward@fluendo.com>
22465
22466         * gst/gstutils.c:
22467         * gst/gstutils.h:
22468         (gst_pad_add_*_probe): now returns the signal id for better wrapping
22469         in bindings.
22470
22471 2005-07-04  Andy Wingo  <wingo@pobox.com>
22472
22473         * check/gst/gstpad.c: Only set explicit caps on pads.
22474
22475 2005-07-01  Andy Wingo  <wingo@pobox.com>
22476
22477         * tests/network-clock.scm: Commentary update.
22478
22479         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22480         Didn't really make sense, not implementable with basetransform,
22481         etc.
22482         (gst_identity_transform): Unref inbuf via make_writable. Feeble
22483         attempt at implementing the sync property, needs an unlock method.
22484
22485         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22486         New func, by default returns the same caps (the identity
22487         transformation).
22488         (gst_base_transform_getcaps): Uses transform_caps to return
22489         something sensible.
22490         (gst_base_transform_setcaps): Complicated logic to get caps on
22491         both pads, even if they are different, and to call set_caps once
22492         for every time both pads get their caps set.
22493         (gst_base_transform_handle_buffer): Give the ref to the transform
22494         function. Allows in-place modification of the buffer.
22495
22496         * gst/base/gstbasetransform.h (transform_caps): New class method.
22497         Given caps on one side, what can I do on the other.
22498         (set_caps): Take two caps, one for each side of the element.
22499
22500         * gst/gstpad.h:
22501         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
22502         caps in place. This is safe because we can check the mutability of
22503         the caps, and a good idea because fixate functions are just called
22504         as a matter of last resort. (Not actually implemented.)
22505         (gst_pad_set_caps): If the caps we're setting is actually the same
22506         as the existing pad caps, just update the pointer without calling
22507         setcaps. Assert that caps is either NULL or fixed, as per the
22508         docs.
22509
22510         * gst/gstghostpad.c: Update for fixate changes.
22511
22512 2005-07-02  Andy Wingo  <wingo@pobox.com>
22513
22514         * gst/gstcaps.c:
22515         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
22516         two refcounts makes it immutable, which is enough. Doc more.
22517
22518 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
22519
22520         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
22521           Put the mini_object into GValue as a mini_object,
22522           not a gpointer, since that's how we declared
22523           the signal.
22524
22525 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22526
22527         * examples/pwg/Makefile.am:
22528           Fix buildbot again.
22529
22530 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22531
22532         * docs/pwg/building-testapp.xml:
22533           Add extra check.
22534         * examples/pwg/Makefile.am:
22535           Fix buildbot.
22536
22537 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22538
22539         * configure.ac:
22540         * examples/Makefile.am:
22541         * examples/pwg/Makefile.am:
22542         * examples/pwg/extract.pl:
22543           Enable building the PWG examples.
22544         * docs/pwg/advanced-interfaces.xml:
22545           Add URI interface stub.
22546         * docs/pwg/advanced-types.xml:
22547         * docs/pwg/other-autoplugger.xml:
22548         * docs/pwg/appendix-porting.xml:
22549         * docs/pwg/pwg.xml:
22550           Add porting guide (mostly stubs), remove autoplugging (see ADM).
22551         * docs/pwg/building-boiler.xml:
22552         * docs/pwg/building-chainfn.xml:
22553         * docs/pwg/building-pads.xml:
22554         * docs/pwg/building-props.xml:
22555         * docs/pwg/building-state.xml:
22556         * docs/pwg/building-testapp.xml:
22557           Update the building-*.xml parts for 0.9 changes. All examples
22558           code blocks compile in examples/pwg/*.
22559
22560 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22561
22562         * docs/manual/advanced-autoplugging.xml:
22563         * docs/manual/appendix-checklist.xml:
22564         * docs/manual/appendix-integration.xml:
22565         * docs/manual/highlevel-components.xml:
22566           Fix playbin/decodebin examples, update docs a bit, mention bus
22567           instead of signals in various places, mention kmplayer and
22568           kaffeine since they have a working GStreamer backend in the KDE
22569           section.
22570
22571 2005-06-30  Wim Taymans  <wim@fluendo.com>
22572
22573         * CHANGES-0.9:
22574         * docs/design/draft-ghostpads.txt:
22575         * docs/design/draft-push-pull.txt:
22576         * docs/design/draft-query.txt:
22577         * docs/design/part-TODO.txt:
22578         * docs/design/part-query.txt:
22579         Added CHANGES-0.9 doc, updated status of other docs.
22580         
22581         * gst/gstquery.h:
22582         Remove "hmm" macro
22583
22584 2005-06-30  Wim Taymans  <wim@fluendo.com>
22585
22586         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22587         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22588         (gst_base_sink_change_state):
22589         * gst/base/gstbasesink.h:
22590         Some tweaks, only EOS and a buffer complete a preroll.
22591
22592 2005-06-30  Andy Wingo  <wingo@pobox.com>
22593
22594         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
22595         activate_push down to the internal pad as well.
22596
22597 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
22598
22599         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22600
22601         * gst/gsttaginterface.c:
22602           Some documentation fixes (#307394 and #307397).
22603
22604 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
22605
22606         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22607
22608         * gst/gstvalue.c: (gst_value_intersect_list):
22609           Fix memleak (#309125).
22610
22611 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22612
22613         * docs/manual/advanced-dataaccess.xml:
22614           Fix fakesrc example to compile; doesn't work, bug somewhere...?
22615         * docs/manual/basics-pads.xml:
22616           Add reference for filtered caps to above chapter.
22617
22618 2005-06-30  Wim Taymans  <wim@fluendo.com>
22619
22620         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
22621         (gst_bin_change_state):
22622         Probes are gone.
22623         Lame attempt at making the state change function a bit
22624         more readable.
22625
22626 2005-06-30  Wim Taymans  <wim@fluendo.com>
22627
22628         * docs/design/part-clocks.txt:
22629         * docs/design/part-element-sink.txt:
22630         * docs/design/part-events.txt:
22631         * docs/design/part-preroll.txt:
22632         * docs/design/part-states.txt:
22633         Some more tweeks and additions to the docs.
22634
22635 2005-06-30  Wim Taymans  <wim@fluendo.com>
22636
22637         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22638         (default_have_data), (gst_pad_class_init), (gst_pad_init),
22639         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22640         (gst_pad_check_pull_range), (gst_pad_get_range),
22641         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
22642         * gst/gstpad.h:
22643         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
22644         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22645         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22646         (gst_pad_remove_buffer_probe):
22647         Removed atomic operations, use existing LOCK.
22648         Move exception handling out of main code path.
22649
22650 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22651
22652         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22653         (silly_return_true_function), (gst_pad_class_init),
22654         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22655         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
22656         (gst_pad_send_event):
22657           Fix accumulator, add default value by using _emitv() instead
22658           of _emit() for signal emission.
22659
22660 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22661
22662         * docs/manual/advanced-dataaccess.xml:
22663         * examples/manual/Makefile.am:
22664           Add probe example.
22665         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
22666           Make work (??).
22667
22668 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
22669
22670         * gst/elements/gstfilesink.c: (gst_filesink_render):
22671           Simplify code so that we don't have to handle short
22672           writes and return GST_FLOW_ERROR if an error occured.
22673
22674 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22675
22676         * docs/gst/gstreamer-docs.sgml:
22677           Remove probes more.
22678
22679 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22680
22681         * docs/gst/gstreamer-sections.txt:
22682         * docs/gst/tmpl/gstpad.sgml:
22683         * docs/gst/tmpl/gstprobe.sgml:
22684         * gst/Makefile.am:
22685         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22686         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
22687         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22688         (gst_pad_push_event), (gst_pad_send_event):
22689         * gst/gstpad.h:
22690         * gst/gstutils.c: (gst_pad_add_data_probe),
22691         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22692         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22693         (gst_pad_remove_buffer_probe):
22694         * gst/gstutils.h:
22695           Remove old probes, add new g-signal-based probes and some utility
22696           functions.
22697
22698 2005-06-29  Edward Hervey  <edward@fluendo.com>
22699
22700         * gst/gstelementfactory.c:
22701         * gst/gstutils.h:
22702         * gst/gstutils.c:
22703         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
22704         the definition to the header file.
22705
22706 2005-06-29  Andy Wingo  <wingo@pobox.com>
22707
22708         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
22709         plugins from the source directory.
22710
22711 2005-06-29  Wim Taymans  <wim@fluendo.com>
22712
22713         * docs/gst/tmpl/gstbuffer.sgml:
22714         * docs/gst/tmpl/gstclock.sgml:
22715         Some fixings for blantently wrong text.
22716
22717 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22718
22719         * check/Makefile.am:
22720         * gst/gst.c: (add_path_func), (init_pre):
22721         * gst/gstregistry.c: (gst_registry_add_path):
22722           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22723           only scan the GST_PLUGIN_PATH locations, and not add
22724           system locations
22725
22726 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22727
22728         * docs/gst/gstreamer-sections.txt:
22729         * docs/gst/tmpl/gstbasesrc.sgml:
22730         * gst/gstelement.c:
22731         * gst/gstelement.h:
22732         * gst/gstevent.c:
22733         * gst/gstutils.c:
22734           doc fixes
22735
22736 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22737
22738         * docs/manual/advanced-autoplugging.xml:
22739           Fix autoplugging example.
22740
22741 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22742
22743         * docs/manual/advanced-autoplugging.xml:
22744         * docs/manual/mime-world.fig:
22745           Try to get autoplugging working, fix type detection. Fix text
22746           in hello-world image.
22747
22748 2005-06-29  Wim Taymans  <wim@fluendo.com>
22749
22750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22751         (gst_base_sink_change_state):
22752         Small debug line.
22753
22754         * gst/gstclock.h:
22755         map SIGNAL and BROADCAST to the right function.
22756
22757         * gst/gstobject.h:
22758         Remove redundant braces.
22759
22760         * gst/gstpad.c: (gst_pad_set_caps):
22761         Don't call setcaps function when reseting caps to NULL.
22762
22763         * gst/gstsystemclock.c: (gst_system_clock_dispose),
22764         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22765         (gst_system_clock_id_unschedule):
22766         Use BROADCAST as this is what we do.
22767
22768 2005-06-29  Wim Taymans  <wim@fluendo.com>
22769
22770         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22771         We are actually prerolling before commiting the state
22772         change. 
22773
22774 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22775
22776         * docs/manual/advanced-clocks.xml:
22777         * docs/manual/advanced-interfaces.xml:
22778         * docs/manual/advanced-metadata.xml:
22779         * docs/manual/advanced-position.xml:
22780         * docs/manual/advanced-schedulers.xml:
22781         * docs/manual/advanced-threads.xml:
22782         * docs/manual/appendix-porting.xml:
22783         * docs/manual/basics-bins.xml:
22784         * docs/manual/basics-bus.xml:
22785         * docs/manual/basics-elements.xml:
22786         * docs/manual/basics-helloworld.xml:
22787         * docs/manual/basics-pads.xml:
22788         * docs/manual/highlevel-components.xml:
22789         * docs/manual/manual.xml:
22790         * docs/manual/thread.fig:
22791           Update (until threads/scheduling) Application Development Manual;
22792           remove GstThread, add GstBus, add simple porting checklist, add
22793           documentation for tag writing, clocks, make all examples until this
22794           part compile and run.
22795         * examples/manual/Makefile.am:
22796           Update from changes to Application Development Manual; add bus
22797           example, remove thread example.
22798
22799 2005-06-28  Wim Taymans  <wim@fluendo.com>
22800
22801         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
22802         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
22803         (gst_bus_source_dispatch):
22804         Add debugging messages.
22805         Make internal methods static.
22806         Handle the case where the bus is flushed in the handler.
22807         
22808         * gst/gstelement.c: (gst_element_get_bus):
22809         Fix refcount in _get_bus();
22810
22811         * gst/gstpipeline.c: (gst_pipeline_change_state),
22812         (gst_pipeline_get_clock_func):
22813         Clock refcounting fixes.
22814         Handle the case where preroll timed out more gracefully.
22815         
22816         * gst/gstsystemclock.c: (gst_system_clock_dispose):
22817         Clean up the internal thread in dispose. This is needed
22818         for subclasses that actually get disposed.
22819         
22820         * gst/schedulers/threadscheduler.c:
22821         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22822         (gst_thread_scheduler_dispose):
22823         Free thread pool in dispose.
22824
22825 2005-06-28  Andy Wingo  <wingo@pobox.com>
22826
22827         * tests/network-clock-utils.scm (debug, print-event): New utils.
22828
22829         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
22830         (*packet-loss*): Unified loss probability.
22831         (network-time): Report out-of-band events.
22832
22833         * tests/plot-data: Add support for out-of-band events. Hack it
22834         into this script instead of passing it down the pipe; should fix
22835         this later.
22836
22837 2005-06-28  Wim Taymans  <wim@fluendo.com>
22838
22839         * docs/gst/gstreamer.types:
22840         * docs/gst/tmpl/gstbasesrc.sgml:
22841         * docs/gst/tmpl/gstpad.sgml:
22842         Docs fixes.
22843
22844 2005-06-28  Wim Taymans  <wim@fluendo.com>
22845
22846         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22847         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
22848         (gst_proxy_pad_do_fixatecaps):
22849         Correctly proxy the check_pull_range function.
22850
22851 2005-06-28  Andy Wingo  <wingo@pobox.com>
22852
22853         * tests/network-clock.scm: Removed need for slib.
22854         
22855 2005-06-28  Wim Taymans  <wim@fluendo.com>
22856
22857         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
22858         (gst_basesink_preroll_queue_flush):
22859         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
22860         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
22861         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22862         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22863         (gst_proxy_pad_set_property):
22864         * gst/gstpad.c:
22865         * gst/gstpad.h:
22866         * gst/gstqueue.c: (gst_queue_init):
22867         The deprecated pad loop function is removed now.
22868
22869 2005-06-28  Andy Wingo  <wingo@pobox.com>
22870
22871         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
22872         New parameters, simulate network packet loss.
22873
22874         * tests/network-clock-utils.scm: Initialize the RNG.
22875
22876 2005-06-28  Wim Taymans  <wim@fluendo.com>
22877
22878         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
22879         (gst_basesink_event), (gst_basesink_deactivate):
22880         Flushing the preroll queue always needs to unlock the waiters.
22881
22882 2005-06-28  Edward Hervey  <edward@fluendo.com>
22883
22884         * gst/gstpipeline.c: (gst_pipeline_send_event): 
22885         Wheen a seek was successful on a pipeline, set the stream_time to the
22886         seek offset in order to have a synchronized stream_time.
22887
22888 2005-06-28  Wim Taymans  <wim@fluendo.com>
22889
22890         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22891         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
22892         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
22893         (gst_proxy_pad_do_fixatecaps):
22894         Call wrapper function instead of just calling the function
22895         pointers. This takes care of any locking and whatmore.
22896
22897 2005-06-28  Wim Taymans  <wim@fluendo.com>
22898
22899         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
22900         (gst_pad_pull_range):
22901         * gst/gstpad.h:
22902         CONNECTED -> LINKED.
22903
22904 2005-06-28  Andy Wingo  <wingo@pobox.com>
22905
22906         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
22907         source-munging commit!!!
22908
22909         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
22910         (gst_object_sink): Take gpointer arguments, not GstObject --
22911         avoids casts. Like GLib.
22912
22913         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
22914         activate.
22915
22916 2005-06-27  Andy Wingo  <wingo@pobox.com>
22917
22918         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
22919         remaining buffer.
22920
22921         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
22922         returns a sorted copy of the trace list.
22923         (gst_alloc_trace_print_live): New API, only prints traces with
22924         live objects. Sort the list.
22925         (gst_alloc_trace_print_all): Sort the list.
22926         (gst_alloc_trace_print): Align columns.
22927
22928         * gst/elements/gstttypefindelement.c:
22929         * gst/elements/gsttee.c:
22930         * gst/base/gstbasesrc.c:
22931         * gst/base/gstbasesink.c:
22932         * gst/base/gstbasetransform.c:
22933         * gst/gstqueue.c: Adapt for pad activation changes.
22934
22935         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
22936         sched.
22937         (gst_pipeline_dispose): Drop ref on sched.
22938
22939         * gst/gstpad.c (gst_pad_init): Set the default activate func.
22940         (gst_pad_activate_default): Push mode by default.
22941         (pre_activate_switch, post_activate_switch): New stubs, things to
22942         do before and after switching activation modes on pads.
22943         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
22944         the pad's activate function to choose which mode to activate.
22945         Shortcut on deactivation and call the right function directly.
22946         (gst_pad_activate_pull): New API, (de)activates a pad in pull
22947         mode.
22948         (gst_pad_activate_push): New API, same for push mode.
22949         (gst_pad_set_activate_function) 
22950         (gst_pad_set_activatepull_function) 
22951         (gst_pad_set_activatepush_function): Setters for new API.
22952
22953         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
22954         Trace all miniobjects.
22955         (gst_mini_object_make_writable): Unref the arg if we copy, like
22956         gst_caps_make_writable.
22957
22958         * gst/gstmessage.c (_gst_message_initialize): No trace init.
22959
22960         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
22961         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
22962         Adapt for new pad API.
22963
22964         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
22965
22966         * gst/gstelement.h:
22967         * gst/gstelement.c (gst_element_iterate_src_pads) 
22968         (gst_element_iterate_sink_pads): New API functions.
22969         
22970         * gst/gstelement.c (iterator_fold_with_resync): New utility,
22971         should fold into gstiterator.c in some form.
22972         (gst_element_pads_activate): Simplified via use of fold and
22973         delegation of decisions to gstpad->activate.
22974
22975         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
22976         help in debugging.
22977
22978         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
22979         class once in init, like gstmessage. Didn't run into this issue
22980         but it seems correct. Don't initialize a trace, gstminiobject does
22981         that.
22982
22983         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
22984         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
22985         to the bus.
22986         (assert_live_count): New util function, uses alloc traces to check
22987         cleanup.
22988
22989         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
22990         To be modified when unlink drops the internal pad.
22991
22992 2005-06-27  Wim Taymans  <wim@fluendo.com>
22993
22994         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
22995         (gst_bin_change_state):
22996         Cleanup the get_state() function a little, make sure it
22997         iterates the same set of elements.
22998         Added stub iterate_state_order().
22999
23000 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23001
23002         * docs/gst/gstreamer-docs.sgml:
23003         * docs/gst/gstreamer-sections.txt:
23004         * docs/gst/gstreamer.types:
23005         * docs/gst/tmpl/gstbasesink.sgml:
23006         * docs/gst/tmpl/gstbasesrc.sgml:
23007         * docs/gst/tmpl/gstbasetransform.sgml:
23008         * docs/gst/tmpl/gstelement.sgml:
23009         * docs/gst/tmpl/gstiterator.sgml:
23010         * gst/base/gstbasesrc.c:
23011         * gst/base/gstbasesrc.h:
23012         * gst/base/gstbasetransform.h:
23013         * gst/gstelement.c:
23014         * gst/gstiterator.h:
23015           adding basetransform and iterator docs
23016
23017 2005-06-27  Andy Wingo  <wingo@pobox.com>
23018
23019         * docs/design/part-activation.txt: Notes on how activation should
23020         work -- not quite implemented yet.
23021
23022 2005-06-25  Wim Taymans  <wim@fluendo.com>
23023
23024         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23025         At least get the chain function correct, needs more
23026         fixing.
23027
23028 2005-06-25  Wim Taymans  <wim@fluendo.com>
23029
23030         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23031         (gst_basesink_handle_object), (gst_basesink_event),
23032         (gst_basesink_do_sync), (gst_basesink_handle_event),
23033         (gst_basesink_change_state):
23034         * gst/gsttask.h:
23035         Right, two problems here: ghostpads don't take locks and
23036         glib _rec_mutex_lock_full() with depth==0 still locks.
23037         Catch illegal locking and g_warn them.
23038
23039 2005-06-25  Wim Taymans  <wim@fluendo.com>
23040
23041         * check/states/sinks.c: (START_TEST), (gst_object_suite):
23042         Have to check for completion now...
23043
23044 2005-06-25  Wim Taymans  <wim@fluendo.com>
23045
23046         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23047         (gst_basesink_handle_object), (gst_basesink_event),
23048         (gst_basesink_do_sync), (gst_basesink_handle_event),
23049         (gst_basesink_change_state):
23050         * gst/gstpad.h:
23051         Unlock STREAM_LOCK whatever the recursion was.
23052
23053 2005-06-25  Wim Taymans  <wim@fluendo.com>
23054
23055         * gst/base/gstbasesink.c: (gst_basesink_set_property),
23056         (gst_basesink_preroll_queue_empty),
23057         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23058         (gst_basesink_event), (gst_basesink_do_sync),
23059         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23060         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23061         (gst_basesink_change_state):
23062         Reworked the base sink, handle event and buffer serialisation
23063         correctly and removed possible deadlock.
23064         Handle EOS correctly.
23065
23066 2005-06-25  Wim Taymans  <wim@fluendo.com>
23067
23068         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23069         (gst_pipeline_change_state):
23070         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23071         Allow elements to post EOS in the state change function.
23072         Fix up -launch, make it exit the poll loop when the
23073         pipeline actually changed state.
23074         Fix up warning parsing in -launch.
23075
23076 2005-06-25  Wim Taymans  <wim@fluendo.com>
23077
23078         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23079         (gst_tee_sink_activate):
23080         Core takes STREAM_LOCK for us now.
23081
23082 2005-06-25  Wim Taymans  <wim@fluendo.com>
23083
23084         * gst/gstelement.c: (gst_element_get_state_func),
23085         (gst_element_set_state):
23086         * gst/gstelement.h:
23087         * gst/gstmessage.c: (gst_message_parse_error),
23088         (gst_message_parse_warning):
23089         Keep track of current target state while performing a state
23090         change so that subclasses can do something interesting.
23091         Fix parsing of warning/error messages when GError is NULL.
23092
23093 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23094
23095         * docs/gst/Makefile.am:
23096         * docs/gst/gstreamer-docs.sgml:
23097         * docs/gst/gstreamer-sections.txt:
23098         * docs/gst/gstreamer.types:
23099         * docs/gst/tmpl/gstbasesink.sgml:
23100         * docs/gst/tmpl/gstbasesrc.sgml:
23101         * docs/gst/tmpl/gstbin.sgml:
23102         * docs/gst/tmpl/gstcompat.sgml:
23103         * docs/gst/tmpl/gstfakesink.sgml:
23104         * docs/gst/tmpl/gstfakesrc.sgml:
23105         * docs/gst/tmpl/gstfilesink.sgml:
23106         * docs/gst/tmpl/gstfilesrc.sgml:
23107         * docs/gst/tmpl/gstindex.sgml:
23108         * docs/manual/appendix-quotes.xml:
23109         * gst/base/gstbasesrc.h:
23110         * gst/elements/gstfakesrc.h:
23111         * gst/gstmessage.h:
23112           start pulling in base classes and elements in our docs
23113
23114 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
23115
23116         * docs/gst/Makefile.am:
23117         * docs/libs/Makefile.am:
23118           fixed make distcheck with gtk-doc 1.3
23119
23120 2005-06-23  Wim Taymans  <wim@fluendo.com>
23121
23122         * gst/gstelement.c: (gst_element_get_state_func),
23123         (gst_element_set_state), (gst_element_change_state):
23124         When the state did not change, also report NO_PREROLL
23125         when it matters.
23126
23127 2005-06-23  Wim Taymans  <wim@fluendo.com>
23128
23129         * gst/gstpad.c: (gst_pad_event_default):
23130         * gst/gstqueue.c: (gst_queue_loop):
23131         No unsafe task pausing please.
23132
23133 2005-06-23  Wim Taymans  <wim@fluendo.com>
23134
23135         * gst/schedulers/threadscheduler.c:
23136         (gst_thread_scheduler_task_start),
23137         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23138         Ref the task before pushing it on the threadpool. This
23139         makes sure that we have a ref when the threadfunction is
23140         actually called.
23141
23142 2005-06-23  Andy Wingo  <wingo@pobox.com>
23143
23144         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23145         offset is greater than the file's size.
23146
23147         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
23148         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23149         * gst/gstobject.c (gst_object_class_init): Make the class lock
23150         recursive. Wim won't let me drop deep_notify. Decodebin works
23151         again, whoopdy doo.
23152
23153         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23154         internal pad, and hacks accordingly. Doesn't do it on the target
23155         pad because we change its caps. Probably catches all cases of
23156         interest tho.
23157         (gst_ghost_pad_set_property): Connect to notify::caps as
23158         appropritate.
23159
23160         * tests/network-clock.scm (plot-simulation): Pipe data to the
23161         elite python skript.
23162
23163         * tests/network-clock-utils.scm (define-parameter): New macro,
23164         defines a parameter that can be set via the command line.
23165         (set-parameter!, parse-parameter-arguments): Command line args
23166         parser.
23167
23168         * tests/plot-data: Simple matplotlib-based plotter, takes input on
23169         stdin.
23170
23171 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
23172
23173         * gst/elements/gsttypefindelement.c:
23174         (gst_type_find_element_handle_event):
23175           Don't restart typefinding on a discont.
23176         * gst/gstelement.c: (gst_element_set_state):
23177           Debug spelling fix.
23178         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23179           Allow changing mode of an active pad.
23180           Debug output fixes.
23181         * gst/registries/gstlibxmlregistry.c: (load_feature):
23182           Don't cast a static pad template to a normal pad template.
23183
23184 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23185
23186         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23187         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23188           remove gst_strtoll completely, since it didn't actually do
23189           anything more than what g_ascii_strtoull already does.
23190           check for range errors when deserializing
23191           do a cast for the unsigned cases; but further fixing needs
23192           a decision on what the interpretation of "(int)" and
23193           deserialization should be for values that fall outside the
23194           type's boundaries (ie, refuse, or interpret as casting)
23195
23196 2005-06-23  Wim Taymans  <wim@fluendo.com>
23197
23198         * check/Makefile.am:
23199         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23200         * docs/design/part-live-source.txt:
23201         * docs/design/part-states.txt:
23202         * gst/base/gstbasesrc.c: (gst_basesrc_init),
23203         (gst_basesrc_set_live), (gst_basesrc_is_live),
23204         (gst_basesrc_get_range), (gst_basesrc_activate),
23205         (gst_basesrc_change_state):
23206         * gst/base/gstbasesrc.h:
23207         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23208         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23209         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23210         * gst/gstelement.c: (gst_element_get_state_func),
23211         (gst_element_set_state):
23212         * gst/gstelement.h:
23213         * gst/gsttypes.h:
23214         * tools/gst-launch.c: (event_loop), (main):
23215         Added support for live sources and other elements that
23216         cannot do preroll.
23217         Updated design docs, added live-source design doc.
23218         Implemented live source functionality in basesrc
23219         Fix error condition in _bin_get_state()
23220         Implement live source handling in -launch.
23221         Added check for live sources.
23222         Fixed case in GstBin where elements were changed state
23223         multiple times.
23224
23225
23226 2005-06-23  Andy Wingo  <wingo@pobox.com>
23227
23228         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23229         borken refcounting.
23230
23231         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23232         gst_caps_replace takes care of this for us.
23233
23234         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23235         gst_pad_set_caps on the target, not just its setcaps() function.
23236
23237         * tests/network-clock.scm: 
23238         * tests/network-clock-utils.scm: A network clock simulator.
23239         Something of an algorithmic testbed before doing something in C.
23240
23241 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23242
23243         * check/Makefile.am:
23244         * check/gst/capslist.h:
23245           copy over from 0.8, and add two with bitmasks specified with
23246           (int) 0xFF...
23247         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23248           add test to parse everything from capslist.h
23249         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23250         (main):
23251           add test for structure deserialization
23252         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23253           add tests for deserialization of strings to int types
23254         * gst/gststructure.c: (gst_structure_nth_field_name):
23255         * gst/gststructure.h:
23256           add a way to get the name of a field referenced by index
23257         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23258           instead of checking if the resulting long long lies between
23259           min and max, we check if the long long would fit into
23260           a number of bytes for the final type.
23261           This fixes cases where a string represents 2^32 - 1, which
23262           when cast to int would be the (valid) -1, but is bigger than
23263           G_MAXINT
23264
23265 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23266
23267         * gst/parse/grammar.y:
23268           add a log line for type deserialization
23269
23270 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23271
23272         * check/gst/gstvalue.c: (START_TEST):
23273         * gst/gstvalue.c: (gst_value_deserialize):
23274           return long long, not int, so gint64 deserialization actually
23275           works.  Is there any flag that makes the compiler check this ?
23276           Fixes #308559
23277
23278 2005-06-22  Wim Taymans  <wim@fluendo.com>
23279
23280         * gst/gstbuffer.h:
23281         Added convenience macros for setting buffers in GValue.
23282
23283 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23284
23285         * check/gst/.cvsignore:
23286         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23287           add a test deserializing int64, and comment part out because
23288           it fails, yay !
23289
23290 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23291
23292         * check/Makefile.am:
23293         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23294         * testsuite/Makefile.am:
23295         * testsuite/caps/Makefile.am:
23296         * testsuite/caps/value_serialize.c:
23297         * testsuite/test_gst_init.c:
23298           move a value_serialize test over
23299
23300 2005-06-20  Wim Taymans  <wim@fluendo.com>
23301
23302         * gst/gstpad.c:
23303         Small doc updates.
23304         
23305         * gst/gstvalue.c: (gst_value_compare_buffer),
23306         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23307         (gst_value_compare_flags), (gst_value_serialize_flags),
23308         (gst_value_deserialize_flags), (_gst_value_initialize):
23309         Fix serialisation of buffers, they are not boxed types anymore
23310
23311 2005-06-20  Wim Taymans  <wim@fluendo.com>
23312
23313         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23314         Testcase to show error in buffer-on-caps serialisation.
23315
23316 2005-06-20  Andy Wingo  <wingo@pobox.com>
23317
23318         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23319         will be adding to later.
23320
23321         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23322         if its socks fill with rocks.
23323         (gst_system_clock_obtain): Set the name on object construction.
23324         Avoid double-checked locking.
23325
23326 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
23327
23328         * gst/gsturi.c: (gst_element_make_from_uri):
23329           Fix potential endless loop.
23330
23331 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23332
23333         * check/Makefile.am:
23334           add gsttag
23335         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23336         (main):
23337           move over from testsuite dir and clean up
23338         * configure.ac:
23339         * gst/gsttag.c:
23340         * testsuite/Makefile.am:
23341         * testsuite/tags/.cvsignore:
23342         * testsuite/tags/Makefile.am:
23343         * testsuite/tags/merge.c:
23344           remove testsuite/tags
23345
23346 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23347
23348         * docs/gst/gstreamer-sections.txt:
23349         * docs/gst/tmpl/gstenumtypes.sgml:
23350         * win32/gstenumtypes.c:
23351           clean up documentation build a little
23352
23353 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23354
23355         * check/gstcheck.h:
23356           add macros for checking refcounts on objects and caps
23357         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23358           add some more unit tests
23359         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23360         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23361           fix leaked refcounts (I hope :)) so unittest works
23362         * gst/gstpad.h:
23363           whitespace removal
23364
23365 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23366
23367         * configure.ac: back to HEAD
23368
23369 === release 0.9.1 ===
23370
23371 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23372
23373         * NEWS:
23374         * RELEASE:
23375           updated
23376
23377 2005-06-17  Andy Wingo  <wingo@pobox.com>
23378
23379         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23380         assert; it's always possible that the pad gets deactivated in
23381         between the checks in gstpad.c and the implementation. Rely on
23382         finish_preroll() to return a FLUSHING or similar instead of on the
23383         assert.
23384         
23385         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23386         clock and post an EOS message if we come out of finish_preroll in
23387         the playing state.
23388
23389 2005-06-16  David Schleef  <ds@schleef.org>
23390
23391         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23392         (gst_capsfilter_set_property): Allow NULL as possible value
23393         for filter_caps property, indicating GST_CAPS_ANY.
23394
23395 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23396
23397         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23398           fix debug output
23399         * gst/schedulers/Makefile.am:
23400           use libgst prefix
23401         * gstreamer.spec.in:
23402           fix spec for it
23403
23404 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23405
23406         * gstreamer.spec.in:
23407           clean up
23408
23409 2005-06-08  Andy Wingo  <wingo@pobox.com>
23410
23411         * gst/gstutils.c: RPAD fixes all around.
23412         (gst_element_link_pads): Refcounting fixes.
23413
23414         * tools/gst-inspect.c:
23415         * tools/gst-xmlinspect.c:
23416         * parse/grammar.y:
23417         * gst/base/gsttypefindhelper.c:
23418         * gst/base/gstbasesink.c:
23419         * gst/gstqueue.c: RPAD fixes.
23420
23421         * gst/gstghostpad.h:
23422         * gst/gstghostpad.c: New ghost pad implementation as full proxy
23423         pads. The tricky thing is they provide both source and sink
23424         interfaces, since they proxy the internal pad for the external
23425         pad, and vice versa. Implement with lower-level ProxyPad objects,
23426         with the interior proxy pad as a child of the exterior ghost pad.
23427         Should write a doc on this.
23428         
23429         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23430         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23431         gst_object API.
23432         
23433         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23434         pads are real pads. No ghost pads in this file. Not documenting
23435         the myriad s/RPAD/PAD/ and REALIZE fixes.
23436         (gst_pad_class_init): Add properties for "direction" and
23437         "template". Both are construct-only, so they can't change during
23438         the life of the pad. Fixes properly deriving from GstPad.
23439         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23440         derived objects, just set properties when creating the objects via
23441         g_object_new.
23442         (gst_pad_get_parent): Implement as a function, return NULL if the
23443         parent is not an element.
23444         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23445         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23446         
23447         * gst/gstobject.c (gst_object_class_init): Make name a construct
23448         property. Don't set it in the object init.
23449
23450         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23451         with UNKNOWN direction.
23452         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23453         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23454         (gst_element_remove_pad): Remove ghost-pad special cases.
23455         (gst_element_pads_activate): Remove rpad cruft.
23456
23457         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23458         catch the pad's-parent-not-an-element case.
23459
23460         * gst/gst.h: Include gstghostpad.h.
23461
23462         * gst/gst.c (init_post): No more real, ghost pads.
23463
23464         * gst/Makefile.am: Add gstghostpad.[ch].
23465
23466         * check/Makefile.am:
23467         * check/gst/gstbin.c:
23468         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23469         into a bin creates ghost pads, and that the refcounts are right.
23470         Partly moved from gstbin.c.
23471
23472 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23473
23474         * check/gst-libs/.cvsignore:
23475         * check/gst/.cvsignore:
23476         * check/pipelines/.cvsignore:
23477           ignore more
23478         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23479         (START_TEST), (cleanup_suite), (main):
23480           add some tests related to cleanup after running pipelines
23481
23482 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23483
23484         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23485           add a testsuite for GstBuffer
23486
23487 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23488
23489         * gst/gstminiobject.h:
23490           add defines for accessing the refcount
23491
23492 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
23493
23494         * Makefile.am: added support for html unit test coverage reports
23495
23496 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
23497
23498         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23499           Free existing caps if the capsfilter changes. Add a FIXME about
23500           setting those caps on the pads.
23501
23502         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
23503           Before adding a ghost pad to a parent bin, check that there isn't
23504           already one for the element on the bin. Prevents infinite recursion
23505           when using decodebin in parse pipelines. Andy says he'll rewrite the
23506           way this works anyway, so ignore the hack.
23507
23508 2005-06-02  Andy Wingo  <wingo@pobox.com>
23509
23510         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
23511         file size, pass it on to the type find helper.
23512
23513         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
23514         segment_start and segment_end properly according to the seek
23515         method. Segment_end is still a bit flaky because offset can be
23516         negative for CUR and END cases, but it takes -1 as an "unset"
23517         value.
23518
23519 2005-06-02  Wim Taymans  <wim@fluendo.com>
23520
23521         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
23522         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
23523         (gst_basesink_activate):
23524         * gst/base/gstbasesink.h:
23525         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23526         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23527         (gst_pad_query), (gst_pad_start_task):
23528         * gst/gstpad.h:
23529         * gst/gstqueue.c: (gst_queue_bufferalloc),
23530         (gst_queue_handle_sink_event), (gst_queue_chain):
23531         Bufferalloc: return GstFlowReturn to more accuratly report
23532         why allocation failed.
23533
23534 2005-06-02  Wim Taymans  <wim@fluendo.com>
23535
23536         * gst/gstpipeline.c: (gst_pipeline_send_event):
23537         Take snapshot of state without blocking.
23538
23539 2005-06-02  Wim Taymans  <wim@fluendo.com>
23540
23541         * docs/design/part-TODO.txt:
23542         * docs/design/part-caps.txt:
23543         * docs/design/part-clocks.txt:
23544         * docs/design/part-negotiation.txt:
23545         * docs/design/part-preroll.txt:
23546         Small doc updates 
23547
23548 2005-05-30  Wim Taymans  <wim@fluendo.com>
23549
23550         * gst/elements/gstidentity.c: (gst_identity_event),
23551         (gst_identity_transform), (gst_identity_get_property):
23552         Protect last_message property as it is accessed from
23553         multiple threads.
23554
23555 2005-05-30  Wim Taymans  <wim@fluendo.com>
23556
23557         * gst/gstelement.c: (gst_element_init),
23558         (gst_element_pads_activate), (gst_element_change_state):
23559         Slicker pad activation code.
23560
23561 2005-05-30  Wim Taymans  <wim@fluendo.com>
23562
23563         * gst/Makefile.am:
23564         * gst/gstelement.h:
23565         * gst/gstelementfactory.h:
23566         * gst/gsttypes.h:
23567         Move elementfactory methods to separate .h file.
23568
23569 2005-05-30  Wim Taymans  <wim@fluendo.com>
23570
23571         * docs/design/part-overview.txt:
23572         * gst/gstsystemclock.h:
23573         Small typo fixes, doc updates.
23574
23575 2005-05-30  Wim Taymans  <wim@fluendo.com>
23576
23577         * gst/gst.c: (gst_init_get_popt_table), (init_post),
23578         (init_popt_callback):
23579         Remove cpu-opt flag.
23580
23581 2005-05-30  Wim Taymans  <wim@fluendo.com>
23582
23583         * gst/gstbuffer.c: (gst_subbuffer_finalize),
23584         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
23585         * gst/gstbuffer.h:
23586         Avoid typechecking in places where not needed.
23587         Added accessor for malloc_data.
23588
23589 2005-05-30  Wim Taymans  <wim@fluendo.com>
23590
23591         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
23592         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
23593         (gst_pad_configure_sink), (gst_pad_configure_src),
23594         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
23595         (gst_pad_start_task):
23596         Propagate errors from _set_caps() in configure_src/sink
23597         functions instead of returning TRUE.
23598         FLUSH events can travel up and downstream
23599
23600
23601 2005-05-30  Wim Taymans  <wim@fluendo.com>
23602
23603         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23604         (gst_basesink_activate):
23605         Handle EOS in preroll.
23606
23607 2005-05-30  Wim Taymans  <wim@fluendo.com>
23608
23609         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23610         (gst_queue_loop), (gst_queue_handle_src_event):
23611         Remove old pieces of code
23612         Flushing the queue in an upstream event is a very bad idea.
23613
23614 2005-05-26  Andy Wingo  <wingo@pobox.com>
23615
23616         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
23617         gst_value_set_mini_object so as to add a ref on the object (which
23618         will be removed when the value is unset).
23619
23620         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
23621         arg type in ::handoff.
23622
23623         * gst/gstelement.c (gst_element_change_state): Also deactivate
23624         pads in READY->NULL, just in case the element didn't make it to
23625         PAUSED. Wingo tested, Wim approved.
23626
23627 2005-05-26  Wim Taymans  <wim@fluendo.com>
23628
23629         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23630         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23631         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
23632         A flushing pad cannot be used to alloc_buffer from.
23633
23634 2005-05-26  Wim Taymans  <wim@fluendo.com>
23635
23636         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
23637         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
23638         (gst_bus_source_dispatch), (gst_bus_source_finalize),
23639         (gst_bus_create_watch), (gst_bus_add_watch_full):
23640         * gst/gstbus.h:
23641         Implement a real GSource and use g_main_context_wakeup() to
23642         signal new messages instead of the socketpair.
23643
23644 2005-05-25  Wim Taymans  <wim@fluendo.com>
23645
23646         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
23647         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
23648         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23649         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23650         (gst_pad_send_event), (gst_pad_start_task):
23651         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
23652         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23653         (gst_queue_sink_activate), (gst_queue_src_activate),
23654         (gst_queue_change_state):
23655         * gst/gstqueue.h:
23656         Fix state changes for non sinks. We now change sinks, then elements
23657         with unconnected srcpads, then the rest.
23658         More efficient queue unlocking in flush and state changes.
23659         Set the pad activate mode even if it does not have an activate
23660         function.
23661
23662 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23663
23664         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
23665           Don't go in pull mode for non-seekable sources.
23666         * gst/elements/gsttypefindelement.h:
23667         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23668         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
23669         (free_entry), (stop_typefinding),
23670         (gst_type_find_element_handle_event), (find_peek),
23671         (gst_type_find_element_chain), (do_pull_typefind),
23672         (gst_type_find_element_change_state):
23673           Allow typefinding (w/o seeking) in push-mode, simplified version
23674           of what was in 0.8.
23675         * gst/gstutils.c: (gst_buffer_join):
23676         * gst/gstutils.h:
23677           gst_buffer_join() from 0.8.
23678
23679 2005-05-25  Wim Taymans  <wim@fluendo.com>
23680
23681         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23682         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23683         (gst_pad_send_event), (gst_pad_start_task):
23684         Disable attempt at mode switching until it is figured out.
23685
23686 2005-05-25  Wim Taymans  <wim@fluendo.com>
23687
23688         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
23689         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23690         (gst_basesink_finish_preroll), (gst_basesink_chain),
23691         (gst_basesink_loop), (gst_basesink_activate),
23692         (gst_basesink_change_state):
23693         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
23694         (gst_basesrc_get_range), (gst_basesrc_loop),
23695         (gst_basesrc_activate):
23696         * gst/elements/gsttee.c: (gst_tee_sink_activate):
23697         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23698         (gst_real_pad_init), (gst_real_pad_set_property),
23699         (gst_real_pad_get_property), (gst_pad_set_active),
23700         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
23701         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
23702         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
23703         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
23704         (gst_pad_event_default_dispatch), (gst_pad_event_default),
23705         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
23706         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
23707         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23708         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
23709         (gst_pad_stop_task):
23710         * gst/gstpad.h:
23711         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23712         (gst_queue_loop), (gst_queue_src_activate):
23713         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
23714         (gst_task_get_state):
23715         * gst/gsttask.h:
23716         * gst/schedulers/threadscheduler.c:
23717         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23718         Implement gst_pad_pause/start/stop_task(), take STREAM lock
23719         in task function.
23720         Remove ACTIVE pad flag, use FLUSHING everywhere
23721         Added _pad_chain(), _pad_get_range() to call chain/getrange 
23722         functions.
23723         Add locks around IS_FLUSHING when reading.
23724         Take STREAM lock in chain(), get_range() functions so plugins
23725         don't need to take it anymore.
23726         
23727
23728
23729 2005-05-25  Wim Taymans  <wim@fluendo.com>
23730
23731         * tools/gst-launch.c: (event_loop):
23732         Unref message after using its contents instead of
23733         before.
23734
23735 2005-05-24  Wim Taymans  <wim@fluendo.com>
23736
23737         * docs/design/draft-ghostpads.txt:
23738         * docs/design/draft-push-pull.txt:
23739         * docs/design/draft-query.txt:
23740         * docs/design/part-overview.txt:
23741         Docs updates, added general overview doc.
23742
23743 2005-05-21  David Schleef  <ds@schleef.org>
23744
23745         * docs/gst/tmpl/old/GstBin.sgml:
23746         * docs/gst/tmpl/old/GstBuffer.sgml:
23747         * docs/gst/tmpl/old/GstCaps.sgml:
23748         * docs/gst/tmpl/old/GstClock.sgml:
23749         * docs/gst/tmpl/old/GstCompat.sgml:
23750         * docs/gst/tmpl/old/GstData.sgml:
23751         * docs/gst/tmpl/old/GstElement.sgml:
23752         * docs/gst/tmpl/old/GstEvent.sgml:
23753         * docs/gst/tmpl/old/GstIndex.sgml:
23754         * docs/gst/tmpl/old/GstStructure.sgml:
23755         * docs/gst/tmpl/old/GstTag.sgml:
23756         * docs/gst/tmpl/old/cothreads.sgml:
23757         * docs/gst/tmpl/old/cothreads_compat.sgml:
23758         * docs/gst/tmpl/old/gettext.sgml:
23759         * docs/gst/tmpl/old/gobject2gtk.sgml:
23760         * docs/gst/tmpl/old/grammar.tab.sgml:
23761         * docs/gst/tmpl/old/gst-i18n-app.sgml:
23762         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23763         * docs/gst/tmpl/old/gst_private.sgml:
23764         * docs/gst/tmpl/old/gstaggregator.sgml:
23765         * docs/gst/tmpl/old/gstarch.sgml:
23766         * docs/gst/tmpl/old/gstatomic_impl.sgml:
23767         * docs/gst/tmpl/old/gstbufferstore.sgml:
23768         * docs/gst/tmpl/old/gstdata_private.sgml:
23769         * docs/gst/tmpl/old/gstdisksink.sgml:
23770         * docs/gst/tmpl/old/gstdisksrc.sgml:
23771         * docs/gst/tmpl/old/gstelementfactory.sgml:
23772         * docs/gst/tmpl/old/gstextratypes.sgml:
23773         * docs/gst/tmpl/old/gstfakesink.sgml:
23774         * docs/gst/tmpl/old/gstfakesrc.sgml:
23775         * docs/gst/tmpl/old/gstfdsink.sgml:
23776         * docs/gst/tmpl/old/gstfdsrc.sgml:
23777         * docs/gst/tmpl/old/gstfilesink.sgml:
23778         * docs/gst/tmpl/old/gstfilesrc.sgml:
23779         * docs/gst/tmpl/old/gsthttpsrc.sgml:
23780         * docs/gst/tmpl/old/gstidentity.sgml:
23781         * docs/gst/tmpl/old/gstindexfactory.sgml:
23782         * docs/gst/tmpl/old/gstmarshal.sgml:
23783         * docs/gst/tmpl/old/gstmd5sink.sgml:
23784         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
23785         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
23786         * docs/gst/tmpl/old/gstpadtemplate.sgml:
23787         * docs/gst/tmpl/old/gstpipefilter.sgml:
23788         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
23789         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
23790         * docs/gst/tmpl/old/gstshaper.sgml:
23791         * docs/gst/tmpl/old/gstspider.sgml:
23792         * docs/gst/tmpl/old/gstspideridentity.sgml:
23793         * docs/gst/tmpl/old/gststatistics.sgml:
23794         * docs/gst/tmpl/old/gsttee.sgml:
23795         * docs/gst/tmpl/old/gsttimecache.sgml:
23796         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
23797         * docs/gst/tmpl/old/gstxmlregistry.sgml:
23798         * docs/gst/tmpl/old/gthread-cothreads.sgml:
23799         * docs/gst/tmpl/old/types.sgml:
23800           I didn't intend to add these or check them in.
23801
23802 2005-05-19  David Schleef  <ds@schleef.org>
23803
23804         * configure.ac: Use -no-common everywhere.  In a sane world, it
23805           would be the default in libtool, because without it, you can't
23806           build DLLs on Windows.
23807         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
23808         * docs/gst/gstreamer-sections.txt:
23809         * docs/gst/tmpl/gstcpu.sgml:
23810         * docs/gst/tmpl/gstdata.sgml:
23811         * docs/gst/tmpl/gstthread.sgml:
23812
23813 2005-05-19  David Schleef  <ds@schleef.org>
23814
23815         * gst/gstminiobject.c: (gst_value_set_mini_object),
23816         (gst_value_take_mini_object), (gst_value_get_mini_object):
23817         * gst/gstminiobject.h: Add GValue set/get functions.
23818
23819 2005-05-19  Wim Taymans  <wim@fluendo.com>
23820
23821         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
23822         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
23823         (gst_subbuffer_init), (gst_buffer_is_span_fast):
23824         * gst/gstbuffer.h:
23825         * gst/gstbus.c: (gst_bus_post):
23826         * gst/gstelement.c: (gst_element_get_random_pad):
23827         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
23828         Make subbufer unref the parent in finalize.
23829         some more debugging info.
23830
23831
23832 2005-05-19  Wim Taymans  <wim@fluendo.com>
23833
23834         * gst/base/gstbasesink.c: (gst_basesink_class_init),
23835         (gst_basesink_init), (gst_basesink_finalize),
23836         (gst_basesink_activate), (gst_basesink_change_state):
23837         Don't free preroll queue too early.
23838
23839 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23840
23841         * gst/Makefile.am:
23842         * gst/ROADMAP:
23843           Hi, I'm outdated. Please shoot me.
23844
23845 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23846
23847         * gst/gstpipeline.c: (gst_pipeline_send_event):
23848           Do not access variables after they have been deleted.
23849
23850 2005-05-19  Wim Taymans  <wim@fluendo.com>
23851
23852         * tools/gst-inspect.c: (print_plugin_features):
23853         A plugin feature does unfortunatly not use the
23854         object name yet...
23855
23856 2005-05-18  Wim Taymans  <wim@fluendo.com>
23857
23858         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
23859         Port _span() functions to new subbuffers.
23860
23861 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23862
23863         * gst/gstbin.c: (gst_bin_add_func):
23864           Fix clock settery in bins when adding kids after the clock has
23865           been selected.
23866
23867 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23868
23869         * gst/elements/gstidentity.c: (gst_identity_class_init):
23870           Workaround until signals support GstMiniObject.
23871
23872 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
23873
23874         * gst/gstbuffer.c:
23875         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
23876
23877 2005-05-18  Wim Taymans  <wim@fluendo.com>
23878
23879         * gst/base/Makefile.am:
23880         * gst/base/gstadapter.c: (gst_adapter_base_init),
23881         (gst_adapter_class_init), (gst_adapter_init),
23882         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
23883         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
23884         (gst_adapter_flush), (gst_adapter_available),
23885         (gst_adapter_available_fast):
23886         * gst/base/gstadapter.h:
23887         Ported and added adapter to the base classes.
23888
23889 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
23890
23891         * gst/gst.c:
23892         * gst/gstmessage.c:
23893           Make sure the class is reffed/unreffed once before threads can be
23894           used.  Fixes #304551.
23895
23896 2005-05-17  Wim Taymans  <wim@fluendo.com>
23897
23898         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
23899         (gst_basesink_chain_unlocked), (gst_basesink_activate):
23900         * gst/gstminiobject.c: (gst_mini_object_get_type),
23901         (gst_mini_object_free):
23902         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
23903         (gst_pad_push), (gst_pad_push_event):
23904         * gst/gstqueue.c: (gst_queue_change_state):
23905         Don't queue buffers in basesink when we are flushing.
23906         Unref buffer when flushing in basesink.
23907         Flush queue when going to READY
23908         Unref buffer when _push() returns an error.
23909         Don't free MiniObject instance when refcount is incremented
23910         in _finalize() so that we can recover objects.
23911
23912 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
23913
23914         * docs/manual/advanced-schedulers.xml:
23915         * docs/manual/appendix-checklist.xml:
23916         * docs/pwg/advanced-clock.xml:
23917         * docs/pwg/advanced-interfaces.xml:
23918         * docs/pwg/advanced-request.xml:
23919         * docs/pwg/advanced-types.xml:
23920         * docs/pwg/intro-preface.xml:
23921         * examples/plugins/example.c: (gst_example_get_type),
23922         (gst_example_class_init), (gst_example_chain),
23923         (gst_example_set_property), (gst_example_get_property),
23924         (gst_example_change_state), (plugin_init):
23925         * examples/plugins/example.h:
23926           small doc fixes
23927
23928 2005-05-17  Wim Taymans  <wim@fluendo.com>
23929
23930         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
23931         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
23932         * gst/gstqueue.c: (gst_queue_change_state):
23933         Clear queue when going to READY.
23934         Remove IN_SETCAPS flag too.
23935
23936 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
23937
23938         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
23939           Remove implicit cast from gboolean to GstElementStateReturn;
23940           make sure we still return failure in paused => ready case if
23941           the parent class fails to change state and our own stop 
23942           vfunc succeeds.
23943
23944 2005-05-17  Wim Taymans  <wim@fluendo.com>
23945
23946         * tools/gst-launch.c: (event_loop):
23947         Message was unreffed too soon.
23948
23949 2005-05-16  Andy Wingo  <wingo@pobox.com>
23950
23951         * gst/gstbin.c (sink_iterator_filter): Err... um...
23952
23953         * check/gst/gstbin.c (test_ghost_pads): New test for the
23954         ghosting-if-elements-not-in-same-bin behavior.
23955
23956 2005-05-16  David Schleef  <ds@schleef.org>
23957
23958         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
23959         accessing refcount directly.
23960
23961 2005-05-15  David Schleef  <ds@schleef.org>
23962
23963         * check/Makefile.am: remove GstData checks
23964         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
23965         * gst/Makefile.am: add miniobject, remove data
23966         * gst/gst.h: add miniobject, remove data
23967         * gst/gstdata.c: remove
23968         * gst/gstdata.h: remove
23969         * gst/gstdata_private.h: remove
23970         * gst/gsttypes.h: remove GstEvent and GstMessage
23971         * gst/gstelement.c: (gst_element_post_message): fix for API changes
23972         * gst/gstmarshal.list: change BOXED -> OBJECT
23973
23974         Implement GstMiniObject.
23975         * gst/gstminiobject.c:
23976         * gst/gstminiobject.h:
23977
23978         Modify to be subclasses of GstMiniObject.
23979         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
23980         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
23981         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
23982         (gst_subbuffer_get_type), (gst_subbuffer_init),
23983         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
23984         (gst_buffer_span):
23985         * gst/gstbuffer.h:
23986         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
23987         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
23988         (_gst_event_copy), (gst_event_new):
23989         * gst/gstevent.h:
23990         * gst/gstmessage.c: (_gst_message_initialize),
23991         (gst_message_get_type), (gst_message_class_init),
23992         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
23993         (gst_message_new), (gst_message_new_error),
23994         (gst_message_new_warning), (gst_message_new_tag),
23995         (gst_message_new_state_changed), (gst_message_new_application):
23996         * gst/gstmessage.h:
23997         * gst/gstprobe.c: (gst_probe_perform),
23998         (gst_probe_dispatcher_dispatch):
23999         * gst/gstprobe.h:
24000         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24001         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24002         (_gst_query_copy), (gst_query_new):
24003
24004         Update elements for GstData -> GstMiniObject changes
24005         * gst/gstquery.h:
24006         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24007         (gst_queue_chain), (gst_queue_loop):
24008         * gst/elements/gstbufferstore.c:
24009         (gst_buffer_store_add_buffer_func),
24010         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24011         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24012         (gst_fakesink_render):
24013         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24014         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24015         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24016         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24017         (gst_filesrc_create_read):
24018         * gst/elements/gstidentity.c: (gst_identity_class_init):
24019         * gst/elements/gsttypefindelement.c:
24020         (gst_type_find_element_src_event), (free_entry_buffers),
24021         (gst_type_find_element_handle_event):
24022         * libs/gst/dataprotocol/dataprotocol.c:
24023         (gst_dp_header_from_buffer):
24024         * libs/gst/dataprotocol/dataprotocol.h:
24025         * libs/gst/dataprotocol/dp-private.h:
24026
24027 2005-05-15  David Schleef  <ds@schleef.org>
24028
24029         * gst/elements/gstelements.c: Don't include headers that were
24030         just removed.
24031
24032 2005-05-15  David Schleef  <ds@schleef.org>
24033
24034         * gst/elements/Makefile.am: Remove some elements that don't
24035         need to be in the core (or even exist at all).
24036         * gst/elements/gstaggregator.c:
24037         * gst/elements/gstaggregator.h:
24038         * gst/elements/gstmd5sink.c:
24039         * gst/elements/gstmd5sink.h:
24040         * gst/elements/gstmultifilesrc.c:
24041         * gst/elements/gstmultifilesrc.h:
24042         * gst/elements/gstpipefilter.c:
24043         * gst/elements/gstpipefilter.h:
24044         * gst/elements/gstshaper.c:
24045         * gst/elements/gstshaper.h:
24046         * gst/elements/gststatistics.c:
24047         * gst/elements/gststatistics.h:
24048         * po/POTFILES.in: Remove above files.
24049
24050 2005-05-14  Andy Wingo  <wingo@pobox.com>
24051
24052         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24053         so as to get the refs right.
24054         (sink_iterator_filter): New function, wraps bin_element_is_sink,
24055         unreffing objects that don't pass the filter.
24056
24057         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24058         gst_element_set_bus.
24059         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24060         normal cases, this will destroy the bus.
24061
24062         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24063         object.
24064
24065         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24066         has no sinks.
24067
24068 2005-05-13  Andy Wingo  <wingo@pobox.com>
24069
24070         * gst/gstutils.c (gst_element_link_pads): Instead of calling
24071         gst_pad_link, call pad_link_maybe_ghosting,
24072         (pad_link_maybe_ghosting): Links pads, making sure that the
24073         elements being linked are in the same bin.
24074         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24075         Helpers for pad_link_maybe_ghosting.
24076
24077 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24078
24079         * configure.ac:
24080           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24081
24082 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
24083
24084         * docs/design/part-element-source.txt:
24085           Mention GstPushSrc
24086
24087 2005-05-12  Wim Taymans  <wim@fluendo.com>
24088
24089         * gst/base/gstbasesink.c: (gst_basesink_init),
24090         (gst_basesink_activate):
24091         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24092         (gst_basesrc_is_seekable):
24093         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24094         (bin_element_is_sink), (gst_bin_change_state):
24095         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24096         * gst/gstelement.h:
24097         Identify sinks by their flag to avoid overly complicated
24098         checks (fow now).
24099         Do state changes even for elements not reachable from the
24100         sinks.
24101         BaseSink is a sink now :)
24102         Some more debugging info in the basesrc.
24103
24104
24105 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24106
24107         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24108           Implement _query on a bin, similar to _send_event.
24109
24110 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
24111
24112         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24113           Discont event offset format should be GST_FORMAT_BYTES,
24114           not GST_FORMAT_TIME.
24115
24116 2005-05-12  Wim Taymans  <wim@fluendo.com>
24117
24118         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24119         Same fix as Ronald's but without the signal. 
24120
24121 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24122
24123         * gst/gstutils.c: (gst_element_query_position):
24124           No, an element is not a pad.
24125
24126 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24127
24128         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24129         (gst_bin_get_state):
24130           If a child is removed from a bin while we remove the child from
24131           the bin and while we're retrieving its state, signal this to the
24132           get_state function so we abort the wait (instead of waiting for
24133           a timeout) and can immediately re-iterate over all other elements.
24134
24135 2005-05-12  Wim Taymans  <wim@fluendo.com>
24136
24137         * gst/base/Makefile.am:
24138         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24139         (gst_basesrc_start):
24140         * gst/base/gstbasesrc.h:
24141         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24142         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24143         (gst_pushsrc_init), (gst_pushsrc_create):
24144         * gst/base/gstpushsrc.h:
24145         Added is_seekable to BaseSrc
24146         Added simple PushSrc.
24147
24148 2005-05-11  Wim Taymans  <wim@fluendo.com>
24149
24150         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24151         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24152         (gst_element_link_pads), (gst_element_query_position),
24153         (gst_element_query_convert), (intersect_caps_func),
24154         (gst_pad_query_position), (gst_pad_query_convert):
24155         Fix refcounting in utils function.
24156         No point in trying to activate a pad when it's added, it could
24157         be added from the state change function and then we deadlock, the
24158         element has to decide what to do.
24159
24160 2005-05-10  Andy Wingo  <wingo@pobox.com>
24161
24162         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24163         *all* the arguments.
24164
24165         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24166         stream lock if it's a FLUSH_DONE; normal flushes don't get the
24167         lock (according to the docs -- if this is wrong change the docs).
24168
24169         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24170         flush messages in the NULL state.
24171
24172         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24173         message immediately and return.
24174         (gst_bus_set_flushing): New function. If a bus is flushing, it
24175         flushes out any queued messages and immediately unrefs new
24176         messages. This is so when an element goes to NULL, all of the
24177         unhandled messages coming from it can be freed, and their
24178         references to the element dropped. In other words: message source
24179         ref considered harmful :P
24180
24181         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24182         we're finished with it.
24183
24184         * gst/gstmessage.c (gst_message_new_state_changed): 
24185
24186 2005-05-10  Wim Taymans  <wim@fluendo.com>
24187
24188         * gst/gstvalue.c: (gst_value_compare_flags),
24189         (gst_value_serialize_flags), (gst_value_deserialize_flags),
24190         (_gst_value_initialize):
24191         Added flags serialize/deserialize/compare code.
24192
24193 2005-05-09  Andy Wingo  <wingo@pobox.com>
24194
24195         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24196         Intersect the peer's caps with our caps.
24197
24198 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24199
24200         * gst/base/gsttypefindhelper.c: (helper_find_peek):
24201         * gst/elements/gsttypefindelement.c: (find_peek):
24202           Handle negative offsets better. Fixes decodebin.
24203
24204 2005-05-09  Wim Taymans  <wim@fluendo.com>
24205
24206         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24207         (gst_base_transform_event):
24208         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24209         Implement accept_caps.
24210         Fix silly lock/unlock mismatch in base class.
24211
24212 2005-05-09  Wim Taymans  <wim@fluendo.com>
24213
24214         * docs/design/draft-push-pull.txt:
24215         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24216         * gst/elements/gstfilesink.c: (gst_filesink_init),
24217         (gst_filesink_query):
24218         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24219         (gst_type_find_handle_src_query), (find_element_get_length):
24220         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24221         * gst/gstelement.h:
24222         * gst/gstmessage.c:
24223         * gst/gstmessage.h:
24224         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24225         (gst_real_pad_get_caps_unlocked),
24226         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24227         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24228         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24229         (gst_real_pad_dispose), (gst_real_pad_finalize),
24230         (gst_pad_load_and_link), (gst_pad_save_thyself),
24231         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24232         (gst_pad_check_pull_range), (gst_pad_pull_range),
24233         (gst_pad_template_get_type), (gst_pad_template_class_init),
24234         (gst_pad_template_init), (gst_pad_template_dispose),
24235         (name_is_valid), (gst_static_pad_template_get),
24236         (gst_pad_template_new), (gst_static_pad_template_get_caps),
24237         (gst_pad_template_get_caps), (gst_pad_set_element_private),
24238         (gst_pad_get_element_private), (gst_pad_start_task),
24239         (gst_pad_pause_task), (gst_pad_stop_task),
24240         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24241         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24242         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24243         (gst_ghost_pad_new):
24244         * gst/gstpad.h:
24245         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24246         (gst_query_new_position), (gst_query_set_position),
24247         (gst_query_parse_position), (gst_query_new_convert),
24248         (gst_query_set_convert), (gst_query_parse_convert):
24249         * gst/gstquery.h:
24250         * gst/gstqueryutils.c:
24251         * gst/gstqueryutils.h:
24252         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24253         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24254         (gst_queue_handle_src_query):
24255         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24256         (gst_element_query_position), (gst_element_query_convert),
24257         (intersect_caps_func), (gst_pad_query_position),
24258         (gst_pad_query_convert):
24259         * gst/gstutils.h:
24260         * tools/gst-inspect.c: (print_pad_info):
24261         * tools/gst-xmlinspect.c: (print_element_info):
24262         Remove old query functions. Ported old code.
24263         Added position/convert helper functions to gstutils.
24264         Reordered gstpad.c code, grouping relevant things.
24265         Remove gst_message_new(), always need to speficy a specific
24266         message.
24267
24268
24269 2005-05-09  Andy Wingo  <wingo@pobox.com>
24270
24271         * gst/gstiterator.h: Add some includes.
24272
24273         * gst/gstqueryutils.h: Include more headers.
24274
24275         * gst/gstpad.h:
24276         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24277         some uses of gst_pad_query.
24278
24279         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24280         NULL out parameters.
24281         (gst_query_new_position): New proc, allocates a new position
24282         query.
24283
24284         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24285         gstqueryutils.c to the build.
24286
24287         * gst/gststructure.c (gst_structure_set_valist): Implement with
24288         the generic G_VALUE_COLLECT.
24289         
24290 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
24291
24292         * gst/Makefile.am: (gst_headers):
24293         Added gstqueryutils.h to the list of headers to install, that was
24294         a 'nachty' move wingo :)
24295
24296 2005-05-06  Andy Wingo  <wingo@pobox.com>
24297
24298         * gst/gstquery.h
24299         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24300         GstData, init a memchunk.
24301         (standard_definitions): Add a few query types, deprecate a few.
24302         (gst_query_get_type): New proc.
24303         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24304         implementation.
24305         (gst_query_new_application, gst_query_get_structure): New public
24306         procs.
24307
24308         * docs/design/draft-query.txt: Removed LINKS from the query types,
24309         because all the rest can be dispatched to other pads -- seemed
24310         ugly to have a query that couldn't be dispatched. internal_links
24311         is fine as a pad method.
24312
24313         * gst/gstpad.h: Add query2 as a pad method, add the new functions
24314         in gstpad.c, but maintain binary compatibility for the moment.
24315         Will fix before 0.9 is out.
24316
24317         * gst/gstqueryutils.c: 
24318         * gst/gstqueryutils.h: New files, implement 3 methods for each
24319         query type: parse_query, parse_response, and set. Probably need an
24320         allocator as well.
24321
24322         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24323
24324         * gst/elements/gstfilesink.c (gst_filesink_query2):
24325         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24326         query_types, and formats methods.
24327
24328         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24329         (gst_pad_set_query2_function): New functions.
24330         (gst_real_pad_init): Set query2_default as the default query2
24331         function. Basically just dispatches to internally linked pads.
24332
24333         Needs review!
24334         
24335         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24336         without using the atomic operations. Only one thread can possibly
24337         be accessing the data at this point. Changed so as to avoid
24338         gst_atomic operations.
24339
24340 2005-05-06  Wim Taymans  <wim@fluendo.com>
24341
24342         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24343         Also set caps if we use the fallback buffer alloc.
24344
24345 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
24346
24347         * docs/gst/Makefile.am:
24348         * docs/gst/gstreamer-docs.sgml:
24349         * docs/gst/gstreamer-sections.txt:
24350         * docs/gst/tmpl/gstatomic.sgml:
24351         * docs/gst/tmpl/gstmemchunk.sgml:
24352         * testsuite/elements/struct_i386.h:
24353         * win32/GStreamer.vcproj:
24354         * win32/Makefile:
24355           Purge GstAtomic stuff from docs and win32 makefiles as well
24356
24357 2005-05-06  Wim Taymans  <wim@fluendo.com>
24358
24359         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24360         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24361         * gst/gstpad.c: (gst_pad_peer_get_caps):
24362         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24363         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24364         (gst_queue_src_activate), (gst_queue_change_state):
24365         * gst/gstqueue.h:
24366         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24367         (intersect_caps_func):
24368         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24369         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24370         Some fixes for the peer_get_caps() change.
24371
24372 2005-05-06  Wim Taymans  <wim@fluendo.com>
24373
24374         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24375         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24376         (gst_basesink_activate):
24377         Actually do something with error codes returned from the push
24378         functions.
24379
24380 2005-05-06  Wim Taymans  <wim@fluendo.com>
24381
24382         * docs/design/part-element-sink.txt:
24383         * docs/design/part-element-source.txt:
24384         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24385         (gst_basesink_event), (gst_basesink_activate):
24386         * gst/base/gstbasesink.h:
24387         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24388         (gst_basesrc_activate):
24389         * gst/base/gstbasesrc.h:
24390         * gst/gstelement.c: (gst_element_pads_activate):
24391         Some more documentation.
24392         Fixed scheduling decision in _pads_activate().
24393
24394 2005-05-05  Andy Wingo  <wingo@pobox.com>
24395
24396         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24397         the test suite.
24398
24399 2005-05-05  Wim Taymans  <wim@fluendo.com>
24400
24401         * gst/base/Makefile.am:
24402         * gst/base/gstbasesink.h:
24403         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24404         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24405         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24406         (gst_collectpads_class_init), (gst_collectpads_init),
24407         (gst_collectpads_finalize), (gst_collectpads_new),
24408         (gst_collectpads_set_function), (gst_collectpads_add_pad),
24409         (find_pad), (gst_collectpads_remove_pad),
24410         (gst_collectpads_is_active), (gst_collectpads_collect),
24411         (gst_collectpads_collect_range), (gst_collectpads_start),
24412         (gst_collectpads_stop), (gst_collectpads_peek),
24413         (gst_collectpads_pop), (gst_collectpads_available),
24414         (gst_collectpads_read), (gst_collectpads_flush),
24415         (gst_collectpads_chain):
24416         * gst/base/gstcollectpads.h:
24417         * gst/elements/Makefile.am:
24418         * gst/elements/gstelements.c:
24419         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24420         (gst_fakesink_get_times), (gst_fakesink_event),
24421         (gst_fakesink_preroll), (gst_fakesink_render):
24422         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24423         (gst_filesink_init), (gst_filesink_set_location),
24424         (gst_filesink_open_file), (gst_filesink_close_file),
24425         (gst_filesink_pad_query), (gst_filesink_event),
24426         (gst_filesink_render), (gst_filesink_change_state):
24427         * gst/elements/gstfilesink.h:
24428         Added object to help in making collect pad based elements.
24429         Ported filesink.
24430         Make event function in sink baseclass return gboolean.
24431
24432 2005-05-05  Wim Taymans  <wim@fluendo.com>
24433
24434         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24435         (gst_bin_get_by_name):
24436         * gst/gstbuffer.h:
24437         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24438         (gst_clock_finalize):
24439         * gst/gstdata.c: (gst_data_replace):
24440         * gst/gstdata.h:
24441         * gst/gstelement.c: (gst_element_request_pad),
24442         (gst_element_pads_activate):
24443         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24444         (gst_object_unref):
24445         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24446         (gst_pad_set_checkgetrange_function),
24447         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24448         (gst_pad_check_pull_range), (gst_pad_pull_range),
24449         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24450         (gst_pad_pause_task), (gst_pad_stop_task):
24451         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24452         (gst_element_request_pad), (gst_pad_proxy_getcaps):
24453         Fix name lookup in GstBin.
24454         Added _data_replace() function and _buffer_replace()
24455         Use finalize method to clean up clock.
24456         Fix refcounting on request pads.
24457         Fix pad schedule mode error.
24458         Some more object refcounting debug info,
24459
24460
24461 2005-05-04  Andy Wingo <wingo@pobox.com>
24462
24463         * check/Makefile.am:
24464         * docs/gst/tmpl/gstatomic.sgml:
24465         * docs/gst/tmpl/gstplugin.sgml:
24466         * gst/base/gstbasesink.c: (gst_basesink_activate):
24467         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24468         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24469         (gst_basesrc_query), (gst_basesrc_set_property),
24470         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24471         (gst_basesrc_activate):
24472         * gst/base/gstbasesrc.h:
24473         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24474         (gst_base_transform_src_activate):
24475         * gst/elements/gstelements.c:
24476         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24477         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24478         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24479         * gst/elements/gsttypefindelement.c: (find_element_get_length),
24480         (gst_type_find_element_checkgetrange),
24481         (gst_type_find_element_activate):
24482         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24483         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24484         (gst_caps_load_thyself):
24485         * gst/gstelement.c: (gst_element_pads_activate),
24486         (gst_element_save_thyself), (gst_element_restore_thyself):
24487         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24488         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24489         * gst/gstpad.h:
24490         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24491         (gst_xml_parse_file), (gst_xml_parse_memory),
24492         (gst_xml_get_element), (gst_xml_make_element):
24493         * gst/indexers/gstfileindex.c: (gst_file_index_load),
24494         (_file_index_id_save_xml), (gst_file_index_commit):
24495         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
24496         (read_enum), (load_pad_template), (load_feature), (load_plugin),
24497         (load_paths):
24498         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
24499         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
24500         * tools/gst-complete.c: (main):
24501         * tools/gst-compprep.c: (main):
24502         * tools/gst-inspect.c: (print_element_properties_info):
24503         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
24504         * tools/gst-xmlinspect.c: (print_element_properties):
24505         GCC 4 fixen.
24506         
24507 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24508
24509         * gst/gstplugin.c: (gst_plugin_check_module),
24510         (gst_plugin_check_file), (gst_plugin_load_file):
24511             apply patch from #172526 to make register work on MacOSX
24512
24513 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24514
24515         * docs/gst/tmpl/gstconfig.sgml:
24516         * gst/gstconfig.h.in:
24517           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
24518         * testsuite/debug/printf_extension.c: (main):
24519           Do not use GST_PTR_FORMAT on pointers to types with
24520           sizeof < sizeof(gpointer).  Fixes test on 64-bit
24521         * testsuite/elements/property.h:
24522           use correct printf format
24523
24524 2005-05-02  Wim Taymans  <wim@fluendo.com>
24525
24526         * docs/design/draft-push-pull.txt:
24527         * docs/design/draft-query.txt:
24528         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
24529         (gst_basesrc_start):
24530         Added draft for new query API.
24531         Added draft for better selecting scheduling methods.
24532         Make basesrc ignore length if the subclass does not support
24533         it.
24534
24535 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24536
24537         * gst/Makefile.am:
24538           possible fixes for automake-1.5 - _LIBADD is reserved
24539
24540 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24541
24542         * docs/faq/Makefile.am:
24543         * docs/manual/Makefile.am:
24544         * docs/manuals.mak:
24545         * docs/pwg/Makefile.am:
24546         * gst/Makefile.am:
24547           possible fixes for automake-1.5
24548
24549 2005-04-28  Wim Taymans  <wim@fluendo.com>
24550
24551         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24552         (gst_basesink_pad_getcaps), (gst_basesink_init),
24553         (gst_basesink_do_sync):
24554         * gst/gstclock.c: (gst_clock_entry_new):
24555         * gst/gstevent.c: (gst_event_discont_get_value):
24556         * gst/gstpipeline.c: (pipeline_bus_handler),
24557         (gst_pipeline_change_state):
24558         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
24559         Better debugging of clocking info.
24560         Allow NULL values when getting discont values.
24561
24562 2005-04-27  Wim Taymans  <wim@fluendo.com>
24563
24564         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24565         * check/gst/gstpad.c: (gst_pad_suite):
24566         Increase timeout for checks.
24567
24568 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24569
24570         * check/Makefile.am:
24571           fix the broken rule for cleanup.  Apparently this rule is
24572           only needed on FC2, so maybe this warrants further autotool
24573           inspection.
24574
24575 2005-04-26  Wim Taymans  <wim@fluendo.com>
24576
24577         * gst/gsttrashstack.h:
24578         Ooohh. a nasty one! After having a failed pop() from the stack,
24579         it's possible that the stack is empty. In that case, don't
24580         follow the NULL pointer.
24581
24582 2005-04-25  Wim Taymans  <wim@fluendo.com>
24583
24584         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24585         (gst_pad_set_checkgetrange_function),
24586         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
24587         (gst_pad_check_pull_range), (gst_pad_pull_range),
24588         (gst_static_pad_template_get_caps), (gst_pad_start_task),
24589         (gst_pad_pause_task), (gst_pad_stop_task):
24590         * gst/gstplugin.c: (gst_plugin_load):
24591         * gst/gstplugin.h:
24592         Remove gst_library_load as it does more harm than good with
24593         the new g_module flags.
24594         Revert bogus caps template check in pad linking, pad caps
24595         are important when linking not the template, which is more
24596         general than the current caps.
24597
24598 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24599
24600         * gst/autoplug/.cvsignore:
24601         * gst/autoplug/Makefile.am:
24602         * gst/autoplug/gstsearchfuncs.c:
24603         * gst/autoplug/gstsearchfuncs.h:
24604         * gst/autoplug/gstspider.c:
24605         * gst/autoplug/gstspider.h:
24606         * gst/autoplug/gstspideridentity.c:
24607         * gst/autoplug/gstspideridentity.h:
24608         * gst/autoplug/spidertest.c:
24609           Die, spider, die.
24610
24611 2005-04-25  Wim Taymans  <wim@fluendo.com>
24612
24613         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24614         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24615         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
24616         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
24617         * gst/gstpad.h:
24618         Added stubs for unimplemented functions. 
24619
24620 2005-04-24  David Schleef  <ds@schleef.org>
24621
24622         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
24623         please fix.
24624
24625 2005-04-24  David Schleef  <ds@schleef.org>
24626
24627         Convert everything from GstAtomicInt to g_atomic_int_*, and
24628         remove gstatomic.
24629         * gst/Makefile.am:
24630         * gst/gstatomic.c:
24631         * gst/gstatomic.h:
24632         * gst/gstatomic_impl.h:
24633         * gst/gstbuffer.c:
24634         * gst/gstcaps.c:
24635         * gst/gstcaps.h:
24636         * gst/gstclock.c:
24637         * gst/gstclock.h:
24638         * gst/gstdata.c:
24639         * gst/gstdata.h:
24640         * gst/gstdata_private.h:
24641         * gst/gstevent.c:
24642         * gst/gstinfo.c:
24643         * gst/gstinfo.h:
24644         * gst/gstmessage.c:
24645         * gst/gstobject.c:
24646         * gst/gstobject.h:
24647         * gst/gststructure.c:
24648         * gst/gststructure.h:
24649         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
24650         * gst/gstutils.h:
24651
24652 2005-04-24  David Schleef  <ds@schleef.org>
24653
24654         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
24655         make the regressions tests work.  Remove some code that is no
24656         longer true.
24657         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
24658         Disable warning for pads without templates.
24659
24660 2005-04-24  David Schleef  <ds@schleef.org>
24661
24662         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
24663         functions that handle filtered links.
24664         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
24665         removed functions.
24666         * gst/gstutils.c: Fix/remove utility functions that handle
24667         filtered caps.
24668         * gst/gstutils.h:
24669         * gst/gstvalue.c: Add serialization/deserialization of caps
24670         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
24671         requires fixing so that the filter caps notation creates
24672         a capsfilter element and sets the filter_caps property.  I
24673         think everyone probably wants to keep the shorthand notation.
24674         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
24675         * docs/gst/tmpl/gstpad.sgml:
24676
24677         * gst/elements/gstelements.c: Register capsfilter element.
24678         * gst/Makefile.am: fix spacing
24679         * docs/random/ds/0.9-suggested-changes: random
24680
24681 2005-04-23  David Schleef  <ds@schleef.org>
24682
24683         * gst/elements/Makefile.am:
24684         * gst/elements/gstcapsfilter.c: New element that acts like an
24685         identity, but filters caps.  Will eventually replace filtered
24686         caps in pad linking.
24687         * gst/gstutils.c: (gst_element_create_all_pads): New function
24688         to create all the ALWAYS pads that are registered with an
24689         element class.  This functionality should eventually be
24690         merged in with GstElement initialization.
24691         * gst/gstutils.h:
24692         * testsuite/trigger/README: part of trigger test code that should
24693         have been checked in a long time ago.
24694
24695 2005-04-23  David Schleef  <ds@schleef.org>
24696
24697         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
24698         needed with new versions of libtool (nobody will confirm this),
24699         and hard to carry around.
24700         * gst/autoplug/Makefile.am:
24701         * gst/base/Makefile.am:
24702         * gst/elements/Makefile.am:
24703         * gst/indexers/Makefile.am:
24704         * gst/schedulers/Makefile.am:
24705         * libs/gst/bytestream/Makefile.am:
24706         * libs/gst/control/Makefile.am:
24707         * libs/gst/dataprotocol/Makefile.am:
24708         * libs/gst/getbits/Makefile.am:
24709
24710 2005-04-21  Wim Taymans  <wim@fluendo.com>
24711
24712         * docs/design/draft-push-pull.txt:
24713         * docs/design/part-MT-refcounting.txt:
24714         * docs/design/part-TODO.txt:
24715         * docs/design/part-caps.txt:
24716         * docs/design/part-events.txt:
24717         * docs/design/part-gstbus.txt:
24718         * docs/design/part-gstpipeline.txt:
24719         * docs/design/part-messages.txt:
24720         * docs/design/part-push-pull.txt:
24721         * docs/design/part-query.txt:
24722         Some more docs.
24723
24724 2005-04-21  Wim Taymans  <wim@fluendo.com>
24725
24726         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24727         (gst_message_new), (gst_message_new_error),
24728         (gst_message_new_warning), (gst_message_new_tag),
24729         (gst_message_new_state_changed), (gst_message_new_application),
24730         (gst_message_get_structure):
24731         * gst/gstmessage.h:
24732         * gst/gststructure.c: (gst_structure_set_parent_refcount),
24733         (gst_structure_copy_conditional):
24734         Use parent refcount in GstMessage to ensure GstStructure
24735         consistency.
24736         Cleaned up headers a bit.
24737         
24738
24739 2005-04-20  Wim Taymans  <wim@fluendo.com>
24740
24741         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24742         (gst_basesink_pad_getcaps), (gst_basesink_init),
24743         (gst_basesink_chain_unlocked):
24744         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24745         (gst_type_find_helper):
24746         * gst/elements/gsttypefindelement.c:
24747         (gst_type_find_element_have_type), (gst_type_find_element_init),
24748         (stop_typefinding), (gst_type_find_element_handle_event),
24749         (find_suggest), (gst_type_find_element_chain),
24750         (gst_type_find_element_checkgetrange),
24751         (gst_type_find_element_getrange), (do_typefind),
24752         (gst_type_find_element_activate):
24753         * gst/gstbuffer.c: (_gst_buffer_sub_free),
24754         (gst_buffer_default_free), (gst_buffer_default_copy),
24755         (gst_buffer_set_caps):
24756         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24757         (gst_caps_replace):
24758         * gst/gstmessage.c: (gst_message_new),
24759         (gst_message_new_state_changed):
24760         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24761         (gst_pad_set_checkgetrange_function),
24762         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24763         (gst_pad_set_caps), (gst_pad_check_pull_range),
24764         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24765         * gst/gstpad.h:
24766         * gst/gsttypefind.c: (gst_type_find_register):
24767         Make gst_caps_replace() work like other _replace() functions.
24768         Use _caps_replace() where possible.
24769         Make sure _message_new() initialises its field.
24770         Add gst_static_pad_template_get_caps()
24771
24772
24773 2005-04-18  Andy Wingo  <wingo@pobox.com>
24774
24775         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24776         on the peer, not the pad. I think that was a typo. Pass an extra
24777         arg to see if random access is possible. Activate the pads as
24778         PULL_RANGE if possible.
24779
24780         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24781
24782         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
24783         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
24784         to PROP_....
24785
24786 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24787
24788         * docs/faq/using.xml:
24789           Add note on gstreamer-properties (#154996).
24790
24791 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24792
24793         * docs/random/bbb/optional-properties:
24794           Some analysis on optional properties.
24795
24796 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24797
24798         * docs/gst/tmpl/gstelementfactory.sgml:
24799         * gst/gstelement.h:
24800         * gst/gstelementfactory.c: (gst_element_factory_init),
24801         (gst_element_factory_cleanup), (gst_element_register),
24802         (__gst_element_factory_add_static_pad_template),
24803         (gst_element_factory_get_static_pad_templates),
24804         (gst_element_factory_can_src_caps),
24805         (gst_element_factory_can_sink_caps):
24806         * gst/registries/Makefile.am:
24807         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
24808         (gst_xml_registry_class_init), (gst_xml_registry_init),
24809         (gst_xml_registry_new), (gst_xml_registry_set_property),
24810         (gst_xml_registry_get_property), (get_time), (make_dir),
24811         (gst_xml_registry_get_perms_func),
24812         (plugin_times_older_than_recurse), (plugin_times_older_than),
24813         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
24814         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
24815         (add_to_char_array), (read_string), (read_uint), (read_enum),
24816         (load_pad_template), (load_feature), (load_plugin), (load_paths),
24817         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
24818         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
24819         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
24820         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
24821         (gst_xml_registry_rebuild):
24822         * gst/registries/gstlibxmlregistry.h:
24823         * tools/gst-compprep.c: (main):
24824         * tools/gst-inspect.c: (print_pad_templates_info):
24825         * tools/gst-xmlinspect.c: (print_element_info):
24826           Use libxml2 for registry parsing, use staticpadtemplates in
24827           elementfactories. Makes gst_init() +/- 10x faster.
24828
24829 2005-04-12  Wim Taymans  <wim@fluendo.com>
24830
24831         * gst/base/Makefile.am:
24832         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24833         (gst_basesink_pad_getcaps), (gst_basesink_init),
24834         (gst_basesink_event), (gst_basesink_change_state):
24835         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24836         (gst_basesrc_init), (gst_basesrc_query),
24837         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24838         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24839         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24840         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24841         (gst_basesrc_stop), (gst_basesrc_activate),
24842         (gst_basesrc_change_state):
24843         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24844         (helper_find_suggest), (gst_type_find_helper):
24845         * gst/base/gsttypefindhelper.h:
24846         * gst/elements/Makefile.am:
24847         * gst/elements/gstelements.c:
24848         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24849         (gst_fakesink_get_times), (gst_fakesink_event),
24850         (gst_fakesink_preroll), (gst_fakesink_render):
24851         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24852         (gst_fakesrc_init), (gst_fakesrc_event_handler),
24853         (gst_fakesrc_get_property), (gst_fakesrc_create),
24854         (gst_fakesrc_start), (gst_fakesrc_stop):
24855         * gst/elements/gstfakesrc.h:
24856         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
24857         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24858         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24859         (gst_filesrc_create_read), (gst_filesrc_create),
24860         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
24861         (gst_filesrc_start):
24862         * gst/elements/gsttypefindelement.c:
24863         (gst_type_find_element_have_type), (gst_type_find_element_init),
24864         (start_typefinding), (stop_typefinding), (push_buffer_store),
24865         (gst_type_find_element_handle_event),
24866         (gst_type_find_element_chain),
24867         (gst_type_find_element_checkgetrange),
24868         (gst_type_find_element_getrange), (do_typefind),
24869         (gst_type_find_element_activate),
24870         (gst_type_find_element_change_state):
24871         * gst/elements/gsttypefindelement.h:
24872         * gst/gstpipeline.c: (pipeline_bus_handler):
24873         Added typefind helper.
24874         Small preroll fix in the base sink.
24875         Disable typefind code in basesrc.
24876         Crude port of typefindelement.
24877         Fakesrc cleanups.
24878
24879
24880 2005-04-11  Wim Taymans  <wim@fluendo.com>
24881
24882         * check/gst/gstbus.c: (gstbus_suite):
24883         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
24884         * check/gstcheck.h:
24885           Fix up the timeout so that the test does not fail.
24886
24887 2005-04-06  Wim Taymans  <wim@fluendo.com>
24888
24889         * gst/base/README:
24890         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24891         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
24892         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24893         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24894         (gst_basesrc_check_get_range), (gst_basesrc_loop),
24895         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24896         (gst_basesrc_stop), (gst_basesrc_activate),
24897         (gst_basesrc_change_state), (basesrc_find_peek),
24898         (basesrc_find_suggest), (gst_basesrc_type_find):
24899         * gst/base/gstbasesrc.h:
24900         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
24901         (gst_filesrc_class_init), (gst_filesrc_init),
24902         (gst_filesrc_finalize), (gst_filesrc_set_location),
24903         (gst_filesrc_set_property), (gst_filesrc_get_property),
24904         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24905         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24906         (gst_filesrc_create_read), (gst_filesrc_create),
24907         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
24908         * gst/elements/gstfilesrc.h:
24909         * gst/gstelement.c: (gst_element_get_state_func),
24910         (gst_element_lost_state), (gst_element_pads_activate):
24911         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24912         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24913         (gst_pad_pull_range):
24914         * gst/gstpad.h:
24915         More work on the generic source base class, implement seeking,
24916         query.
24917         Make filesrc extend the base source class.
24918         Added gst_pad_set_checkgetrange_function to GstPad.
24919
24920 2005-04-06  Andy Wingo  <wingo@pobox.com>
24921
24922         * pkgconfig/gstreamer-base.pc.in:
24923         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
24924
24925         * pkgconfig/Makefile.am:
24926         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
24927
24928 2005-04-04  Wim Taymans  <wim@fluendo.com>
24929
24930         * gst/base/Makefile.am:
24931         * gst/base/README:
24932         * gst/base/gstbasesink.c: (gst_basesink_base_init),
24933         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
24934         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
24935         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
24936         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24937         (gst_basesrc_base_init), (gst_basesrc_class_init),
24938         (gst_basesrc_init), (gst_basesrc_get_formats),
24939         (gst_basesrc_get_query_types), (gst_basesrc_query),
24940         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
24941         (gst_basesrc_set_property), (gst_basesrc_get_property),
24942         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
24943         (gst_basesrc_loop), (gst_basesrc_activate),
24944         (gst_basesrc_change_state):
24945         * gst/base/gstbasesrc.h:
24946         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
24947         (gst_fakesrc_class_init), (gst_fakesrc_init),
24948         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
24949         (gst_fakesrc_get_property), (gst_fakesrc_create):
24950         * gst/elements/gstfakesrc.h:
24951         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
24952         (gst_filesrc_open_file), (gst_filesrc_loop),
24953         (gst_filesrc_activate), (filesrc_find_peek),
24954         (gst_filesrc_type_find):
24955         Made base source class, make fakesrc extend it.
24956         Add comments to basesink class.
24957         Some filesrc cleanup.
24958
24959 2005-03-31  David Schleef  <ds@schleef.org>
24960
24961         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
24962         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
24963         expected to link against libgstreamer.
24964         * gst/base/Makefile.am: link against libgstreamer
24965         * gst/elements/Makefile.am: same
24966
24967 2005-03-31  Andy Wingo  <wingo@pobox.com>
24968
24969         * tests/instantiate/Makefile.am:
24970         * tests/instantiate/caps.c: Add test to test speed of caps copy
24971         and free.
24972
24973         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
24974         GMemChunk to be fair.
24975
24976         * gst/gsttrashstack.h: Remove warning about using the fallback
24977         trash stack implementation, it's still faster than malloc.
24978
24979 2005-03-30  Andy Wingo  <wingo@pobox.com>
24980
24981         * tests/complexity.c: Add a copyright.
24982
24983 2005-03-31  Wim Taymans  <wim@fluendo.com>
24984
24985         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
24986         (gst_base_transform_class_init), (gst_base_transform_init),
24987         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24988         (gst_base_transform_get_property),
24989         (gst_base_transform_sink_activate),
24990         (gst_base_transform_src_activate),
24991         (gst_base_transform_change_state):
24992         * gst/base/gstbasetransform.h:
24993         * gst/elements/gstidentity.c: (gst_identity_class_init),
24994         (gst_identity_event), (gst_identity_check_perfect),
24995         (gst_identity_transform), (gst_identity_start),
24996         (gst_identity_stop):
24997         Added start/stop methods to transform base class so subclasses 
24998         don't need to deal with state changes even.
24999
25000 2005-03-31  Wim Taymans  <wim@fluendo.com>
25001
25002         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25003         (gst_event_new_discontinuous), (gst_event_discont_get_value):
25004         * gst/gstevent.h:
25005         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25006         (gst_pad_pull_range):
25007         Added rate to the discont event to prepare for variable speed
25008         and reverse playback.
25009
25010 2005-03-29  David Schleef  <ds@schleef.org>
25011
25012         * configure.ac:
25013         * testsuite/trigger/Makefile.am:
25014         * testsuite/trigger/trigger.c: A little example program to show
25015         how trigger-based elements can work.
25016
25017 2005-03-29  Wim Taymans  <wim@fluendo.com>
25018
25019         * gst/base/Makefile.am:
25020         * gst/base/README:
25021         * gst/base/gstbasesink.c: (gst_basesink_get_type),
25022         (gst_basesink_base_init), (gst_basesink_class_init),
25023         (gst_basesink_pad_getcaps), (gst_basesink_init),
25024         (gst_basesink_activate), (gst_basesink_change_state):
25025         * gst/base/gstbasesink.h:
25026         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25027         (gst_base_transform_base_init), (gst_base_transform_finalize),
25028         (gst_base_transform_class_init), (gst_base_transform_init),
25029         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25030         (gst_base_transform_event), (gst_base_transform_getrange),
25031         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25032         (gst_base_transform_set_property),
25033         (gst_base_transform_get_property),
25034         (gst_base_transform_sink_activate),
25035         (gst_base_transform_src_activate),
25036         (gst_base_transform_change_state):
25037         * gst/base/gstbasetransform.h:
25038         * gst/elements/gstidentity.c: (gst_identity_finalize),
25039         (gst_identity_class_init), (gst_identity_init),
25040         (gst_identity_event), (gst_identity_check_perfect),
25041         (gst_identity_transform), (gst_identity_set_property),
25042         (gst_identity_get_property), (gst_identity_change_state):
25043         * gst/elements/gstidentity.h:
25044         * gst/gstelement.c: (gst_element_get_state_func),
25045         (gst_element_lost_state), (gst_element_pads_activate):
25046         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25047         (gst_pad_check_pull_range), (gst_pad_pull_range):
25048         * gst/gstpad.h:
25049         Simplify pad activation.
25050         Added function to check if pull_range can be performed.
25051         Error out when pulling inactive or flushing pads.
25052         Removed const from refcounted types as it does not make sense.
25053         Simplify pad templates in basesink
25054         Added base class for simple 1-to-1 transforms.
25055         Make identity subclass the base transform.
25056
25057 2005-03-29  Andy Wingo  <wingo@pobox.com>
25058
25059         * docs/libs/gstreamer-libs-overrides.txt: 
25060         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25061         really don't understand what's going on, but like whatever. I want
25062         green buildbot!
25063
25064         * docs/gst/Makefile.am:
25065         * docs/libs/Makefile.am: Dist the overrides files.
25066
25067         * check/Makefile.am (clean-local): Remove .libs directories.
25068
25069         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25070         elements to EXTRA_DIST, so po/ files are happy.
25071
25072         * po/POTFILES.in: Er, remove it here.
25073
25074         * po/POTFILES: Remove gstspider.c.
25075
25076         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25077
25078         * docs/libs/gstreamer-libs-docs.sgml: 
25079         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25080         bytestream.
25081
25082         * tests/complexity.c (main): Set the length of the preroll queue
25083         on the sinks to prevent a lockup.
25084
25085         * libs/gst/dataprotocol/Makefile.am: 
25086         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25087         the same as the one in check/gst-libs/gdp.c.
25088
25089         * po/, docs/gst/: Commit automatic changes to docs and po files.
25090
25091         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25092         the versioned libgstbase.
25093
25094         * check/Makefile.am: Depend on an unversioned gst-register, seems
25095         to make autoconf happier.
25096
25097         * gst/base/Makefile.am: Make libgstbase a versioned lib.
25098
25099 2005-03-28  Wim Taymans  <wim@fluendo.com>
25100
25101         * configure.ac:
25102         * docs/design/part-gstelement.txt:
25103         * docs/design/part-negotiation.txt:
25104         * docs/design/part-preroll.txt:
25105         * docs/design/part-scheduling.txt:
25106         * docs/design/part-states.txt:
25107         * gst/Makefile.am:
25108         * gst/base/Makefile.am:
25109         * gst/base/README:
25110         * gst/base/gstbasesink.c: (gst_basesink_get_template),
25111         (gst_basesink_base_init), (gst_basesink_class_init),
25112         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25113         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25114         (gst_basesink_set_pad_functions),
25115         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25116         (gst_basesink_set_property), (gst_basesink_get_property),
25117         (gst_base_sink_get_template), (gst_base_sink_get_caps),
25118         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25119         (gst_basesink_preroll_queue_push),
25120         (gst_basesink_preroll_queue_empty),
25121         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25122         (gst_basesink_event), (gst_basesink_get_times),
25123         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25124         (gst_basesink_chain_unlocked), (gst_basesink_chain),
25125         (gst_basesink_loop), (gst_basesink_activate),
25126         (gst_basesink_change_state):
25127         * gst/base/gstbasesink.h:
25128         * gst/elements/Makefile.am:
25129         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25130         (gst_fakesink_class_init), (gst_fakesink_init),
25131         (gst_fakesink_set_property), (gst_fakesink_get_property),
25132         (gst_fakesink_get_times), (gst_fakesink_event),
25133         (gst_fakesink_preroll), (gst_fakesink_render),
25134         (gst_fakesink_change_state):
25135         * gst/elements/gstfakesink.h:
25136         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25137         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25138         * gst/gstelement.c: (gst_element_add_pad),
25139         (gst_element_get_state_func), (gst_element_abort_state),
25140         (gst_element_commit_state), (gst_element_lost_state),
25141         (gst_element_set_state), (gst_element_pads_activate):
25142         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25143         * gst/gstpipeline.c: (gst_pipeline_send_event),
25144         (gst_pipeline_change_state):
25145         Added state change code.
25146         Added/updated docs.
25147         Added sink base class, make fakesink extend the base class.
25148         Small cleanups in GstPipeline.
25149
25150 2005-03-26  David Schleef  <ds@schleef.org>
25151
25152         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
25153         is broken and should be implemented in a different library.
25154         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25155         * gst/gst.h: remove gstcpu.h
25156         * gst/gstcpu.c: remove
25157         * gst/gstcpu.h: remove
25158         * gst/Makefile.am.future: Remove this file.  It's ancient.
25159
25160 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25161
25162         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25163         (gst_bin_send_event):
25164           Add default event/set_manager handlers. The set_manager handler
25165           takes care that the manager is distributed over kids that were
25166           already in the bin before the manager was set. The event handler
25167           is a utility virtual function that sends the event over all sinks,
25168           so that gst_element_send_event (bin, event); has the expected
25169           behaviour.
25170         * gst/gstpad.c: (gst_pad_event_default):
25171           Re-install default event handling for discontinuities, so that
25172           seeking works without requiring hacks in applications or extra
25173           code in sinks.
25174         * gst/gstpipeline.c: (gst_pipeline_class_init),
25175         (gst_pipeline_send_event):
25176           Half hack, half utility: set a pipeline to PAUSED for seek events,
25177           since that is the only way we can guarantee a/v sync. Means that
25178           you can do gst_element_seek (pipeline, method, pos); on a pipeline
25179           and it "just works".
25180
25181 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25182
25183         * gst/gstpipeline.c: (gst_pipeline_use_clock):
25184           Lock/unlock mismatch.
25185
25186 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25187
25188         * docs/faq/gst-uninstalled:
25189           add gst-plugins-base
25190         * docs/gst/Makefile.am:
25191           don't error out until docs are fixed
25192         * docs/gst/gstreamer.types:
25193           remove thread
25194
25195 2005-03-22  Wim Taymans  <wim@fluendo.com>
25196
25197         * check/Makefile.am:
25198         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25199         * gst/gststructure.c: (gst_structure_set_valist),
25200         (gst_structure_copy_conditional):
25201         Activated more tests.
25202         Added message test.
25203         Added G_TYPE_POINTER to GstStructure.
25204         
25205
25206 2005-03-22  Wim Taymans  <wim@fluendo.com>
25207
25208         * docs/design/part-TODO.txt:
25209         * docs/design/part-events.txt:
25210         * docs/design/part-gstbin.txt:
25211         * docs/design/part-gstbus.txt:
25212         * docs/design/part-gstpipeline.txt:
25213         * docs/design/part-messages.txt:
25214         * gst/gstbus.c:
25215         * gst/gstmessage.c:
25216         Docs updates
25217
25218 2005-03-21  Wim Taymans  <wim@fluendo.com>
25219
25220         * gst/gstbus.c: (gst_bus_post):
25221         Fix copy-and-paste error.
25222
25223 2005-03-21  Wim Taymans  <wim@fluendo.com>
25224
25225         * check/Makefile.am:
25226         * gst/Makefile.am:
25227         * gst/elements/Makefile.am:
25228         * gst/elements/gstelements.c:
25229         * gst/elements/gstfakesink.c: (gst_fakesink_init),
25230         (gst_fakesink_event), (gst_fakesink_chain):
25231         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25232         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25233         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25234         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25235         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25236         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25237         (gst_fakesrc_loop), (gst_fakesrc_activate),
25238         (gst_fakesrc_change_state):
25239         * gst/elements/gstfakesrc.h:
25240         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25241         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25242         (gst_filesrc_open_file), (gst_filesrc_loop),
25243         (gst_filesrc_activate), (gst_filesrc_change_state),
25244         (filesrc_find_peek), (filesrc_find_suggest),
25245         (gst_filesrc_type_find):
25246         * gst/elements/gstidentity.c: (gst_identity_finalize),
25247         (gst_identity_class_init), (gst_identity_init),
25248         (gst_identity_proxy_getcaps), (identity_queue_push),
25249         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25250         (gst_identity_getrange), (gst_identity_chain),
25251         (gst_identity_sink_loop), (gst_identity_src_loop),
25252         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25253         (gst_identity_set_property), (gst_identity_get_property),
25254         (gst_identity_change_state):
25255         * gst/elements/gstidentity.h:
25256         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25257         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25258         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25259         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25260         (gst_tee_sink_activate):
25261         * gst/elements/gsttee.h:
25262         * gst/gst.c: (gst_register_core_elements), (init_post):
25263         * gst/gst.h:
25264         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25265         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25266         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25267         (gst_bin_change_state):
25268         * gst/gstbin.h:
25269         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25270         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25271         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25272         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25273         (gst_bus_set_sync_handler), (gst_bus_create_watch),
25274         (bus_watch_callback), (bus_watch_destroy),
25275         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25276         (poll_timeout), (gst_bus_poll):
25277         * gst/gstbus.h:
25278         * gst/gstcaps.h:
25279         * gst/gstdata.h:
25280         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25281         (gst_element_post_message), (gst_element_message_full),
25282         (gst_element_get_state_func), (gst_element_get_state),
25283         (gst_element_abort_state), (gst_element_commit_state),
25284         (gst_element_lost_state), (gst_element_set_state),
25285         (gst_element_pads_activate), (gst_element_change_state),
25286         (gst_element_dispose), (gst_element_set_manager_func),
25287         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25288         (gst_element_set_manager), (gst_element_get_manager),
25289         (gst_element_set_bus), (gst_element_get_bus),
25290         (gst_element_set_scheduler), (gst_element_get_scheduler):
25291         * gst/gstelement.h:
25292         * gst/gstevent.c: (gst_event_new_segment_seek),
25293         (gst_event_new_flush):
25294         * gst/gstevent.h:
25295         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25296         (_gst_message_free), (gst_message_get_type), (gst_message_new),
25297         (gst_message_new_eos), (gst_message_new_error),
25298         (gst_message_new_warning), (gst_message_new_tag),
25299         (gst_message_new_state_changed), (gst_message_new_application),
25300         (gst_message_get_structure), (gst_message_parse_tag),
25301         (gst_message_parse_state_changed), (gst_message_parse_error),
25302         (gst_message_parse_warning):
25303         * gst/gstmessage.h:
25304         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25305         (gst_real_pad_set_property), (gst_pad_set_active),
25306         (gst_pad_is_active), (gst_pad_set_blocked_async),
25307         (gst_pad_set_blocked), (gst_pad_is_blocked),
25308         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25309         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25310         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25311         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25312         (gst_pad_link_filtered), (gst_pad_relink_filtered),
25313         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25314         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25315         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25316         (gst_pad_set_caps), (gst_pad_configure_sink),
25317         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25318         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25319         (gst_real_pad_dispose), (gst_real_pad_finalize),
25320         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25321         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25322         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25323         * gst/gstpad.h:
25324         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25325         (pipeline_bus_handler), (gst_pipeline_change_state),
25326         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25327         * gst/gstpipeline.h:
25328         * gst/gstprobe.h:
25329         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25330         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25331         (gst_queue_link_src), (gst_queue_bufferalloc),
25332         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25333         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25334         (gst_queue_loop), (gst_queue_handle_src_event),
25335         (gst_queue_handle_src_query), (gst_queue_src_activate),
25336         (gst_queue_change_state):
25337         * gst/gstqueue.h:
25338         * gst/gstscheduler.c: (gst_scheduler_init),
25339         (gst_scheduler_dispose), (gst_scheduler_create_task),
25340         (gst_scheduler_factory_create):
25341         * gst/gstscheduler.h:
25342         * gst/gststructure.c: (gst_structure_get_type),
25343         (gst_structure_copy_conditional):
25344         * gst/gststructure.h:
25345         * gst/gsttaginterface.h:
25346         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25347         (gst_task_init), (gst_task_dispose), (gst_task_create),
25348         (gst_task_get_state), (gst_task_start), (gst_task_stop),
25349         (gst_task_pause):
25350         * gst/gsttask.h:
25351         * gst/gstthread.c:
25352         * gst/gstthread.h:
25353         * gst/gsttypes.h:
25354         * gst/schedulers/Makefile.am:
25355         * gst/schedulers/cothreads_compat.h:
25356         * gst/schedulers/entryscheduler.c:
25357         * gst/schedulers/faircothreads.c:
25358         * gst/schedulers/faircothreads.h:
25359         * gst/schedulers/fairscheduler.c:
25360         * gst/schedulers/gstbasicscheduler.c:
25361         * gst/schedulers/gstoptimalscheduler.c:
25362         * gst/schedulers/gthread-cothreads.h:
25363         * gst/schedulers/threadscheduler.c:
25364         (gst_thread_scheduler_task_get_type),
25365         (gst_thread_scheduler_task_class_init),
25366         (gst_thread_scheduler_task_init),
25367         (gst_thread_scheduler_task_start),
25368         (gst_thread_scheduler_task_stop),
25369         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25370         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25371         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25372         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25373         (plugin_init):
25374         * libs/gst/Makefile.am:
25375         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25376         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25377         (gst_file_pad_parent_set):
25378         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25379         (gst_dp_event_from_packet):
25380         * tests/complexity.c: (main):
25381         * tests/mass_elements.c: (main):
25382         * testsuite/states/locked.c: (message_received), (main):
25383         * testsuite/states/parent.c: (main):
25384         * tools/gst-inspect.c: (print_element_flag_info),
25385         (print_implementation_info), (print_pad_info):
25386         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25387         (main):
25388         * tools/gst-md5sum.c: (event_loop), (main):
25389         * tools/gst-typefind.c: (main):
25390         * tools/gst-xmlinspect.c: (print_element_info):
25391         Next big merge.
25392         Added GstBus for mainloop integration.
25393         Added GstMessage for sending notifications on the bus.
25394         Added GstTask as an abstraction for pipeline entry points.
25395         Removed GstThread.
25396         Removed Schedulers.
25397         Simplified GstQueue for multithreaded core.
25398         Made _link threadsafe, removed old capsnego.
25399         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25400         Added pad blocking functions.
25401         Reworked scheduling functions in GstPad to prepare for
25402         scheduling updates soon.
25403         Moved events out of data stream.
25404         Simplified GstEvent types.
25405         Added return values to push/pull.
25406         Removed clocking from GstElement.
25407         Added prototypes for state change function for next merge.
25408         Removed iterate from bins and state change management.
25409         Fixed some elements, disabled others for now.
25410         Fixed -inspect and -launch.
25411         Added check for GstBus.
25412
25413 2005-03-10  Wim Taymans  <wim@fluendo.com>
25414
25415         * docs/design/part-MT-refcounting.txt:
25416         * docs/design/part-clocks.txt:
25417         * docs/design/part-gstelement.txt:
25418         * docs/design/part-gstobject.txt:
25419         * docs/design/part-standards.txt:
25420         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25421         (gst_bin_remove_func), (gst_bin_remove):
25422         * gst/gstbin.h:
25423         * gst/gstbuffer.c:
25424         * gst/gstcaps.h:
25425         * testsuite/clock/clock1.c: (main):
25426         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25427         (main):
25428         * testsuite/dlopen/loadgst.c: (do_test):
25429         * testsuite/refcounting/bin.c: (add_remove_test1),
25430         (add_remove_test2), (main):
25431         * testsuite/refcounting/element.c: (main):
25432         * testsuite/refcounting/element_pad.c: (main):
25433         * testsuite/refcounting/pad.c: (main):
25434         * tools/gst-launch.c: (sigint_handler_sighandler):
25435         * tools/gst-typefind.c: (main):
25436         Doc updates.
25437         Added doc about clock.
25438         removed gst_bin_iterate_recurse_up(), marked methods
25439         for removal.
25440         Fix more testsuites.
25441
25442 2005-03-09  Wim Taymans  <wim@fluendo.com>
25443
25444         * gst/gstpad.c: (gst_pad_get_direction),
25445         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25446         (gst_pad_collect_valist):
25447         * testsuite/bins/interface.c: (main):
25448         * testsuite/caps/audioscale.c: (test_caps):
25449         * testsuite/caps/caps.c: (test1), (test2), (test3):
25450         * testsuite/caps/deserialize.c: (main):
25451         * testsuite/caps/enumcaps.c: (main):
25452         * testsuite/caps/filtercaps.c: (main):
25453         * testsuite/caps/intersect2.c: (main):
25454         * testsuite/caps/random.c: (main):
25455         * testsuite/caps/renegotiate.c: (my_fixate), (main):
25456         * testsuite/caps/sets.c: (check_caps):
25457         * testsuite/caps/simplify.c: (check_caps), (main):
25458         * testsuite/caps/subtract.c: (check_caps):
25459         Fix _pad_get_direction wrt ghostpads.
25460         Fix caps testsuite.
25461
25462 2005-03-09  Wim Taymans  <wim@fluendo.com>
25463
25464         * check/Makefile.am:
25465         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25466         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25467         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25468         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25469         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25470         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25471         (gst_bin_remove), (gst_bin_iterate_recurse_up),
25472         (bin_element_is_sink), (gst_bin_iterate_sinks),
25473         (gst_bin_iterate_all_by_interface):
25474         * gst/gstbin.h:
25475         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25476         (gst_element_change_state), (gst_element_dispose),
25477         (gst_element_finalize), (gst_element_set_loop_function):
25478         * gst/gstelement.h:
25479         * gst/gstiterator.c: (find_custom_fold_func):
25480         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25481         (gst_pad_collectv), (gst_pad_collect_valist),
25482         (gst_pad_template_new):
25483         * gst/gstpipeline.c: (gst_pipeline_class_init),
25484         (gst_pipeline_dispose), (gst_pipeline_set_property),
25485         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25486         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25487         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25488         * gst/gstutils.h:
25489         * gst/schedulers/entryscheduler.c:
25490         * gst/schedulers/gstbasicscheduler.c:
25491         (gst_basic_scheduler_cothreaded_chain),
25492         (gst_basic_scheduler_chain_add_element):
25493         * testsuite/bins/interface.c: (main):
25494         Added GstBin test.
25495         Added GstSystemClock test.
25496         Implemented clock distribution code in GstBin.
25497         Implemented iterate sinks method for future use.
25498         Rearranged gstelement.h
25499         Fix GstIterator comparison bug.
25500         Moved some code to GstPipeline, mostly clocking related.
25501
25502 2005-03-09  Wim Taymans  <wim@fluendo.com>
25503
25504         * configure.ac:
25505         * gst/gst_private.h:
25506         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25507         (gst_bin_remove_func), (gst_bin_remove),
25508         (gst_bin_get_by_name_recurse_up):
25509         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
25510         (gst_clock_id_compare_func), (gst_clock_id_wait),
25511         (gst_clock_id_wait_async), (gst_clock_init),
25512         (gst_clock_adjust_unlocked), (gst_clock_get_time):
25513         * gst/gstelement.h:
25514         * gst/gstinfo.c: (_gst_debug_init):
25515         * gst/gstobject.h:
25516         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25517         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
25518         * gst/gstpad.h:
25519         Bump version number, we're now 0.9.0
25520         Add future debugging category.
25521         Fix NULL _unref() in _get_by_name_recurse_up
25522         Rearrange gstpad.h.
25523         Update some docs.
25524
25525 2005-03-08  Wim Taymans  <wim@fluendo.com>
25526
25527         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
25528         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
25529         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25530         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
25531         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
25532         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
25533         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
25534         * gst/elements/gstidentity.c: (gst_identity_class_init):
25535         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
25536         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
25537         * gst/elements/gstshaper.c: (gst_shaper_class_init):
25538         * gst/elements/gststatistics.c: (gst_statistics_class_init):
25539         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
25540         (gst_tee_link):
25541         * gst/gstelement.c: (gst_element_class_init),
25542         (gst_element_base_class_init), (gst_element_init),
25543         (gst_element_get_random_pad), (gst_element_wait_state_change),
25544         (gst_element_change_state), (gst_element_dispose),
25545         (gst_element_finalize), (gst_element_set_loop_function):
25546         * gst/gstelement.h:
25547         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
25548         * gst/gstthread.c: (gst_thread_class_init),
25549         (gst_thread_release_children_locks), (gst_thread_change_state):
25550         * gst/schedulers/gstbasicscheduler.c:
25551         (gst_basic_scheduler_loopfunc_wrapper),
25552         (gst_basic_scheduler_chain_wrapper),
25553         (gst_basic_scheduler_src_wrapper),
25554         (gst_basic_scheduler_remove_element):
25555         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
25556         Remove threadsafe properties. Fix elements because GObject
25557         complains when installing a property before declaring a
25558         set/get_property handler.
25559         Rearrange gstelement.h file, use STATE macros for state locks.
25560         Free mutexes in the finalize method instead of dispose.
25561
25562 2005-03-08  Wim Taymans  <wim@fluendo.com>
25563
25564         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25565         * gst/gstthread.c: (gst_thread_release_children_locks):
25566         Added parentage check.
25567         Fix build og GstThread again.
25568
25569 2005-03-08  Wim Taymans  <wim@fluendo.com>
25570
25571         * docs/design/part-MT-refcounting.txt:
25572         * docs/design/part-conventions.txt:
25573         * docs/design/part-gstobject.txt:
25574         * docs/design/part-relations.txt:
25575         * docs/design/part-standards.txt:
25576         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25577         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
25578         (gst_bin_get_by_name), (gst_bin_get_by_interface),
25579         (gst_bin_iterate_all_by_interface):
25580         * gst/gstbuffer.h:
25581         * gst/gstclock.h:
25582         * gst/gstelement.c: (gst_element_class_init),
25583         (gst_element_change_state), (gst_element_set_loop_function):
25584         * gst/gstelement.h:
25585         * gst/gstiterator.c:
25586         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
25587         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
25588         (gst_object_dispatch_properties_changed), (gst_object_set_name),
25589         (gst_object_set_parent), (gst_object_unparent),
25590         (gst_object_check_uniqueness):
25591         * gst/gstobject.h:
25592         Docs updates, clean up some headers.
25593
25594 2005-03-07  Wim Taymans  <wim@fluendo.com>
25595
25596         * check/.cvsignore:
25597         * check/Makefile.am:
25598         * check/gst-libs/.cvsignore:
25599         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
25600         * check/gst/.cvsignore:
25601         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
25602         (START_TEST), (gstbus_suite), (main):
25603         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
25604         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
25605         (gst_data_suite), (main):
25606         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
25607         (add_fold_func), (gstiterator_suite), (main):
25608         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
25609         (thread_name_object), (thread_name_object_default),
25610         (gst_object_name_compare), (gst_object_suite), (main):
25611         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
25612         (gst_pad_suite), (main):
25613         * check/gstcheck.c: (gst_check_log_message_func),
25614         (gst_check_log_critical_func), (gst_check_init):
25615         * check/gstcheck.h:
25616         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
25617         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
25618         Added checks.
25619
25620 2005-03-07  Wim Taymans  <wim@fluendo.com>
25621
25622         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
25623         (gst_list_iterator_next), (gst_list_iterator_resync),
25624         (gst_list_iterator_free), (gst_iterator_new_list),
25625         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
25626         (gst_iterator_free), (gst_iterator_push), (filter_next),
25627         (filter_resync), (filter_uninit), (filter_free),
25628         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
25629         (gst_iterator_foreach), (find_custom_fold_func),
25630         (gst_iterator_find_custom):
25631         * gst/gstiterator.h:
25632         Added missing files.
25633
25634 2005-03-07  Wim Taymans  <wim@fluendo.com>
25635
25636         * Makefile.am:
25637         * configure.ac:
25638         * docs/design/part-MT-refcounting.txt:
25639         * docs/design/part-conventions.txt:
25640         * docs/design/part-gstobject.txt:
25641         * docs/design/part-relations.txt:
25642         * examples/mixer/mixer.c: (main):
25643         * examples/thread/thread.c: (eos), (main):
25644         * gst/Makefile.am:
25645         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
25646         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
25647         (gst_spider_plug_from_srcpad):
25648         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
25649         (gst_spider_identity_change_state),
25650         (gst_spider_identity_sink_loop_type_finding):
25651         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
25652         * gst/elements/gstidentity.c: (gst_identity_init):
25653         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
25654         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
25655         * gst/elements/gsttypefindelement.c: (free_entry):
25656         * gst/gst.c:
25657         * gst/gst.h:
25658         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
25659         (gst_bin_set_clock_func), (gst_bin_auto_clock),
25660         (gst_bin_set_index), (gst_bin_set_element_sched),
25661         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
25662         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
25663         (gst_bin_iterate_elements), (iterate_child_recurse),
25664         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
25665         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
25666         (compare_interface), (gst_bin_get_by_interface),
25667         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
25668         * gst/gstbin.h:
25669         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
25670         (gst_buffer_default_free), (gst_buffer_default_copy),
25671         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
25672         (gst_buffer_create_sub):
25673         * gst/gstbuffer.h:
25674         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
25675         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
25676         (gst_caps_unref), (gst_static_caps_get),
25677         (gst_caps_remove_and_get_structure), (gst_caps_append),
25678         (gst_caps_append_structure), (gst_caps_remove_structure),
25679         (gst_caps_copy_nth), (gst_caps_set_simple),
25680         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
25681         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
25682         (gst_caps_structure_intersect_field), (gst_caps_intersect),
25683         (gst_caps_structure_subtract_field), (gst_caps_subtract),
25684         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
25685         (gst_caps_structure_figure_out_union),
25686         (gst_caps_switch_structures), (gst_caps_do_simplify),
25687         (gst_caps_replace), (gst_caps_from_string),
25688         (gst_caps_copy_conditional):
25689         * gst/gstcaps.h:
25690         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
25691         (_gst_clock_id_free), (gst_clock_id_unref),
25692         (gst_clock_id_compare_func), (gst_clock_id_wait),
25693         (gst_clock_id_wait_async), (gst_clock_class_init),
25694         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
25695         (gst_clock_get_time), (gst_clock_set_time_adjust),
25696         (gst_clock_set_property), (gst_clock_get_property):
25697         * gst/gstclock.h:
25698         * gst/gstcompat.h:
25699         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
25700         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
25701         * gst/gstdata.h:
25702         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25703         (gst_element_requires_clock), (gst_element_provides_clock),
25704         (gst_element_set_clock), (gst_element_clock_wait),
25705         (gst_element_wait), (gst_element_set_time_delay),
25706         (gst_element_is_indexable), (gst_element_add_pad),
25707         (gst_element_add_ghost_pad), (gst_element_remove_pad),
25708         (pad_compare_name), (gst_element_get_static_pad),
25709         (gst_element_request_pad), (gst_element_get_request_pad),
25710         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
25711         (gst_element_class_get_pad_template_list),
25712         (gst_element_class_get_pad_template), (gst_element_error_func),
25713         (gst_element_get_random_pad), (gst_element_get_event_masks),
25714         (gst_element_send_event), (gst_element_seek),
25715         (gst_element_get_query_types), (gst_element_query),
25716         (gst_element_get_formats), (gst_element_convert),
25717         (gst_element_is_locked_state), (gst_element_set_locked_state),
25718         (gst_element_sync_state_with_parent), (gst_element_change_state),
25719         (gst_element_finalize), (gst_element_yield),
25720         (gst_element_interrupt), (gst_element_set_scheduler),
25721         (gst_element_get_scheduler), (gst_element_set_loop_function):
25722         * gst/gstelement.h:
25723         * gst/gstevent.h:
25724         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25725         (gst_format_get_by_nick), (gst_format_get_details),
25726         (gst_format_iterate_definitions):
25727         * gst/gstformat.h:
25728         * gst/gstindex.c: (gst_index_gtype_resolver):
25729         * gst/gstinfo.c:
25730         * gst/gstinfo.h:
25731         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25732         (gst_mem_chunk_free):
25733         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25734         (gst_object_ref), (gst_object_unref), (gst_object_sink),
25735         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25736         (gst_object_dispatch_properties_changed),
25737         (gst_object_set_name_default), (gst_object_set_name),
25738         (gst_object_get_name), (gst_object_set_name_prefix),
25739         (gst_object_get_name_prefix), (gst_object_set_parent),
25740         (gst_object_get_parent), (gst_object_unparent),
25741         (gst_object_check_uniqueness), (gst_object_save_thyself),
25742         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25743         (gst_object_set_property), (gst_object_get_property),
25744         (gst_object_get_path_string):
25745         * gst/gstobject.h:
25746         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25747         (gst_real_pad_init), (gst_real_pad_get_property),
25748         (gst_pad_custom_new), (gst_pad_get_direction),
25749         (gst_pad_set_active), (gst_pad_is_active),
25750         (gst_pad_set_event_function), (gst_pad_is_linked),
25751         (gst_pad_link_free), (gst_pad_link_intersect),
25752         (gst_pad_link_fixate), (gst_pad_set_caps),
25753         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25754         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25755         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25756         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25757         (gst_pad_get_caps), (gst_pad_peer_get_caps),
25758         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25759         (gst_pad_realize), (gst_pad_get_allowed_caps),
25760         (gst_real_pad_dispose), (gst_real_pad_finalize),
25761         (gst_pad_collectv), (gst_pad_collect_valist),
25762         (gst_pad_template_dispose), (gst_pad_template_new),
25763         (gst_pad_get_internal_links):
25764         * gst/gstpad.h:
25765         * gst/gstpipeline.c: (gst_pipeline_dispose),
25766         (gst_pipeline_change_state):
25767         * gst/gstpipeline.h:
25768         * gst/gstplugin.c:
25769         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25770         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25771         * gst/gstpluginfeature.h:
25772         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25773         * gst/gstquery.c: (_gst_query_type_initialize),
25774         (gst_query_type_register), (gst_query_type_get_by_nick),
25775         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25776         * gst/gstquery.h:
25777         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25778         * gst/gstscheduler.c: (gst_scheduler_add_element),
25779         (gst_scheduler_factory_create):
25780         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25781         (gst_structure_free), (gst_structure_set_name),
25782         (gst_structure_id_set_value), (gst_structure_set_value),
25783         (gst_structure_set_valist), (gst_structure_remove_field),
25784         (gst_structure_remove_fields),
25785         (gst_structure_remove_fields_valist),
25786         (gst_structure_remove_all_fields), (gst_structure_foreach),
25787         (gst_structure_map_in_place),
25788         (gst_caps_structure_fixate_field_nearest_int),
25789         (gst_caps_structure_fixate_field_nearest_double):
25790         * gst/gststructure.h:
25791         * gst/gstsystemclock.c: (gst_system_clock_class_init),
25792         (gst_system_clock_init), (gst_system_clock_dispose),
25793         (gst_system_clock_async_thread),
25794         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
25795         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
25796         * gst/gstsystemclock.h:
25797         * gst/gsttag.c: (gst_tag_list_add_value_internal),
25798         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
25799         * gst/gsttaginterface.c:
25800         * gst/gstthread.c: (gst_thread_dispose),
25801         (gst_thread_release_children_locks), (gst_thread_change_state),
25802         (gst_thread_main_loop):
25803         * gst/gsttrashstack.h:
25804         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
25805         * gst/gsttypes.h:
25806         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25807         (gst_element_request_pad), (gst_element_get_pad_from_template),
25808         (gst_element_request_compatible_pad),
25809         (gst_element_get_compatible_pad_filtered),
25810         (gst_element_get_compatible_pad), (gst_element_state_get_name),
25811         (gst_element_link_pads_filtered), (gst_element_link_filtered),
25812         (gst_element_link_many), (gst_element_link),
25813         (gst_element_link_pads), (gst_element_unlink_pads),
25814         (gst_element_unlink_many), (gst_element_unlink),
25815         (gst_pad_can_link_filtered), (gst_pad_can_link),
25816         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
25817         (gst_object_default_error), (gst_bin_add_many),
25818         (gst_bin_remove_many), (gst_element_populate_std_props),
25819         (gst_element_class_install_std_props), (gst_buffer_merge),
25820         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
25821         (link_fold_func), (gst_pad_proxy_setcaps):
25822         * gst/gstutils.h:
25823         * gst/gstvalue.c: (gst_value_deserialize_string):
25824         * gst/parse/grammar.y:
25825         * gst/schedulers/gstbasicscheduler.c:
25826         (gst_basic_scheduler_cothreaded_chain),
25827         (gst_basic_scheduler_chain_recursive_add),
25828         (gst_basic_scheduler_pad_link):
25829         * gst/schedulers/gstoptimalscheduler.c:
25830         (get_group_schedule_function),
25831         (gst_opt_scheduler_state_transition),
25832         (gst_opt_scheduler_add_element), (element_get_reachables_func):
25833         * libs/gst/bytestream/bytestream.c:
25834         * libs/gst/dataprotocol/dataprotocol.c:
25835         (gst_dp_header_from_buffer):
25836         * po/nb.po:
25837         * po/ru.po:
25838         * tests/threadstate/threadstate2.c: (eos):
25839         * tools/gst-compprep.c: (main):
25840         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
25841         (print_pad_info), (print_children_info):
25842         * tools/gst-launch.c: (idle_func), (main):
25843         * tools/gst-md5sum.c: (idle_func), (main):
25844         * tools/gst-xmlinspect.c: (print_element_info):
25845         First THREADED backport attempt, focusing on adding locks and
25846         making sure the API is threadsafe. Needs more work. More docs
25847         follow this week.
25848
25849 2005-02-24  Andy Wingo  <wingo@pobox.com>
25850
25851         * tests/bench-complexity.scm:
25852         * tests/complexity.gnuplot: New files, good for running complexity
25853         benchmarks.
25854
25855         * tests/Makefile.am:
25856         * tests/complexity.c: New test, sets up N elements, at each level
25857         teeing into M streams per element. Eeeenteresting.
25858
25859         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
25860         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
25861         running bench-mass_elements.scm.
25862
25863         * tests/bench-mass_elements.scm: New script, runs mass_elements
25864         for various numbers of identities, outputting the results to a
25865         file. Requires guile 1.6. Just for testing.
25866
25867 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25868
25869         * gst/schedulers/fairscheduler.c:
25870           compile with debug disabled
25871
25872 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25873
25874         * configure.ac:
25875           hunting season on 0.9 is now OPEN